diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-02 15:49:19 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-04-02 15:49:19 -0400 |
commit | 9c8680e2cfbb60d5075f8caaf9d98276120bcc78 (patch) | |
tree | 1957cff26a46271d5b63a3c209629ddd7f9fe124 /arch | |
parent | f900e5824a44ab65437b4f7e7c610b72f94820c5 (diff) | |
parent | b9ec4e109d7a342e83e1210e05797222e36555c3 (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input
* master.kernel.org:/pub/scm/linux/kernel/git/dtor/input: (26 commits)
Input: add support for Braille devices
Input: synaptics - limit rate to 40pps on Toshiba Protege M300
Input: gamecon - add SNES mouse support
Input: make modalias code respect allowed buffer size
Input: convert /proc handling to seq_file
Input: limit attributes' output to PAGE_SIZE
Input: gameport - fix memory leak
Input: serio - fix memory leak
Input: zaurus keyboard driver updates
Input: i8042 - fix logic around pnp_register_driver()
Input: ns558 - fix logic around pnp_register_driver()
Input: pcspkr - separate device and driver registration
Input: atkbd - allow disabling on X86_PC (if EMBEDDED)
Input: atkbd - disable softrepeat for dumb keyboards
Input: atkbd - fix complaints about 'releasing unknown key 0x7f'
Input: HID - fix duplicate key mapping for Logitech UltraX remote
Input: use kzalloc() throughout the code
Input: fix input_free_device() implementation
Input: initialize serio and gameport at subsystem level
Input: uinput - semaphore to mutex conversion
...
Diffstat (limited to 'arch')
-rw-r--r-- | arch/alpha/kernel/setup.c | 18 | ||||
-rw-r--r-- | arch/i386/kernel/setup.c | 18 | ||||
-rw-r--r-- | arch/mips/Kconfig | 6 | ||||
-rw-r--r-- | arch/mips/kernel/Makefile | 2 | ||||
-rw-r--r-- | arch/mips/kernel/i8253.c | 28 | ||||
-rw-r--r-- | arch/powerpc/kernel/setup-common.c | 24 |
6 files changed, 96 insertions, 0 deletions
diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c index dd8769670596..a15e18a00258 100644 --- a/arch/alpha/kernel/setup.c +++ b/arch/alpha/kernel/setup.c | |||
@@ -28,6 +28,7 @@ | |||
28 | #include <linux/init.h> | 28 | #include <linux/init.h> |
29 | #include <linux/string.h> | 29 | #include <linux/string.h> |
30 | #include <linux/ioport.h> | 30 | #include <linux/ioport.h> |
31 | #include <linux/platform_device.h> | ||
31 | #include <linux/bootmem.h> | 32 | #include <linux/bootmem.h> |
32 | #include <linux/pci.h> | 33 | #include <linux/pci.h> |
33 | #include <linux/seq_file.h> | 34 | #include <linux/seq_file.h> |
@@ -1478,3 +1479,20 @@ alpha_panic_event(struct notifier_block *this, unsigned long event, void *ptr) | |||
1478 | #endif | 1479 | #endif |
1479 | return NOTIFY_DONE; | 1480 | return NOTIFY_DONE; |
1480 | } | 1481 | } |
1482 | |||
1483 | static __init int add_pcspkr(void) | ||
1484 | { | ||
1485 | struct platform_device *pd; | ||
1486 | int ret; | ||
1487 | |||
1488 | pd = platform_device_alloc("pcspkr", -1); | ||
1489 | if (!pd) | ||
1490 | return -ENOMEM; | ||
1491 | |||
1492 | ret = platform_device_add(pd); | ||
1493 | if (ret) | ||
1494 | platform_device_put(pd); | ||
1495 | |||
1496 | return ret; | ||
1497 | } | ||
1498 | device_initcall(add_pcspkr); | ||
diff --git a/arch/i386/kernel/setup.c b/arch/i386/kernel/setup.c index 8c08660b4e5d..eacc3f0a2ea4 100644 --- a/arch/i386/kernel/setup.c +++ b/arch/i386/kernel/setup.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <linux/initrd.h> | 34 | #include <linux/initrd.h> |
35 | #include <linux/bootmem.h> | 35 | #include <linux/bootmem.h> |
36 | #include <linux/seq_file.h> | 36 | #include <linux/seq_file.h> |
37 | #include <linux/platform_device.h> | ||
37 | #include <linux/console.h> | 38 | #include <linux/console.h> |
38 | #include <linux/mca.h> | 39 | #include <linux/mca.h> |
39 | #include <linux/root_dev.h> | 40 | #include <linux/root_dev.h> |
@@ -1547,6 +1548,23 @@ void __init setup_arch(char **cmdline_p) | |||
1547 | #endif | 1548 | #endif |
1548 | } | 1549 | } |
1549 | 1550 | ||
1551 | static __init int add_pcspkr(void) | ||
1552 | { | ||
1553 | struct platform_device *pd; | ||
1554 | int ret; | ||
1555 | |||
1556 | pd = platform_device_alloc("pcspkr", -1); | ||
1557 | if (!pd) | ||
1558 | return -ENOMEM; | ||
1559 | |||
1560 | ret = platform_device_add(pd); | ||
1561 | if (ret) | ||
1562 | platform_device_put(pd); | ||
1563 | |||
1564 | return ret; | ||
1565 | } | ||
1566 | device_initcall(add_pcspkr); | ||
1567 | |||
1550 | #include "setup_arch_post.h" | 1568 | #include "setup_arch_post.h" |
1551 | /* | 1569 | /* |
1552 | * Local Variables: | 1570 | * Local Variables: |
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index 5080ea1799a4..e15709ce8866 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig | |||
@@ -233,6 +233,7 @@ config MACH_JAZZ | |||
233 | select ARC32 | 233 | select ARC32 |
234 | select ARCH_MAY_HAVE_PC_FDC | 234 | select ARCH_MAY_HAVE_PC_FDC |
235 | select GENERIC_ISA_DMA | 235 | select GENERIC_ISA_DMA |
236 | select I8253 | ||
236 | select I8259 | 237 | select I8259 |
237 | select ISA | 238 | select ISA |
238 | select SYS_HAS_CPU_R4X00 | 239 | select SYS_HAS_CPU_R4X00 |
@@ -530,6 +531,7 @@ config QEMU | |||
530 | select DMA_COHERENT | 531 | select DMA_COHERENT |
531 | select GENERIC_ISA_DMA | 532 | select GENERIC_ISA_DMA |
532 | select HAVE_STD_PC_SERIAL_PORT | 533 | select HAVE_STD_PC_SERIAL_PORT |
534 | select I8253 | ||
533 | select I8259 | 535 | select I8259 |
534 | select ISA | 536 | select ISA |
535 | select SWAP_IO_SPACE | 537 | select SWAP_IO_SPACE |
@@ -714,6 +716,7 @@ config SNI_RM200_PCI | |||
714 | select HAVE_STD_PC_SERIAL_PORT | 716 | select HAVE_STD_PC_SERIAL_PORT |
715 | select HW_HAS_EISA | 717 | select HW_HAS_EISA |
716 | select HW_HAS_PCI | 718 | select HW_HAS_PCI |
719 | select I8253 | ||
717 | select I8259 | 720 | select I8259 |
718 | select ISA | 721 | select ISA |
719 | select SYS_HAS_CPU_R4X00 | 722 | select SYS_HAS_CPU_R4X00 |
@@ -1721,6 +1724,9 @@ config MMU | |||
1721 | bool | 1724 | bool |
1722 | default y | 1725 | default y |
1723 | 1726 | ||
1727 | config I8253 | ||
1728 | bool | ||
1729 | |||
1724 | source "drivers/pcmcia/Kconfig" | 1730 | source "drivers/pcmcia/Kconfig" |
1725 | 1731 | ||
1726 | source "drivers/pci/hotplug/Kconfig" | 1732 | source "drivers/pci/hotplug/Kconfig" |
diff --git a/arch/mips/kernel/Makefile b/arch/mips/kernel/Makefile index f36c4f20ee8a..309d54cceda3 100644 --- a/arch/mips/kernel/Makefile +++ b/arch/mips/kernel/Makefile | |||
@@ -59,6 +59,8 @@ obj-$(CONFIG_PROC_FS) += proc.o | |||
59 | 59 | ||
60 | obj-$(CONFIG_64BIT) += cpu-bugs64.o | 60 | obj-$(CONFIG_64BIT) += cpu-bugs64.o |
61 | 61 | ||
62 | obj-$(CONFIG_I8253) += i8253.o | ||
63 | |||
62 | CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi) | 64 | CFLAGS_cpu-bugs64.o = $(shell if $(CC) $(CFLAGS) -Wa,-mdaddi -c -o /dev/null -xc /dev/null >/dev/null 2>&1; then echo "-DHAVE_AS_SET_DADDI"; fi) |
63 | 65 | ||
64 | EXTRA_AFLAGS := $(CFLAGS) | 66 | EXTRA_AFLAGS := $(CFLAGS) |
diff --git a/arch/mips/kernel/i8253.c b/arch/mips/kernel/i8253.c new file mode 100644 index 000000000000..475df6904219 --- /dev/null +++ b/arch/mips/kernel/i8253.c | |||
@@ -0,0 +1,28 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2006 IBM Corporation | ||
3 | * | ||
4 | * Implements device information for i8253 timer chip | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or | ||
7 | * modify it under the terms of the GNU General Public License version | ||
8 | * 2 as published by the Free Software Foundation | ||
9 | */ | ||
10 | |||
11 | #include <linux/platform_device.h> | ||
12 | |||
13 | static __init int add_pcspkr(void) | ||
14 | { | ||
15 | struct platform_device *pd; | ||
16 | int ret; | ||
17 | |||
18 | pd = platform_device_alloc("pcspkr", -1); | ||
19 | if (!pd) | ||
20 | return -ENOMEM; | ||
21 | |||
22 | ret = platform_device_add(pd); | ||
23 | if (ret) | ||
24 | platform_device_put(pd); | ||
25 | |||
26 | return ret; | ||
27 | } | ||
28 | device_initcall(add_pcspkr); | ||
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index c607f3b9ca17..1d93e73a7003 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include <linux/reboot.h> | 21 | #include <linux/reboot.h> |
22 | #include <linux/delay.h> | 22 | #include <linux/delay.h> |
23 | #include <linux/initrd.h> | 23 | #include <linux/initrd.h> |
24 | #include <linux/platform_device.h> | ||
24 | #include <linux/ide.h> | 25 | #include <linux/ide.h> |
25 | #include <linux/seq_file.h> | 26 | #include <linux/seq_file.h> |
26 | #include <linux/ioport.h> | 27 | #include <linux/ioport.h> |
@@ -462,6 +463,29 @@ static int __init early_xmon(char *p) | |||
462 | early_param("xmon", early_xmon); | 463 | early_param("xmon", early_xmon); |
463 | #endif | 464 | #endif |
464 | 465 | ||
466 | static __init int add_pcspkr(void) | ||
467 | { | ||
468 | struct device_node *np; | ||
469 | struct platform_device *pd; | ||
470 | int ret; | ||
471 | |||
472 | np = of_find_compatible_node(NULL, NULL, "pnpPNP,100"); | ||
473 | of_node_put(np); | ||
474 | if (!np) | ||
475 | return -ENODEV; | ||
476 | |||
477 | pd = platform_device_alloc("pcspkr", -1); | ||
478 | if (!pd) | ||
479 | return -ENOMEM; | ||
480 | |||
481 | ret = platform_device_add(pd); | ||
482 | if (ret) | ||
483 | platform_device_put(pd); | ||
484 | |||
485 | return ret; | ||
486 | } | ||
487 | device_initcall(add_pcspkr); | ||
488 | |||
465 | void probe_machine(void) | 489 | void probe_machine(void) |
466 | { | 490 | { |
467 | extern struct machdep_calls __machine_desc_start; | 491 | extern struct machdep_calls __machine_desc_start; |