linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] pcmcia : make PCMCIA depend on HAS_IOMEM
@ 2023-02-16  7:34 Baoquan He
  2023-02-16  7:34 ` [PATCH 2/2] dmaengine: make QCOM_HIDMA " Baoquan He
  2023-02-16  9:05 ` [PATCH 1/2] pcmcia : make PCMCIA " Niklas Schnelle
  0 siblings, 2 replies; 5+ messages in thread
From: Baoquan He @ 2023-02-16  7:34 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-mm, schnelle, linux-s390, Baoquan He, Dominik Brodowski,
	Arnd Bergmann, Jonathan Cameron, Linus Walleij,
	Thomas Bogendoerfer

On s390 systems (aka mainframes), it has classic channel devices for
networking and permanent storage that are currently even more common
than PCI devices. Hence it could have a fully functional s390 kernel
with CONFIG_PCI=n, then the relevant iomem mapping functions
[including ioremap(), devm_ioremap(), etc.] are not available.

Here let depend PCMCIA on HAS_IOMEM so that it won't be built to
cause below compiling error if PCI is unset.

-------------------------------------------------------
ld: drivers/pcmcia/cistpl.o: in function `set_cis_map':
cistpl.c:(.text+0x1202): undefined reference to `ioremap'
ld: cistpl.c:(.text+0x13b0): undefined reference to `iounmap'
ld: cistpl.c:(.text+0x14a6): undefined reference to `iounmap'
ld: cistpl.c:(.text+0x1544): undefined reference to `ioremap'
ld: drivers/pcmcia/cistpl.o: in function `release_cis_mem':
cistpl.c:(.text+0x3f14): undefined reference to `iounmap'

Link: https://lore.kernel.org/all/Y0TcaZD4nB1w+mAQ@MiWiFi-R3L-srv/T/#u
Signed-off-by: Baoquan He <bhe@redhat.com>
Cc: Dominik Brodowski <linux@dominikbrodowski.net>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
---
 drivers/pcmcia/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
index 1525023e49b6..7c412bbe8bbe 100644
--- a/drivers/pcmcia/Kconfig
+++ b/drivers/pcmcia/Kconfig
@@ -20,6 +20,7 @@ if PCCARD
 
 config PCMCIA
 	tristate "16-bit PCMCIA support"
+	depends on HAS_IOMEM
 	select CRC32
 	default y
 	help
-- 
2.34.1



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 2/2] dmaengine: make QCOM_HIDMA depend on HAS_IOMEM
  2023-02-16  7:34 [PATCH 1/2] pcmcia : make PCMCIA depend on HAS_IOMEM Baoquan He
@ 2023-02-16  7:34 ` Baoquan He
  2023-02-16  9:06   ` Niklas Schnelle
  2023-02-16  9:05 ` [PATCH 1/2] pcmcia : make PCMCIA " Niklas Schnelle
  1 sibling, 1 reply; 5+ messages in thread
From: Baoquan He @ 2023-02-16  7:34 UTC (permalink / raw)
  To: linux-kernel
  Cc: linux-mm, schnelle, linux-s390, Baoquan He, Andy Gross,
	Bjorn Andersson, Konrad Dybcio, Vinod Koul, linux-arm-msm,
	dmaengine

On s390 systems (aka mainframes), it has classic channel devices for
networking and permanent storage that are currently even more common
than PCI devices. Hence it could have a fully functional s390 kernel
with CONFIG_PCI=n, then the relevant iomem mapping functions
[including ioremap(), devm_ioremap(), etc.] are not available.

Here let QCOM_HIDMA depend on HAS_IOMEM so that it won't be built to
cause below compiling error if PCI is unset.

--------------------------------------------------------
ld: drivers/dma/qcom/hidma.o: in function `hidma_probe':
hidma.c:(.text+0x4b46): undefined reference to `devm_ioremap_resource'
ld: hidma.c:(.text+0x4b9e): undefined reference to `devm_ioremap_resource'
make[1]: *** [scripts/Makefile.vmlinux:35: vmlinux] Error 1
make: *** [Makefile:1264: vmlinux] Error 2

Link: https://lore.kernel.org/all/Y0TcaZD4nB1w+mAQ@MiWiFi-R3L-srv/T/#u
Signed-off-by: Baoquan He <bhe@redhat.com>
Cc: Andy Gross <agross@kernel.org>
Cc: Bjorn Andersson <andersson@kernel.org>
Cc: Konrad Dybcio <konrad.dybcio@linaro.org>
Cc: Vinod Koul <vkoul@kernel.org>
Cc: linux-arm-msm@vger.kernel.org
Cc: dmaengine@vger.kernel.org
---
 drivers/dma/qcom/Kconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/dma/qcom/Kconfig b/drivers/dma/qcom/Kconfig
index 3f926a653bd8..ace75d7b835a 100644
--- a/drivers/dma/qcom/Kconfig
+++ b/drivers/dma/qcom/Kconfig
@@ -45,6 +45,7 @@ config QCOM_HIDMA_MGMT
 
 config QCOM_HIDMA
 	tristate "Qualcomm Technologies HIDMA Channel support"
+	depends on HAS_IOMEM
 	select DMA_ENGINE
 	help
 	  Enable support for the Qualcomm Technologies HIDMA controller.
-- 
2.34.1



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] pcmcia : make PCMCIA depend on HAS_IOMEM
  2023-02-16  7:34 [PATCH 1/2] pcmcia : make PCMCIA depend on HAS_IOMEM Baoquan He
  2023-02-16  7:34 ` [PATCH 2/2] dmaengine: make QCOM_HIDMA " Baoquan He
@ 2023-02-16  9:05 ` Niklas Schnelle
  2023-02-16  9:37   ` Arnd Bergmann
  1 sibling, 1 reply; 5+ messages in thread
From: Niklas Schnelle @ 2023-02-16  9:05 UTC (permalink / raw)
  To: Baoquan He, linux-kernel
  Cc: linux-mm, linux-s390, Dominik Brodowski, Arnd Bergmann,
	Jonathan Cameron, Linus Walleij, Thomas Bogendoerfer

On Thu, 2023-02-16 at 15:34 +0800, Baoquan He wrote:
> On s390 systems (aka mainframes), it has classic channel devices for
> networking and permanent storage that are currently even more common
> than PCI devices. Hence it could have a fully functional s390 kernel
> with CONFIG_PCI=n, then the relevant iomem mapping functions
> [including ioremap(), devm_ioremap(), etc.] are not available.
> 
> Here let depend PCMCIA on HAS_IOMEM so that it won't be built to
> cause below compiling error if PCI is unset.
> 
> -------------------------------------------------------
> ld: drivers/pcmcia/cistpl.o: in function `set_cis_map':
> cistpl.c:(.text+0x1202): undefined reference to `ioremap'
> ld: cistpl.c:(.text+0x13b0): undefined reference to `iounmap'
> ld: cistpl.c:(.text+0x14a6): undefined reference to `iounmap'
> ld: cistpl.c:(.text+0x1544): undefined reference to `ioremap'
> ld: drivers/pcmcia/cistpl.o: in function `release_cis_mem':
> cistpl.c:(.text+0x3f14): undefined reference to `iounmap'
> 
> Link: https://lore.kernel.org/all/Y0TcaZD4nB1w+mAQ@MiWiFi-R3L-srv/T/#u
> Signed-off-by: Baoquan He <bhe@redhat.com>
> Cc: Dominik Brodowski <linux@dominikbrodowski.net>
> Cc: Arnd Bergmann <arnd@arndb.de>
> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> ---
>  drivers/pcmcia/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
> index 1525023e49b6..7c412bbe8bbe 100644
> --- a/drivers/pcmcia/Kconfig
> +++ b/drivers/pcmcia/Kconfig
> @@ -20,6 +20,7 @@ if PCCARD
>  
>  config PCMCIA
>  	tristate "16-bit PCMCIA support"
> +	depends on HAS_IOMEM
>  	select CRC32
>  	default y
>  	help

Not sure how many PCMCIA drivers only use I/O memory but not I/O ports
the latter of which are badly stubbed out on s390, though at leat they
compile. I have a series on that part that I intend to send a new
version for soon™. That said yes this does solve the compilation issue
and there could be drivers which rely only on I/O memory and are not
broken in principle.

Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 2/2] dmaengine: make QCOM_HIDMA depend on HAS_IOMEM
  2023-02-16  7:34 ` [PATCH 2/2] dmaengine: make QCOM_HIDMA " Baoquan He
@ 2023-02-16  9:06   ` Niklas Schnelle
  0 siblings, 0 replies; 5+ messages in thread
From: Niklas Schnelle @ 2023-02-16  9:06 UTC (permalink / raw)
  To: Baoquan He, linux-kernel
  Cc: linux-mm, linux-s390, Andy Gross, Bjorn Andersson, Konrad Dybcio,
	Vinod Koul, linux-arm-msm, dmaengine

On Thu, 2023-02-16 at 15:34 +0800, Baoquan He wrote:
> On s390 systems (aka mainframes), it has classic channel devices for
> networking and permanent storage that are currently even more common
> than PCI devices. Hence it could have a fully functional s390 kernel
> with CONFIG_PCI=n, then the relevant iomem mapping functions
> [including ioremap(), devm_ioremap(), etc.] are not available.
> 
> Here let QCOM_HIDMA depend on HAS_IOMEM so that it won't be built to
> cause below compiling error if PCI is unset.
> 
> --------------------------------------------------------
> ld: drivers/dma/qcom/hidma.o: in function `hidma_probe':
> hidma.c:(.text+0x4b46): undefined reference to `devm_ioremap_resource'
> ld: hidma.c:(.text+0x4b9e): undefined reference to `devm_ioremap_resource'
> make[1]: *** [scripts/Makefile.vmlinux:35: vmlinux] Error 1
> make: *** [Makefile:1264: vmlinux] Error 2
> 
> Link: https://lore.kernel.org/all/Y0TcaZD4nB1w+mAQ@MiWiFi-R3L-srv/T/#u
> Signed-off-by: Baoquan He <bhe@redhat.com>
> Cc: Andy Gross <agross@kernel.org>
> Cc: Bjorn Andersson <andersson@kernel.org>
> Cc: Konrad Dybcio <konrad.dybcio@linaro.org>
> Cc: Vinod Koul <vkoul@kernel.org>
> Cc: linux-arm-msm@vger.kernel.org
> Cc: dmaengine@vger.kernel.org
> ---
>  drivers/dma/qcom/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/dma/qcom/Kconfig b/drivers/dma/qcom/Kconfig
> index 3f926a653bd8..ace75d7b835a 100644
> --- a/drivers/dma/qcom/Kconfig
> +++ b/drivers/dma/qcom/Kconfig
> @@ -45,6 +45,7 @@ config QCOM_HIDMA_MGMT
>  
>  config QCOM_HIDMA
>  	tristate "Qualcomm Technologies HIDMA Channel support"
> +	depends on HAS_IOMEM
>  	select DMA_ENGINE
>  	help
>  	  Enable support for the Qualcomm Technologies HIDMA controller.

Thanks for the patch!

Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com?



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] pcmcia : make PCMCIA depend on HAS_IOMEM
  2023-02-16  9:05 ` [PATCH 1/2] pcmcia : make PCMCIA " Niklas Schnelle
@ 2023-02-16  9:37   ` Arnd Bergmann
  0 siblings, 0 replies; 5+ messages in thread
From: Arnd Bergmann @ 2023-02-16  9:37 UTC (permalink / raw)
  To: Niklas Schnelle, Baoquan He, linux-kernel
  Cc: linux-mm, linux-s390, Dominik Brodowski, Jonathan Cameron,
	Linus Walleij, Thomas Bogendoerfer

On Thu, Feb 16, 2023, at 10:05, Niklas Schnelle wrote:
> On Thu, 2023-02-16 at 15:34 +0800, Baoquan He wrote:
>> diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
>> index 1525023e49b6..7c412bbe8bbe 100644
>> --- a/drivers/pcmcia/Kconfig
>> +++ b/drivers/pcmcia/Kconfig
>> @@ -20,6 +20,7 @@ if PCCARD
>>  
>>  config PCMCIA
>>  	tristate "16-bit PCMCIA support"
>> +	depends on HAS_IOMEM
>>  	select CRC32
>>  	default y
>>  	help
>
> Not sure how many PCMCIA drivers only use I/O memory but not I/O ports
> the latter of which are badly stubbed out on s390, though at leat they
> compile. I have a series on that part that I intend to send a new
> version for soon™. That said yes this does solve the compilation issue
> and there could be drivers which rely only on I/O memory and are not
> broken in principle.

There are no platforms that have I/O ports but don't set HAS_IOMEM, so it
doesn't really matter.

> Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com>

Acked-by: Arnd Bergmann <arnd@arndb.de>


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-02-16  9:37 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-16  7:34 [PATCH 1/2] pcmcia : make PCMCIA depend on HAS_IOMEM Baoquan He
2023-02-16  7:34 ` [PATCH 2/2] dmaengine: make QCOM_HIDMA " Baoquan He
2023-02-16  9:06   ` Niklas Schnelle
2023-02-16  9:05 ` [PATCH 1/2] pcmcia : make PCMCIA " Niklas Schnelle
2023-02-16  9:37   ` Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox