On Thu, Oct 14, 2010 at 6:17 PM, David Daney <email@example.com> wrote:
> I want to convert this to use the device tree and related functions.
> Since none of the existing hardware has an existing device tree I plan on
> taking a two pronged approach.
> Modify platform drivers to get configuration information from the device
> tree. Then:
> 1) Load and use a dtb blob as specified on the kernel command line.
> 2) If no command line dtb specified, use a default dtb embedded in the
> kernel image and then edit or patch it using of_attach_node(),
> of_detach_node(), prom_remove_property(), and prom_add_property() based on
> some of the the same ad hoc code we currently use.
> Q: As a very high level plan does this make any sense?
Overall the plan makes sense, however I would suggest the following.
instead of 'live' modifying the tree, another option is to carry a set
of 'stock' device trees in the kernel; one per board. Of course this
assumes that your current ad-hoc code is keying on the specific board.
If it is interpreting data provided by the firmware, then your
suggestion of modifying a single stock tree probably makes more sense,
or possibly a combination of the too. In general you should avoid
live modification as much as possible.