We may be in luck here with ic_type. When the module gets loaded we see: [ 2478.860692] elan_i2c i2c-ELAN0600:00: Elan Touchpad: Module ID: 0x004e Firmware: 0x0001 Sample: 0x0003 IAP: 0x0009 Elan Touchpad Extra Information: Max ABS X,Y: 2738,1791 Width X,Y: 152,149 Resolution X,Y: 31,31 (dots/mm) ic type: 0x9 info pattern: 0x0 (Here I'm using the 1.6.3 version mentioned above in comment#9, not the version in the current kernel.) For product_id: # find /sys | grep -i elan | grep product /sys/devices/pci0000:00/INT3433:00/i2c-7/i2c-ELAN0600:00/input/input133/id/product /sys/devices/pci0000:00/INT3433:00/i2c-7/i2c-ELAN0600:00/product_id The first of these contains 004e and the second 78.0 so I'm assuming I need 0x4e in the code.