lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LRH.1.10.0811012122250.19257@twin.jikos.cz>
Date:	Sat, 1 Nov 2008 21:26:23 +0100 (CET)
From:	Jiri Kosina <jkosina@...e.cz>
To:	Adam Nielsen <a.nielsen@...kadi.net>
cc:	LKML Mailinglist <linux-kernel@...r.kernel.org>
Subject: Re: Can you use the USB HID interface within a driver?

On Sat, 1 Nov 2008, Adam Nielsen wrote:

> 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.

There is a long blacklist/ignorelist in the usbhid driver, for the VID/PID 
combinations that we don't want to have claimed by usbhid driver, because 
there is a more specific one.

> 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?

For 2.6.28, the HID code has been completely refactored, and converted 
into a proper bus, making it possible to write driver easily in a way that 
the driver implements only parts where device deviates from the HID 
standard, and lets the rest to be handled by generic code. I guess this is 
what you are looking for?

Please look at drivers/hid in 2.6.28-rc1 or newer. There are quite a 
couple of drivers already using this new infrastructure.

If you have any further questions, I'll be happy to help you, but I will 
be completely offline until 11th November, sorry.

Hope this helps,

-- 
Jiri Kosina
SUSE Labs

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ