Re: [dtc PATCH V2] Warn on node name unit-address presence/absence mismatch

From: Kumar Gala
Date: Fri Sep 27 2013 - 11:39:12 EST



On Sep 26, 2013, at 8:30 PM, Benjamin Herrenschmidt wrote:

> On Thu, 2013-09-26 at 17:12 -0600, Stephen Warren wrote:
>> Well, ePAPR seems pretty specific that unit address and reg are
>> related,
>> but says nothing about ranges in the section on node naming, nor about
>> node naming in the section about ranges.
>>
>> I'd claim that the existing PPC trees are nonconforming, and should be
>> fixed too:-)
>
> This is tricky, we should probably fix ePAPR here.

I'll poke Stuart to see what's going w/updating ePAPR.

> If you have a "soc" bus covering a given range of addresses which it
> forwards to its children devices but doesn't have per-se its own
> registers in that area, then it wouldn't have a "reg" property. I would
> thus argue that in the absence of a "reg" property, if a "ranges" one is
> present, the "parent address" entry in there is an acceptable substitute
> for the "reg" property as far as unit addresses are concerned.

Either we update the section in general about 'ranges' or at least update the simple-bus binding to state that rules about the node name.

> Also don't forget that in real OFW land, the unit address is something
> that's somewhat bus specific ... for example, PCI uses "dev,fn" rather
> than the full 96-bit number of the "reg" entry :-)
>
> Another option which would more strictly conform to ePAPR and in fact to
> of1275 would be to require such bus nodes to have a "reg" property with
> the address value set to the beginning of the range and the size value
> set to 0 :-)

- k

--
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/