You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(135) |
Nov
(123) |
Dec
(83) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(244) |
Feb
(72) |
Mar
(221) |
Apr
(91) |
May
(104) |
Jun
(93) |
Jul
(78) |
Aug
(1) |
Sep
(1) |
Oct
(29) |
Nov
(98) |
Dec
(20) |
2003 |
Jan
|
Feb
(21) |
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(18) |
Sep
(18) |
Oct
(23) |
Nov
(12) |
Dec
(6) |
2004 |
Jan
(2) |
Feb
(32) |
Mar
|
Apr
(12) |
May
(11) |
Jun
(11) |
Jul
|
Aug
(9) |
Sep
|
Oct
(15) |
Nov
|
Dec
|
2005 |
Jan
|
Feb
(2) |
Mar
(11) |
Apr
(6) |
May
(1) |
Jun
(9) |
Jul
(7) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2006 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
(2) |
Mar
|
Apr
(25) |
May
(2) |
Jun
|
Jul
(5) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2010 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(13) |
Oct
|
Nov
(2) |
Dec
(2) |
2011 |
Jan
|
Feb
|
Mar
(10) |
Apr
(10) |
May
(1) |
Jun
(6) |
Jul
|
Aug
(2) |
Sep
(5) |
Oct
|
Nov
|
Dec
|
From: James S. <jsi...@us...> - 2002-01-23 06:37:52
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/serio In directory usw-pr-cvs1:/tmp/cvs-serv19363 Modified Files: Config.in Log Message: Selectable PS/2 ports and IRQs. Index: Config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/serio/Config.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Config.in 2002/01/23 05:34:30 1.1 +++ Config.in 2002/01/23 06:37:49 1.2 @@ -5,6 +5,11 @@ tristate 'Serial i/o support' CONFIG_SERIO dep_tristate ' i8042 PC Keyboard controller' CONFIG_SERIO_I8042 $CONFIG_SERIO $CONFIG_ISA +if [ "$CONFIG_INPUT_I8042" != "n" ]; then + hex ' Register Base Address' CONFIG_I8042_REG_BASE 60 + int ' PS/2 Keyboard IRQ' CONFIG_I8042_KBD_IRQ 1 + int ' PS/2 AUX IRQ' CONFIG_I8042_AUX_IRQ 12 +fi dep_tristate ' Serial port line discipline' CONFIG_SERIO_SERPORT $CONFIG_SERIO dep_tristate ' ct82c710 Aux port controller' CONFIG_SERIO_CT82C710 $CONFIG_SERIO $CONFIG_ISA dep_tristate ' Parallel port keyboard adapter' CONFIG_SERIO_PARKBD $CONFIG_SERIO $CONFIG_PARPORT |
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input In directory usw-pr-cvs1:/tmp/cvs-serv18782 Modified Files: Makefile Removed Files: adi.c amijoy.c amimouse.c atkbd.c cobra.c cs461x.c ct82c710.c db9.c emu10k1-gp.c fm801-gp.c gamecon.c gameport.c gf2k.c grip.c guillemot.c gunze.c iforce-ff.c iforce-main.c iforce-packets.c iforce-serio.c iforce-usb.c iforce.h inport.c interact.c jazzkbd.c lightning.c logibm.c magellan.c maple_keyb.c maplemouse.c mipskbd.c newtonkbd.c parkbd.c pc110pad.c ps2serkbd.c psmouse.c q40kbd.c rpckbd.c rpcmouse.c serio.c sermouse.c serport.c serport_old.c sidewinder.c spaceball.c spaceorb.c stinger.c sun8042.c sunkbd.c tmdc.c turbografx.c twidjoy.c vortex.c warrior.c xtkbd.c Log Message: Cleanup. Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/Makefile,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- Makefile 2002/01/03 15:33:39 1.46 +++ Makefile 2002/01/23 06:35:30 1.47 @@ -1,173 +1,48 @@ # -# Makefile for the kernel Input device drivers. +# Makefile for the input core drivers. # -# Subdirs. - -SUB_DIRS := -MOD_SUB_DIRS := $(SUB_DIRS) -MOD_IN_SUB_DIRS := $(SUB_DIRS) -ALL_SUB_DIRS := $(SUB_DIRS) - # The target object and module list name. O_TARGET := inputdrv.o -M_OBJS := -O_OBJS := # Objects that export symbols. - -export-objs := input.o serio.o gameport.o -common-objs := input.o serio.o gameport.o - -# Multipart objects. - -hid-objs := hid-core.o hid-input.o - -ifeq ($(CONFIG_USB_HIDDEV),y) - hid-objs += hiddev.o -endif -iforce-objs := iforce-packets.o iforce-ff.o iforce-main.o -ifeq ($(CONFIG_INPUT_IFORCE_232), y) - iforce-objs += iforce-serio.o -else -ifeq ($(CONFIG_INPUT_IFORCE_232), m) - iforce-objs += iforce-serio.o -endif -endif - -ifeq ($(CONFIG_INPUT_IFORCE_USB), y) - iforce-objs += iforce-usb.o -else -ifeq ($(CONFIG_INPUT_IFORCE_USB), m) - iforce-objs += iforce-usb.o -endif -endif - -# Object file lists. - -obj-y := -obj-m := -obj-n := -obj- := +mod-subdirs := joystick keyboard mouse touchscreen +export-objs := input.o # Each configuration option enables a list of files. obj-$(CONFIG_INPUT) += input.o - -obj-$(CONFIG_INPUT_I8042) += i8042.o serio.o -obj-$(CONFIG_INPUT_CT82C710) += ct82c710.o serio.o -obj-$(CONFIG_INPUT_Q40KBD) += q40kbd.o serio.o -#obj-$(CONFIG_INPUT_SUN8042) += sun8042.o serio.o -obj-$(CONFIG_INPUT_RPCKBD) += rpckbd.o serio.o -#obj-$(CONFIG_INPUT_JAZZKBD) += jazzkbd.o serio.o -#obj-$(CONFIG_INPUT_MIPSKBD) += mipskbd.o serio.o -obj-$(CONFIG_INPUT_PARKBD) += parkbd.o serio.o - -obj-$(CONFIG_INPUT_SERPORT_OLD) += serport_old.o serio.o - -obj-$(CONFIG_INPUT_NS558) += ns558.o gameport.o -obj-$(CONFIG_INPUT_LIGHTNING) += lightning.o gameport.o -obj-$(CONFIG_INPUT_VORTEX) += vortex.o gameport.o -obj-$(CONFIG_INPUT_CS461X) += cs461x.o gameport.o -obj-$(CONFIG_INPUT_FM801) += fm801-gp.o gameport.o -obj-$(CONFIG_INPUT_EMU10K1) += emu10k1-gp.o gameport.o - -obj-$(CONFIG_INPUT_ATKBD) += atkbd.o serio.o -obj-$(CONFIG_INPUT_XTKBD) += xtkbd.o serio.o -obj-$(CONFIG_INPUT_PSMOUSE) += psmouse.o serio.o -obj-$(CONFIG_INPUT_NEWTON) += newtonkbd.o serio.o - -obj-$(CONFIG_INPUT_SERMOUSE) += sermouse.o serio.o -obj-$(CONFIG_INPUT_PS2SERIAL) += ps2serkbd.o serio.o -obj-$(CONFIG_INPUT_TWIDSERIAL) += twidjoy.o serio.o -obj-$(CONFIG_INPUT_SUNKBD) += sunkbd.o serio.o -obj-$(CONFIG_INPUT_WARRIOR) += warrior.o serio.o -obj-$(CONFIG_INPUT_MAGELLAN) += magellan.o serio.o -obj-$(CONFIG_INPUT_SPACEORB) += spaceorb.o serio.o -obj-$(CONFIG_INPUT_SPACEBALL) += spaceball.o serio.o -obj-$(CONFIG_INPUT_STINGER) += stinger.o serio.o -obj-$(CONFIG_INPUT_IFORCE_232) += iforce.o serio.o -obj-$(CONFIG_INPUT_GUNZE) += gunze.o serio.o -obj-$(CONFIG_TOUCHSCREEN_INPUT_BITSY) += h3600_ts_input.o serio.o - -obj-$(CONFIG_INPUT_ANALOG) += analog.o gameport.o -obj-$(CONFIG_INPUT_A3D) += a3d.o gameport.o -obj-$(CONFIG_INPUT_ADI) += adi.o gameport.o -obj-$(CONFIG_INPUT_COBRA) += cobra.o gameport.o -obj-$(CONFIG_INPUT_GF2K) += gf2k.o gameport.o -obj-$(CONFIG_INPUT_GRIP) += grip.o gameport.o -obj-$(CONFIG_INPUT_GUILLEMOT) += guillemot.o gameport.o -obj-$(CONFIG_INPUT_INTERACT) += interact.o gameport.o -obj-$(CONFIG_INPUT_TMDC) += tmdc.o gameport.o -obj-$(CONFIG_INPUT_SIDEWINDER) += sidewinder.o gameport.o -obj-$(CONFIG_INPUT_JOYDUMP) += joydump.o gameport.o - -obj-$(CONFIG_INPUT_DB9) += db9.o -obj-$(CONFIG_INPUT_GAMECON) += gamecon.o -obj-$(CONFIG_INPUT_TURBOGRAFX) += turbografx.o - -obj-$(CONFIG_INPUT_HID) += hid.o -obj-$(CONFIG_INPUT_USBMOUSE) += usbmouse.o -obj-$(CONFIG_INPUT_USBKBD) += usbkbd.o -obj-$(CONFIG_INPUT_WACOMUSB) += wacom.o -obj-$(CONFIG_INPUT_IFORCE_USB) += iforce.o - -obj-$(CONFIG_INPUT_ADBHID) += adbhid.o -obj-$(CONFIG_MAC_EMUMOUSEBTN) += mac_hid.o - -obj-$(CONFIG_MAPLE_KEYBOARD) += maple_keyb.o -obj-$(CONFIG_MAPLE_MOUSE) += maplemouse.o - obj-$(CONFIG_INPUT_KEYBDEV) += keybdev.o obj-$(CONFIG_INPUT_MOUSEDEV) += mousedev.o obj-$(CONFIG_INPUT_JOYDEV) += joydev.o -obj-$(CONFIG_INPUT_TOUCHSCREEN) += tsdev.o -obj-$(CONFIG_PM) += power.o obj-$(CONFIG_INPUT_EVDEV) += evdev.o +obj-$(CONFIG_INPUT_TSDEV) += tsdev.o +obj-$(CONFIG_INPUT_POWER) += power.o obj-$(CONFIG_INPUT_EVBUG) += evbug.o -obj-$(CONFIG_INPUT_INPORT) += inport.o -obj-$(CONFIG_INPUT_LOGIBM) += logibm.o -obj-$(CONFIG_INPUT_PC110PAD) += pc110pad.o -#obj-$(CONIG_INPUT_BTTV) += bttv.o -obj-$(CONFIG_INPUT_AMIKEYB) += amikeyb.o -obj-$(CONFIG_INPUT_AMIMOUSE) += amimouse.o -obj-$(CONFIG_INPUT_AMIJOY) += amijoy.o -#obj-$(CONFIG_INPUT_ATARIKBD) += atarikbd.o -#obj-$(CONFIG_INPUT_ATARIMOUSE) += atarimouse.o -#obj-$(CONFIG_INPUT_ATARIJOY) += atarijoy.o -obj-$(CONFIG_INPUT_RPCMOUSE) += rpcmouse.o -#obj-$(CONFIG_INPUT_ARCKBD) += arckbd.o -#obj-$(CONFIG_INPUT_APOLLOKBD) += apollokbd.o -#obj-$(CONFIG_INPUT_HPHIL) += hphil.o - -# Remove duplicates. - -common-y := $(filter $(obj-y),$(common-obj)) -obj-y := $(filter-out $(common-y), $(obj-y)) $(common-y) +subdir-$(CONFIG_INPUT_JOYSTICK) += joystick +subdir-$(CONFIG_INPUT_KEYBOARD) += keyboard +subdir-$(CONFIG_INPUT_MOUSE) += mouse +subdir-$(CONFIG_INPUT_TS) += touchscreen -# Files that are both resident and modular: remove from modular. +ifeq ($(CONFIG_INPUT_KEYBOARD),y) + obj-y += keyboard/keybdrv.o +endif -obj-m := $(filter-out $(obj-y), $(obj-m)) -int-m := $(filter-out $(int-y), $(int-m)) +ifeq ($(CONFIG_INPUT_MOUSE),y) + obj-y += mouse/mousedrv.o +endif -# Translate to Rules.make lists. +ifeq ($(CONFIG_INPUT_JOYSTICK),y) + obj-y += joystick/joydrv.o +endif -O_OBJS := $(filter-out $(export-objs), $(obj-y)) -OX_OBJS := $(filter $(export-objs), $(obj-y)) -M_OBJS := $(sort $(filter-out $(export-objs), $(obj-m))) -MX_OBJS := $(sort $(filter $(export-objs), $(obj-m))) +ifeq ($(CONFIG_INPUT_TS),y) + obj-y += touchscreen/tsdrv.o +endif # The global Rules.make. include $(TOPDIR)/Rules.make - -# Link rules for multi-part drivers. - -hid.o: $(hid-objs) - $(LD) -r -o $@ $(hid-objs) - -iforce.o: $(iforce-objs) - $(LD) -r -o $@ $(iforce-objs) --- adi.c DELETED --- --- amijoy.c DELETED --- --- amimouse.c DELETED --- --- atkbd.c DELETED --- --- cobra.c DELETED --- --- cs461x.c DELETED --- --- ct82c710.c DELETED --- --- db9.c DELETED --- --- emu10k1-gp.c DELETED --- --- fm801-gp.c DELETED --- --- gamecon.c DELETED --- --- gameport.c DELETED --- --- gf2k.c DELETED --- --- grip.c DELETED --- --- guillemot.c DELETED --- --- gunze.c DELETED --- --- iforce-ff.c DELETED --- --- iforce-main.c DELETED --- --- iforce-packets.c DELETED --- --- iforce-serio.c DELETED --- --- iforce-usb.c DELETED --- --- iforce.h DELETED --- --- inport.c DELETED --- --- interact.c DELETED --- --- jazzkbd.c DELETED --- --- lightning.c DELETED --- --- logibm.c DELETED --- --- magellan.c DELETED --- --- maple_keyb.c DELETED --- --- maplemouse.c DELETED --- --- mipskbd.c DELETED --- --- newtonkbd.c DELETED --- --- parkbd.c DELETED --- --- pc110pad.c DELETED --- --- ps2serkbd.c DELETED --- --- psmouse.c DELETED --- --- q40kbd.c DELETED --- --- rpckbd.c DELETED --- --- rpcmouse.c DELETED --- --- serio.c DELETED --- --- sermouse.c DELETED --- --- serport.c DELETED --- --- serport_old.c DELETED --- --- sidewinder.c DELETED --- --- spaceball.c DELETED --- --- spaceorb.c DELETED --- --- stinger.c DELETED --- --- sun8042.c DELETED --- --- sunkbd.c DELETED --- --- tmdc.c DELETED --- --- turbografx.c DELETED --- --- twidjoy.c DELETED --- --- vortex.c DELETED --- --- warrior.c DELETED --- --- xtkbd.c DELETED --- |
From: James S. <jsi...@us...> - 2002-01-23 06:35:33
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard In directory usw-pr-cvs1:/tmp/cvs-serv18782/keyboard Modified Files: Config.in Makefile Log Message: Cleanup. Index: Config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard/Config.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Config.in 2002/01/23 05:32:39 1.1 +++ Config.in 2002/01/23 06:35:30 1.2 @@ -8,6 +8,7 @@ dep_tristate ' Sun Type 4 and Type 5 keyboard support' CONFIG_KEYBOARD_SUNKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO dep_tristate ' PS/2 to Serial converter support' CONFIG_KEYBOARD_PS2SERKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO dep_tristate ' XT Keyboard support' CONFIG_KEYBOARD_XTKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO +dep_tristate ' Newton Keyboard support' CONFIG_KEYBOARD_NEWTON $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO if [ "$CONFIG_SH_DREAMCAST" = "y" ]; then dep_tristate ' Maple bus keyboard support' CONFIG_KEYBOARD_MAPLE $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_MAPLE Index: Makefile =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Makefile 2002/01/23 05:26:38 1.1 +++ Makefile 2002/01/23 06:35:30 1.2 @@ -13,6 +13,8 @@ obj-$(CONFIG_KEYBOARD_PS2SERKBD) += ps2serkbd.o obj-$(CONFIG_KEYBOARD_SUNKBD) += sunkbd.o obj-$(CONFIG_KEYBOARD_XTKBD) += xtkbd.o +obj-$(CONFIG_KEYBOARD_Q40KBD) += q40kbd.o +obj-$(CONFIG_KEYBOARD_NEWTON) += newtonkbd.o # The global Rules.make. |
From: James S. <jsi...@us...> - 2002-01-23 06:31:20
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard In directory usw-pr-cvs1:/tmp/cvs-serv17979 Added Files: Tag: 1.6 ps2serkbd.c Log Message: Moving stuff around. --- NEW FILE: ps2serkbd.c --- /* * based on: sunkbd.c and ps2serkbd.c * * $Id: ps2serkbd.c,v 1.6 2002/01/23 06:31:17 jsimmons Exp $ */ /* * PS/2 keyboard via adapter at serial port driver for Linux */ /* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include <linux/delay.h> #include <linux/slab.h> #include <linux/module.h> #include <linux/interrupt.h> #include <linux/init.h> #include <linux/input.h> #include <linux/serio.h> #define ATKBD_CMD_SETLEDS 0x10ed #define ATKBD_CMD_GSCANSET 0x11f0 #define ATKBD_CMD_SSCANSET 0x10f0 #define ATKBD_CMD_GETID 0x02f2 #define ATKBD_CMD_ENABLE 0x00f4 #define ATKBD_CMD_RESET_DIS 0x00f5 #define ATKBD_CMD_SETALL_MB 0x00f8 #define ATKBD_CMD_EX_ENABLE 0x10ea #define ATKBD_CMD_EX_SETLEDS 0x20eb #define ATKBD_RET_ACK 0xfa #define ATKBD_RET_NAK 0xfe #define ATKBD_KEY_UNKNOWN 0 #define ATKBD_KEY_BAT 251 #define ATKBD_KEY_EMUL0 252 #define ATKBD_KEY_EMUL1 253 #define ATKBD_KEY_RELEASE 254 #define ATKBD_KEY_NULL 255 static unsigned char ps2serkbd_set2_keycode[512] = { 0, 67, 65, 63, 61, 59, 60, 88, 0, 68, 66, 64, 62, 15, 41, 85, 0, 56, 42, 0, 29, 16, 2, 89, 0, 0, 44, 31, 30, 17, 3, 90, 0, 46, 45, 32, 18, 5, 4, 91, 0, 57, 47, 33, 20, 19, 6, 0, 0, 49, 48, 35, 34, 21, 7, 0, 0, 0, 50, 36, 22, 8, 9, 0, 0, 51, 37, 23, 24, 11, 10, 0, 0, 52, 53, 38, 39, 25, 12, 0, 122, 89, 40,120, 26, 13, 0, 0, 58, 54, 28, 27, 0, 43, 0, 0, 85, 86, 90, 91, 92, 93, 14, 94, 95, 79, 0, 75, 71,121, 0,123, 82, 83, 80, 76, 77, 72, 1, 69, 87, 78, 81, 74, 55, 73, 70, 99, 252, 0, 0, 65, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,251, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 252,253, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,255, 0, 0, 92, 90, 85, 0,137, 0, 0, 0, 0, 91, 89,144,115, 0, 136,100,255, 0, 97,149,164, 0,156, 0, 0,140,115, 0, 0,125, 0,150, 0,154,152,163,151,126,112,166, 0,140, 0,147, 0,127, 159,167,139,160,163, 0, 0,116,158, 0,150,165, 0, 0, 0,142, 157, 0,114,166,168, 0, 0, 0,155, 0, 98,113, 0,148, 0,138, 0, 0, 0, 0, 0, 0,153,140, 0, 0, 96, 0, 0, 0,143, 0, 133, 0,116, 0,143, 0,174,133, 0,107, 0,105,102, 0, 0,112, 110,111,108,112,106,103, 0,119, 0,118,109, 0, 99,104,119 }; /* * Per-keyboard data. */ struct ps2serkbd { unsigned char keycode[512]; struct input_dev dev; struct serio *serio; char name[64]; char phys[32]; struct tq_struct tq; unsigned char cmdbuf[4]; unsigned char cmdcnt; unsigned char set; char release; char ack; char emul; char error; unsigned short id; }; /* * ps2serkbd_interrupt() is called by the low level driver when a character * is received. */ static void ps2serkbd_interrupt(struct serio *serio, unsigned char data, unsigned int flags) { static int event_count=0; struct ps2serkbd* ps2serkbd = serio->private; int code=data; #if 0 printk(KERN_WARNING "ps2serkbd.c(%8d): (scancode %#x)\n", event_count, data); #endif event_count++; switch (code) { case ATKBD_RET_ACK: ps2serkbd->ack = 1; return; case ATKBD_RET_NAK: ps2serkbd->ack = -1; return; } if (ps2serkbd->cmdcnt) { ps2serkbd->cmdbuf[--ps2serkbd->cmdcnt] = code; return; } switch (ps2serkbd->keycode[code]) { case ATKBD_KEY_BAT: queue_task(&ps2serkbd->tq, &tq_immediate); mark_bh(IMMEDIATE_BH); return; case ATKBD_KEY_EMUL0: ps2serkbd->emul = 1; return; case ATKBD_KEY_EMUL1: ps2serkbd->emul = 2; return; case ATKBD_KEY_RELEASE: ps2serkbd->release = 1; return; } if (ps2serkbd->emul) { if (--ps2serkbd->emul) return; code |= 0x100; } switch (ps2serkbd->keycode[code]) { case ATKBD_KEY_NULL: break; case ATKBD_KEY_UNKNOWN: printk(KERN_WARNING "ps2serkbd.c: Unknown key (set %d, scancode %#x) %s.\n", ps2serkbd->set, code, ps2serkbd->release ? "released" : "pressed"); break; default: input_report_key(&ps2serkbd->dev, ps2serkbd->keycode[code], !ps2serkbd->release); } ps2serkbd->release = 0; } /* * ps2serkbd_event() handles events from the input module. */ static int ps2serkbd_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) { switch (type) { case EV_LED: return 0; } return -1; } static int ps2serkbd_initialize(struct ps2serkbd *ps2serkbd) { return 0; } static void ps2serkbd_reinit(void *data) { } static void ps2serkbd_connect(struct serio *serio, struct serio_dev *dev) { struct ps2serkbd *ps2serkbd; int i; if ((serio->type & SERIO_TYPE) != SERIO_RS232) return; if ((serio->type & SERIO_PROTO) && (serio->type & SERIO_PROTO) != SERIO_PS2SER) return; if (!(ps2serkbd = kmalloc(sizeof(struct ps2serkbd), GFP_KERNEL))) return; memset(ps2serkbd, 0, sizeof(struct ps2serkbd)); ps2serkbd->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_LED) | BIT(EV_REP); ps2serkbd->dev.ledbit[0] = BIT(LED_NUML) | BIT(LED_CAPSL) | BIT(LED_SCROLLL); ps2serkbd->serio = serio; ps2serkbd->dev.keycode = ps2serkbd->keycode; ps2serkbd->dev.event = ps2serkbd_event; ps2serkbd->dev.private = ps2serkbd; ps2serkbd->tq.routine = ps2serkbd_reinit; ps2serkbd->tq.data = ps2serkbd; serio->private = ps2serkbd; if (serio_open(serio, dev)) { kfree(ps2serkbd); return; } if (ps2serkbd_initialize(ps2serkbd) < 0) { serio_close(serio); kfree(ps2serkbd); return; } ps2serkbd->set = 4; if (ps2serkbd->set == 4) { ps2serkbd->dev.ledbit[0] |= 0; sprintf(ps2serkbd->name, "AT Set 2 Extended keyboard\n"); } memcpy(ps2serkbd->keycode, ps2serkbd_set2_keycode, sizeof(ps2serkbd->keycode)); sprintf(ps2serkbd->phys, "%s/input0", serio->phys); ps2serkbd->dev.name = ps2serkbd->name; ps2serkbd->dev.phys = ps2serkbd->phys; ps2serkbd->dev.idbus = BUS_RS232; ps2serkbd->dev.idvendor = SERIO_PS2SER; ps2serkbd->dev.idproduct = ps2serkbd->set; ps2serkbd->dev.idversion = ps2serkbd->id; for (i = 0; i < 512; i++) if (ps2serkbd->keycode[i] && ps2serkbd->keycode[i] <= 250) set_bit(ps2serkbd->keycode[i], ps2serkbd->dev.keybit); input_register_device(&ps2serkbd->dev); } /* * ps2serkbd_disconnect() unregisters and closes behind us. */ static void ps2serkbd_disconnect(struct serio *serio) { struct ps2serkbd *ps2serkbd = serio->private; input_unregister_device(&ps2serkbd->dev); serio_close(serio); kfree(ps2serkbd); } static struct serio_dev ps2serkbd_dev = { interrupt: ps2serkbd_interrupt, connect: ps2serkbd_connect, disconnect: ps2serkbd_disconnect }; /* * The functions for insering/removing us as a module. */ int __init ps2serkbd_init(void) { serio_register_device(&ps2serkbd_dev); return 0; } void __exit ps2serkbd_exit(void) { serio_unregister_device(&ps2serkbd_dev); } module_init(ps2serkbd_init); module_exit(ps2serkbd_exit); |
From: James S. <jsi...@us...> - 2002-01-23 06:29:23
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard In directory usw-pr-cvs1:/tmp/cvs-serv17376 Added Files: Tag: 1.2 mipskbd.c Log Message: Moving to new directory. --- NEW FILE: mipskbd.c --- /* $Id: mipskbd.c,v 1.2 2002/01/23 06:29:21 jsimmons Exp $ * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Routines for standard PC style keyboards accessible via I/O ports. * * Copyright (C) 1998, 1999 by Ralf Baechle */ #include <linux/ioport.h> #include <linux/sched.h> #include <linux/pc_keyb.h> #include <asm/keyboard.h> #include <asm/io.h> #define KEYBOARD_IRQ 1 #define AUX_IRQ 12 static void std_kbd_request_region(void) { request_region(0x60, 16, "keyboard"); } static int std_kbd_request_irq(void (*handler)(int, void *, struct pt_regs *)) { return request_irq(KEYBOARD_IRQ, handler, 0, "keyboard", NULL); } static int std_aux_request_irq(void (*handler)(int, void *, struct pt_regs *)) { return request_irq(AUX_IRQ, handler, 0, "PS/2 Mouse", NULL); } static void std_aux_free_irq(void) { free_irq(AUX_IRQ, NULL); } static unsigned char std_kbd_read_input(void) { return inb(KBD_DATA_REG); } static void std_kbd_write_output(unsigned char val) { int status; do { status = inb(KBD_CNTL_REG); } while (status & KBD_STAT_IBF); outb(val, KBD_DATA_REG); } static void std_kbd_write_command(unsigned char val) { int status; do { status = inb(KBD_CNTL_REG); } while (status & KBD_STAT_IBF); outb(val, KBD_CNTL_REG); } static unsigned char std_kbd_read_status(void) { return inb(KBD_STATUS_REG); } struct kbd_ops std_kbd_ops = { std_kbd_request_region, std_kbd_request_irq, std_aux_request_irq, std_aux_free_irq, std_kbd_read_input, std_kbd_write_output, std_kbd_write_command, std_kbd_read_status }; |
From: James S. <jsi...@us...> - 2002-01-23 06:27:41
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard In directory usw-pr-cvs1:/tmp/cvs-serv17057 Added Files: Tag: 1.2 jazzkbd.c Log Message: Moving to new directory. --- NEW FILE: jazzkbd.c --- /* $Id: jazzkbd.c,v 1.2 2002/01/23 06:27:38 jsimmons Exp $ * * Low-level hardware access stuff for Jazz family machines. * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 1995, 1996, 1997, 1998 by Ralf Baechle */ #include <linux/sched.h> #include <linux/pc_keyb.h> #include <asm/keyboard.h> #include <asm/jazz.h> #define jazz_kh ((keyboard_hardware *) JAZZ_KEYBOARD_ADDRESS) static void jazz_request_region(void) { /* No I/O ports are being used on Jazz. */ } static int jazz_request_irq(void (*handler)(int, void *, struct pt_regs *)) { int res; res = request_irq(JAZZ_KEYBOARD_IRQ, handler, 0, "keyboard", NULL); if (res != 0) return res; /* jazz_request_irq() should do this ... */ r4030_write_reg16(JAZZ_IO_IRQ_ENABLE, r4030_read_reg16(JAZZ_IO_IRQ_ENABLE) | JAZZ_IE_KEYBOARD); return 0; } static int jazz_aux_request_irq(void (*handler)(int, void *, struct pt_regs *)) { int ret; ret = request_irq(JAZZ_MOUSE_IRQ, handler, 0, "PS/2 Mouse", NULL); if (ret != 0) return ret; r4030_write_reg16(JAZZ_IO_IRQ_ENABLE, r4030_read_reg16(JAZZ_IO_IRQ_ENABLE) | JAZZ_IE_MOUSE); return 0; } static void jazz_aux_free_irq(void) { r4030_write_reg16(JAZZ_IO_IRQ_ENABLE, r4030_read_reg16(JAZZ_IO_IRQ_ENABLE) | JAZZ_IE_MOUSE); free_irq(JAZZ_MOUSE_IRQ, NULL); } static unsigned char jazz_read_input(void) { return jazz_kh->data; } static void jazz_write_output(unsigned char val) { int status; do { status = jazz_kh->command; } while (status & KBD_STAT_IBF); jazz_kh->data = val; } static void jazz_write_command(unsigned char val) { int status; do { status = jazz_kh->command; } while (status & KBD_STAT_IBF); jazz_kh->command = val; } static unsigned char jazz_read_status(void) { return jazz_kh->command; } struct kbd_ops jazz_kbd_ops = { jazz_request_region, jazz_request_irq, jazz_aux_request_irq, jazz_aux_free_irq, jazz_read_input, jazz_write_output, jazz_write_command, jazz_read_status }; |
From: James S. <jsi...@us...> - 2002-01-23 06:24:40
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard In directory usw-pr-cvs1:/tmp/cvs-serv16562 Added Files: newtonkbd.c Log Message: Moved to keyboard directory. --- NEW FILE: newtonkbd.c --- /* * * * Copyright (c) 2000 Justin Cormack * * */ /* * Newton keyboard driver for Linux */ /* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Should you need to contact me, the author, you can do so either by * e-mail - mail your message to <j.c...@do...>, or by paper mail: * Justin Cormack, 68 Dartmouth Park Road, London NW5 1SN, UK. */ #include <linux/slab.h> #include <linux/module.h> #include <linux/input.h> #include <linux/init.h> #include <linux/serio.h> MODULE_AUTHOR("Justin Cormack <j.c...@do...>"); #define NKBD_KEY 0x7f #define NKBD_PRESS 0x80 static unsigned char nkbd_keycode[128] = { KEY_A, KEY_S, KEY_D, KEY_F, KEY_H, KEY_G, KEY_Z, KEY_X, KEY_C, KEY_V, 0, KEY_B, KEY_Q, KEY_W, KEY_E, KEY_R, KEY_Y, KEY_T, KEY_1, KEY_2, KEY_3, KEY_4, KEY_6, KEY_5, KEY_EQUAL, KEY_9, KEY_7, KEY_MINUS, KEY_8, KEY_0, KEY_RIGHTBRACE, KEY_O, KEY_U, KEY_LEFTBRACE, KEY_I, KEY_P, KEY_ENTER, KEY_L, KEY_J, KEY_APOSTROPHE, KEY_K, KEY_SEMICOLON, KEY_BACKSLASH, KEY_COMMA, KEY_SLASH, KEY_N, KEY_M, KEY_DOT, KEY_TAB, KEY_SPACE, KEY_GRAVE, KEY_DELETE, 0, 0, 0, KEY_LEFTMETA, KEY_LEFTSHIFT, KEY_CAPSLOCK, KEY_LEFTALT, KEY_LEFTCTRL, KEY_RIGHTSHIFT, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, KEY_LEFT, KEY_RIGHT, KEY_DOWN, KEY_UP, 0 }; static char *nkbd_name = "Newton Keyboard"; struct nkbd { unsigned char keycode[128]; struct input_dev dev; struct serio *serio; char phys[32]; }; void nkbd_interrupt(struct serio *serio, unsigned char data, unsigned int flags) { struct nkbd *nkbd = serio->private; /* invalid scan codes are probably the init sequence, so we ignore them */ if (nkbd->keycode[data & NKBD_KEY]) input_report_key(&nkbd->dev, nkbd->keycode[data & NKBD_KEY], data & NKBD_PRESS); else if (data == 0xe7) /* end of init sequence */ printk(KERN_INFO "input: %s on %s\n", nkbd_name, serio->phys); } void nkbd_connect(struct serio *serio, struct serio_dev *dev) { struct nkbd *nkbd; int i; if (serio->type != (SERIO_RS232 | SERIO_NEWTON)) return; if (!(nkbd = kmalloc(sizeof(struct nkbd), GFP_KERNEL))) return; memset(nkbd, 0, sizeof(struct nkbd)); nkbd->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_REP); nkbd->serio = serio; nkbd->dev.keycode = nkbd->keycode; nkbd->dev.private = nkbd; serio->private = nkbd; if (serio_open(serio, dev)) { kfree(nkbd); return; } memcpy(nkbd->keycode, nkbd_keycode, sizeof(nkbd->keycode)); for (i = 0; i < 128; i++) set_bit(nkbd->keycode[i], nkbd->dev.keybit); clear_bit(0, nkbd->dev.keybit); sprintf(nkbd->phys, "%s/input0", serio->phys); nkbd->dev.name = nkbd_name; nkbd->dev.phys = nkbd->phys; nkbd->dev.idbus = BUS_RS232; nkbd->dev.idvendor = SERIO_NEWTON; nkbd->dev.idproduct = 0x0001; nkbd->dev.idversion = 0x0100; input_register_device(&nkbd->dev); printk(KERN_INFO "input: %s on %s\n", nkbd_name, serio->phys); } void nkbd_disconnect(struct serio *serio) { struct nkbd *nkbd = serio->private; input_unregister_device(&nkbd->dev); serio_close(serio); kfree(nkbd); } struct serio_dev nkbd_dev = { interrupt: nkbd_interrupt, connect: nkbd_connect, disconnect: nkbd_disconnect }; int __init nkbd_init(void) { serio_register_device(&nkbd_dev); return 0; } void __exit nkbd_exit(void) { serio_unregister_device(&nkbd_dev); } module_init(nkbd_init); module_exit(nkbd_exit); |
From: James S. <jsi...@us...> - 2002-01-23 06:23:05
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/serio In directory usw-pr-cvs1:/tmp/cvs-serv16057 Added Files: Tag: 1.10 sun8042.c Log Message: Moving stuff around. --- NEW FILE: sun8042.c --- /* $Id: sun8042.c,v 1.10 2002/01/23 06:23:02 jsimmons Exp $ * pcikbd.c: Ultra/AX PC keyboard support. * * Copyright (C) 1997 Eddie C. Dost (ec...@sk...) * JavaStation support by Pete A. Zaitcev. * * This code is mainly put together from various places in * drivers/char, please refer to these sources for credits * to the original authors. */ #include <linux/config.h> #include <linux/module.h> #include <linux/kernel.h> #include <linux/sched.h> #include <linux/interrupt.h> #include <linux/ioport.h> #include <linux/poll.h> #include <linux/slab.h> #include <linux/errno.h> #include <linux/random.h> #include <linux/miscdevice.h> #include <linux/delay.h> #include <linux/init.h> #include <asm/ebus.h> #include <asm/oplib.h> #include <asm/irq.h> #include <asm/io.h> #include <asm/uaccess.h> /* * Different platforms provide different permutations of names. * AXi - kb_ps2, kdmouse. * MrCoffee - keyboard, mouse. * Espresso - keyboard, kdmouse. */ #define PCI_KB_NAME1 "kb_ps2" #define PCI_KB_NAME2 "keyboard" #define PCI_MS_NAME1 "kdmouse" #define PCI_MS_NAME2 "mouse" #include "pcikbd.h" #include "sunserial.h" #ifndef __sparc_v9__ static int pcikbd_mrcoffee = 0; #else #define pcikbd_mrcoffee 0 #endif static unsigned long pcikbd_iobase = 0; static unsigned int pcikbd_irq = 0; unsigned char pckbd_read_mask = KBD_STAT_OBF; #define pcikbd_inb(x) inb(x) #define pcikbd_outb(v,x) outb(v,x) static inline void kb_wait(void) { unsigned long start = jiffies; do { if(!(pcikbd_inb(pcikbd_iobase + KBD_STATUS_REG) & KBD_STAT_IBF)) return; } while (jiffies - start < KBC_TIMEOUT); } static void pcikbd_interrupt(int irq, void *dev_id, struct pt_regs *regs) { unsigned char status; kbd_pt_regs = regs; status = pcikbd_inb(pcikbd_iobase + KBD_STATUS_REG); do { unsigned char scancode; if(status & pckbd_read_mask & KBD_STAT_MOUSE_OBF) break; scancode = pcikbd_inb(pcikbd_iobase + KBD_DATA_REG); if((status & KBD_STAT_OBF) && do_acknowledge(scancode)) handle_scancode(scancode, !(scancode & 0x80)); status = pcikbd_inb(pcikbd_iobase + KBD_STATUS_REG); } while(status & KBD_STAT_OBF); tasklet_schedule(&keyboard_tasklet); } static int send_data(unsigned char data) { int retries = 3; unsigned long start; do { kb_wait(); acknowledge = resend = 0; reply_expected = 1; pcikbd_outb(data, pcikbd_iobase + KBD_DATA_REG); start = jiffies; do { if(acknowledge) return 1; if(jiffies - start >= KBD_TIMEOUT) return 0; } while(!resend); } while(retries-- > 0); return 0; } static int __init pcikbd_wait_for_input(void) { int status, data; unsigned long start = jiffies; do { status = pcikbd_inb(pcikbd_iobase + KBD_STATUS_REG); if(!(status & KBD_STAT_OBF)) continue; data = pcikbd_inb(pcikbd_iobase + KBD_DATA_REG); if(status & (KBD_STAT_GTO | KBD_STAT_PERR)) continue; return (data & 0xff); } while(jiffies - start < KBD_INIT_TIMEOUT); return -1; } static void __init pcikbd_write(int address, int data) { int status; do { status = pcikbd_inb(pcikbd_iobase + KBD_STATUS_REG); } while (status & KBD_STAT_IBF); pcikbd_outb(data, pcikbd_iobase + address); } #ifdef __sparc_v9__ static unsigned long pcibeep_iobase = 0; /* Timer routine to turn off the beep after the interval expires. */ static void pcikbd_kd_nosound(unsigned long __unused) { outl(0, pcibeep_iobase); } /* * Initiate a keyboard beep. If the frequency is zero, then we stop * the beep. Any other frequency will start a monotone beep. The beep * will be stopped by a timer after "ticks" jiffies. If ticks is 0, * then we do not start a timer. */ static void pcikbd_kd_mksound(unsigned int hz, unsigned int ticks) { unsigned long flags; static struct timer_list sound_timer = { NULL, NULL, 0, 0, pcikbd_kd_nosound }; save_flags(flags); cli(); del_timer(&sound_timer); if (hz) { outl(1, pcibeep_iobase); if (ticks) { sound_timer.expires = jiffies + ticks; add_timer(&sound_timer); } } else outl(0, pcibeep_iobase); restore_flags(flags); } #endif extern void (*kd_mksound)(unsigned int hz, unsigned int ticks); static char * __init do_pcikbd_init_hw(void) { while(pcikbd_wait_for_input() != -1); pcikbd_write(KBD_CNTL_REG, KBD_CCMD_SELF_TEST); if(pcikbd_wait_for_input() != 0x55) return "Keyboard failed self test"; pcikbd_write(KBD_CNTL_REG, KBD_CCMD_KBD_TEST); if(pcikbd_wait_for_input() != 0x00) return "Keyboard interface failed self test"; pcikbd_write(KBD_CNTL_REG, KBD_CCMD_KBD_ENABLE); pcikbd_write(KBD_DATA_REG, KBD_CMD_RESET); if(pcikbd_wait_for_input() != KBD_REPLY_ACK) return "Keyboard reset failed, no ACK"; if(pcikbd_wait_for_input() != KBD_REPLY_POR) return "Keyboard reset failed, no ACK"; pcikbd_write(KBD_DATA_REG, KBD_CMD_DISABLE); if(pcikbd_wait_for_input() != KBD_REPLY_ACK) return "Disable keyboard: no ACK"; pcikbd_write(KBD_CNTL_REG, KBD_CCMD_WRITE_MODE); pcikbd_write(KBD_DATA_REG, (KBD_MODE_KBD_INT | KBD_MODE_SYS | KBD_MODE_DISABLE_MOUSE | KBD_MODE_KCC)); pcikbd_write(KBD_DATA_REG, KBD_CMD_ENABLE); if(pcikbd_wait_for_input() != KBD_REPLY_ACK) return "Enable keyboard: no ACK"; pcikbd_write(KBD_DATA_REG, KBD_CMD_SET_RATE); if(pcikbd_wait_for_input() != KBD_REPLY_ACK) return "Set rate: no ACK"; pcikbd_write(KBD_DATA_REG, 0x00); if(pcikbd_wait_for_input() != KBD_REPLY_ACK) return "Set rate: no ACK"; return NULL; /* success */ } void __init pcikbd_init_hw(void) { struct linux_ebus *ebus; struct linux_ebus_device *edev; struct linux_ebus_child *child; char *msg; if (pcikbd_mrcoffee) { if ((pcikbd_iobase = (unsigned long) ioremap(0x71300060, 8)) == 0) { prom_printf("pcikbd_init_hw: cannot map\n"); return; } pcikbd_irq = 13 | 0x20; if (request_irq(pcikbd_irq, &pcikbd_interrupt, SA_SHIRQ, "keyboard", (void *)pcikbd_iobase)) { printk("8042: cannot register IRQ %x\n", pcikbd_irq); return; } printk("8042(kbd): iobase[%x] irq[%x]\n", (unsigned)pcikbd_iobase, pcikbd_irq); } else { for_each_ebus(ebus) { for_each_ebusdev(edev, ebus) { if(!strcmp(edev->prom_name, "8042")) { for_each_edevchild(edev, child) { if (strcmp(child->prom_name, PCI_KB_NAME1) == 0 || strcmp(child->prom_name, PCI_KB_NAME2) == 0) goto found; } } } } printk("pcikbd_init_hw: no 8042 found\n"); return; found: pcikbd_iobase = child->resource[0].start; pcikbd_irq = child->irqs[0]; if (request_irq(pcikbd_irq, &pcikbd_interrupt, SA_SHIRQ, "keyboard", (void *)pcikbd_iobase)) { printk("8042: cannot register IRQ %s\n", __irq_itoa(pcikbd_irq)); return; } printk("8042(kbd) at 0x%lx (irq %s)\n", pcikbd_iobase, __irq_itoa(pcikbd_irq)); } kd_mksound = nop_kd_mksound; #ifdef __sparc_v9__ edev = 0; for_each_ebus(ebus) { for_each_ebusdev(edev, ebus) { if(!strcmp(edev->prom_name, "beeper")) goto ebus_done; } } ebus_done: /* * XXX: my 3.1.3 PROM does not give me the beeper node for the audio * auxio register, though I know it is there... (ecd) * * JavaStations appear not to have beeper. --zaitcev */ if (!edev) pcibeep_iobase = (pcikbd_iobase & ~(0xffffff)) | 0x722000; else pcibeep_iobase = edev->resource[0].start; kd_mksound = pcikbd_kd_mksound; printk("8042(speaker): iobase[%016lx]%s\n", pcibeep_iobase, edev ? "" : " (forced)"); #endif disable_irq(pcikbd_irq); msg = do_pcikbd_init_hw(); enable_irq(pcikbd_irq); if(msg) printk("8042: keyboard init failure [%s]\n", msg); } #define pcimouse_inb(x) inb(x) #define pcimouse_outb(v,x) outb(v,x) /* * PS/2 Aux Device */ #define AUX_INTS_OFF (KBD_MODE_KCC | KBD_MODE_DISABLE_MOUSE | \ KBD_MODE_SYS | KBD_MODE_KBD_INT) #define AUX_INTS_ON (KBD_MODE_KCC | KBD_MODE_SYS | \ KBD_MODE_MOUSE_INT | KBD_MODE_KBD_INT) #define MAX_RETRIES 60 /* some aux operations take long time*/ /* * Status polling */ static int poll_aux_status(void) { int retries=0; while ((pcimouse_inb(pcimouse_iobase + KBD_STATUS_REG) & (KBD_STAT_IBF | KBD_STAT_OBF)) && retries < MAX_RETRIES) { if ((pcimouse_inb(pcimouse_iobase + KBD_STATUS_REG) & AUX_STAT_OBF) == AUX_STAT_OBF) pcimouse_inb(pcimouse_iobase + KBD_DATA_REG); set_current_state(TASK_INTERRUPTIBLE); schedule_timeout((5*HZ + 99) / 100); retries++; } return (retries < MAX_RETRIES); } /* * Write to aux device */ static void aux_write_dev(int val) { poll_aux_status(); pcimouse_outb(KBD_CCMD_WRITE_MOUSE, pcimouse_iobase + KBD_CNTL_REG);/* Write magic cookie */ poll_aux_status(); pcimouse_outb(val, pcimouse_iobase + KBD_DATA_REG); /* Write data */ udelay(1); } /* * Write to device & handle returned ack */ static int __init aux_write_ack(int val) { aux_write_dev(val); poll_aux_status(); if ((pcimouse_inb(pcimouse_iobase + KBD_STATUS_REG) & AUX_STAT_OBF) == AUX_STAT_OBF) return (pcimouse_inb(pcimouse_iobase + KBD_DATA_REG)); return 0; } /* * Write aux device command */ static void aux_write_cmd(int val) { poll_aux_status(); pcimouse_outb(KBD_CCMD_WRITE_MODE, pcimouse_iobase + KBD_CNTL_REG); poll_aux_status(); pcimouse_outb(val, pcimouse_iobase + KBD_DATA_REG); } /* * Interrupt from the auxiliary device: a character * is waiting in the keyboard/aux controller. */ void pcimouse_interrupt(int irq, void *dev_id, struct pt_regs *regs) { int head = queue->head; int maxhead = (queue->tail-1) & (AUX_BUF_SIZE-1); if ((pcimouse_inb(pcimouse_iobase + KBD_STATUS_REG) & AUX_STAT_OBF) != AUX_STAT_OBF) return; queue->buf[head] = pcimouse_inb(pcimouse_iobase + KBD_DATA_REG); if (head != maxhead) { head++; head &= AUX_BUF_SIZE-1; } queue->head = head; aux_ready = 1; if (queue->fasync) kill_fasync(queue->fasync, SIGIO, POLL_IN); wake_up_interruptible(&queue->proc_list); } static int aux_release(struct inode * inode, struct file * file) { aux_fasync(-1, file, 0); if (--aux_count) return 0; aux_start_atomic(); /* Disable controller ints */ aux_write_cmd(AUX_INTS_OFF); poll_aux_status(); /* Disable Aux device */ pcimouse_outb(KBD_CCMD_MOUSE_DISABLE, pcimouse_iobase + KBD_CNTL_REG); poll_aux_status(); aux_end_atomic(); MOD_DEC_USE_COUNT; return 0; } /* * Install interrupt handler. * Enable auxiliary device. */ static int aux_open(struct inode * inode, struct file * file) { if (!aux_present) return -ENODEV; aux_start_atomic(); if (aux_count++) { aux_end_atomic(); return 0; } if (!poll_aux_status()) { /* FIXME: Race condition */ aux_count--; aux_end_atomic(); return -EBUSY; } queue->head = queue->tail = 0; /* Flush input queue */ MOD_INC_USE_COUNT; poll_aux_status(); pcimouse_outb(KBD_CCMD_MOUSE_ENABLE, pcimouse_iobase+KBD_CNTL_REG); /* Enable Aux */ aux_write_dev(AUX_ENABLE_DEV); /* Enable aux device */ aux_write_cmd(AUX_INTS_ON); /* Enable controller ints */ poll_aux_status(); aux_end_atomic(); aux_ready = 0; return 0; } /* * Write to the aux device. */ static ssize_t aux_write(struct file * file, const char * buffer, size_t count, loff_t *ppos) { ssize_t retval = 0; if (count) { ssize_t written = 0; aux_start_atomic(); do { char c; if (!poll_aux_status()) break; pcimouse_outb(KBD_CCMD_WRITE_MOUSE, pcimouse_iobase + KBD_CNTL_REG); if (!poll_aux_status()) break; get_user(c, buffer++); pcimouse_outb(c, pcimouse_iobase + KBD_DATA_REG); written++; } while (--count); aux_end_atomic(); retval = -EIO; if (written) { retval = written; file->f_dentry->d_inode->i_mtime = CURRENT_TIME; } } return retval; } int __init pcimouse_init(void) { struct linux_ebus *ebus; struct linux_ebus_device *edev; struct linux_ebus_child *child; if (pcikbd_mrcoffee) { if ((pcimouse_iobase = pcikbd_iobase) == 0) { printk("pcimouse_init: no 8042 given\n"); goto do_enodev; } pcimouse_irq = pcikbd_irq; } else { for_each_ebus(ebus) { for_each_ebusdev(edev, ebus) { if(!strcmp(edev->prom_name, "8042")) { for_each_edevchild(edev, child) { if (strcmp(child->prom_name, PCI_MS_NAME1) == 0 || strcmp(child->prom_name, PCI_MS_NAME2) == 0) goto found; } } } } printk("pcimouse_init: no 8042 found\n"); goto do_enodev; found: pcimouse_iobase = child->resource[0].start; pcimouse_irq = child->irqs[0]; } queue = (struct aux_queue *) kmalloc(sizeof(*queue), GFP_KERNEL); if (!queue) { printk("pcimouse_init: kmalloc(aux_queue) failed.\n"); return -ENOMEM; } memset(queue, 0, sizeof(*queue)); init_waitqueue_head(&queue->proc_list); if (request_irq(pcimouse_irq, &pcimouse_interrupt, SA_SHIRQ, "mouse", (void *)pcimouse_iobase)) { printk("8042: Cannot register IRQ %s\n", __irq_itoa(pcimouse_irq)); goto do_enodev; } printk("8042(mouse) at %lx (irq %s)\n", pcimouse_iobase, __irq_itoa(pcimouse_irq)); printk("8042: PS/2 auxiliary pointing device detected.\n"); aux_present = 1; pckbd_read_mask = AUX_STAT_OBF; misc_register(&psaux_mouse); aux_start_atomic(); pcimouse_outb(KBD_CCMD_MOUSE_ENABLE, pcimouse_iobase + KBD_CNTL_REG); aux_write_ack(AUX_RESET); aux_write_ack(AUX_SET_SAMPLE); aux_write_ack(100); aux_write_ack(AUX_SET_RES); aux_write_ack(3); aux_write_ack(AUX_SET_SCALE21); poll_aux_status(); pcimouse_outb(KBD_CCMD_MOUSE_DISABLE, pcimouse_iobase + KBD_CNTL_REG); poll_aux_status(); pcimouse_outb(KBD_CCMD_WRITE_MODE, pcimouse_iobase + KBD_CNTL_REG); poll_aux_status(); pcimouse_outb(AUX_INTS_OFF, pcimouse_iobase + KBD_DATA_REG); poll_aux_status(); aux_end_atomic(); return 0; do_enodev: misc_register(&psaux_no_mouse); return -ENODEV; } int __init ps2kbd_probe(void) { int pnode, enode, node, dnode, xnode; int kbnode = 0, msnode = 0, bnode = 0; int devices = 0; char prop[128]; int len; #ifndef __sparc_v9__ /* * MrCoffee has hardware but has no PROM nodes whatsoever. */ len = prom_getproperty(prom_root_node, "name", prop, sizeof(prop)); if (len < 0) { printk("ps2kbd_probe: no name of root node\n"); goto do_enodev; } if (strncmp(prop, "SUNW,JavaStation-1", len) == 0) { pcikbd_mrcoffee = 1; /* Brain damage detected */ goto found; } #endif /* * Get the nodes for keyboard and mouse from aliases on normal systems. */ node = prom_getchild(prom_root_node); node = prom_searchsiblings(node, "aliases"); if (!node) goto do_enodev; len = prom_getproperty(node, "keyboard", prop, sizeof(prop)); if (len > 0) { prop[len] = 0; kbnode = prom_finddevice(prop); } if (!kbnode) goto do_enodev; len = prom_getproperty(node, "mouse", prop, sizeof(prop)); if (len > 0) { prop[len] = 0; msnode = prom_finddevice(prop); } if (!msnode) goto do_enodev; /* * Find matching EBus nodes... */ node = prom_getchild(prom_root_node); pnode = prom_searchsiblings(node, "pci"); /* * Check for SUNW,sabre on Ultra5/10/AXi. */ len = prom_getproperty(pnode, "model", prop, sizeof(prop)); if ((len > 0) && !strncmp(prop, "SUNW,sabre", len)) { pnode = prom_getchild(pnode); pnode = prom_searchsiblings(pnode, "pci"); } /* * For each PCI bus... */ while (pnode) { enode = prom_getchild(pnode); enode = prom_searchsiblings(enode, "ebus"); /* * For each EBus on this PCI... */ while (enode) { node = prom_getchild(enode); bnode = prom_searchsiblings(node, "beeper"); node = prom_getchild(enode); node = prom_searchsiblings(node, "8042"); /* * For each '8042' on this EBus... */ while (node) { dnode = prom_getchild(node); /* * Does it match? */ if ((xnode = prom_searchsiblings(dnode, PCI_KB_NAME1)) == kbnode) { ++devices; } else if ((xnode = prom_searchsiblings(dnode, PCI_KB_NAME2)) == kbnode) { ++devices; } if ((xnode = prom_searchsiblings(dnode, PCI_MS_NAME1)) == msnode) { ++devices; } else if ((xnode = prom_searchsiblings(dnode, PCI_MS_NAME2)) == msnode) { ++devices; } /* * Found everything we need? */ if (devices == 2) goto found; node = prom_getsibling(node); node = prom_searchsiblings(node, "8042"); } enode = prom_getsibling(enode); enode = prom_searchsiblings(enode, "ebus"); } pnode = prom_getsibling(pnode); pnode = prom_searchsiblings(pnode, "pci"); } do_enodev: sunkbd_setinitfunc(pcimouse_no_init); return -ENODEV; found: sunkbd_setinitfunc(pcimouse_init); sunkbd_setinitfunc(pcikbd_init); kbd_ops.compute_shiftstate = pci_compute_shiftstate; kbd_ops.setledstate = pci_setledstate; kbd_ops.getledstate = pci_getledstate; kbd_ops.setkeycode = pci_setkeycode; kbd_ops.getkeycode = pci_getkeycode; return 0; } |
From: James S. <jsi...@us...> - 2002-01-23 06:20:55
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard In directory usw-pr-cvs1:/tmp/cvs-serv15151 Added Files: Tag: 1.9 q40kbd.c Log Message: Moving it into the keyboard directory. --- NEW FILE: q40kbd.c --- /* * $Id: q40kbd.c,v 1.9 2002/01/23 06:20:52 jsimmons Exp $ * * Copyright (c) 2000-2001 Vojtech Pavlik * * Based on the work of: * unknown author */ /* * Q40 PS/2 keyboard controller driver for Linux/m68k */ /* * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Should you need to contact me, the author, you can do so either by * e-mail - mail your message to <vo...@uc...>, or by paper mail: * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic */ #include <linux/module.h> #include <linux/init.h> #include <linux/serio.h> #include <asm/keyboard.h> #include <asm/bitops.h> #include <asm/io.h> #include <asm/uaccess.h> #include <asm/q40_master.h> #include <asm/irq.h> #include <asm/q40ints.h> MODULE_AUTHOR("Vojtech Pavlik <vo...@uc...>"); MODULE_DESCRIPTION("Q40 PS/2 keyboard controller driver"); MODULE_LICENSE("GPL"); static inline void q40kbd_write(unsigned char val) { /* FIXME! We need a way how to write to the keyboard! */ } static struct serio q40kbd_port = { type: SERIO_8042, write: q40kbd_write, name: "Q40 PS/2 kbd port", phys: "isa0060/serio0", }; static void q40kbd_interrupt(int irq, void *dev_id, struct pt_regs *regs) { unsigned long flags; if (IRQ_KEYB_MASK & master_inb(INTERRUPT_REG)) if (q40kbd_port.dev) q40kbd_port.dev->interrupt(&q40kbd_port, master_inb(KEYCODE_REG), 0); master_outb(-1, KEYBOARD_UNLOCK_REG); } void __init q40kbd_init(void) { int maxread = 100; /* Get the keyboard controller registers (incomplete decode) */ request_region(0x60, 16, "q40kbd"); /* allocate the IRQ */ request_irq(Q40_IRQ_KEYBOARD, keyboard_interrupt, 0, "q40kbd", NULL); /* flush any pending input. */ while (maxread-- && (IRQ_KEYB_MASK & master_inb(INTERRUPT_REG))) master_inb(KEYCODE_REG); /* off we go */ master_outb(-1,KEYBOARD_UNLOCK_REG); master_outb(1,KEY_IRQ_ENABLE_REG); register_serio_port(&q40kbd_port); printk(KERN_INFO "serio: Q40 PS/2 kbd port irq %d\n", Q40_IRQ_KEYBOARD); } void __exit q40kbd_exit(void) { unregister_serio_port(&q40kbd_port); free_irq(Q40_IRQ_KEYBOARD, NULL); release_region(0x60, 16); } module_init(q40kbd_init); module_exit(q40kbd_exit); |
From: James S. <jsi...@us...> - 2002-01-23 05:49:26
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input In directory usw-pr-cvs1:/tmp/cvs-serv7978 Modified Files: Config.in Log Message: Moved over to new input layout Index: Config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/Config.in,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- Config.in 2002/01/03 15:33:39 1.60 +++ Config.in 2002/01/23 05:49:24 1.61 @@ -1,142 +1,34 @@ # -# Input driver configuration +# Input device configuration # mainmenu_option next_comment comment 'Input device support' - -bool 'Input device support (# = not functional yet)' CONFIG_INPUT -if [ "$CONFIG_INPUT" != "n" ]; then - bool 'PS/2 port support' CONFIG_INPUT_PS2 - if [ "$CONFIG_INPUT_PS2" != "n" ]; then - tristate ' i8042 aux+kbd controller' CONFIG_INPUT_I8042 - if [ "$CONFIG_INPUT_I8042" != "n" ]; then - hex ' Register Base Address' CONFIG_I8042_REG_BASE 60 - int ' PS/2 Keyboard IRQ' CONFIG_I8042_KBD_IRQ 1 - int ' PS/2 AUX IRQ' CONFIG_I8042_AUX_IRQ 12 - fi - tristate ' ct82c710 aux controller' CONFIG_INPUT_CT82C710 - tristate ' Q40 kbd controller' CONFIG_INPUT_Q40KBD - tristate ' #Sun Ultra/AX, JavaStation 8042 kbd controller' CONFIG_INPUT_SUN8042 - tristate ' Acorn RiscPC kbd controller' CONFIG_INPUT_RPCKBD - tristate ' #MIPS Normal kbd controller' CONFIG_INPUT_MIPSKBD - tristate ' #MIPS Jazz kbd controller' CONFIG_INPUT_JAZZKBD - tristate ' Parallel port kbd converter' CONFIG_INPUT_PARKBD - comment 'PS/2 port input devices' - tristate ' XT keyboard' CONFIG_INPUT_XTKBD - tristate ' AT and PS/2 keyboards' CONFIG_INPUT_ATKBD - tristate ' PS/2 mouse' CONFIG_INPUT_PSMOUSE - fi - - bool 'Serial port support' CONFIG_INPUT_SERIAL - if [ "$CONFIG_INPUT_SERIAL" != "n" ]; then - tristate ' Serial port input line discipline' CONFIG_INPUT_SERPORT_OLD - tristate ' #Sun Zilog serial keyboard and mouse ports' CONFIG_INPUT_SUNZS - comment 'Serial port input devices' - tristate ' Serial mouse' CONFIG_INPUT_SERMOUSE - tristate ' Sun keyboard' CONFIG_INPUT_SUNKBD - tristate ' PS/2 keyboards' CONFIG_INPUT_PS2SERIAL - tristate ' Twiddler Serial support' CONFIG_INPUT_TWIDSERIAL - tristate ' Logitech WingMan Warrior joystick' CONFIG_INPUT_WARRIOR - tristate ' LogiCad3d Magellan/SpaceMouse 6dof controllers' CONFIG_INPUT_MAGELLAN - tristate ' SpaceTec SpaceOrb/Avenger 6dof controllers' CONFIG_INPUT_SPACEORB - tristate ' SpaceTec SpaceBall 2003/3003/4000 FLX 6dof controllers' CONFIG_INPUT_SPACEBALL - tristate ' Gravis Stinger gamepad' CONFIG_INPUT_STINGER - tristate ' I-Force joysticks/wheels' CONFIG_INPUT_IFORCE_232 - tristate ' Gunze AHL-51S touchscreen' CONFIG_INPUT_GUNZE - tristate ' Newton keyboard' CONFIG_INPUT_NEWTON - if [ "$CONFIG_SA1100_BITSY" = "y" ]; then - tristate ' Compaq iPAQ H3600 (Bitsy) touchscreen input driver' CONFIG_TOUCHSCREEN_INPUT_BITSY - fi - fi - - bool 'Standard Game port support' CONFIG_INPUT_GAMEPORT - if [ "$CONFIG_INPUT_GAMEPORT" != "n" ]; then - bool 'Expansion Gameport Cards' CONFIG_INPUT_GAMECARDS - if [ "$CONFIG_INPUT_GAMECARDS" != "n" ]; then - tristate ' Classic gameports (ISA and PnP)' CONFIG_INPUT_NS558 - tristate ' PDPI Lightning 4 gamecard' CONFIG_INPUT_LIGHTNING - tristate ' Aureal Vortex and Vortex2 gameport' CONFIG_INPUT_VORTEX - tristate ' Crystal SoundFusion gameports' CONFIG_INPUT_CS461X - tristate ' ForteMedia 801 gameports' CONFIG_INPUT_FM801 - tristate ' SoundBlaster Live gameports' CONFIG_INPUT_EMU10K1 - fi - comment 'Gameport devices' - tristate ' Analog joysticks and gamepads' CONFIG_INPUT_ANALOG - tristate ' Assasin 3D and MadCatz Panther devices' CONFIG_INPUT_A3D - tristate ' Logitech ADI digital joysticks and gamepads' CONFIG_INPUT_ADI - tristate ' Creative Labs Blaster Cobra gamepad' CONFIG_INPUT_COBRA - tristate ' Genius Flight2000 Digital joysticks and gamepads' CONFIG_INPUT_GF2K - tristate ' Gravis GrIP joysticks and gamepads' CONFIG_INPUT_GRIP - tristate ' Guillemot digital joysticks and gamepads' CONFIG_INPUT_GUILLEMOT - tristate ' InterAct digital joysticks and gamepads' CONFIG_INPUT_INTERACT - tristate ' ThrustMaster DirectConnect joysticks and gamepads' CONFIG_INPUT_TMDC - tristate ' Microsoft SideWinder digital joysticks and gamepads' CONFIG_INPUT_SIDEWINDER - tristate ' Gameport data dumper' CONFIG_INPUT_JOYDUMP - fi - - if [ "$CONFIG_PARPORT" != "n" ]; then - comment 'Parallel port devices' - tristate ' Multisystem, Sega Genesis, Saturn joysticks and gamepads' CONFIG_INPUT_DB9 - tristate ' Multisystem, NES, SNES, N64, PSX joysticks and gamepads' CONFIG_INPUT_GAMECON - tristate ' Multisystem joysticks via TurboGraFX device' CONFIG_INPUT_TURBOGRAFX - fi - - if [ "$CONFIG_USB" != "n" ]; then - comment 'USB devices' - tristate ' USB Human Interface Device (HID)' CONFIG_INPUT_HID - if [ "$CONFIG_INPUT_HID" != "n" ]; then - bool ' /dev/hiddev raw HID device support' CONFIG_USB_HIDDEV - fi - if [ "$CONFIG_INPUT_HID" != "y" ]; then - tristate ' USB HIDBP keyboard' CONFIG_INPUT_USBKBD - tristate ' USB HIDBP mouse' CONFIG_INPUT_USBMOUSE - fi - tristate ' Wacom Intuos/Graphire tablet' CONFIG_INPUT_WACOMUSB - tristate ' I-Force joysticks/wheels' CONFIG_INPUT_IFORCE_USB - fi - if [ "$CONFIG_ADB" = "y" ]; then - comment 'ADB devices' - tristate ' ADB HID' CONFIG_INPUT_ADBHID - fi +tristate 'Input core support' CONFIG_INPUT - if [ "$CONFIG_PPC" = "y" ]; then - bool ' Support for mouse button 2+3 emulation' CONFIG_MAC_EMUMOUSEBTN - fi +comment 'Userland interfaces' +dep_tristate ' Keyboard interface' CONFIG_INPUT_KEYBDEV $CONFIG_INPUT +dep_tristate ' Mouse interface' CONFIG_INPUT_MOUSEDEV $CONFIG_INPUT +if [ "$CONFIG_INPUT_MOUSEDEV" != "n" ]; then + int ' Horizontal screen resolution' CONFIG_INPUT_MOUSEDEV_SCREEN_X 1024 + int ' Vertical screen resolution' CONFIG_INPUT_MOUSEDEV_SCREEN_Y 768 +fi +dep_tristate ' Joystick interface' CONFIG_INPUT_JOYDEV $CONFIG_INPUT +dep_tristate ' Touchscreen interface' CONFIG_INPUT_TSDEV $CONFIG_INPUT +dep_tristate ' Event interface' CONFIG_INPUT_EVDEV $CONFIG_INPUT +dep_tristate ' Event debugging' CONFIG_INPUT_EVBUG $CONFIG_INPUT - if [ "$CONFIG_SH_DREAMCAST" = "y" -a "$CONFIG_MAPLE" != "n" ]; then - comment 'Maple Bus input peripherals' - tristate ' Maple Bus keyboard support' CONFIG_MAPLE_KEYBOARD - tristate ' Maple Bus mouse support' CONFIG_MAPLE_MOUSE - fi +comment 'Input I/O drivers' +source drivers/input/gameport/Config.in +source drivers/input/serio/Config.in - comment 'Bus devices' - tristate ' InPort/MS/ATIXL busmouse' CONFIG_INPUT_INPORT - if [ "$CONFIG_INPUT_INPORT" != "n" ]; then - bool ' ATI XL variant' CONFIG_INPUT_ATIXL - fi - tristate ' Logitech busmouse' CONFIG_INPUT_LOGIBM - tristate ' IBM PC110 touchpad' CONFIG_INPUT_PC110PAD - tristate ' #BTTV Infrared remote' CONFIG_INPUT_BTTV - tristate ' Amiga keyboard' CONFIG_INPUT_AMIKBD - tristate ' Amiga mouse' CONFIG_INPUT_AMIMOUSE - tristate ' Amiga joystick' CONFIG_INPUT_AMIJOY - tristate ' #Atari keyboard' CONFIG_INPUT_ATAKBD - tristate ' #Atari mouse' CONFIG_INPUT_ATAMOUSE - tristate ' #Atari joystick' CONFIG_INPUT_ATAJOY - tristate ' Acorn RiscPC mouse' CONFIG_INPUT_RPCMOUSE - tristate ' #Acorn A5000 keyboard' CONFIG_INPUT_ARCKBD - tristate ' #HP Apollo keyboard' CONFIG_INPUT_APOLLOKBD - tristate ' #HP HIL keyboard and mouse' CONFIG_INPUT_HPHIL - - comment 'Userland interfaces' - tristate ' Mouse interface' CONFIG_INPUT_MOUSEDEV - int ' Horizontal screen resolution' CONFIG_INPUT_MOUSEDEV_SCREEN_X 1024 - int ' Vertical screen resolution' CONFIG_INPUT_MOUSEDEV_SCREEN_Y 768 - tristate ' Joystick interface' CONFIG_INPUT_JOYDEV - tristate ' Touchscreen interface' CONFIG_INPUT_TOUCHSCREEN - tristate ' Event interface' CONFIG_INPUT_EVDEV - tristate ' Event logging' CONFIG_INPUT_EVBUG +comment 'Input Device Drivers' +if [ "$CONFIG_INPUT" != "n" ]; then + source drivers/input/keyboard/Config.in + source drivers/input/mouse/Config.in + source drivers/input/joystick/Config.in + source drivers/input/touchscreen/Config.in fi + endmenu |
From: James S. <jsi...@us...> - 2002-01-23 05:37:54
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/touchscreen In directory usw-pr-cvs1:/tmp/cvs-serv6202 Added Files: Makefile Log Message: Added new Configuration for touchscreens. Will cleanup. It is needed. --- NEW FILE: Makefile --- # # Makefile for the mouse drivers. # # The target object and module list name. O_TARGET := tsdrv.o # Each configuration option enables a list of files. obj-$(CONFIG_TS_GUNZE) += gunze.o # The global Rules.make. include $(TOPDIR)/Rules.make |
From: James S. <jsi...@us...> - 2002-01-23 05:37:28
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/touchscreen In directory usw-pr-cvs1:/tmp/cvs-serv6158 Modified Files: Config.in Log Message: Added new Configuration for touchscreens. Will cleanup. It is needed. Index: Config.in =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/touchscreen/Config.in,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Config.in 2002/01/23 05:36:26 1.1 +++ Config.in 2002/01/23 05:37:26 1.2 @@ -4,4 +4,4 @@ bool 'Touchscreens' CONFIG_INPUT_TS -dep_tristate ' Gunze AHL-51S touchscreen' CONFIG_MOUSE_GUNZE $CONFIG_INPUT $CONFIG_INPUT_TS $CONFIG_SERIO +dep_tristate ' Gunze AHL-51S touchscreen' CONFIG_TS_GUNZE $CONFIG_INPUT $CONFIG_INPUT_TS $CONFIG_SERIO |
From: James S. <jsi...@us...> - 2002-01-23 05:36:28
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/touchscreen In directory usw-pr-cvs1:/tmp/cvs-serv6015 Added Files: Config.in Log Message: Added new Configuration for touchscreens. Will cleanup. It is needed. --- NEW FILE: Config.in --- # # Mouse driver configuration # bool 'Touchscreens' CONFIG_INPUT_TS dep_tristate ' Gunze AHL-51S touchscreen' CONFIG_MOUSE_GUNZE $CONFIG_INPUT $CONFIG_INPUT_TS $CONFIG_SERIO |
From: James S. <jsi...@us...> - 2002-01-23 05:34:33
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/serio In directory usw-pr-cvs1:/tmp/cvs-serv5726 Added Files: Config.in Log Message: Added new Configuration for Serial type chips. Will cleanup. It is needed. --- NEW FILE: Config.in --- # # Input core configuration # tristate 'Serial i/o support' CONFIG_SERIO dep_tristate ' i8042 PC Keyboard controller' CONFIG_SERIO_I8042 $CONFIG_SERIO $CONFIG_ISA dep_tristate ' Serial port line discipline' CONFIG_SERIO_SERPORT $CONFIG_SERIO dep_tristate ' ct82c710 Aux port controller' CONFIG_SERIO_CT82C710 $CONFIG_SERIO $CONFIG_ISA dep_tristate ' Parallel port keyboard adapter' CONFIG_SERIO_PARKBD $CONFIG_SERIO $CONFIG_PARPORT if [ "$CONFIG_ARCH_ACORN" = "y" ]; then dep_tristate ' Acorn RiscPC keyboard controller' CONFIG_SERIO_ACORN $CONFIG_SERIO fi |
From: James S. <jsi...@us...> - 2002-01-23 05:33:47
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/mouse In directory usw-pr-cvs1:/tmp/cvs-serv5602 Added Files: Config.in Log Message: Added new Configuration for mice. Will cleanup. It is needed. --- NEW FILE: Config.in --- # # Mouse driver configuration # bool 'Mice' CONFIG_INPUT_MOUSE dep_tristate ' PS/2 mouse' CONFIG_MOUSE_PS2 $CONFIG_INPUT $CONFIG_INPUT_MOUSE $CONFIG_SERIO dep_tristate ' Serial mouse' CONFIG_MOUSE_SERIAL $CONFIG_INPUT $CONFIG_INPUT_MOUSE $CONFIG_SERIO dep_tristate ' Gunze AHL-51S touchscreen' CONFIG_MOUSE_GUNZE $CONFIG_INPUT $CONFIG_INPUT_MOUSE $CONFIG_SERIO dep_tristate ' InPort/MS/ATIXL busmouse' CONFIG_MOUSE_INPORT $CONFIG_INPUT $CONFIG_INPUT_MOUSE $CONFIG_ISA if [ "$CONFIG_MOUSE_INPORT" != "n" ]; then bool ' ATI XL variant' CONFIG_MOUSE_ATIXL fi dep_tristate ' Logitech busmouse' CONFIG_MOUSE_LOGIBM $CONFIG_INPUT $CONFIG_INPUT_MOUSE $CONFIG_ISA dep_tristate ' IBM PC110 touchpad' CONFIG_MOUSE_PC110PAD $CONFIG_INPUT $CONFIG_INPUT_MOUSE $CONFIG_ISA if [ "$CONFIG_SH_DREAMCAST" = "y" ]; then dep_tristate ' Maple bus mouse' CONFIG_MOUSE_MAPLE $CONFIG_INPUT $CONFIG_INPUT_MOUSE $CONFIG_MAPLE fi if [ "$CONFIG_AMIGA" = "y" ]; then dep_tristate ' Amiga mouse' CONFIG_MOUSE_AMIGA $CONFIG_INPUT $CONFIG_INPUT_MOUSE fi if [ "$CONFIG_ARCH_ACORN" = "y" ]; then dep_tristate ' Acorn RiscPC mouse' CONFIG_MOUSE_ACORN $CONFIG_INPUT $CONFIG_INPUT_MOUSE fi |
From: James S. <jsi...@us...> - 2002-01-23 05:32:42
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard In directory usw-pr-cvs1:/tmp/cvs-serv5490 Added Files: Config.in Log Message: Added new Configuration for keyboards. Will cleanup. It is needed. --- NEW FILE: Config.in --- # # Input core configuration # bool 'Keyboards' CONFIG_INPUT_KEYBOARD dep_tristate ' AT keyboard support' CONFIG_KEYBOARD_ATKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO dep_tristate ' Sun Type 4 and Type 5 keyboard support' CONFIG_KEYBOARD_SUNKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO dep_tristate ' PS/2 to Serial converter support' CONFIG_KEYBOARD_PS2SERKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO dep_tristate ' XT Keyboard support' CONFIG_KEYBOARD_XTKBD $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_SERIO if [ "$CONFIG_SH_DREAMCAST" = "y" ]; then dep_tristate ' Maple bus keyboard support' CONFIG_KEYBOARD_MAPLE $CONFIG_INPUT $CONFIG_INPUT_KEYBOARD $CONFIG_MAPLE fi |
From: James S. <jsi...@us...> - 2002-01-23 05:31:54
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick In directory usw-pr-cvs1:/tmp/cvs-serv5368 Added Files: Config.in Log Message: Added new Configuration for Joysticks. Will cleanup. It is needed. --- NEW FILE: Config.in --- # # Joystick driver configuration # bool 'Joysticks' CONFIG_INPUT_JOYSTICK dep_tristate ' Classic PC analog joysticks and gamepads' CONFIG_JOYSTICK_ANALOG $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Assasin 3D and MadCatz Panther devices' CONFIG_JOYSTICK_A3D $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Logitech ADI digital joysticks and gamepads' CONFIG_JOYSTICK_ADI $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Creative Labs Blaster Cobra gamepad' CONFIG_JOYSTICK_COBRA $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Genius Flight2000 Digital joysticks and gamepads' CONFIG_JOYSTICK_GF2K $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Gravis GrIP joysticks and gamepads' CONFIG_JOYSTICK_GRIP $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Guillemot joysticks and gamepads' CONFIG_JOYSTICK_GUILLEMOT $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' InterAct digital joysticks and gamepads' CONFIG_JOYSTICK_INTERACT $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' Microsoft SideWinder digital joysticks and gamepads' CONFIG_JOYSTICK_SIDEWINDER $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' ThrustMaster DirectConnect joysticks and gamepads' CONFIG_JOYSTICK_TMDC $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_GAMEPORT dep_tristate ' I-Force USB joysticks and wheels' CONFIG_JOYSTICK_IFORCE_USB $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_USB dep_tristate ' I-Force Serial joysticks and wheels' CONFIG_JOYSTICK_IFORCE_232 $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO dep_tristate ' Logitech WingMan Warrior joystick' CONFIG_JOYSTICK_WARRIOR $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO dep_tristate ' LogiCad3d Magellan/SpaceMouse 6dof controllers' CONFIG_JOYSTICK_MAGELLAN $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO dep_tristate ' SpaceTec SpaceOrb/Avenger 6dof controllers' CONFIG_JOYSTICK_SPACEORB $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO dep_tristate ' SpaceTec SpaceBall 6dof controllers' CONFIG_JOYSTICK_SPACEBALL $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO dep_tristate ' Gravis Stinger gamepad' CONFIG_JOYSTICK_STINGER $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO dep_tristate ' Twiddler as as joystick' CONFIG_JOYSTICK_TWIDDLER $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_SERIO dep_tristate ' Multisystem, Sega Genesis, Saturn joysticks and gamepads' CONFIG_JOYSTICK_DB9 $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_PARPORT dep_tristate ' Multisystem, NES, SNES, N64, PSX joysticks and gamepads' CONFIG_JOYSTICK_GAMECON $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_PARPORT dep_tristate ' Multisystem joysticks via TurboGraFX device' CONFIG_JOYSTICK_TURBOGRAFX $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK $CONFIG_PARPORT if [ "$CONFIG_AMIGA" = "y" ]; then dep_tristate ' Amiga joysticks' CONFIG_JOYSTICK_AMIJOY $CONFIG_INPUT $CONFIG_INPUT_JOYSTICK fi |
From: James S. <jsi...@us...> - 2002-01-23 05:31:14
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/gameport In directory usw-pr-cvs1:/tmp/cvs-serv5297 Added Files: Config.in Log Message: Added new Configuration for gameports. Will cleanup. It is needed. --- NEW FILE: Config.in --- # # Gameport configuration # tristate 'Gameport support' CONFIG_GAMEPORT if [ "$CONFIG_GAMEPORT" = "m" ]; then define_tristate CONFIG_SOUND_GAMEPORT m fi if [ "$CONFIG_GAMEPORT" != "m" ]; then define_tristate CONFIG_SOUND_GAMEPORT y fi dep_tristate ' Classic ISA and PnP gameport support' CONFIG_GAMEPORT_NS558 $CONFIG_GAMEPORT dep_tristate ' PDPI Lightning 4 gamecard support' CONFIG_GAMEPORT_L4 $CONFIG_GAMEPORT dep_tristate ' SB Live and Audigy gameport support' CONFIG_INPUT_EMU10K1 $CONFIG_GAMEPORT dep_tristate ' Aureal Vortex and Vortex 2 gameport support' CONFIG_GAMEPORT_VORTEX $CONFIG_GAMEPORT dep_tristate ' ForteMedia FM801 gameport support' CONFIG_GAMEPORT_FM801 $CONFIG_GAMEPORT dep_tristate ' Crystal SoundFusion gameport support' CONFIG_GAMEPORT_CS461x $CONFIG_GAMEPORT |
From: James S. <jsi...@us...> - 2002-01-23 05:29:26
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/serio In directory usw-pr-cvs1:/tmp/cvs-serv5033 Added Files: Makefile Log Message: New home for serial chip input support. --- NEW FILE: Makefile --- # # Makefile for the input core drivers. # # The target object and module list name. O_TARGET := seriodrv.o # Objects that export symbols. export-objs := serio.o # Each configuration option enables a list of files. obj-$(CONFIG_SERIO) += serio.o obj-$(CONFIG_SERIO_I8042) += i8042.o obj-$(CONFIG_SERIO_PARKBD) += parkbd.o obj-$(CONFIG_SERIO_SERPORT) += serport.o obj-$(CONFIG_SERIO_CT82C710) += ct82c710.o obj-$(CONFIG_SERIO_RPCKBD) += rpckbd.o # The global Rules.make. include $(TOPDIR)/Rules.make |
From: James S. <jsi...@us...> - 2002-01-23 05:28:15
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/mouse In directory usw-pr-cvs1:/tmp/cvs-serv4880 Added Files: Makefile Log Message: New home for mice drivers. --- NEW FILE: Makefile --- # # Makefile for the mouse drivers. # # The target object and module list name. O_TARGET := mousedrv.o # Each configuration option enables a list of files. obj-$(CONFIG_MOUSE_AMIGA) += amimouse.o obj-$(CONFIG_MOUSE_ACORN) += rpcmouse.o obj-$(CONFIG_MOUSE_GUNZE) += gunze.o obj-$(CONFIG_MOUSE_INPORT) += inport.o obj-$(CONFIG_MOUSE_LOGIBM) += logibm.o obj-$(CONFIG_MOUSE_MAPLE) += maplemouse.o obj-$(CONFIG_MOUSE_PC110PAD) += pc110pad.o obj-$(CONFIG_MOUSE_PS2) += psmouse.o obj-$(CONFIG_MOUSE_SERIAL) += sermouse.o # The global Rules.make. include $(TOPDIR)/Rules.make |
From: James S. <jsi...@us...> - 2002-01-23 05:26:40
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/keyboard In directory usw-pr-cvs1:/tmp/cvs-serv4573 Added Files: Makefile Log Message: new home for keyboard drivers. --- NEW FILE: Makefile --- # # Makefile for the input core drivers. # # The target object and module list name. O_TARGET := keybdrv.o # Each configuration option enables a list of files. obj-$(CONFIG_KEYBOARD_ATKBD) += atkbd.o obj-$(CONFIG_KEYBOARD_MAPLE) += maple_keyb.o obj-$(CONFIG_KEYBOARD_PS2SERKBD) += ps2serkbd.o obj-$(CONFIG_KEYBOARD_SUNKBD) += sunkbd.o obj-$(CONFIG_KEYBOARD_XTKBD) += xtkbd.o # The global Rules.make. include $(TOPDIR)/Rules.make |
From: James S. <jsi...@us...> - 2002-01-23 05:23:57
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/gameport In directory usw-pr-cvs1:/tmp/cvs-serv4172 Added Files: Makefile Log Message: Makefile for new home for gameport drivers. --- NEW FILE: Makefile --- # # Makefile for the gameport drivers. # # The target object and module list name. O_TARGET := gamedrv.o # Objects that export symbols. export-objs := gameport.o # Each configuration option enables a list of files. obj-$(CONFIG_GAMEPORT) += gameport.o obj-$(CONFIG_GAMEPORT_CS614X) += cs614x.o obj-$(CONFIG_GAMEPORT_EMU10K1) += emu10k1-gp.o obj-$(CONFIG_GAMEPORT_FM801) += fm801-gp.o obj-$(CONFIG_GAMEPORT_L4) += lightning.o obj-$(CONFIG_GAMEPORT_NS558) += ns558.o obj-$(CONFIG_GAMEPORT_VORTEX) += vortex.o # The global Rules.make. include $(TOPDIR)/Rules.make |
From: James S. <jsi...@us...> - 2002-01-23 05:23:10
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick In directory usw-pr-cvs1:/tmp/cvs-serv4044 Added Files: Makefile Log Message: Makefile for new hoem for joystick drivers. --- NEW FILE: Makefile --- # # Makefile for the input core drivers. # # The target object and module list name. O_TARGET := joydrv.o # Each configuration option enables a list of files. obj-$(CONFIG_JOYSTICK_A3D) += a3d.o obj-$(CONFIG_JOYSTICK_ADI) += adi.o obj-$(CONFIG_JOYSTICK_AMIGA) += amijoy.o obj-$(CONFIG_JOYSTICK_ANALOG) += analog.o obj-$(CONFIG_JOYSTICK_COBRA) += cobra.o obj-$(CONFIG_JOYSTICK_DB9) += db9.o obj-$(CONFIG_JOYSTICK_GAMECON) += gamecon.o obj-$(CONFIG_JOYSTICK_GF2K) += gf2k.o obj-$(CONFIG_JOYSTICK_GRIP) += grip.o obj-$(CONFIG_JOYSTICK_GUILLEMOT) += guillemot.o obj-$(CONFIG_JOYSTICK_INTERACT) += interact.o obj-$(CONFIG_JOYSTICK_JOYDUMP) += joydump.o obj-$(CONFIG_JOYSTICK_MAGELLAN) += magellan.o obj-$(CONFIG_JOYSTICK_SIDEWINDER) += sidewinder.o obj-$(CONFIG_JOYSTICK_SPACEBALL) += spaceball.o obj-$(CONFIG_JOYSTICK_SPACEORB) += spaceorb.o obj-$(CONFIG_JOYSTICK_STINGER) += stinger.o obj-$(CONFIG_JOYSTICK_TMDC) += tmdc.o obj-$(CONFIG_JOYSTICK_TURBOGRAFX) += turbografx.o obj-$(CONFIG_JOYSTICK_TWIDJOY) += twidjoy.o obj-$(CONFIG_JOYSTICK_WARRIOR) += warrior.o # I-Force may need both USB and RS-232 CONFIG_JOYSTICK_IFORCE := n ifeq ($(CONFIG_JOYSTICK_IFORCE_232),y) ifeq ($(CONFIG_JOYSTICK_IFORCE_USB),y) CONFIG_JOYSTICK_IFORCE := y endif endif ifeq ($(CONFIG_JOYSTICK_IFORCE_232),m) CONFIG_JOYSTICK_IFORCE := m endif ifeq ($(CONFIG_JOYSTICK_IFORCE_USB),m) CONFIG_JOYSTICK_IFORCE := m endif subdir-$(CONFIG_JOYSTICK_IFORCE) += iforce ifeq ($(CONFIG_JOYSTICK_IFORCE),y) obj-y += iforce/iforce-drv.o endif # The global Rules.make. include $(TOPDIR)/Rules.make |
From: James S. <jsi...@us...> - 2002-01-23 05:21:37
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/joystick/iforce In directory usw-pr-cvs1:/tmp/cvs-serv3704 Added Files: Makefile Log Message: Moving stuff around. --- NEW FILE: Makefile --- # # Makefile for the I-Force driver # O_TARGET := iforce-drv.o # I-Force may need both USB and RS-232 CONFIG_JOYSTICK_IFORCE := n ifeq ($(CONFIG_JOYSTICK_IFORCE_232),y) ifeq ($(CONFIG_JOYSTICK_IFORCE_USB),y) CONFIG_JOYSTICK_IFORCE := y endif endif ifeq ($(CONFIG_JOYSTICK_IFORCE_232),m) CONFIG_JOYSTICK_IFORCE := m endif ifeq ($(CONFIG_JOYSTICK_IFORCE_USB),m) CONFIG_JOYSTICK_IFORCE := m endif obj-$(CONFIG_JOYSTICK_IFORCE) += iforce.o include $(TOPDIR)/Rules.make IFORCEOBJS = iforce-ff.o iforce-main.o iforce-packets.o ifneq ($(CONFIG_JOYSTICK_IFORCE_232),n) IFORCEOBJS += iforce-serio.o endif ifneq ($(CONFIG_JOYSTICK_IFORCE_USB),n) IFORCEOBJS += iforce-usb.o endif iforce.o: $(IFORCEOBJS) $(LD) -i $(IFORCEOBJS) -o $@ |
From: James S. <jsi...@us...> - 2002-01-23 05:12:15
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input/touchscreen In directory usw-pr-cvs1:/tmp/cvs-serv1924/touchscreen Log Message: Directory /cvsroot/linuxconsole/ruby/linux/drivers/input/touchscreen added to the repository |