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 <[email protected]>
_______________________________________________
devicetree-discuss mailing list
[email protected]
https://ozlabs.org/mailman/listinfo/devicetree-discuss

Reply via email to