#size-cells = <0> in a bus node, and kernel messages complaining about this
Stephen Warren
swarren at wwwdotorg.org
Thu Jun 28 07:26:38 EST 2012
I believe I've seen the following construct bandied about as the correct
way of representing a bunch of nodes that have the same name (since they
represent the same type of object) within device-tree.
regulators {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <0>;
regulator at 0 {
compatible = "regulator-fixed";
reg = <0>;
...
};
regulator at 1 {
compatible = "regulator-fixed";
reg = <1>;
...
};
};
However, when the kernel parses that, it issues messages such as:
prom_parse: Bad cell count for /regulators/regulator at 0
prom_parse: Bad cell count for /regulators/regulator at 1
The message is issued when #size-cells==0. Is the response simply "don't
do that", and so I should set #size-cells=1, and add a fake size cell in
the reg property too?
Given the number of hits on '#size-cells = <0>' in the kernel source
tree, it seems like I must be missing something here; it's quite widely
used. I guess the warning is probably only emitted when the node with
#size-cells=0 is a bus, and so the children are enumerated to
instantiated devices; perhaps that's why this hasn't been raised before?
More information about the devicetree-discuss
mailing list