mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Randy Dunlap <rdunlap@infradead.org>
To: Rob Herring <robh@kernel.org>,
	devicetree@vger.kernel.org, Frank Rowand <frowand.list@gmail.com>
Cc: linux-kernel@vger.kernel.org, Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH] of: Drop reserved mem dependency on DMA_DECLARE_COHERENT and DMA_CMA
Date: Fri, 28 May 2021 15:09:01 -0700	[thread overview]
Message-ID: <e477c3a3-5180-8a5c-7b1d-d429e45d7dc5@infradead.org> (raw)
In-Reply-To: <20210527223217.1572631-1-robh@kernel.org>

On 5/27/21 3:32 PM, Rob Herring wrote:
> Reserved memory regions can be used for more than just DMA regions, so
> only enabling on DMA_DECLARE_COHERENT (via HAS_DMA) or DMA_CMA is wrong.
> This effectively doesn't matter except for the few cases arches select
> NO_DMA.
> 
> At least, these users of RESERVEDMEM_OF_DECLARE depend on reserved memory
> support:
> 
> arch/riscv/mm/init.c:RESERVEDMEM_OF_DECLARE(elfcorehdr, "linux,elfcorehdr", elfcore_hdr_setup);
> drivers/memory/tegra/tegra210-emc-table.c:RESERVEDMEM_OF_DECLARE(tegra210_emc_table, "nvidia,tegra210-emc-table",
> drivers/soc/fsl/qbman/bman_ccsr.c:RESERVEDMEM_OF_DECLARE(bman_fbpr, "fsl,bman-fbpr", bman_fbpr);
> drivers/soc/fsl/qbman/qman_ccsr.c:RESERVEDMEM_OF_DECLARE(qman_fqd, "fsl,qman-fqd", qman_fqd);
> drivers/soc/fsl/qbman/qman_ccsr.c:RESERVEDMEM_OF_DECLARE(qman_pfdr, "fsl,qman-pfdr", qman_pfdr);
> 
> Let's simplify things and enable OF_RESERVED_MEM when OF_EARLY_FLATTREE is
> enabled.
> 
> Cc: Christoph Hellwig <hch@lst.de>
> Signed-off-by: Rob Herring <robh@kernel.org>

Hi Rob,

I'm OK with this patch, but with or without this patch,
compiling kernel/dma/coherent.c without HAS_IOMEM (!)
has build errors:

s390-linux-ld: kernel/dma/coherent.o: in function `dma_init_coherent_memory':
coherent.c:(.text+0x5ae): undefined reference to `memremap'
s390-linux-ld: coherent.c:(.text+0x7a4): undefined reference to `memunmap'
s390-linux-ld: kernel/dma/coherent.o: in function `dma_declare_coherent_memory':
coherent.c:(.text+0xd84): undefined reference to `memunmap'


along with a slew of other build errors (arch/s390/, CONFIG_PCI is not set,
CONFIG_HAS_IOMEM is not set):

s390-linux-ld: drivers/irqchip/irq-al-fic.o: in function `al_fic_init_dt':
irq-al-fic.c:(.init.text+0x6a0): undefined reference to `iounmap'
s390-linux-ld: drivers/char/xillybus/xillybus_of.o: in function `xilly_drv_probe':
xillybus_of.c:(.text+0x2c8): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/pcmcia/cistpl.o: in function `set_cis_map':
cistpl.c:(.text+0x87a): undefined reference to `ioremap'
s390-linux-ld: cistpl.c:(.text+0x99a): undefined reference to `iounmap'
s390-linux-ld: cistpl.c:(.text+0xa34): undefined reference to `iounmap'
s390-linux-ld: cistpl.c:(.text+0xaa6): undefined reference to `ioremap'
s390-linux-ld: drivers/pcmcia/cistpl.o: in function `release_cis_mem':
cistpl.c:(.text+0x2976): undefined reference to `iounmap'
s390-linux-ld: drivers/of/address.o: in function `of_iomap':
address.c:(.text+0x1f02): undefined reference to `ioremap'
s390-linux-ld: drivers/of/address.o: in function `of_io_request_and_map':
address.c:(.text+0x2030): undefined reference to `ioremap'

> ---
> This is needed to prevent build break on UML with this patch:
> 
> https://lore.kernel.org/lkml/20210527193841.1284169-1-robh@kernel.org/
> 
>  drivers/of/Kconfig | 4 +---
>  1 file changed, 1 insertion(+), 3 deletions(-)
> 
> diff --git a/drivers/of/Kconfig b/drivers/of/Kconfig
> index 18450437d5d5..3dfeae8912df 100644
> --- a/drivers/of/Kconfig
> +++ b/drivers/of/Kconfig
> @@ -75,9 +75,7 @@ config OF_NET
>  	def_bool y
>  
>  config OF_RESERVED_MEM
> -	bool
> -	depends on OF_EARLY_FLATTREE
> -	default y if DMA_DECLARE_COHERENT || DMA_CMA
> +	def_bool OF_EARLY_FLATTREE
>  
>  config OF_RESOLVE
>  	bool
> 


-- 
~Randy


  reply	other threads:[~2021-05-28 22:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-27 22:32 Rob Herring
2021-05-28 22:09 ` Randy Dunlap [this message]
2021-05-28 22:32   ` Randy Dunlap
2021-06-01 15:34     ` Rob Herring

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=e477c3a3-5180-8a5c-7b1d-d429e45d7dc5@infradead.org \
    --to=rdunlap@infradead.org \
    --cc=devicetree@vger.kernel.org \
    --cc=frowand.list@gmail.com \
    --cc=hch@lst.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®