usb/137189: [usb][patch] create and use sysctl nodes for HID report descriptors

Eygene Ryabinkin rea-fbsd at codelabs.ru
Thu Jul 30 20:38:17 UTC 2009


Hans Petter, good day.

Tue, Jul 28, 2009 at 07:40:27PM +0400, Eygene Ryabinkin wrote:
> HPS wrote:
> > > Why do you dislike the sysctl approach? It is simple and reliable.
> >
> > It's duplicating access to data. There is not that much wrong about
> > it, except it will not work if the device is of another kind. I.E. you
> > would have to patch the HID sysctl node into every driver accessing
> > HID descriptors?
> 
> Just now -- yes, I'll need it.  But probably I can move this
> functionality into the USB bus level -- it will automatically create
> this sysctl node for all HID children and will dispose it on the detach.
> usb_probe_and_attach() is a candidate for such functionality.  Will it
> be bad?

OK, attached is the reworked version of the sysctl patch: it now creates
the needed nodes automatically (though they still can be created by
explicit call from the driver, as in uhid(4)).  As a bonus, kernel got the
ability to install per-USB class post-attach and pre-detach handlers, so
we can do some class-specific things for every driver.  What do you think
of it?

Thanks!
-- 
Eygene
 _                ___       _.--.   #
 \`.|\..----...-'`   `-._.-'_.-'`   #  Remember that it is hard
 /  ' `         ,       __.--'      #  to read the on-line manual
 )/' _/     \   `-_,   /            #  while single-stepping the kernel.
 `-'" `"\_  ,_.-;_.-\_ ',  fsc/as   #
     _.-'_./   {_.'   ; /           #    -- FreeBSD Developers handbook
    {_.-``-'         {_/            #


More information about the freebsd-usb mailing list