PROBLEM: AIPTEK input doesn`t register `device` & `driver` section in sysfs (/sys/class/input/event#)

From: Viktor A. Danilov
Date: Sun Apr 10 2005 - 08:23:53 EST



PROBLEM: aiptek input doesn`t register `device` & `driver` section in sysfs (/sys/class/input/event#)
REASON: `dev` - field not filled...
SOLUTION: in linux/drivers/usb/input/aiptek.c write
aiptek->inputdev.dev = &intf->dev;
before calling
input_register_device(&aiptek->inputdev);

PATCH:

--- linux/drivers/usb/input/aiptek.c.orig 2005-03-09 13:12:31.000000000 +0500
+++ linux/drivers/usb/input/aiptek.c 2005-04-10 18:39:59.000000000 +0600
@@ -2139,8 +2140,9 @@
aiptek->inputdev.id.bustype = BUS_USB;
aiptek->inputdev.id.vendor = le16_to_cpu(usbdev->descriptor.idVendor);
aiptek->inputdev.id.product = le16_to_cpu(usbdev->descriptor.idProduct);
aiptek->inputdev.id.version = le16_to_cpu(usbdev->descriptor.bcdDevice);
+ aiptek->inputdev.dev = &intf->dev;

aiptek->usbdev = usbdev;
aiptek->ifnum = intf->altsetting[0].desc.bInterfaceNumber;
aiptek->inDelay = 0;



LINUX_VERSION:

vdanilov@viktor:/usr/src/linux/scripts$ ./ver_linux
If some fields are empty or look unusual you may have an old version.
Compare to the current minimal requirements in Documentation/Changes.

Linux viktor 2.6.11.5-C2H5OH #1 Fri Mar 25 15:29:27 YEKT 2005 i686 GNU/Linux

Gnu C 3.3.4
Gnu make 3.80
binutils 2.15
util-linux 2.12h
mount 2.12h
module-init-tools 3.1
e2fsprogs 1.35
reiserfsprogs line
reiser4progs line
pcmcia-cs 3.2.5
PPP 2.4.2
Linux C Library 2.3.2
Dynamic linker (ldd) 2.3.2
Procps 3.2.4
Net-tools 1.60
Console-tools 0.2.3
Sh-utils 5.2.1
udev 056
Modules Loaded i830 drm pcmcia smbfs pcspkr snd_intel8x0m aiptek usbhid uhci_hcd intel_agp agpgart 8139too crc32 yenta_socket rsrc_nonstatic pcmcia_core ehci_hcd snd_intel8x0 snd_ac97_codec snd_pcm_oss snd_mixer_oss snd_pcm snd_timer snd soundcore snd_page_alloc nls_koi8_r vfat fat eeprom evdev i2c_sensor i2c_i801 i2c_core ide_cd cdrom usbkbd usbcore psmouse speedstep_centrino freq_table



--- linux/drivers/usb/input/aiptek.c.orig 2005-03-09 13:12:31.000000000 +0500
+++ linux/drivers/usb/input/aiptek.c 2005-04-10 18:39:59.000000000 +0600
@@ -2139,8 +2140,9 @@
aiptek->inputdev.id.bustype = BUS_USB;
aiptek->inputdev.id.vendor = le16_to_cpu(usbdev->descriptor.idVendor);
aiptek->inputdev.id.product = le16_to_cpu(usbdev->descriptor.idProduct);
aiptek->inputdev.id.version = le16_to_cpu(usbdev->descriptor.bcdDevice);
+ aiptek->inputdev.dev = &intf->dev;

aiptek->usbdev = usbdev;
aiptek->ifnum = intf->altsetting[0].desc.bInterfaceNumber;
aiptek->inDelay = 0;