[prev in list] [next in list] [prev in thread] [next in thread]
List: linuxppc-embedded
Subject: Re: [RFC] dt: add of_platform_bus_snoop() which attaches nodes to
From: Grant Likely <grant.likely () secretlab ! ca>
Date: 2011-01-31 22:07:49
Message-ID: AANLkTimpjCtaksHCURsZX9JDLd+1+ivPN7Zeq9A4RxMs () mail ! gmail ! com
[Download RAW message or body]
On Mon, Jan 31, 2011 at 3:01 PM, Grant Likely <grant.likely@secretlab.ca> wrote:
> This patch implements an alternate method for using device tree data
> for populating machine device registration. Traditionally, board
> support has directly generated and registered devices based on nodes
> in the device tree. The board support code starts at the root of the
> tree and begins allocating devices for each device node it finds.
> Similarly, bus drivers (i2c, spi, etc.) use their child nodes to
> register child devices. This model can be seen in almost all the powerpc
> board ports (arch/powerpc/platforms/*).
>
> However, for many of the ARM SoCs, there already exists complete board
> support for many SoCs that have their own code for registering the
> basic set of platform devices with non-trivial dependencies on clock
> structure and machine specific platform code. While starting at the
> base of the tree and working up is certainly possible, it requires
> modifying a lot of machine support code to get it working.
>
> Instead, this patch provides an alternate approach. Instead of
> starting at the root of the tree and working up, this patch allows the
> SoC support code to register its standard set of platform devices in
> the normal way. However, it also registers a platform_bus notifier
> function which compares platform_device registrations with data in the
> device tree. Whenever it finds a matching node, it increments the
> node reference count and assigns it to the device's of_node pointer so
> that it is available for the device driver to use and bind against.
> For example, an spi master driver would have access to the spi node
> which contains information about all the spi slaves on the bus.
One more note. It might also be a good idea to do something like this
for the PCI and AMBA buses. I've not yet looked at how much code
could be made common for implementing that.
g.
_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic