Skip to content

Commit

Permalink
Merge master.kernel.org:/pub/scm/linux/kernel/git/dtor/input
Browse files Browse the repository at this point in the history
* 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
  ...
  • Loading branch information
Linus Torvalds committed Apr 2, 2006
2 parents f900e58 + b9ec4e1 commit 9c8680e
Show file tree
Hide file tree
Showing 50 changed files with 813 additions and 443 deletions.
11 changes: 6 additions & 5 deletions Documentation/input/joystick-parport.txt
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,12 @@ with them.

All NES and SNES use the same synchronous serial protocol, clocked from
the computer's side (and thus timing insensitive). To allow up to 5 NES
and/or SNES gamepads connected to the parallel port at once, the output
lines of the parallel port are shared, while one of 5 available input lines
is assigned to each gamepad.
and/or SNES gamepads and/or SNES mice connected to the parallel port at once,
the output lines of the parallel port are shared, while one of 5 available
input lines is assigned to each gamepad.

This protocol is handled by the gamecon.c driver, so that's the one
you'll use for NES and SNES gamepads.
you'll use for NES, SNES gamepads and SNES mice.

The main problem with PC parallel ports is that they don't have +5V power
source on any of their pins. So, if you want a reliable source of power
Expand Down Expand Up @@ -106,7 +106,7 @@ A, Turbo B, Select and Start, and is connected through 5 wires, then it is
either a NES or NES clone and will work with this connection. SNES gamepads
also use 5 wires, but have more buttons. They will work as well, of course.

Pinout for NES gamepads Pinout for SNES gamepads
Pinout for NES gamepads Pinout for SNES gamepads and mice

+----> Power +-----------------------\
| 7 | o o o o | x x o | 1
Expand Down Expand Up @@ -454,6 +454,7 @@ uses the following kernel/module command line:
6 | N64 pad
7 | Sony PSX controller
8 | Sony PSX DDR controller
9 | SNES mouse

The exact type of the PSX controller type is autoprobed when used so
hot swapping should work (but is not recomended).
Expand Down
18 changes: 18 additions & 0 deletions arch/alpha/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
#include <linux/init.h>
#include <linux/string.h>
#include <linux/ioport.h>
#include <linux/platform_device.h>
#include <linux/bootmem.h>
#include <linux/pci.h>
#include <linux/seq_file.h>
Expand Down Expand Up @@ -1478,3 +1479,20 @@ alpha_panic_event(struct notifier_block *this, unsigned long event, void *ptr)
#endif
return NOTIFY_DONE;
}

static __init int add_pcspkr(void)
{
struct platform_device *pd;
int ret;

pd = platform_device_alloc("pcspkr", -1);
if (!pd)
return -ENOMEM;

ret = platform_device_add(pd);
if (ret)
platform_device_put(pd);

return ret;
}
device_initcall(add_pcspkr);
18 changes: 18 additions & 0 deletions arch/i386/kernel/setup.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
#include <linux/initrd.h>
#include <linux/bootmem.h>
#include <linux/seq_file.h>
#include <linux/platform_device.h>
#include <linux/console.h>
#include <linux/mca.h>
#include <linux/root_dev.h>
Expand Down Expand Up @@ -1547,6 +1548,23 @@ void __init setup_arch(char **cmdline_p)
#endif
}

static __init int add_pcspkr(void)
{
struct platform_device *pd;
int ret;

pd = platform_device_alloc("pcspkr", -1);
if (!pd)
return -ENOMEM;

ret = platform_device_add(pd);
if (ret)
platform_device_put(pd);

return ret;
}
device_initcall(add_pcspkr);

#include "setup_arch_post.h"
/*
* Local Variables:
Expand Down
6 changes: 6 additions & 0 deletions arch/mips/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -233,6 +233,7 @@ config MACH_JAZZ
select ARC32
select ARCH_MAY_HAVE_PC_FDC
select GENERIC_ISA_DMA
select I8253
select I8259
select ISA
select SYS_HAS_CPU_R4X00
Expand Down Expand Up @@ -530,6 +531,7 @@ config QEMU
select DMA_COHERENT
select GENERIC_ISA_DMA
select HAVE_STD_PC_SERIAL_PORT
select I8253
select I8259
select ISA
select SWAP_IO_SPACE
Expand Down Expand Up @@ -714,6 +716,7 @@ config SNI_RM200_PCI
select HAVE_STD_PC_SERIAL_PORT
select HW_HAS_EISA
select HW_HAS_PCI
select I8253
select I8259
select ISA
select SYS_HAS_CPU_R4X00
Expand Down Expand Up @@ -1721,6 +1724,9 @@ config MMU
bool
default y

config I8253
bool

source "drivers/pcmcia/Kconfig"

source "drivers/pci/hotplug/Kconfig"
Expand Down
2 changes: 2 additions & 0 deletions arch/mips/kernel/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ obj-$(CONFIG_PROC_FS) += proc.o

obj-$(CONFIG_64BIT) += cpu-bugs64.o

obj-$(CONFIG_I8253) += i8253.o

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)

EXTRA_AFLAGS := $(CFLAGS)
28 changes: 28 additions & 0 deletions arch/mips/kernel/i8253.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/*
* Copyright (C) 2006 IBM Corporation
*
* Implements device information for i8253 timer chip
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version
* 2 as published by the Free Software Foundation
*/

#include <linux/platform_device.h>

static __init int add_pcspkr(void)
{
struct platform_device *pd;
int ret;

pd = platform_device_alloc("pcspkr", -1);
if (!pd)
return -ENOMEM;

ret = platform_device_add(pd);
if (ret)
platform_device_put(pd);

return ret;
}
device_initcall(add_pcspkr);
24 changes: 24 additions & 0 deletions arch/powerpc/kernel/setup-common.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <linux/reboot.h>
#include <linux/delay.h>
#include <linux/initrd.h>
#include <linux/platform_device.h>
#include <linux/ide.h>
#include <linux/seq_file.h>
#include <linux/ioport.h>
Expand Down Expand Up @@ -462,6 +463,29 @@ static int __init early_xmon(char *p)
early_param("xmon", early_xmon);
#endif

static __init int add_pcspkr(void)
{
struct device_node *np;
struct platform_device *pd;
int ret;

np = of_find_compatible_node(NULL, NULL, "pnpPNP,100");
of_node_put(np);
if (!np)
return -ENODEV;

pd = platform_device_alloc("pcspkr", -1);
if (!pd)
return -ENOMEM;

ret = platform_device_add(pd);
if (ret)
platform_device_put(pd);

return ret;
}
device_initcall(add_pcspkr);

void probe_machine(void)
{
extern struct machdep_calls __machine_desc_start;
Expand Down
4 changes: 1 addition & 3 deletions drivers/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,6 @@ obj-$(CONFIG_CONNECTOR) += connector/
obj-$(CONFIG_FB_I810) += video/i810/
obj-$(CONFIG_FB_INTEL) += video/intelfb/

# we also need input/serio early so serio bus is initialized by the time
# serial drivers start registering their serio ports
obj-$(CONFIG_SERIO) += input/serio/
obj-y += serial/
obj-$(CONFIG_PARPORT) += parport/
obj-y += base/ block/ misc/ mfd/ net/ media/
Expand All @@ -53,6 +50,7 @@ obj-$(CONFIG_TC) += tc/
obj-$(CONFIG_USB) += usb/
obj-$(CONFIG_PCI) += usb/
obj-$(CONFIG_USB_GADGET) += usb/gadget/
obj-$(CONFIG_SERIO) += input/serio/
obj-$(CONFIG_GAMEPORT) += input/gameport/
obj-$(CONFIG_INPUT) += input/
obj-$(CONFIG_I2O) += message/
Expand Down
Loading

0 comments on commit 9c8680e

Please sign in to comment.