From: James S. <jsi...@us...> - 2002-01-20 03:54:52
|
Update of /cvsroot/linuxconsole/ruby/linux/drivers/input In directory usw-pr-cvs1:/tmp/cvs-serv23561/drivers/input Modified Files: evdev.c hid-core.c hiddev.c input.c joydev.c mousedev.c tsdev.c usbkbd.c Log Message: Synced to 2.5.X. Index: evdev.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/evdev.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- evdev.c 2002/01/02 11:59:56 1.42 +++ evdev.c 2002/01/20 03:54:46 1.43 @@ -124,7 +124,7 @@ static int evdev_open(struct inode * inode, struct file * file) { struct evdev_list *list; - int i = MINOR(inode->i_rdev) - EVDEV_MINOR_BASE; + int i = minor(inode->i_rdev) - EVDEV_MINOR_BASE; int accept_err; if (i >= EVDEV_MINORS || !evdev_table[i]) Index: hid-core.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/hid-core.c,v retrieving revision 1.35 retrieving revision 1.36 diff -u -d -r1.35 -r1.36 --- hid-core.c 2001/12/27 10:37:41 1.35 +++ hid-core.c 2002/01/20 03:54:46 1.36 @@ -977,11 +977,11 @@ hid->urbctrl.pipe = dir ? usb_rcvctrlpipe(hid->dev, 0) : usb_sndctrlpipe(hid->dev, 0); hid->urbctrl.dev = hid->dev; - hid->dr.length = cpu_to_le16(hid->urbctrl.transfer_buffer_length); - hid->dr.requesttype = USB_TYPE_CLASS | USB_RECIP_INTERFACE | dir; - hid->dr.request = dir ? HID_REQ_GET_REPORT : HID_REQ_SET_REPORT; - hid->dr.index = cpu_to_le16(hid->ifnum); - hid->dr.value = ((report->type + 1) << 8) | report->id; + hid->dr.wLength = cpu_to_le16(hid->urbctrl.transfer_buffer_length); + hid->dr.bRequestType = USB_TYPE_CLASS | USB_RECIP_INTERFACE | dir; + hid->dr.bRequest = dir ? HID_REQ_GET_REPORT : HID_REQ_SET_REPORT; + hid->dr.wIndex = cpu_to_le16(hid->ifnum); + hid->dr.wValue = ((report->type + 1) << 8) | report->id; dbg("submitting ctrl urb"); Index: hiddev.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/hiddev.c,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- hiddev.c 2001/12/26 21:08:33 1.8 +++ hiddev.c 2002/01/20 03:54:46 1.9 @@ -218,7 +218,7 @@ static int hiddev_open(struct inode * inode, struct file * file) { struct hiddev_list *list; - int i = MINOR(inode->i_rdev) - HIDDEV_MINOR_BASE; + int i = minor(inode->i_rdev) - HIDDEV_MINOR_BASE; if (i >= HIDDEV_MINORS || !hiddev_table[i]) return -ENODEV; Index: input.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/input.c,v retrieving revision 1.48 retrieving revision 1.49 diff -u -d -r1.48 -r1.49 --- input.c 2001/12/26 21:08:33 1.48 +++ input.c 2002/01/20 03:54:46 1.49 @@ -618,7 +618,7 @@ static int input_open_file(struct inode *inode, struct file *file) { - struct input_handler *handler = input_table[MINOR(inode->i_rdev) >> 5]; + struct input_handler *handler = input_table[minor(inode->i_rdev) >> 5]; struct file_operations *old_fops, *new_fops = NULL; int err; Index: joydev.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/joydev.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- joydev.c 2001/12/27 10:37:41 1.38 +++ joydev.c 2002/01/20 03:54:46 1.39 @@ -29,7 +29,6 @@ #include <asm/io.h> #include <asm/system.h> -#include <asm/segment.h> #include <linux/delay.h> #include <linux/errno.h> #include <linux/joystick.h> @@ -191,7 +190,7 @@ static int joydev_open(struct inode *inode, struct file *file) { struct joydev_list *list; - int i = MINOR(inode->i_rdev) - JOYDEV_MINOR_BASE; + int i = minor(inode->i_rdev) - JOYDEV_MINOR_BASE; if (i >= JOYDEV_MINORS || !joydev_table[i]) return -ENODEV; Index: mousedev.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/mousedev.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- mousedev.c 2001/12/26 21:08:33 1.38 +++ mousedev.c 2002/01/20 03:54:46 1.39 @@ -225,7 +225,7 @@ static int mousedev_open(struct inode * inode, struct file * file) { struct mousedev_list *list; - int i = MINOR(inode->i_rdev) - MOUSEDEV_MINOR_BASE; + int i = minor(inode->i_rdev) - MOUSEDEV_MINOR_BASE; if (i >= MOUSEDEV_MINORS || !mousedev_table[i]) return -ENODEV; Index: tsdev.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/tsdev.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- tsdev.c 2001/12/26 21:08:33 1.10 +++ tsdev.c 2002/01/20 03:54:46 1.11 @@ -94,7 +94,7 @@ static int tsdev_open(struct inode * inode, struct file * file) { - int i = MINOR(inode->i_rdev) - TSDEV_MINOR_BASE; + int i = minor(inode->i_rdev) - TSDEV_MINOR_BASE; struct tsdev_list *list; if (i >= TSDEV_MINORS || !tsdev_table[i]) Index: usbkbd.c =================================================================== RCS file: /cvsroot/linuxconsole/ruby/linux/drivers/input/usbkbd.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- usbkbd.c 2002/01/18 19:01:03 1.28 +++ usbkbd.c 2002/01/20 03:54:46 1.29 @@ -4,6 +4,8 @@ * Copyright (c) 1999-2001 Vojtech Pavlik * * USB HIDBP Keyboard support + * + * Sponsored by SuSE */ /* @@ -22,8 +24,8 @@ * 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 + * e-mail - mail your message to <vo...@su...>, or by paper mail: + * Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic */ #include <linux/kernel.h> @@ -32,19 +34,20 @@ #include <linux/input.h> #include <linux/init.h> #include <linux/usb.h> -#include "usbpath.h" +#define _HID_BOOT_PROTOCOL +#include "hid.h" + /* * Version Information */ #define DRIVER_VERSION "" -#define DRIVER_AUTHOR "Vojtech Pavlik <vo...@uc...>" +#define DRIVER_AUTHOR "Vojtech Pavlik <vo...@su...>" #define DRIVER_DESC "USB HID Boot Protocol keyboard driver" -#define DRIVER_LICENSE "GPL" -MODULE_AUTHOR(DRIVER_AUTHOR); -MODULE_DESCRIPTION(DRIVER_DESC); -MODULE_LICENSE(DRIVER_LICENSE); +MODULE_AUTHOR( DRIVER_AUTHOR ); +MODULE_DESCRIPTION( DRIVER_DESC ); +MODULE_LICENSE("GPL"); static unsigned char usb_kbd_keycode[256] = { 0, 0, 0, 0, 30, 48, 46, 32, 18, 33, 34, 35, 23, 36, 37, 38, @@ -74,7 +77,6 @@ struct usb_ctrlrequest dr; unsigned char leds, newleds; char name[128]; - char phys[64]; int open; }; @@ -179,7 +181,6 @@ struct usb_endpoint_descriptor *endpoint; struct usb_kbd *kbd; int i, pipe, maxp; - char path[64]; char *buf; iface = &dev->actconfig->interface[ifnum]; @@ -194,6 +195,9 @@ pipe = usb_rcvintpipe(dev, endpoint->bEndpointAddress); maxp = usb_maxpacket(dev, pipe, usb_pipeout(pipe)); + hid_set_protocol(dev, interface->bInterfaceNumber, 0); + hid_set_idle(dev, interface->bInterfaceNumber, 0, 0); + if (!(kbd = kmalloc(sizeof(struct usb_kbd), GFP_KERNEL))) return NULL; memset(kbd, 0, sizeof(struct usb_kbd)); @@ -215,16 +219,12 @@ usb_kbd_irq, kbd, endpoint->bInterval); kbd->dr.bRequestType = USB_TYPE_CLASS | USB_RECIP_INTERFACE; - kbd->dr.bRequest = 0x09; + kbd->dr.bRequest = HID_REQ_SET_REPORT; kbd->dr.wValue = 0x200; kbd->dr.wIndex = interface->bInterfaceNumber; kbd->dr.wLength = 1; - usb_make_path(dev, path, 64); - sprintf(kbd->phys, "%s/input0", path); - kbd->dev.name = kbd->name; - kbd->dev.phys = kbd->phys; kbd->dev.idbus = BUS_USB; kbd->dev.idvendor = dev->descriptor.idVendor; kbd->dev.idproduct = dev->descriptor.idProduct; @@ -253,7 +253,8 @@ input_register_device(&kbd->dev); - printk(KERN_INFO "input: %s on %s\n", kbd->name, path); + printk(KERN_INFO "input%d: %s on usb%d:%d.%d\n", + kbd->dev.number, kbd->name, dev->bus->busnum, dev->devnum, ifnum); return kbd; } |