Re: [PATCH] of/pci: add pci_pio_to_address dummy for !CONFIG_OF

From: Liviu Dudau
Date: Tue Sep 30 2014 - 13:18:19 EST


On Tue, Sep 30, 2014 at 10:01:39AM -0600, Bjorn Helgaas wrote:
> On Tue, Sep 30, 2014 at 03:19:05PM +0200, Arnd Bergmann wrote:
> > The pci_register_io_range() and pci_pio_to_address() were recently
> > introduced to generalize the handling of memory mapped PCI I/O space,
> > but they are only valid when CONFIG_OF is set, leading to a possible
> > build error:
> >
> > drivers/pci/host/pcie-rcar.c: In function 'rcar_pcie_setup_window':
> > drivers/pci/host/pcie-rcar.c:340:3: error: implicit declaration of function 'pci_pio_to_address' [-Werror=implicit-function-declaration]
> > res_start = pci_pio_to_address(res->start);
> > ^
> > drivers/pci/host/pcie-rcar.c: In function 'rcar_pcie_probe':
> > drivers/pci/host/pcie-rcar.c:945:3: error: implicit declaration of function 'of_pci_range_to_resource' [-Werror=implicit-function-declaration]
> > err = of_pci_range_to_resource(&range, pdev->dev.of_node,
> > ^
> > cc1: some warnings being treated as errors
> >
> > This provides inline dummy implementations for the case that
> > CONFIG_OF is disabled, to allow better build testing.
> >
> > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> > Fixes: 279c5dd046 ("of/pci: Add pci_register_io_range() and pci_pio_to_address()")
>
> I'm rebuilding the pci/host-generic branch to pick up the other v13 fixes,
> so I folded this fix directly into the "of/pci: Add pci_register_io_range()
> and pci_pio_to_address()" patch. Thanks for finding this; the config
> dependencies are a bit of a mess.

Bjorn,

I suggest splitting this patch into 2 parts, move the one that adds pci_pio_to_address() in patch 2
and the other in patch 5.

Best regards,
Liviu

>
> > diff --git a/include/linux/of_address.h b/include/linux/of_address.h
> > index 7ebb877b07c2..851097aab115 100644
> > --- a/include/linux/of_address.h
> > +++ b/include/linux/of_address.h
> > @@ -71,6 +71,11 @@ static inline const __be32 *of_get_address(struct device_node *dev, int index,
> > return NULL;
> > }
> >
> > +static inline phys_addr_t pci_pio_to_address(unsigned long pio)
> > +{
> > + return 0;
> > +}
> > +
> > static inline int of_pci_range_parser_init(struct of_pci_range_parser *parser,
> > struct device_node *node)
> > {
> > @@ -144,6 +149,12 @@ static inline const __be32 *of_get_pci_address(struct device_node *dev,
> > {
> > return NULL;
> > }
> > +static inline int of_pci_range_to_resource(struct of_pci_range *range,
> > + struct device_node *np,
> > + struct resource *res)
> > +{
> > + return -ENOSYS;
> > +}
> > #endif /* CONFIG_OF_ADDRESS && CONFIG_PCI */
> >
> > #endif /* __OF_ADDRESS_H */
> >
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>

--
-------------------
.oooO
( )
\ ( Oooo.
\_) ( )
) /
(_/

One small step
for me ...

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/