Reminder 1: Device Tree documentation discussion for Cell/B.E. binding DRAFT - see Digest Vol 6, Issue 1

Matt Sealey matt at genesi-usa.com
Wed Dec 31 10:20:29 EST 2008


Grant Likely wrote:
> On Tue, Dec 16, 2008 at 7:03 AM, Christian Rund

>> "model" property
>>             property name: Specifies model of node.
>>             Encoded as with encode-string.
>>             Default value is { "IBM,CBEA" }.
> 
>> "ibm,dt-version" property
> 
> I'm concerned about the usage model of this property.  It is not
> common for driver to go looking for an additional version property
> when interpreting node data.

Then that sucks, because they SHOULD be checking the model property if 
it is known that a device may have errata, quirks or other problems 
which cannot be programmatically detected in other ways (for instance 
via version registers in the chip itself).

>  Are all drivers expected to test the value of this property?

I would expect that once the model or version property is filled by the 
device tree compiler or by the OF implementation, people will get used 
to it being there. When it comes time that it may need to be checked 
for, then it already exists; nobody will have to update their firmwares, 
or device trees, or program any flash chips, just update their kernel or 
recompile a module and unload/load it to get the changes and/or fixes.

You never complained that we fill out the version of the firmware (and 
the build-date integer) in the Pegasos or Efika device trees. And rather 
than make any particular checks on them, code has been submitted which 
makes blanket changes not dependant on version, but on the presence of 
certain nodes (and also NOT on the lack of properties inside those 
nodes, too, when creating new property data). I've always thought such 
trashing of firmware data without proper checks is both intrusive and 
also creates yet another moving target for software developers to take 
heed of. It makes working with Linux far, far more frustrating from 
board bring-up all the way up to end users installing a prebaked 
distribution..

>  What should they do when the major or minor values do not match?

I would expect that this is to be determined when the version number 
becomes an actual, actionable item.

One might stop booting if the firmware version is too old, or initiate 
some fixups (such as using a compiled-in ACPI table as is done on many 
older PC motherboards). Certain VIA EPIA boards have lots of weird 
behaviours and the BIOS vendor string plus a few other heuristics are 
employed to make sure they are worked around.

-- 
Matt Sealey <matt at genesi-usa.com>



More information about the devicetree-discuss mailing list