diff mbox series

arm: ioremap: Fix compilation of code which use pci_remap_iospace() without CONFIG_MMU

Message ID 20220714185700.6137-1-pali@kernel.org (mailing list archive)
State New, archived
Headers show
Series arm: ioremap: Fix compilation of code which use pci_remap_iospace() without CONFIG_MMU | expand

Commit Message

Pali Rohár July 14, 2022, 6:57 p.m. UTC
Custom ARM version of pci_remap_iospace() is implemented only for MMU
kernel builds. So do not define pci_remap_iospace() without CONFIG_MMU.

See compilation failures:
https://lore.kernel.org/r/202112040150.wvyJZIZO-lkp@intel.com/
https://lore.kernel.org/r/202112261802.u9iXqdWh-lkp@intel.com/
https://lore.kernel.org/r/202201131529.A2s7rKQc-lkp@intel.com/
https://lore.kernel.org/r/202203090147.24cUL0De-lkp@intel.com/

Fixes: bc02973a06a6 ("arm: ioremap: Implement standard PCI function pci_remap_iospace()")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Pali Rohár <pali@kernel.org>

---

PING!!!! Is somebody interested in fixing these compile errors? As nobody
answered to my emails where I proposed this fix more than half year ago and
asked for opinion...

https://lore.kernel.org/r/20211204022131.bmhla4gkph7s7hy2@pali/
https://lore.kernel.org/r/20211205123209.lyx76daqdwzqwex4@pali/
https://lore.kernel.org/r/20211226215135.blcnafbuwhrq5ram@pali/
https://lore.kernel.org/r/20220113134938.3tx7iiukphvazvsq@pali/
https://lore.kernel.org/r/20220308184851.jmw2xvrapy5wzwof@pali/

If nobody is interested then please STOP sending me these Intel "0-DAY CI
Kernel Test Service" emails. Thanks!
---
 arch/arm/include/asm/io.h | 2 ++
 1 file changed, 2 insertions(+)

Comments

Russell King (Oracle) July 14, 2022, 7:48 p.m. UTC | #1
On Thu, Jul 14, 2022 at 08:57:00PM +0200, Pali Rohár wrote:
> Custom ARM version of pci_remap_iospace() is implemented only for MMU
> kernel builds. So do not define pci_remap_iospace() without CONFIG_MMU.
> 
> See compilation failures:
> https://lore.kernel.org/r/202112040150.wvyJZIZO-lkp@intel.com/
> https://lore.kernel.org/r/202112261802.u9iXqdWh-lkp@intel.com/
> https://lore.kernel.org/r/202201131529.A2s7rKQc-lkp@intel.com/
> https://lore.kernel.org/r/202203090147.24cUL0De-lkp@intel.com/
> 
> Fixes: bc02973a06a6 ("arm: ioremap: Implement standard PCI function pci_remap_iospace()")
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Pali Rohár <pali@kernel.org>
> 
> ---
> 
> PING!!!! Is somebody interested in fixing these compile errors? As nobody
> answered to my emails where I proposed this fix more than half year ago and
> asked for opinion...
> 
> https://lore.kernel.org/r/20211204022131.bmhla4gkph7s7hy2@pali/
> https://lore.kernel.org/r/20211205123209.lyx76daqdwzqwex4@pali/
> https://lore.kernel.org/r/20211226215135.blcnafbuwhrq5ram@pali/
> https://lore.kernel.org/r/20220113134938.3tx7iiukphvazvsq@pali/
> https://lore.kernel.org/r/20220308184851.jmw2xvrapy5wzwof@pali/
> 
> If nobody is interested then please STOP sending me these Intel "0-DAY CI
> Kernel Test Service" emails. Thanks!

It needs to be sent to the patch system to be merged, which has been
the process with 32-bit ARM for getting on the last quarter of a
century.

Thanks.
Bjorn Helgaas July 14, 2022, 8:04 p.m. UTC | #2
[+cc linux-pci, update Lorenzo's email addr]

Hi Pali,

Thanks for cc'ing me.  I think your previous notes didn't include
linux-pci or me, so I missed them.

It looks like bc02973a06a6 was merged via the PCI tree for v5.17 [1],
so we should probably merge the fix the same way.

Russell, let me know if you object.  Otherwise, I put it on pci/misc
for v5.20.

[1] https://lore.kernel.org/r/20220114155608.GA557997@bhelgaas

On Thu, Jul 14, 2022 at 08:57:00PM +0200, Pali Rohár wrote:
> Custom ARM version of pci_remap_iospace() is implemented only for MMU
> kernel builds. So do not define pci_remap_iospace() without CONFIG_MMU.
>
> See compilation failures:
> https://lore.kernel.org/r/202112040150.wvyJZIZO-lkp@intel.com/
> https://lore.kernel.org/r/202112261802.u9iXqdWh-lkp@intel.com/
> https://lore.kernel.org/r/202201131529.A2s7rKQc-lkp@intel.com/
> https://lore.kernel.org/r/202203090147.24cUL0De-lkp@intel.com/
> 
> Fixes: bc02973a06a6 ("arm: ioremap: Implement standard PCI function pci_remap_iospace()")
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Pali Rohár <pali@kernel.org>
> 
> ---
> 
> PING!!!! Is somebody interested in fixing these compile errors? As nobody
> answered to my emails where I proposed this fix more than half year ago and
> asked for opinion...
> 
> https://lore.kernel.org/r/20211204022131.bmhla4gkph7s7hy2@pali/
> https://lore.kernel.org/r/20211205123209.lyx76daqdwzqwex4@pali/
> https://lore.kernel.org/r/20211226215135.blcnafbuwhrq5ram@pali/
> https://lore.kernel.org/r/20220113134938.3tx7iiukphvazvsq@pali/
> https://lore.kernel.org/r/20220308184851.jmw2xvrapy5wzwof@pali/
> 
> If nobody is interested then please STOP sending me these Intel "0-DAY CI
> Kernel Test Service" emails. Thanks!
> ---
>  arch/arm/include/asm/io.h | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
> index eba7cbc93b86..47cf79229b7c 100644
> --- a/arch/arm/include/asm/io.h
> +++ b/arch/arm/include/asm/io.h
> @@ -180,10 +180,12 @@ void pci_ioremap_set_mem_type(int mem_type);
>  static inline void pci_ioremap_set_mem_type(int mem_type) {}
>  #endif
>  
> +#ifdef CONFIG_MMU
>  struct resource;
>  
>  #define pci_remap_iospace pci_remap_iospace
>  int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr);
> +#endif
>  
>  /*
>   * PCI configuration space mapping function.
> -- 
> 2.20.1
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Arnd Bergmann July 14, 2022, 8:19 p.m. UTC | #3
On Thu, Jul 14, 2022 at 8:57 PM Pali Rohár <pali@kernel.org> wrote:
>
> Custom ARM version of pci_remap_iospace() is implemented only for MMU
> kernel builds. So do not define pci_remap_iospace() without CONFIG_MMU.
>
> See compilation failures:
> https://lore.kernel.org/r/202112040150.wvyJZIZO-lkp@intel.com/
> https://lore.kernel.org/r/202112261802.u9iXqdWh-lkp@intel.com/
> https://lore.kernel.org/r/202201131529.A2s7rKQc-lkp@intel.com/
> https://lore.kernel.org/r/202203090147.24cUL0De-lkp@intel.com/
>
> Fixes: bc02973a06a6 ("arm: ioremap: Implement standard PCI function pci_remap_iospace()")
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Pali Rohár <pali@kernel.org>
>
> ---
>
> PING!!!! Is somebody interested in fixing these compile errors? As nobody
> answered to my emails where I proposed this fix more than half year ago and
> asked for opinion...
>
> https://lore.kernel.org/r/20211204022131.bmhla4gkph7s7hy2@pali/
> https://lore.kernel.org/r/20211205123209.lyx76daqdwzqwex4@pali/
> https://lore.kernel.org/r/20211226215135.blcnafbuwhrq5ram@pali/
> https://lore.kernel.org/r/20220113134938.3tx7iiukphvazvsq@pali/
> https://lore.kernel.org/r/20220308184851.jmw2xvrapy5wzwof@pali/
>

Are you sure this still happens in mainline kernels? Since
commit 2f618d5ef5dd ("ARM: remove support for NOMMU ARMv4/v5")
it should no longer be possible to disable the MMU in any Arm machines
other than the Cortex-M based ones, which do not support PCI.

         Arnd
Pali Rohár July 15, 2022, 8:01 a.m. UTC | #4
On Thursday 14 July 2022 22:19:51 Arnd Bergmann wrote:
> On Thu, Jul 14, 2022 at 8:57 PM Pali Rohár <pali@kernel.org> wrote:
> >
> > Custom ARM version of pci_remap_iospace() is implemented only for MMU
> > kernel builds. So do not define pci_remap_iospace() without CONFIG_MMU.
> >
> > See compilation failures:
> > https://lore.kernel.org/r/202112040150.wvyJZIZO-lkp@intel.com/
> > https://lore.kernel.org/r/202112261802.u9iXqdWh-lkp@intel.com/
> > https://lore.kernel.org/r/202201131529.A2s7rKQc-lkp@intel.com/
> > https://lore.kernel.org/r/202203090147.24cUL0De-lkp@intel.com/
> >
> > Fixes: bc02973a06a6 ("arm: ioremap: Implement standard PCI function pci_remap_iospace()")
> > Reported-by: kernel test robot <lkp@intel.com>
> > Signed-off-by: Pali Rohár <pali@kernel.org>
> >
> > ---
> >
> > PING!!!! Is somebody interested in fixing these compile errors? As nobody
> > answered to my emails where I proposed this fix more than half year ago and
> > asked for opinion...
> >
> > https://lore.kernel.org/r/20211204022131.bmhla4gkph7s7hy2@pali/
> > https://lore.kernel.org/r/20211205123209.lyx76daqdwzqwex4@pali/
> > https://lore.kernel.org/r/20211226215135.blcnafbuwhrq5ram@pali/
> > https://lore.kernel.org/r/20220113134938.3tx7iiukphvazvsq@pali/
> > https://lore.kernel.org/r/20220308184851.jmw2xvrapy5wzwof@pali/
> >
> 
> Are you sure this still happens in mainline kernels? Since
> commit 2f618d5ef5dd ("ARM: remove support for NOMMU ARMv4/v5")
> it should no longer be possible to disable the MMU in any Arm machines
> other than the Cortex-M based ones, which do not support PCI.
> 
>          Arnd

I do not know, it it bot who is complaining.
Pali Rohár July 15, 2022, 8:02 a.m. UTC | #5
On Thursday 14 July 2022 20:48:15 Russell King (Oracle) wrote:
> On Thu, Jul 14, 2022 at 08:57:00PM +0200, Pali Rohár wrote:
> > Custom ARM version of pci_remap_iospace() is implemented only for MMU
> > kernel builds. So do not define pci_remap_iospace() without CONFIG_MMU.
> > 
> > See compilation failures:
> > https://lore.kernel.org/r/202112040150.wvyJZIZO-lkp@intel.com/
> > https://lore.kernel.org/r/202112261802.u9iXqdWh-lkp@intel.com/
> > https://lore.kernel.org/r/202201131529.A2s7rKQc-lkp@intel.com/
> > https://lore.kernel.org/r/202203090147.24cUL0De-lkp@intel.com/
> > 
> > Fixes: bc02973a06a6 ("arm: ioremap: Implement standard PCI function pci_remap_iospace()")
> > Reported-by: kernel test robot <lkp@intel.com>
> > Signed-off-by: Pali Rohár <pali@kernel.org>
> > 
> > ---
> > 
> > PING!!!! Is somebody interested in fixing these compile errors? As nobody
> > answered to my emails where I proposed this fix more than half year ago and
> > asked for opinion...
> > 
> > https://lore.kernel.org/r/20211204022131.bmhla4gkph7s7hy2@pali/
> > https://lore.kernel.org/r/20211205123209.lyx76daqdwzqwex4@pali/
> > https://lore.kernel.org/r/20211226215135.blcnafbuwhrq5ram@pali/
> > https://lore.kernel.org/r/20220113134938.3tx7iiukphvazvsq@pali/
> > https://lore.kernel.org/r/20220308184851.jmw2xvrapy5wzwof@pali/
> > 
> > If nobody is interested then please STOP sending me these Intel "0-DAY CI
> > Kernel Test Service" emails. Thanks!
> 
> It needs to be sent to the patch system to be merged, which has been
> the process with 32-bit ARM for getting on the last quarter of a
> century.
> 
> Thanks.
> 
> -- 
> RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

I do not need this patch. It is bot who is complaining. So if you do
neither, then please STOP sending me these emails.
Pali Rohár July 15, 2022, 8:04 a.m. UTC | #6
On Thursday 14 July 2022 15:04:43 Bjorn Helgaas wrote:
> [+cc linux-pci, update Lorenzo's email addr]
> 
> Hi Pali,
> 
> Thanks for cc'ing me.  I think your previous notes didn't include
> linux-pci or me, so I missed them.

https://lore.kernel.org/r/20211205123209.lyx76daqdwzqwex4@pali/

> It looks like bc02973a06a6 was merged via the PCI tree for v5.17 [1],
> so we should probably merge the fix the same way.
> 
> Russell, let me know if you object.  Otherwise, I put it on pci/misc
> for v5.20.
> 
> [1] https://lore.kernel.org/r/20220114155608.GA557997@bhelgaas
> 
> On Thu, Jul 14, 2022 at 08:57:00PM +0200, Pali Rohár wrote:
> > Custom ARM version of pci_remap_iospace() is implemented only for MMU
> > kernel builds. So do not define pci_remap_iospace() without CONFIG_MMU.
> >
> > See compilation failures:
> > https://lore.kernel.org/r/202112040150.wvyJZIZO-lkp@intel.com/
> > https://lore.kernel.org/r/202112261802.u9iXqdWh-lkp@intel.com/
> > https://lore.kernel.org/r/202201131529.A2s7rKQc-lkp@intel.com/
> > https://lore.kernel.org/r/202203090147.24cUL0De-lkp@intel.com/
> > 
> > Fixes: bc02973a06a6 ("arm: ioremap: Implement standard PCI function pci_remap_iospace()")
> > Reported-by: kernel test robot <lkp@intel.com>
> > Signed-off-by: Pali Rohár <pali@kernel.org>
> > 
> > ---
> > 
> > PING!!!! Is somebody interested in fixing these compile errors? As nobody
> > answered to my emails where I proposed this fix more than half year ago and
> > asked for opinion...
> > 
> > https://lore.kernel.org/r/20211204022131.bmhla4gkph7s7hy2@pali/
> > https://lore.kernel.org/r/20211205123209.lyx76daqdwzqwex4@pali/
> > https://lore.kernel.org/r/20211226215135.blcnafbuwhrq5ram@pali/
> > https://lore.kernel.org/r/20220113134938.3tx7iiukphvazvsq@pali/
> > https://lore.kernel.org/r/20220308184851.jmw2xvrapy5wzwof@pali/
> > 
> > If nobody is interested then please STOP sending me these Intel "0-DAY CI
> > Kernel Test Service" emails. Thanks!
> > ---
> >  arch/arm/include/asm/io.h | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
> > index eba7cbc93b86..47cf79229b7c 100644
> > --- a/arch/arm/include/asm/io.h
> > +++ b/arch/arm/include/asm/io.h
> > @@ -180,10 +180,12 @@ void pci_ioremap_set_mem_type(int mem_type);
> >  static inline void pci_ioremap_set_mem_type(int mem_type) {}
> >  #endif
> >  
> > +#ifdef CONFIG_MMU
> >  struct resource;
> >  
> >  #define pci_remap_iospace pci_remap_iospace
> >  int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr);
> > +#endif
> >  
> >  /*
> >   * PCI configuration space mapping function.
> > -- 
> > 2.20.1
> > 
> > 
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel@lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Bjorn Helgaas July 15, 2022, 4:39 p.m. UTC | #7
On Fri, Jul 15, 2022 at 10:04:12AM +0200, Pali Rohár wrote:
> On Thursday 14 July 2022 15:04:43 Bjorn Helgaas wrote:
> > [+cc linux-pci, update Lorenzo's email addr]
> > 
> > Hi Pali,
> > 
> > Thanks for cc'ing me.  I think your previous notes didn't include
> > linux-pci or me, so I missed them.
> 
> https://lore.kernel.org/r/20211205123209.lyx76daqdwzqwex4@pali/

Sorry I missed it!
Bjorn Helgaas July 15, 2022, 4:48 p.m. UTC | #8
On Thu, Jul 14, 2022 at 10:19:51PM +0200, Arnd Bergmann wrote:
> On Thu, Jul 14, 2022 at 8:57 PM Pali Rohár <pali@kernel.org> wrote:
> > Custom ARM version of pci_remap_iospace() is implemented only for MMU
> > kernel builds. So do not define pci_remap_iospace() without CONFIG_MMU.
> >
> > See compilation failures:
> > https://lore.kernel.org/r/202112040150.wvyJZIZO-lkp@intel.com/
> > https://lore.kernel.org/r/202112261802.u9iXqdWh-lkp@intel.com/
> > https://lore.kernel.org/r/202201131529.A2s7rKQc-lkp@intel.com/
> > https://lore.kernel.org/r/202203090147.24cUL0De-lkp@intel.com/
> >
> > Fixes: bc02973a06a6 ("arm: ioremap: Implement standard PCI function pci_remap_iospace()")
> > Reported-by: kernel test robot <lkp@intel.com>
> > Signed-off-by: Pali Rohár <pali@kernel.org>
> >
> > ---
> >
> > PING!!!! Is somebody interested in fixing these compile errors? As nobody
> > answered to my emails where I proposed this fix more than half year ago and
> > asked for opinion...
> >
> > https://lore.kernel.org/r/20211204022131.bmhla4gkph7s7hy2@pali/
> > https://lore.kernel.org/r/20211205123209.lyx76daqdwzqwex4@pali/
> > https://lore.kernel.org/r/20211226215135.blcnafbuwhrq5ram@pali/
> > https://lore.kernel.org/r/20220113134938.3tx7iiukphvazvsq@pali/
> > https://lore.kernel.org/r/20220308184851.jmw2xvrapy5wzwof@pali/
> 
> Are you sure this still happens in mainline kernels? Since
> commit 2f618d5ef5dd ("ARM: remove support for NOMMU ARMv4/v5")
> it should no longer be possible to disable the MMU in any Arm machines
> other than the Cortex-M based ones, which do not support PCI.

I don't know whether it happens in mainline kernels either.

But even if the 2f618d5ef5dd Kconfiggery makes MMU mostly obsolete for
Arm, it seems a little weird that io.h unconditionally promises an
arch-specific implementation of pci_remap_iospace(), but we only
provide it when CONFIG_MMU=y.

It seems like it'd be a little cleaner if the same condition
determined visibility of both the declaration and the definition.

Bjorn
Russell King (Oracle) July 15, 2022, 4:57 p.m. UTC | #9
On Fri, Jul 15, 2022 at 10:02:52AM +0200, Pali Rohár wrote:
> On Thursday 14 July 2022 20:48:15 Russell King (Oracle) wrote:
> > On Thu, Jul 14, 2022 at 08:57:00PM +0200, Pali Rohár wrote:
> > > Custom ARM version of pci_remap_iospace() is implemented only for MMU
> > > kernel builds. So do not define pci_remap_iospace() without CONFIG_MMU.
> > > 
> > > See compilation failures:
> > > https://lore.kernel.org/r/202112040150.wvyJZIZO-lkp@intel.com/
> > > https://lore.kernel.org/r/202112261802.u9iXqdWh-lkp@intel.com/
> > > https://lore.kernel.org/r/202201131529.A2s7rKQc-lkp@intel.com/
> > > https://lore.kernel.org/r/202203090147.24cUL0De-lkp@intel.com/
> > > 
> > > Fixes: bc02973a06a6 ("arm: ioremap: Implement standard PCI function pci_remap_iospace()")
> > > Reported-by: kernel test robot <lkp@intel.com>
> > > Signed-off-by: Pali Rohár <pali@kernel.org>
> > > 
> > > ---
> > > 
> > > PING!!!! Is somebody interested in fixing these compile errors? As nobody
> > > answered to my emails where I proposed this fix more than half year ago and
> > > asked for opinion...
> > > 
> > > https://lore.kernel.org/r/20211204022131.bmhla4gkph7s7hy2@pali/
> > > https://lore.kernel.org/r/20211205123209.lyx76daqdwzqwex4@pali/
> > > https://lore.kernel.org/r/20211226215135.blcnafbuwhrq5ram@pali/
> > > https://lore.kernel.org/r/20220113134938.3tx7iiukphvazvsq@pali/
> > > https://lore.kernel.org/r/20220308184851.jmw2xvrapy5wzwof@pali/
> > > 
> > > If nobody is interested then please STOP sending me these Intel "0-DAY CI
> > > Kernel Test Service" emails. Thanks!
> > 
> > It needs to be sent to the patch system to be merged, which has been
> > the process with 32-bit ARM for getting on the last quarter of a
> > century.
> > 
> > Thanks.
> > 
> > -- 
> > RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
> > FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!
> 
> I do not need this patch. It is bot who is complaining. So if you do
> neither, then please STOP sending me these emails.

I don't need the patch, but I'm not sending you those emails.
diff mbox series

Patch

diff --git a/arch/arm/include/asm/io.h b/arch/arm/include/asm/io.h
index eba7cbc93b86..47cf79229b7c 100644
--- a/arch/arm/include/asm/io.h
+++ b/arch/arm/include/asm/io.h
@@ -180,10 +180,12 @@  void pci_ioremap_set_mem_type(int mem_type);
 static inline void pci_ioremap_set_mem_type(int mem_type) {}
 #endif
 
+#ifdef CONFIG_MMU
 struct resource;
 
 #define pci_remap_iospace pci_remap_iospace
 int pci_remap_iospace(const struct resource *res, phys_addr_t phys_addr);
+#endif
 
 /*
  * PCI configuration space mapping function.