of: fix sparse warning in of_pci_range_parser_one
authorRob Herring <robh@kernel.org>
Thu, 4 May 2017 17:34:30 +0000 (12:34 -0500)
committerRob Herring <robh@kernel.org>
Thu, 4 May 2017 17:58:48 +0000 (12:58 -0500)
sparse gives the following warning for 'pci_space':

../drivers/of/address.c:266:26: warning: incorrect type in assignment (different base types)
../drivers/of/address.c:266:26:    expected unsigned int [unsigned] [usertype] pci_space
../drivers/of/address.c:266:26:    got restricted __be32 const [usertype] <noident>

It appears that pci_space is only ever accessed on powerpc, so the endian
swap is often not needed.

Cc: stable@vger.kernel.org
Signed-off-by: Rob Herring <robh@kernel.org>
drivers/of/address.c

index 02b2903..72914cd 100644 (file)
@@ -263,7 +263,7 @@ struct of_pci_range *of_pci_range_parser_one(struct of_pci_range_parser *parser,
        if (!parser->range || parser->range + parser->np > parser->end)
                return NULL;
 
-       range->pci_space = parser->range[0];
+       range->pci_space = be32_to_cpup(parser->range);
        range->flags = of_bus_pci_get_flags(parser->range);
        range->pci_addr = of_read_number(parser->range + 1, ns);
        range->cpu_addr = of_translate_address(parser->node,