• Baoquan He's avatar
    of: make OF_EARLY_FLATTREE depend on HAS_IOMEM · 7e08baf6
    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.
    
    In LKP error report at below on s390:
    ------
    ld: kernel/dma/coherent.o: in function `dma_init_coherent_memory':
    coherent.c:(.text+0x102): undefined reference to `memremap'
    ld: coherent.c:(.text+0x226): undefined reference to `memunmap'
    ld: kernel/dma/coherent.o: in function `dma_declare_coherent_memory':
    coherent.c:(.text+0x8b8): undefined reference to `memunmap'
    ld: kernel/dma/coherent.o: in function `dma_release_coherent_memory':
    coherent.c:(.text+0x9aa): undefined reference to `memunmap'
    ------
    
    In the config file, several Kconfig options are:
    ------
    '# CONFIG_PCI is not set'
    CONFIG_OF_EARLY_FLATTREE=y
    CONFIG_DMA_DECLARE_COHERENT=...
    7e08baf6
Kconfig 2.72 KB