Skip to contentSkip to conversation

Make PCMCIA and QCOM_HIDMA depend on HAS_IOMEM

PATCH RESEND In review Baoquan He 4 participants 8 messages May 6, 2023 – May 18, 2023

Subsystems (5)
lore
Share & tools
lore

Baoquan He

author
#0 lore raw

cover Make PCMCIA and QCOM_HIDMA depend on HAS_IOMEM

This is suggested by Niklas when he reviewed patches related to s390 part:
https://lore.kernel.org/all/[email protected]/T/#u

v1 link:
https://lore.kernel.org/all/[email protected]/T/#u

This resend v1 with Niklas and Arnd's ack tags added.

Baoquan He (2):
pcmcia : make PCMCIA depend on HAS_IOMEM
dmaengine: make QCOM_HIDMA depend on HAS_IOMEM

 drivers/dma/qcom/Kconfig | 1 +
 drivers/pcmcia/Kconfig   | 1 +
 2 files changed, 2 insertions(+)
Signature · 1 line
2.34.1
author
#1 lore raw

PATCH RESEND 1/2 pcmcia : make PCMCIA depend on HAS_IOMEM

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'

Cc Dominik Brodowski <[email protected]>
Cc Arnd Bergmann <[email protected]>
Cc Jonathan Cameron <[email protected]>
Cc Linus Walleij <[email protected]>
Cc Thomas Bogendoerfer <[email protected]>
---
 drivers/pcmcia/Kconfig | 1 +
 1 file changed, 1 insertion(+)
drivers/pcmcia/Kconfig +1 -0
index 44c16508ef14..5681b610e954 100644
@@ -20,6 +20,7 @@ if PCCARD
 
 config PCMCIA
 	tristate "16-bit PCMCIA support"
+	depends on HAS_IOMEM
 	select CRC32
 	default y
 	help
Signature · 1 line
2.34.1
Reviewed-by on v1 1/2
#2 lore raw

Re: [PATCH RESEND 1/2] pcmcia : make PCMCIA depend on HAS_IOMEM

Quoted 18 lines · Baoquan He

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'

Quoted 8 lines
Cc Dominik Brodowski <[email protected]>
Cc Arnd Bergmann <[email protected]>
Cc Jonathan Cameron <[email protected]>
Cc Linus Walleij <[email protected]>
Cc Thomas Bogendoerfer <[email protected]>

Yours,
Linus Walleij

author
#3 lore raw

PATCH RESEND 2/2 dmaengine: make QCOM_HIDMA depend on HAS_IOMEM

In reply to Baoquan He

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

---
 drivers/dma/qcom/Kconfig | 1 +
 1 file changed, 1 insertion(+)
drivers/dma/qcom/Kconfig +1 -0
index 3f926a653bd8..ace75d7b835a 100644
@@ -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.
Signature · 1 line
2.34.1
Reviewed-by on v1 2/2
#4 lore raw

Re: [PATCH RESEND 2/2] dmaengine: make QCOM_HIDMA depend on HAS_IOMEM

Quoted 25 lines · Baoquan He

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

Quoted 3 lines
---
 drivers/dma/qcom/Kconfig | 1 +
 1 file changed, 1 insertion(+)
Signature · 2 lines
With best wishes
Dmitry
maintainer
#5 lore raw

Re: [PATCH RESEND 2/2] dmaengine: make QCOM_HIDMA depend on HAS_IOMEM

In reply to Baoquan He
Quoted 8 lines · Baoquan He

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.

I have 2/2 patch here, where is patch 1 of 2..?

Quoted 34 lines

--------------------------------------------------------
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

---
 drivers/dma/qcom/Kconfig | 1 +
 1 file changed, 1 insertion(+)
drivers/dma/qcom/Kconfig +1 -0
index 3f926a653bd8..ace75d7b835a 100644
@@ -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.
Signature · 1 line
2.34.1
Signature · 1 line
~Vinod
author
#6 lore raw

Re: [PATCH RESEND 2/2] dmaengine: make QCOM_HIDMA depend on HAS_IOMEM

Quoted 11 lines · Vinod Koul
Quoted 8 lines · Baoquan He

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.

I have 2/2 patch here, where is patch 1 of 2..?

It's here, thanks for check.
https://lore.kernel.org/all/[email protected]/T/#u

I used get_maintainer to get reivewers list, seems your contact is only put in 2/2 patch. I also sent to lkml, linux-mm and s390 mailing list, so the whole series can be seen in any of the ML.

Thanks
Baoquan

Quoted 39 lines
Quoted 35 lines

--------------------------------------------------------
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

---
 drivers/dma/qcom/Kconfig | 1 +
 1 file changed, 1 insertion(+)
drivers/dma/qcom/Kconfig +1 -0
index 3f926a653bd8..ace75d7b835a 100644
@@ -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.
Signature · 1 line
2.34.1
Signature · 1 line
~Vinod
maintainer
#7 lore raw

Re: [PATCH RESEND 2/2] dmaengine: make QCOM_HIDMA depend on HAS_IOMEM

Quoted 11 lines · Baoquan He
Quoted 10 lines · Vinod Koul
Quoted 8 lines · Baoquan He

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.

Quoted 8 lines
Quoted 1 line

I have 2/2 patch here, where is patch 1 of 2..?

It's here, thanks for check.
https://lore.kernel.org/all/[email protected]/T/#u

I used get_maintainer to get reivewers list, seems your contact is only put in 2/2 patch. I also sent to lkml, linux-mm and s390 mailing list, so the whole series can be seen in any of the ML.

Ideally these two could have been sent separately! If sending together add a cover and cc everyone, so that we know..

Applied now

Signature · 1 line
~Vinod