Can you use the USB HID interface within a driver?

From: Adam Nielsen
Date: Sat Nov 01 2008 - 07:58:18 EST


Hi all,

I'm about to start writing a driver for a Gigabyte Odin PC power supply. This device has a USB connection which allows you to monitor temperature, voltages, current, etc.

Before I start coding the USB side of things, I'd just like some advice as to the best way of communicating with the device.

I would rather write the driver in kernel space (so that it "just works" and provides a hwmon interface without installing extra software), however the device already appears to the system as a USB HID device, and so gets claimed by the existing usbhid driver.

Is there any way to interface with the HID driver from within another driver? Or will I have to claim the device first (or disconnect usbhid), and communicate with it myself?

I've tried to find some example code from a driver that already does this (such as a USB keyboard driver) but I'm having some trouble finding one! The closest drivers I can find are all the ones in drivers/hid/usbhid, but they all seem to be "embedded" in hid-core.c. Does that mean I need to modify hid-core.c to call my driver?

Or perhaps someone could point me in the direction of a USB HID driver that does things "properly" already?

Many thanks,
Adam.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/