Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1030314AbVKCEad (ORCPT ); Wed, 2 Nov 2005 23:30:33 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1030320AbVKCEad (ORCPT ); Wed, 2 Nov 2005 23:30:33 -0500 Received: from smtp110.sbc.mail.re2.yahoo.com ([68.142.229.95]:64667 "HELO smtp110.sbc.mail.re2.yahoo.com") by vger.kernel.org with SMTP id S1030314AbVKCEac (ORCPT ); Wed, 2 Nov 2005 23:30:32 -0500 Message-Id: <20051103042818.129317000.dtor_core@ameritech.net> References: <20051103042121.394220000.dtor_core@ameritech.net> Date: Wed, 02 Nov 2005 23:21:22 -0500 From: Dmitry Torokhov To: Linus Torvalds Cc: LKML , Andrew Morton , Vojtech Pavlik Subject: [patch 1/7] dmasound_awacs: convert to dynamic input allocation Content-Disposition: inline; filename=input-dynalloc-dmasound.patch Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2444 Lines: 79 From: Ian Wienand Input: convert dmasound_awacs (OSS) to dynamic input allocation Signed-off-by: Ian Wienand Signed-off-by: Dmitry Torokhov --- sound/oss/dmasound/dmasound_awacs.c | 31 +++++++++++++++++++------------ 1 files changed, 19 insertions(+), 12 deletions(-) Index: work/sound/oss/dmasound/dmasound_awacs.c =================================================================== --- work.orig/sound/oss/dmasound/dmasound_awacs.c +++ work/sound/oss/dmasound/dmasound_awacs.c @@ -2805,16 +2805,7 @@ __init setup_beep(void) return 0 ; } -static struct input_dev awacs_beep_dev = { - .evbit = { BIT(EV_SND) }, - .sndbit = { BIT(SND_BELL) | BIT(SND_TONE) }, - .event = awacs_beep_event, - .name = "dmasound beeper", - .phys = "macio/input0", /* what the heck is this?? */ - .id = { - .bustype = BUS_HOST, - }, -}; +static struct input_dev *awacs_beep_dev; int __init dmasound_awacs_init(void) { @@ -2907,6 +2898,22 @@ printk("dmasound_pmac: couldn't find a C return -ENODEV; } + awacs_beep_dev = input_allocate_device(); + if (!awacs_beep_dev) { + release_OF_resource(io, 0); + release_OF_resource(io, 1); + release_OF_resource(io, 2); + printk(KERN_ERR "dmasound: can't allocate input device !\n"); + return -ENOMEM; + } + + awacs_beep_dev->name = "dmasound beeper"; + awacs_beep_dev->phys = "macio/input0"; + awacs_beep_dev->id.bustype = BUS_HOST; + awacs_beep_dev->event = awacs_beep_event; + awacs_beep_dev->sndbit[0] = BIT(SND_BELL) | BIT(SND_TONE); + awacs_beep_dev->evbit[0] = BIT(EV_SND); + /* all OF versions I've seen use this value */ if (i2s_node) i2s = ioremap(io->addrs[0].address, 0x1000); @@ -3140,14 +3147,14 @@ printk("dmasound_pmac: Awacs/Screamer Co * XXX: we should handle errors here, but that would mean * rewriting the whole init code. later.. */ - input_register_device(&awacs_beep_dev); + input_register_device(awacs_beep_dev); return dmasound_init(); } static void __exit dmasound_awacs_cleanup(void) { - input_unregister_device(&awacs_beep_dev); + input_unregister_device(awacs_beep_dev); switch (awacs_revision) { case AWACS_TUMBLER: - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/