Skip to content
  • Baoquan He's avatar
    acdbfa04
    pcmcia : make PCMCIA depend on HAS_IOMEM · acdbfa04
    Baoquan He authored
    
    
    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'
    ------
    
    Besides, many other Kconfig option, e.g IPWIRELESS, PCMCIA_PCNET,
    PCMCIA_FMVJ18X, PCMCIA_SMC91C92 which depends on PCMCIA also will
    cause compiling error if enabled.
    
    ------
    ERROR: modpost: "iounmap" [drivers/tty/ipwireless/ipwireless.ko] undefined!
    ERROR: modpost: "ioremap" [drivers/tty/ipwireless/ipwireless.ko] undefined!
    
    ERROR: modpost: "iounmap" [drivers/net/ethernet/8390/pcnet_cs.ko] undefined!
    ERROR: modpost: "ioremap" [drivers/net/ethernet/8390/pcnet_cs.ko] undefined!
    ERROR: modpost: "iounmap" [drivers/net/ethernet/fujitsu/fmvj18x_cs.ko] undefined!
    ERROR: modpost: "ioremap" [drivers/net/ethernet/fujitsu/fmvj18x_cs.ko] undefined!
    ERROR: modpost: "iounmap" [drivers/net/ethernet/smsc/smc91c92_cs.ko] undefined!
    ERROR: modpost: "ioremap" [drivers/net/ethernet/smsc/smc91c92_cs.ko] undefined!
    ERROR: modpost: "iounmap" [drivers/net/ethernet/xircom/xirc2ps_cs.ko] undefined!
    ERROR: modpost: "ioremap" [drivers/net/ethernet/xircom/xirc2ps_cs.ko] undefined!
    ERROR: modpost: "devm_ioremap" [drivers/net/ethernet/altera/altera_tse.ko] undefined!
    ERROR: modpost: "iounmap" [drivers/net/arcnet/com90xx.ko] undefined!
    ------
    
    Reported-by: default avatarkernel test robot <lkp@intel.com>
    Closes: https://lore.kernel.org/oe-kbuild-all/202306211329.ticOJCSv-lkp@intel.com/
    
    
    Signed-off-by: default avatarBaoquan He <bhe@redhat.com>
    Reviewed-by: default avatarNiklas Schnelle <schnelle@linux.ibm.com>
    Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
    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>
    Link: https://lore.kernel.org/r/20230707135852.24292-5-bhe@redhat.com
    
    
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    acdbfa04
    pcmcia : make PCMCIA depend on HAS_IOMEM
    Baoquan He authored
    
    
    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'
    ------
    
    Besides, many other Kconfig option, e.g IPWIRELESS, PCMCIA_PCNET,
    PCMCIA_FMVJ18X, PCMCIA_SMC91C92 which depends on PCMCIA also will
    cause compiling error if enabled.
    
    ------
    ERROR: modpost: "iounmap" [drivers/tty/ipwireless/ipwireless.ko] undefined!
    ERROR: modpost: "ioremap" [drivers/tty/ipwireless/ipwireless.ko] undefined!
    
    ERROR: modpost: "iounmap" [drivers/net/ethernet/8390/pcnet_cs.ko] undefined!
    ERROR: modpost: "ioremap" [drivers/net/ethernet/8390/pcnet_cs.ko] undefined!
    ERROR: modpost: "iounmap" [drivers/net/ethernet/fujitsu/fmvj18x_cs.ko] undefined!
    ERROR: modpost: "ioremap" [drivers/net/ethernet/fujitsu/fmvj18x_cs.ko] undefined!
    ERROR: modpost: "iounmap" [drivers/net/ethernet/smsc/smc91c92_cs.ko] undefined!
    ERROR: modpost: "ioremap" [drivers/net/ethernet/smsc/smc91c92_cs.ko] undefined!
    ERROR: modpost: "iounmap" [drivers/net/ethernet/xircom/xirc2ps_cs.ko] undefined!
    ERROR: modpost: "ioremap" [drivers/net/ethernet/xircom/xirc2ps_cs.ko] undefined!
    ERROR: modpost: "devm_ioremap" [drivers/net/ethernet/altera/altera_tse.ko] undefined!
    ERROR: modpost: "iounmap" [drivers/net/arcnet/com90xx.ko] undefined!
    ------
    
    Reported-by: default avatarkernel test robot <lkp@intel.com>
    Closes: https://lore.kernel.org/oe-kbuild-all/202306211329.ticOJCSv-lkp@intel.com/
    
    
    Signed-off-by: default avatarBaoquan He <bhe@redhat.com>
    Reviewed-by: default avatarNiklas Schnelle <schnelle@linux.ibm.com>
    Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
    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>
    Link: https://lore.kernel.org/r/20230707135852.24292-5-bhe@redhat.com
    
    
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Loading