On Tue, Nov 01, 2005 at 12:14:56AM -0500, Dmitry Torokhov wrote:
> It seems that the change is pretty straightforward... Could you please try
> this one?
Ahh, ok! I thought that that comment meant it was deliberately
ignoring the return of input_register_device (by which time it's got
memory, irq's, io, etc), but now I see it's void anyway. So why not
just move the setup right to the top?
-i
Signed-off-by: Ian Wienand <[email protected]>
---
diff --git a/sound/oss/dmasound/dmasound_awacs.c b/sound/oss/dmasound/dmasound_awacs.c
--- a/sound/oss/dmasound/dmasound_awacs.c
+++ b/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)
{
@@ -2828,6 +2819,20 @@ int __init dmasound_awacs_init(void)
awacs_revision = 0;
hw_can_byteswap = 1 ; /* most can */
+ /* setup the beep input event */
+ awacs_beep_dev = input_allocate_device();
+ if (!awacs_beep_dev)
+ {
+ 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);
+
/* look for models we need to handle specially */
set_model() ;
@@ -3136,18 +3141,14 @@ printk("dmasound_pmac: Awacs/Screamer Co
break ;
}
- /*
- * 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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]