On Thu, Nov 9, 2017 at 6:14 AM, Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> wrote: > Hi Rob, David, > > > I am just curious about a DTC warning. > > > For example, > > soc { > compatible = "simple-bus"; > #address-cells = <1>; > #size-cells = <1>; > ranges; > > foo@11111111 { > compatible = "foo"; > reg = <0x54006800 0x40>; > }; > }; > > This emits the following warning. > > Warning (simple_bus_reg): Node /soc/foo@11111111 simple-bus unit > address format error, expected "54006800" > > > But, if I replace "simple-bus" with "simple-mfd", > DTC is completely happy. We could probably add simple-mfd to the check. Though, if you have addresses, then you probably should use simple-bus. I'm not a bit fan of simple-mfd in general. > Why is this check limited to simple bus / PCI bus? Because bus types are free to define their own unit address format to some extent. > For other cases, is mismatching @<address> allowed? No, but it is not checked. Most other cases such as I2C and SPI buses aren't checked because we have no generic way to key off of them. We need schema data with compatible strings of those bus controllers to do the checking. Any bus type needs to define its unit address format. Generally, it must match data fields in reg property and distinct fields are separated by commas. 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