userland firmware loader?

Brian Fundakowski Feldman green at FreeBSD.org
Fri Jul 9 16:24:00 PDT 2004


I'm writing a driver that uses a 100KB firmware file and could need to
read it again, after initialization, to reset the device (or to load
more).  Since this device is primarily found in CardBus form, I think
it makes a lot of sense to be able to get the firmware file at any time
but without specific user intervention.

Is this something devd should be doing?  It wouldn't be very hard to
provide an API with somewhat sysctl-like semantics via a device_*()
function to return data to userland, and a new newbus device method to
recieve data.  Does this seem like something that should be done so
that many drivers don't waste space in the kernel with firmware images,
and don't need firmware via a separate kld module, without having to
reimplement it separately in each driver that could use this
functionality?

Alternately, I could just not be seeing where this kind of functionality
already exists.  The usio driver in /etc/usbd.conf does something a
little like what I want to do, but it's not generic and only does it
based on a "load" event instead of a "give me firmware" event.

Thanks,
-- 
Brian Fundakowski Feldman                           \'[ FreeBSD ]''''''''''\
  <> green at FreeBSD.org                               \  The Power to Serve! \
 Opinions expressed are my own.                       \,,,,,,,,,,,,,,,,,,,,,,\


More information about the freebsd-arch mailing list