2023-05-06 11:28:32

by Baoquan He

[permalink] [raw]
Subject: [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'

Signed-off-by: Baoquan He <[email protected]>
Reviewed-by: Niklas Schnelle <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
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(+)

diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
index 44c16508ef14..5681b610e954 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


2023-05-06 15:32:49

by Linus Walleij

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

On Sat, May 6, 2023 at 1:16 PM Baoquan He <[email protected]> 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'
>
> Signed-off-by: Baoquan He <[email protected]>
> Reviewed-by: Niklas Schnelle <[email protected]>
> Acked-by: Arnd Bergmann <[email protected]>
> 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]>

Reviewed-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij