diff mbox series

sh: Provide prototypes for PCI I/O mapping in asm/io.h

Message ID 20181106175142.27988-1-broonie@kernel.org
State New, archived
Headers show
Series sh: Provide prototypes for PCI I/O mapping in asm/io.h | expand

Commit Message

Mark Brown Nov. 6, 2018, 5:51 p.m. UTC
Most architectures provide prototypes for the PCI I/O mapping operations
when asm/io.h is included but SH doesn't currently do that, leading to
for example warnings in sound/pci/hda/patch_ca0132.c when pci_iomap() is
used on current -next.  Make SH more consistent with other architectures
by including asm-generic/pci_iomap.h in asm/io.h.

Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 arch/sh/include/asm/io.h | 1 +
 1 file changed, 1 insertion(+)

Comments

Geert Uytterhoeven Nov. 6, 2018, 6:21 p.m. UTC | #1
Hi Mark,

On Tue, Nov 6, 2018 at 6:52 PM Mark Brown <broonie@kernel.org> wrote:
> Most architectures provide prototypes for the PCI I/O mapping operations
> when asm/io.h is included but SH doesn't currently do that, leading to
> for example warnings in sound/pci/hda/patch_ca0132.c when pci_iomap() is
> used on current -next.  Make SH more consistent with other architectures

Also on v4.20-rc1, cfr.
http://kisskb.ellerman.id.au/kisskb/buildresult/13576888/

> by including asm-generic/pci_iomap.h in asm/io.h.
>
> Reported-by: kbuild test robot <lkp@intel.com>
> Signed-off-by: Mark Brown <broonie@kernel.org>

Thanks for your patch!

> --- a/arch/sh/include/asm/io.h
> +++ b/arch/sh/include/asm/io.h
> @@ -24,6 +24,7 @@
>  #define __IO_PREFIX     generic
>  #include <asm/io_generic.h>
>  #include <asm/io_trapped.h>
> +#include <asm-generic/pci_iomap.h>

Is this sufficient?

include/asm-generic/pci_iomap.h provides the dummies if CONFIG_PCI=n and
CONFIG_GENERIC_PCI_IOMAP=y, while arch/sh/Kconfig selects GENERIC_PCI_IOMAP
only if PCI is enabled. Hence it's not set in the failing config
(sh/allyesconfig).

Probably SH should select GENERIC_PCI_IOMAP unconditionally, like most other
architectures do (alpha and powerpc select it conditionally, though)?

>  #include <mach/mangle-port.h>
>
>  #define __raw_writeb(v,a)      (__chk_io_ptr(a), *(volatile u8  __force *)(a) = (v))

Gr{oetje,eeting}s,

                        Geert
Mark Brown Nov. 6, 2018, 6:26 p.m. UTC | #2
On Tue, Nov 06, 2018 at 07:21:41PM +0100, Geert Uytterhoeven wrote:

> > +#include <asm-generic/pci_iomap.h>

> Is this sufficient?

> include/asm-generic/pci_iomap.h provides the dummies if CONFIG_PCI=n and
> CONFIG_GENERIC_PCI_IOMAP=y, while arch/sh/Kconfig selects GENERIC_PCI_IOMAP
> only if PCI is enabled. Hence it's not set in the failing config
> (sh/allyesconfig).

Ah, possibly not - IIRC I minimized the config when testing but I
could've got the GENERIC_PCI_IOMAP=y.

> Probably SH should select GENERIC_PCI_IOMAP unconditionally, like most other
> architectures do (alpha and powerpc select it conditionally, though)?

I'd be surprised if it had a strong reason not to.
diff mbox series

Patch

diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h
index 98cb8c802b1a..4f7f235f15f8 100644
--- a/arch/sh/include/asm/io.h
+++ b/arch/sh/include/asm/io.h
@@ -24,6 +24,7 @@ 
 #define __IO_PREFIX     generic
 #include <asm/io_generic.h>
 #include <asm/io_trapped.h>
+#include <asm-generic/pci_iomap.h>
 #include <mach/mangle-port.h>
 
 #define __raw_writeb(v,a)	(__chk_io_ptr(a), *(volatile u8  __force *)(a) = (v))