diff options
| author | Roland Dreier <rolandd@cisco.com> | 2005-10-28 18:50:51 -0400 |
|---|---|---|
| committer | Roland Dreier <rolandd@cisco.com> | 2005-10-28 18:50:51 -0400 |
| commit | a4da0628efd788eb199dd9df225e296035ec2539 (patch) | |
| tree | 1e611030c993e1480dc2f07f26976d2d33002b0d /drivers/input/misc/sparcspkr.c | |
| parent | 70a30e16a8a9d22396a4d1e96af86e43594df584 (diff) | |
| parent | 20731945ae743034353a88c307920d1f16cf8ac8 (diff) | |
Merge master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'drivers/input/misc/sparcspkr.c')
| -rw-r--r-- | drivers/input/misc/sparcspkr.c | 47 |
1 files changed, 23 insertions, 24 deletions
diff --git a/drivers/input/misc/sparcspkr.c b/drivers/input/misc/sparcspkr.c index cdc3fb3d5f46..5778220a18d2 100644 --- a/drivers/input/misc/sparcspkr.c +++ b/drivers/input/misc/sparcspkr.c | |||
| @@ -17,28 +17,24 @@ | |||
| 17 | #endif | 17 | #endif |
| 18 | 18 | ||
| 19 | MODULE_AUTHOR("David S. Miller <davem@redhat.com>"); | 19 | MODULE_AUTHOR("David S. Miller <davem@redhat.com>"); |
| 20 | MODULE_DESCRIPTION("PC Speaker beeper driver"); | 20 | MODULE_DESCRIPTION("Sparc Speaker beeper driver"); |
| 21 | MODULE_LICENSE("GPL"); | 21 | MODULE_LICENSE("GPL"); |
| 22 | 22 | ||
| 23 | static unsigned long beep_iobase; | 23 | static unsigned long beep_iobase; |
| 24 | 24 | static struct input_dev *sparcspkr_dev; | |
| 25 | static char *sparcspkr_isa_name = "Sparc ISA Speaker"; | ||
| 26 | static char *sparcspkr_ebus_name = "Sparc EBUS Speaker"; | ||
| 27 | static char *sparcspkr_phys = "sparc/input0"; | ||
| 28 | static struct input_dev sparcspkr_dev; | ||
| 29 | 25 | ||
| 30 | DEFINE_SPINLOCK(beep_lock); | 26 | DEFINE_SPINLOCK(beep_lock); |
| 31 | 27 | ||
| 32 | static void __init init_sparcspkr_struct(void) | 28 | static void __init init_sparcspkr_struct(void) |
| 33 | { | 29 | { |
| 34 | sparcspkr_dev.evbit[0] = BIT(EV_SND); | 30 | sparcspkr_dev->evbit[0] = BIT(EV_SND); |
| 35 | sparcspkr_dev.sndbit[0] = BIT(SND_BELL) | BIT(SND_TONE); | 31 | sparcspkr_dev->sndbit[0] = BIT(SND_BELL) | BIT(SND_TONE); |
| 36 | 32 | ||
| 37 | sparcspkr_dev.phys = sparcspkr_phys; | 33 | sparcspkr_dev->phys = "sparc/input0"; |
| 38 | sparcspkr_dev.id.bustype = BUS_ISA; | 34 | sparcspkr_dev->id.bustype = BUS_ISA; |
| 39 | sparcspkr_dev.id.vendor = 0x001f; | 35 | sparcspkr_dev->id.vendor = 0x001f; |
| 40 | sparcspkr_dev.id.product = 0x0001; | 36 | sparcspkr_dev->id.product = 0x0001; |
| 41 | sparcspkr_dev.id.version = 0x0100; | 37 | sparcspkr_dev->id.version = 0x0100; |
| 42 | } | 38 | } |
| 43 | 39 | ||
| 44 | static int ebus_spkr_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) | 40 | static int ebus_spkr_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) |
| @@ -84,14 +80,15 @@ static int __init init_ebus_beep(struct linux_ebus_device *edev) | |||
| 84 | { | 80 | { |
| 85 | beep_iobase = edev->resource[0].start; | 81 | beep_iobase = edev->resource[0].start; |
| 86 | 82 | ||
| 87 | init_sparcspkr_struct(); | 83 | sparcspkr_dev = input_allocate_device(); |
| 84 | if (!sparcspkr_dev) | ||
| 85 | return -ENOMEM; | ||
| 88 | 86 | ||
| 89 | sparcspkr_dev.name = sparcspkr_ebus_name; | 87 | sparcspkr_dev->name = "Sparc EBUS Speaker"; |
| 90 | sparcspkr_dev.event = ebus_spkr_event; | 88 | sparcspkr_dev->event = ebus_spkr_event; |
| 91 | 89 | ||
| 92 | input_register_device(&sparcspkr_dev); | 90 | input_register_device(sparcspkr_dev); |
| 93 | 91 | ||
| 94 | printk(KERN_INFO "input: %s\n", sparcspkr_ebus_name); | ||
| 95 | return 0; | 92 | return 0; |
| 96 | } | 93 | } |
| 97 | 94 | ||
| @@ -137,15 +134,17 @@ static int __init init_isa_beep(struct sparc_isa_device *isa_dev) | |||
| 137 | { | 134 | { |
| 138 | beep_iobase = isa_dev->resource.start; | 135 | beep_iobase = isa_dev->resource.start; |
| 139 | 136 | ||
| 137 | sparcspkr_dev = input_allocate_device(); | ||
| 138 | if (!sparcspkr_dev) | ||
| 139 | return -ENOMEM; | ||
| 140 | |||
| 140 | init_sparcspkr_struct(); | 141 | init_sparcspkr_struct(); |
| 141 | 142 | ||
| 142 | sparcspkr_dev.name = sparcspkr_isa_name; | 143 | sparcspkr_dev->name = "Sparc ISA Speaker"; |
| 143 | sparcspkr_dev.event = isa_spkr_event; | 144 | sparcspkr_dev->event = isa_spkr_event; |
| 144 | sparcspkr_dev.id.bustype = BUS_ISA; | ||
| 145 | 145 | ||
| 146 | input_register_device(&sparcspkr_dev); | 146 | input_register_device(&sparcspkr_dev); |
| 147 | 147 | ||
| 148 | printk(KERN_INFO "input: %s\n", sparcspkr_isa_name); | ||
| 149 | return 0; | 148 | return 0; |
| 150 | } | 149 | } |
| 151 | #endif | 150 | #endif |
| @@ -182,7 +181,7 @@ static int __init sparcspkr_init(void) | |||
| 182 | 181 | ||
| 183 | static void __exit sparcspkr_exit(void) | 182 | static void __exit sparcspkr_exit(void) |
| 184 | { | 183 | { |
| 185 | input_unregister_device(&sparcspkr_dev); | 184 | input_unregister_device(sparcspkr_dev); |
| 186 | } | 185 | } |
| 187 | 186 | ||
| 188 | module_init(sparcspkr_init); | 187 | module_init(sparcspkr_init); |
