On Thu, Jan 12, 2023 at 08:56:54PM +0800, Qun-Wei Lin wrote: > The "dma-ranges" property value is a sequence of > child-address parent-address child-size > > The size of each field is determined by taking the child's > "#address-cells" value, the parent's "#address-cells" value, > and the child's "#size-cells" value. > > However, in the following example, it gives a false alarm: > +-----------------------------------+---------------------------------------+ > | ranges.dts | dma-ranges.dts | > +-----------------------------------+---------------------------------------+ > | /dts-v1/; | /dts-v1/; | > | | | > | /{ | /{ | > | #address-cells = <1>; | #address-cells = <1>; | > | | | > | parent { | parent { | > | #address-cells = <1>; | #address-cells = <1>; | > | #size-cells = <1>; | #size-cells = <1>; | > | ranges = <0x0 0xe000 0x1000>; | dma-ranges = <0x0 0xe000 0x1000>; | > | child { | child { | > | ... | ... | > | }; | }; | > | }; | }; | > | }; | }; | > +-----------------------------------+---------------------------------------+ > | no warning | Warning (avoid_unnecessary_addr_size) | > +-----------------------------------+---------------------------------------+ > > Same as "ranges", it should not be reported in this check. > > Signed-off-by: Qun-Wei Lin <qun-wei.lin@xxxxxxxxxxxx> Applied, thanks. An additional testcase to verify this behaviour would be appreciated. > --- > checks.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/checks.c b/checks.c > index afa8f23..607e0f2 100644 > --- a/checks.c > +++ b/checks.c > @@ -1232,7 +1232,7 @@ static void check_avoid_unnecessary_addr_size(struct check *c, struct dt_info *d > if (!node->parent || node->addr_cells < 0 || node->size_cells < 0) > return; > > - if (get_property(node, "ranges") || !node->children) > + if (get_property(node, "ranges") || get_property(node, "dma-ranges") || !node->children) > return; > > for_each_child(node, child) { > @@ -1242,7 +1242,7 @@ static void check_avoid_unnecessary_addr_size(struct check *c, struct dt_info *d > } > > if (!has_reg) > - FAIL(c, dti, node, "unnecessary #address-cells/#size-cells without \"ranges\" or child \"reg\" property"); > + FAIL(c, dti, node, "unnecessary #address-cells/#size-cells without \"ranges\", \"dma-ranges\" or child \"reg\" property"); > } > WARNING(avoid_unnecessary_addr_size, check_avoid_unnecessary_addr_size, NULL, &avoid_default_addr_size); > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
Attachment:
signature.asc
Description: PGP signature