Re: [PATCH v7 5/7] ARM: dts: add pbias dt node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Wed, Jan 08, 2014 at 02:51:46PM +0000, Balaji T K wrote:
> On Tuesday 07 January 2014 05:53 PM, Balaji T K wrote:
> > On Tuesday 07 January 2014 04:27 PM, Mark Rutland wrote:
> >> On Tue, Jan 07, 2014 at 10:18:15AM +0000, Balaji T K wrote:
> >>> On Monday 06 January 2014 11:49 PM, Mark Rutland wrote:
> >>>> On Fri, Dec 20, 2013 at 05:35:53PM +0000, Balaji T K wrote:
> >>>>> Add pbias regulator node as a child of system control
> >>>>> module - syscon.
> >>>>>
> >>>>> Signed-off-by: Balaji T K <balajitk@xxxxxx>
> >>>>> ---
> >>>>>    arch/arm/boot/dts/dra7.dtsi     |   18 ++++++++++++++++++
> >>>>>    arch/arm/boot/dts/omap2430.dtsi |   18 ++++++++++++++++++
> >>>>>    arch/arm/boot/dts/omap3.dtsi    |   18 ++++++++++++++++++
> >>>>>    arch/arm/boot/dts/omap4.dtsi    |   18 ++++++++++++++++++
> >>>>>    arch/arm/boot/dts/omap5.dtsi    |   18 ++++++++++++++++++
> >>>>>    5 files changed, 90 insertions(+), 0 deletions(-)
> >>>>>
> >>>>> diff --git a/arch/arm/boot/dts/dra7.dtsi b/arch/arm/boot/dts/dra7.dtsi
> >>>>> index d0df4c4..4e68df1 100644
> >>>>> --- a/arch/arm/boot/dts/dra7.dtsi
> >>>>> +++ b/arch/arm/boot/dts/dra7.dtsi
> >>>>> @@ -110,6 +110,23 @@
> >>>>>                ti,hwmods = "counter_32k";
> >>>>>            };
> >>>>>
> >>>>> +        dra7_ctrl_general: tisyscon@4a002e00 {
> >>>>> +            compatible = "ti,control-syscon", "syscon", "simple-bus";
> >>>>
> >>>> Please, don't use simple-bus like that. The components below this node
> >>>> depend on it. It is _NOT_ a simple bus. Make the ti,control-syscon
> >>>> driver probe it's children.
> >>>
> >>> Hi Mark,
> >>>
> >>> Actually ti,control-syscon driver does not exist, so I can remove it,
> >>> and simple-bus is needed for child creation.
> >>
> >> This still shows up as a syscon node, with a reg property, and syscon is
> >> not an extension of simple-bus.
> >>
> >> There are properties in the parent node that children depend on, and
> >> that makes me wary of describing it as a simple bus. I'd expect to be
> >> able to move child nodes out of a simple-bus if ranges provided an
> >> idmap, and I can't do that here.
> >>
> > Hi Mark,
> >
> > Not sure if I am understanding here, can you please add more info.

A node's compatible string list describes the set of devices (or rather
descriptions of devices) with which it is compatible. The list goes from
most specific to least specific. The idea is that an OS reads through
the list until it finds a string it knows how to handle, then treats the
node as that.

Ignoring "ti,control-syscon", the node has both "syscon" and
"simple-bus". Given you expect the OS to recognise "syscon", you should
_not_ expect it to also treat the node as "simple-bus". Doing so is an
abuse of the property and current Linux implementation details.

The "syscon" binding is not a more specific version of "simple-bus".
They imply completely different things.

Either make a ti,control-syscon driver that probes the child nodes, or
move the child nodes out and give them a phandle to the
dra7_ctrl_general node that they can parse. I'd prefer the latter as
relies on fewer topology details, is as easy to implement as your
current parent node parsing, and is easier to extend in future.

> >
> Hi Mark,
> 
>  From Documentation/devicetree/bindings.. , I could get below info about simple-bus
> - "simple-bus" compatible value (to ensure creation of the children)
> 	compatible = "simple-bus";

That's from the vexpress binding description of the smb node?

In that case, the smb node _is_ a simple-bus. It has no nonstandard
properties, and the child nodes aren't reading arbitrary properties out
of the smb node.

There the simple-bus is used to remap addresses of child nodes via
ranges. It does represent a simple bus, and that's all the OS is
expected to know.

Thanks,
Mark.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux