Subject: Re: More Device Properties
To: None <cgd@sibyte.com, eeh@netbsd.org>
From: None <eeh@netbsd.org>
List: tech-kern
Date: 02/14/2001 20:31:46
> I struggled with this a bit and decided that using `struct device *' in
> some contexts and `struct devproplist *' in others broke orthogonality,
> encapsulation, and consistency.
I don't see why you'd use 'struct device' in any when dealing with the
properties, actually.
The reason to use `struct device' is twofold: to allow searches for
properties to trickle up the deice tree, and to allow get_mdprop()
to locate a property associated with a device from some external
source, say the OpenFirmware device tree.
> That would also
> preclude any possibility of implemnting as anything other than a linked
> list in future, such as database table.
Why would it do that?
For MD properties stored in some other form, say in NVRAM.
> Anyway, if you plan to replace the aux information with properties, it is
> best to encode them as separate proerties rather than a fixed `aux'
> structure.
Yeah, that's fairly obvious.
The case i'm most worried about is where you're passing down e.g. a
'bus chipset' handle of some sort, and want to make sure it doesn't
accidentally get nuked while you're still using it...
That's a really nasty problem that is likely unsolvable without
global refcounts or garbage collection....
Edaurdo