setting driver properties for a particular device

Andriy Gapon avg at FreeBSD.org
Wed May 29 10:16:36 UTC 2019


On 23/05/2019 14:15, Andriy Gapon wrote:
> Author: avg
> Date: Thu May 23 11:15:22 2019
> New Revision: 348153
> URL: https://svnweb.freebsd.org/changeset/base/348153
> 
> Log:
>   gpioled: add a new hint for initial state
>   
>   hint.gpioled.%d.state determines the initial state of the LED when the
>   driver takes control over it:
>     0 - the LED is off
>     1 - the LED is on
>    -1 - the LED is kept as it was

By the way, can anyone suggest a mechanism to set device properties like this
one _programmatically_ ?

I am thinking of a case where I know exactly how everything is wired on a
platform.  And there is no FDT or alike support for it.  And hints are not
possible to set up correctly (e.g., bus numbers may float).  So, I want to
create a gpioled child on a specific bus and I want to set some properties for
the device.
Of course, I can probably do something like kern_setenv("hints.foo.X.bar", ...)
using the child's name and unit number.  But that feels a bit cumbersome.

And this question is not about gpioled specifically.

IVARs is definitely not the right mechanism, because it is about bus-specific
properties of devices on the bus.  So, it is not aware of properties specific to
a driver that attaches to a child device.


-- 
Andriy Gapon


More information about the freebsd-hackers mailing list