Re: [PATCH/RFC 0/2] media: adv748x: Fix decimal unit addresses

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

 



On Thu, Jun 14, 2018 at 04:50:49PM +0100, Kieran Bingham wrote:
> Hi Geert,
> 
> On 14/06/18 14:48, Geert Uytterhoeven wrote:
> > 	Hi Rob et al.
> > 
> > Recent dtc assumes unit addresses are always hexadecimal (without
> > prefix), while the bases of reg property values depend on their
> > prefixes, and thus can be either decimal or hexadecimal.
> > 
> > This leads to (with W=1):
> > 
> >      Warning (graph_port): video-receiver@70/port@10: graph node unit address error, expected "a"
> >      Warning (graph_port): video-receiver@70/port@11: graph node unit address error, expected "b"
> > 
> > In this particular case, the unit addresses are (assumed hexadecimal) 10
> > resp. 11, while the reg properties are decimal 10 resp. 11, and thus
> > don't match.
> > 
> > This RFC patch series corrects the unit addresses to match the reg
> > address values for the DT bindings for adi,adv748x and its users.
> > There's at least one other violator (port@10 in
> > arch/arm/boot/dts/vf610-zii-dev-rev-c.dts), which I didn't fix.
> > 
> > However, ePAPR v1.1 states:
> > 
> >      The unit-address component of the name is specific to the bus type
> >      on which the node sits. It consists of one or more ASCII characters
> >      from the set of characters in Table 2-1. The unit-address must match
> >      the first address specified in the reg property of the node. If the
> >      node has no reg property, the @ and unit-address must be omitted and
> >      the node-name alone differentiates the node from other nodes at the
> >      same level in the tree. The binding for a particular bus may specify
> >      additional, more specific requirements for the format of reg and the
> >      unit-address.
> > 
> > i.e. nothing about an hexadecimal address requirement?

No, because unit-addresses are bus specific, so in theory a bus could 
use decimal. However, it's pretty well established practice to use hex.

> > Should this series be applied, or should the warnings be ignored, until
> > dtc is fixed?
> 
> IMO - the ports are human readable indexes, and not hexadecimal. I'd be
> loathed to see these become hex. .. especially if not prefixed by a 0x...

I read hex. :)

> Otherwise, is '10', Ten, or Sixteen? IMO - no 0x = decimal only.

It's hex because *everywhere* else is hex. Having a mixture would just 
invite more confusion and errors (especially because dtc only checks 
cases it knows the bus type).

For OF graph, I'm not that worried about it because 99% of the users 
have 10 or less ports/endpoints.

> That said - I look up and see "video-receiver@70", which is of course the
> hexadecimal I2C address :(

It is bad enough that I2C addresses get expressed in both 7 and 8-bits 
(shifted up 1), using decimal there would be really fun.

Rob
--
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