The usage of compatible 'simple-bus'

Li Yang LeoLi at freescale.com
Tue Jan 6 16:46:21 EST 2009


> -----Original Message-----
> From: 
> devicetree-discuss-bounces+leoli=freescale.com at ozlabs.org 
> [mailto:devicetree-discuss-bounces+leoli=freescale.com at ozlabs.
> org] On Behalf Of David Gibson
> Sent: Tuesday, January 06, 2009 9:43 AM
> To: Wood Scott-B07421
> Cc: linuxppc-dev at ozlabs.org; Li Yang-R58472; 
> devicetree-discuss at ozlabs.org
> Subject: Re: The usage of compatible 'simple-bus'
> 
> On Mon, Jan 05, 2009 at 01:20:53PM -0600, Scott Wood wrote:
> > On Mon, Jan 05, 2009 at 06:27:39PM +0800, Li Yang wrote:
> > > I got an assumption from the existing device trees that having 
> > > 'simple-bus' in the compatible property of a node means that all 
> > > child nodes should be added as of_platform_device in platform 
> > > initialization phase.  No matter it represents a bus in 
> common sense 
> > > or not.  Is this truly the case?
> > 
> > Yes, simple-bus indicates that the children can be driven 
> standalone 
> > from any knowledge of the parent bus.
> 
> Erm, well, sort of.  Strictly it indicates that the only way 
> to locate the child devices of this bus is by using the 
> address information in the device tree - there's no way to 
> dynamically probe the bus.

So if I understand correctly, "simple-bus" is intended to be used for
true buses.

> 
> The fact that this causes of_platform_devices to be 
> instantiated is a Linux implementation specific detail (and 
> one we might change in future).

Here we have a common case for SoC that part of a device has its
separate driver besides the driver for the main feature of the whole
device.  The resources used by the sub-device is usually part of the
resources of the parent device.  So it makes sense to put the node of
sub-device beneathe the node of main device.  Shall we have a convention
to mark such devices in device tree so that the sub-device can be
scanned and probed as a standalone of_platform_device?

If "simple-bus" may cause confusion to do this job as it's not a bus
actually, I propose to use "has-subdevice".

- Leo



More information about the Linuxppc-dev mailing list