All of lore.kernel.org
 help / color / mirror / Atom feed
From: Baoquan He <bhe@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: akpm@linux-foundation.org, linux-mm@kvack.org,
	schnelle@linux.ibm.com, vkoul@kernel.org, eli.billauer@gmail.com,
	arnd@arndb.de, gregkh@linuxfoundation.org, derek.kiernan@amd.com,
	dragan.cvetic@amd.com, linux@dominikbrodowski.net,
	Jonathan.Cameron@huawei.com, linus.walleij@linaro.org,
	tsbogend@alpha.franken.de, joyce.ooi@intel.com,
	davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
	pabeni@redhat.com, tglx@linutronix.de, maz@kernel.org,
	mturquette@baylibre.com, sboyd@kernel.org, robh+dt@kernel.org,
	frowand.list@gmail.com, Baoquan He <bhe@redhat.com>,
	kernel test robot <lkp@intel.com>,
	devicetree@vger.kernel.org
Subject: [PATCH 8/8] of: make OF_EARLY_FLATTREE depend on HAS_IOMEM
Date: Fri,  7 Jul 2023 21:58:52 +0800	[thread overview]
Message-ID: <20230707135852.24292-9-bhe@redhat.com> (raw)
In-Reply-To: <20230707135852.24292-1-bhe@redhat.com>

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

So, enabling OF_EARLY_FLATTREE will select DMA_DECLARE_COHERENT
and cause above building errors even though they are not needed
because CONFIG_PCI is disabled.

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

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202306211329.ticOJCSv-lkp@intel.com/
Signed-off-by: Baoquan He <bhe@redhat.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>
Cc: devicetree@vger.kernel.org
---
 drivers/of/Kconfig | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
index e40f10bf2ba4..da9826accb1b 100644
--- a/drivers/of/Kconfig
+++ b/drivers/of/Kconfig
@@ -55,7 +55,7 @@ config OF_FLATTREE
 
 config OF_EARLY_FLATTREE
 	bool
-	select DMA_DECLARE_COHERENT if HAS_DMA
+	select DMA_DECLARE_COHERENT if HAS_DMA && HAS_IOMEM
 	select OF_FLATTREE
 
 config OF_PROMTREE
-- 
2.34.1


  parent reply	other threads:[~2023-07-07 14:02 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-07 13:58 [PATCH 0/8] Make several Kconfig options depend on HAS_IOMEM Baoquan He
2023-07-07 13:58 ` [PATCH 1/8] idmaengine: make FSL_EDMA and INTEL_IDMA64 depends " Baoquan He
2023-07-07 13:58 ` [PATCH 2/8] char: xillybus: make XILLYBUS_OF depend " Baoquan He
2023-07-08  6:00   ` Eli Billauer
2023-07-07 13:58 ` [PATCH 3/8] misc: open-dice: make OPEN_DICE " Baoquan He
2023-07-07 13:58 ` [PATCH 4/8] pcmcia : make PCMCIA " Baoquan He
2023-07-07 13:58 ` [PATCH 5/8] net: altera-tse: make ALTERA_TSE " Baoquan He
2023-07-11 17:17   ` Simon Horman
2023-07-12  0:46     ` Baoquan He
2023-07-07 13:58 ` [PATCH 6/8] irqchip/al-fic: make AL_FIC " Baoquan He
2023-07-07 13:58 ` [PATCH 7/8] clk: fixed-mmio: make COMMON_CLK_FIXED_MMIO " Baoquan He
2023-07-19 21:51   ` Stephen Boyd
2023-07-07 13:58 ` Baoquan He [this message]
2023-07-10 14:54   ` [PATCH 8/8] of: make OF_EARLY_FLATTREE " Rob Herring
2023-07-11 16:43 ` (subset) [PATCH 0/8] Make several Kconfig options " Vinod Koul

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20230707135852.24292-9-bhe@redhat.com \
    --to=bhe@redhat.com \
    --cc=Jonathan.Cameron@huawei.com \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=davem@davemloft.net \
    --cc=derek.kiernan@amd.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dragan.cvetic@amd.com \
    --cc=edumazet@google.com \
    --cc=eli.billauer@gmail.com \
    --cc=frowand.list@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=joyce.ooi@intel.com \
    --cc=kuba@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux@dominikbrodowski.net \
    --cc=lkp@intel.com \
    --cc=maz@kernel.org \
    --cc=mturquette@baylibre.com \
    --cc=pabeni@redhat.com \
    --cc=robh+dt@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=schnelle@linux.ibm.com \
    --cc=tglx@linutronix.de \
    --cc=tsbogend@alpha.franken.de \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.