|
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;
}
|