Message ID | 20181106175142.27988-1-broonie@kernel.org |
---|---|
State | New |
Headers | show |
Series | sh: Provide prototypes for PCI I/O mapping in asm/io.h | expand |
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 -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
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 --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))
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(+) -- 2.19.0.rc2