On Tue, Jan 06, 2009 at 01:46:21PM +0800, Li Yang wrote: > > -----Original Message----- > > From: > > devicetree-discuss-bounces+leoli=freescale....@ozlabs.org > > [mailto:devicetree-discuss-bounces+leoli=freescale....@ozlabs. > > org] On Behalf Of David Gibson > > Sent: Tuesday, January 06, 2009 9:43 AM > > To: Wood Scott-B07421 > > Cc: linuxppc-dev@ozlabs.org; Li Yang-R58472; > > devicetree-disc...@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.
Generally, yes, although there may be some situations where it's appropriate for other things. So, for example, in some cases it's used (correctly) for compound devices . I don't think this particular case is a sensible situation for it, though. > > 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". As Grant says, you're thinking about what drivers will do with things rather than what the actual hardware setup is, which is what the device tree should describe. I see two sensible options for this situation: - Move the MDIO node to outside the gianfar MAC node. I think this is already done on some boards with gianfar? - Explicitly add the gianfar device to the list of things to scan for of_platform subdevices. -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev