lkml.org 
[lkml]   [2014]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] of/pci: add pci_pio_to_address dummy for !CONFIG_OF
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@arndb.de>
> 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.

> 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 */
>


\
 
 \ /
  Last update: 2014-09-30 18:41    [W:0.075 / U:4.392 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site