[PATCH v2] firmware: meson: sm: add stub functions when CONFIG_MESON_SM is disabled
Daniel Lezcano
daniel.lezcano at oss.qualcomm.com
Sun May 31 01:41:33 PDT 2026
On 5/31/26 09:51, Ronald Claveau via B4 Relay wrote:
> From: Ronald Claveau <linux-kernel-dev at aliel.fr>
>
> After merging the thermal tree, linux-next build (arm_multi_v7
> defconfig) failed like this:
>
> arm-linux-gnueabihf-ld: drivers/thermal/amlogic_thermal.o: in function `amlogic_thermal_probe_sm':
> /tmp/next/build/drivers/thermal/amlogic_thermal.c:196:(.text+0x2f4): undefined reference to `meson_sm_get'
> arm-linux-gnueabihf-ld: /tmp/next/build/drivers/thermal/amlogic_thermal.c:205:(.text+0x320): undefined reference to `meson_sm_get_thermal_calib'
>
> Add inline stub implementations of meson_sm_get() and
> meson_sm_get_thermal_calib() behind an #else guard so that drivers
> including this header can be compiled without CONFIG_MESON_SM .
>
> Fixes: b21d88de6918 ("thermal/drivers/amlogic: Add support for secure monitor calibration readout")
> Closes: https://lore.kernel.org/oe-kbuild-all/202605291530.en7aGn7w-lkp@intel.com/
> Reported-by: Mark Brown <broonie at kernel.org>
> Reported-by: kernel test robot <lkp at intel.com>
> Signed-off-by: Ronald Claveau <linux-kernel-dev at aliel.fr>
> ---
> Changes in v2:
> - Replace #ifdef CONFIG_MESON_SM by #if IS_ENABLED(CONFIG_MESON_SM)
> to cover builtin and module in config.
> - Add missing trailers for kernel test robot.
> - Link to v1: https://lore.kernel.org/r/20260530-fix-missing-meson_sm-symbol-v1-1-3fb672b989d4@aliel.fr
> ---
> include/linux/firmware/meson/meson_sm.h | 17 +++++++++++++++++
> 1 file changed, 17 insertions(+)
>
> diff --git a/include/linux/firmware/meson/meson_sm.h b/include/linux/firmware/meson/meson_sm.h
> index 3ebc2bd9a9760..baecdaf263f41 100644
> --- a/include/linux/firmware/meson/meson_sm.h
> +++ b/include/linux/firmware/meson/meson_sm.h
> @@ -27,8 +27,25 @@ int meson_sm_call_write(struct meson_sm_firmware *fw, void *buffer,
> int meson_sm_call_read(struct meson_sm_firmware *fw, void *buffer,
> unsigned int bsize, unsigned int cmd_index, u32 arg0,
> u32 arg1, u32 arg2, u32 arg3, u32 arg4);
> +
> +#if IS_ENABLED(CONFIG_MESON_SM)
> +
> struct meson_sm_firmware *meson_sm_get(struct device_node *firmware_node);
> int meson_sm_get_thermal_calib(struct meson_sm_firmware *fw, u32 *trim_info,
> u32 tsensor_id);
Do you really want to compile meson_sm as a module ?
More information about the linux-arm-kernel
mailing list