On 07/06/2021 16:19, Thierry Reding wrote: > On Mon, Jun 07, 2021 at 05:01:02PM +0300, Dmitry Osipenko wrote: >> 07.06.2021 16:36, Thierry Reding пишет: >>>> /bin/ld: warning: orphan section `__reservedmem_of_table' from `drivers/memory/tegra/tegra210-emc-table.o' being placed in section `__reservedmem_of_table' >>>> /bin/ld: drivers/memory/tegra/mc.o: in function `tegra_mc_probe': >>>> mc.c:(.text+0x87a): undefined reference to `reset_controller_register' >>>> make[1]: *** [/home/buildbot/worker/builddir/build/Makefile:1191: vmlinux] Error 1 >> ... >> >>> Not sure what to do about that orphaned __reservedmem_of_table section. >>> Maybe all we need to do is to select OF_RESERVED_MEM from >>> TEGRA210_EMC_TABLE? >> >> Select won't work easily, but the dependency for TEGRA210_EMC should. > > Select works if I also select OF_EARLY_FLATTREE. That's slightly odd > because typically that's something that the platform would select, but > there's precedent for doing this in drivers/clk/x86/Kconfig, so I think > it'd be fine. > > The attached patch resolves both of the above issues for me. > > Krzysztof: do you want to squash that into the problematic patch or do > you want me to send this as a follow-up patch for you to apply? I guess > the latter since you've already sent out the PR for Will and ARM SoC? Follow up, please, but I am not sure about selecting reset controller. >From the tegra/mc.c code I see it can be optional - if "reset_ops" is provided. Therefore I think: 1. Reset controller should provide proper stubs. This will fix building of mc.c when reset controller is not chosen (regardless of point #2 below). 2. Specific drivers should depend on it. Selecting user-visible symbols is rather discourage because might lead to circular dependencies. Best regards, Krzysztof