mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-12 05:48:40 +00:00
![]() The new of_get_nvmem_mac_address() helper function causes a link error
with CONFIG_NVMEM=m:
drivers/of/of_net.o: In function `of_get_nvmem_mac_address':
of_net.c:(.text+0x168): undefined reference to `of_nvmem_cell_get'
of_net.c:(.text+0x19c): undefined reference to `nvmem_cell_read'
of_net.c:(.text+0x1a8): undefined reference to `nvmem_cell_put'
I could not come up with a good solution for this, as the code is always
built-in. Using an #if IS_REACHABLE() check around it would solve the
link time issue but then stop it from working in that configuration.
Making of_nvmem_cell_get() an inline function could also solve that, but
seems a bit ugly since it's somewhat larger than most inline functions,
and it would just bring that problem into the callers. Splitting the
function into a separate file might be an alternative.
This uses the big hammer by making CONFIG_NVMEM itself a 'bool' symbol,
which avoids the problem entirely but makes the vmlinux larger for anyone
that might use NVMEM support but doesn't need it built-in otherwise.
Fixes:
|
||
---|---|---|
.. | ||
bcm-ocotp.c | ||
core.c | ||
imx-iim.c | ||
imx-ocotp.c | ||
Kconfig | ||
lpc18xx_eeprom.c | ||
lpc18xx_otp.c | ||
Makefile | ||
meson-efuse.c | ||
meson-mx-efuse.c | ||
mtk-efuse.c | ||
mxs-ocotp.c | ||
qfprom.c | ||
rockchip-efuse.c | ||
snvs_lpgpr.c | ||
sunxi_sid.c | ||
uniphier-efuse.c | ||
vf610-ocotp.c |