Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1228477 > unrolled thread

[PATCH 1/3] avr32: fix build failure

Started bySudip Mukherjee <sudipm.mukherjee@gmail.com>
First post2015-09-19 19:20 +0200
Last post2015-09-21 10:10 +0200
Articles 5 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 1/3] avr32: fix build failure Sudip Mukherjee <sudipm.mukherjee@gmail.com> - 2015-09-19 19:20 +0200
    Re: [PATCH 1/3] avr32: fix build failure Hans-Christian Egtvedt <egtvedt@samfundet.no> - 2015-09-21 08:10 +0200
      Re: [PATCH 1/3] avr32: fix build failure Sudip Mukherjee <sudipm.mukherjee@gmail.com> - 2015-09-21 08:40 +0200
        Re: [PATCH 1/3] avr32: fix build failure Hans-Christian Egtvedt <egtvedt@samfundet.no> - 2015-09-21 09:40 +0200
          Re: [PATCH 1/3] avr32: fix build failure Sudip Mukherjee <sudipm.mukherjee@gmail.com> - 2015-09-21 10:10 +0200

#1228477 — [PATCH 1/3] avr32: fix build failure

FromSudip Mukherjee <sudipm.mukherjee@gmail.com>
Date2015-09-19 19:20 +0200
Subject[PATCH 1/3] avr32: fix build failure
Message-ID<qatXQ-7P2-9@gated-at.bofh.it>
While building avr32 with allmodconfig, the build used to fail with the
message:
error: implicit declaration of function 'pci_iomap'
error: implicit declaration of function 'pci_iounmap'

Create dummy pci_io{map,unmap} functions to fix the build.

Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
---

Tested with defconfig, allmodconfig, allnoconfig and merisc_defconfig.
Build is at:
https://travis-ci.org/sudipm-mukherjee/parport/builds/81168845

Partial idea taken from:
78857614104a ("MIPS: Expose missing pci_io{map,unmap} declarations")
which solved a similar problem with mips.

 arch/avr32/include/asm/io.h | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/arch/avr32/include/asm/io.h b/arch/avr32/include/asm/io.h
index f855646..1d8c4e4 100644
--- a/arch/avr32/include/asm/io.h
+++ b/arch/avr32/include/asm/io.h
@@ -276,6 +276,19 @@ extern void __iomem *__ioremap(unsigned long offset, size_t size,
 			       unsigned long flags);
 extern void __iounmap(void __iomem *addr);
 
+#ifndef CONFIG_PCI
+struct pci_dev;
+static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
+{
+}
+
+static inline void __iomem *pci_iomap(struct pci_dev *dev, int bar,
+				      unsigned long maxlen)
+{
+	return NULL;
+}
+#endif
+
 /*
  * ioremap	-   map bus memory into CPU space
  * @offset	bus address of the memory
-- 
1.9.1

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

[toc] | [next] | [standalone]


#1229062

FromHans-Christian Egtvedt <egtvedt@samfundet.no>
Date2015-09-21 08:10 +0200
Message-ID<qb2sy-6Ac-19@gated-at.bofh.it>
In reply to#1228477
Around Sat 19 Sep 2015 22:42:57 +0530 or thereabout, Sudip Mukherjee wrote:
> While building avr32 with allmodconfig, the build used to fail with the
> message:
> error: implicit declaration of function 'pci_iomap'
> error: implicit declaration of function 'pci_iounmap'

What has changed recently that start pulling in these? AVR32 does not have
PCI at all, and will never have it either. Is this exposing a bug somewhere
else?

> Create dummy pci_io{map,unmap} functions to fix the build.
> 
> Signed-off-by: Sudip Mukherjee <sudip@vectorindia.org>
> ---
> 
> Tested with defconfig, allmodconfig, allnoconfig and merisc_defconfig.
> Build is at:
> https://travis-ci.org/sudipm-mukherjee/parport/builds/81168845
> 
> Partial idea taken from:
> 78857614104a ("MIPS: Expose missing pci_io{map,unmap} declarations")
> which solved a similar problem with mips.
> 
>  arch/avr32/include/asm/io.h | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/arch/avr32/include/asm/io.h b/arch/avr32/include/asm/io.h
> index f855646..1d8c4e4 100644
> --- a/arch/avr32/include/asm/io.h
> +++ b/arch/avr32/include/asm/io.h
> @@ -276,6 +276,19 @@ extern void __iomem *__ioremap(unsigned long offset, size_t size,
>  			       unsigned long flags);
>  extern void __iounmap(void __iomem *addr);
>  
> +#ifndef CONFIG_PCI
> +struct pci_dev;
> +static inline void pci_iounmap(struct pci_dev *dev, void __iomem *addr)
> +{
> +}
> +
> +static inline void __iomem *pci_iomap(struct pci_dev *dev, int bar,
> +				      unsigned long maxlen)
> +{
> +	return NULL;
> +}
> +#endif
> +
>  /*
>   * ioremap	-   map bus memory into CPU space
>   * @offset	bus address of the memory
-- 
mvh
Hans-Christian Egtvedt
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1229074

FromSudip Mukherjee <sudipm.mukherjee@gmail.com>
Date2015-09-21 08:40 +0200
Message-ID<qb2VA-77F-15@gated-at.bofh.it>
In reply to#1229062
On Mon, Sep 21, 2015 at 08:09:42AM +0200, Hans-Christian Egtvedt wrote:
> Around Sat 19 Sep 2015 22:42:57 +0530 or thereabout, Sudip Mukherjee wrote:
> > While building avr32 with allmodconfig, the build used to fail with the
> > message:
> > error: implicit declaration of function 'pci_iomap'
> > error: implicit declaration of function 'pci_iounmap'
> 
> What has changed recently that start pulling in these? AVR32 does not have
> PCI at all, and will never have it either. Is this exposing a bug somewhere
> else?
It looks like pci_iomap and pci_iounmap doesnot depend on CONFIG_PCI.
So drivers/net/ethernet/via/via-rhine.c is calling these functions even
if PCI is disabled. The build log is at:
https://travis-ci.org/sudipm-mukherjee/parport/jobs/81127188

You can find a similar discussion at:
http://www.linux-mips.org/archives/linux-mips/2013-06/msg00510.html

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

[toc] | [prev] | [next] | [standalone]


#1229088

FromHans-Christian Egtvedt <egtvedt@samfundet.no>
Date2015-09-21 09:40 +0200
Message-ID<qb3RE-8sg-9@gated-at.bofh.it>
In reply to#1229074
Around Mon 21 Sep 2015 12:09:01 +0530 or thereabout, Sudip Mukherjee wrote:
> On Mon, Sep 21, 2015 at 08:09:42AM +0200, Hans-Christian Egtvedt wrote:
>> Around Sat 19 Sep 2015 22:42:57 +0530 or thereabout, Sudip Mukherjee wrote:
>> > While building avr32 with allmodconfig, the build used to fail with the
>> > message:
>> > error: implicit declaration of function 'pci_iomap'
>> > error: implicit declaration of function 'pci_iounmap'
>> 
>> What has changed recently that start pulling in these? AVR32 does not have
>> PCI at all, and will never have it either. Is this exposing a bug somewhere
>> else?
> It looks like pci_iomap and pci_iounmap doesnot depend on CONFIG_PCI.
> So drivers/net/ethernet/via/via-rhine.c is calling these functions even
> if PCI is disabled. The build log is at:
> https://travis-ci.org/sudipm-mukherjee/parport/jobs/81127188
> 
> You can find a similar discussion at:
> http://www.linux-mips.org/archives/linux-mips/2013-06/msg00510.html

If multiple architectures have similar problems, then a more global
definition of these unused functions could be added.

Just move the implementation for MIPS into include/asm-generic/io.h ?

That way we do not have to implement and identical stub for every device not
supporting PCI.

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

[toc] | [prev] | [next] | [standalone]


#1229101

FromSudip Mukherjee <sudipm.mukherjee@gmail.com>
Date2015-09-21 10:10 +0200
Message-ID<qb4kG-Od-5@gated-at.bofh.it>
In reply to#1229088
On Mon, Sep 21, 2015 at 09:33:00AM +0200, Hans-Christian Egtvedt wrote:
> Around Mon 21 Sep 2015 12:09:01 +0530 or thereabout, Sudip Mukherjee wrote:
> > On Mon, Sep 21, 2015 at 08:09:42AM +0200, Hans-Christian Egtvedt wrote:
> >> Around Sat 19 Sep 2015 22:42:57 +0530 or thereabout, Sudip Mukherjee wrote:
> >> > While building avr32 with allmodconfig, the build used to fail with the
> >> > message:
> >> > error: implicit declaration of function 'pci_iomap'
> >> > error: implicit declaration of function 'pci_iounmap'
> >> 
> >> What has changed recently that start pulling in these? AVR32 does not have
> >> PCI at all, and will never have it either. Is this exposing a bug somewhere
> >> else?
> > It looks like pci_iomap and pci_iounmap doesnot depend on CONFIG_PCI.
> > So drivers/net/ethernet/via/via-rhine.c is calling these functions even
> > if PCI is disabled. The build log is at:
> > https://travis-ci.org/sudipm-mukherjee/parport/jobs/81127188
> > 
> > You can find a similar discussion at:
> > http://www.linux-mips.org/archives/linux-mips/2013-06/msg00510.html
> 
> If multiple architectures have similar problems, then a more global
> definition of these unused functions could be added.
> 
> Just move the implementation for MIPS into include/asm-generic/io.h ?
> 
> That way we do not have to implement and identical stub for every device not
> supporting PCI.

include/asm-generic/io.h is having:
#ifndef CONFIG_GENERIC_IOMAP
struct pci_dev;
extern void __iomem *pci_iomap(struct pci_dev *dev, int bar, unsigned
		long max);

#ifndef pci_iounmap
#define pci_iounmap pci_iounmap
static inline void pci_iounmap(struct pci_dev *dev, void __iomem *p)
{
}
#endif
#endif /* CONFIG_GENERIC_IOMAP */

and CONFIG_GENERIC_IOMAP is not defined when I do allmodconfig with
avr32. I have not seen this earlier, maybe in my patch pci_iounmap() was
not required. But pci_iomap is declared as extern so we need have it
somewhere.

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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web