Subject: Re: [PATCH] firmware: meson: sm: add stub functions when CONFIG_MESON_SM is disabled

From: kernel test robot <[email-masked]>
Date: Sun, 31 May 2026 02:04:16 +0800

Hi Ronald,

kernel test robot noticed the following build errors:

[auto build test ERROR on 3929405c64376a8a54c794e8a4485023b108a97e]

url:    https://github.com/intel-lab-lkp/linux/commits/Ronald-Claveau-via-B4-Relay/firmware-meson-sm-add-stub-functions-when-CONFIG_MESON_SM-is-disabled/20260530-150837
base:   3929405c64376a8a54c794e8a4485023b108a97e
patch link:    https://lore.kernel.org/r/20260530-fix-missing-meson_sm-symbol-v1-1-3fb672b989d4%40aliel.fr
patch subject: [PATCH] firmware: meson: sm: add stub functions when CONFIG_MESON_SM is disabled
config: arm64-allmodconfig (https://download.01.org/0day-ci/archive/20260531/[email-masked]/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260531/[email-masked]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email-masked]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email-masked]/

All errors (new ones prefixed by >>):

>> drivers/firmware/meson/meson_sm.c:233:27: error: redefinition of 'meson_sm_get'
     233 | struct meson_sm_firmware *meson_sm_get(struct device_node *sm_node)
         |                           ^
   include/linux/firmware/meson/meson_sm.h:39:41: note: previous definition is here
      39 | static inline struct meson_sm_firmware *meson_sm_get(struct device_node *firmware_node)
         |                                         ^
>> drivers/firmware/meson/meson_sm.c:258:5: error: redefinition of 'meson_sm_get_thermal_calib'
     258 | int meson_sm_get_thermal_calib(struct meson_sm_firmware *fw, u32 *trim_info,
         |     ^
   include/linux/firmware/meson/meson_sm.h:43:19: note: previous definition is here
      43 | static inline int meson_sm_get_thermal_calib(struct meson_sm_firmware *fw,
         |                   ^
   2 errors generated.

vim +/meson_sm_get +233 drivers/firmware/meson/meson_sm.c

2c4ddb215521d5 Carlo Caione   2016-08-27  225  
8cde3c2153e8f5 Carlo Caione   2019-07-31  226  /**
8cde3c2153e8f5 Carlo Caione   2019-07-31  227   * meson_sm_get - get pointer to meson_sm_firmware structure.
8cde3c2153e8f5 Carlo Caione   2019-07-31  228   *
8cde3c2153e8f5 Carlo Caione   2019-07-31  229   * @sm_node:		Pointer to the secure-monitor Device Tree node.
8cde3c2153e8f5 Carlo Caione   2019-07-31  230   *
8cde3c2153e8f5 Carlo Caione   2019-07-31  231   * Return:		NULL is the secure-monitor device is not ready.
8cde3c2153e8f5 Carlo Caione   2019-07-31  232   */
8cde3c2153e8f5 Carlo Caione   2019-07-31 @233  struct meson_sm_firmware *meson_sm_get(struct device_node *sm_node)
8cde3c2153e8f5 Carlo Caione   2019-07-31  234  {
8cde3c2153e8f5 Carlo Caione   2019-07-31  235  	struct platform_device *pdev = of_find_device_by_node(sm_node);
8ece3173f87df0 Johan Hovold   2025-07-25  236  	struct meson_sm_firmware *fw;
8cde3c2153e8f5 Carlo Caione   2019-07-31  237  
8cde3c2153e8f5 Carlo Caione   2019-07-31  238  	if (!pdev)
8cde3c2153e8f5 Carlo Caione   2019-07-31  239  		return NULL;
8cde3c2153e8f5 Carlo Caione   2019-07-31  240  
8ece3173f87df0 Johan Hovold   2025-07-25  241  	fw = platform_get_drvdata(pdev);
8ece3173f87df0 Johan Hovold   2025-07-25  242  
8ece3173f87df0 Johan Hovold   2025-07-25  243  	put_device(&pdev->dev);
8ece3173f87df0 Johan Hovold   2025-07-25  244  
8ece3173f87df0 Johan Hovold   2025-07-25  245  	return fw;
8cde3c2153e8f5 Carlo Caione   2019-07-31  246  }
8cde3c2153e8f5 Carlo Caione   2019-07-31  247  EXPORT_SYMBOL_GPL(meson_sm_get);
8cde3c2153e8f5 Carlo Caione   2019-07-31  248  
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  249  /**
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  250   * meson_sm_get_thermal_calib - Read thermal sensor calibration data.
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  251   * @fw:		Pointer to secure-monitor firmware.
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  252   * @trim_info:	Pointer to store the returned calibration data.
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  253   * @tsensor_id:	Sensor index to identify which sensor's calibration data
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  254   *		to retrieve
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  255   *
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  256   * Return: 0 on success, negative error code on failure.
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  257   */
1c5cb7391ef5f8 Ronald Claveau 2026-04-24 @258  int meson_sm_get_thermal_calib(struct meson_sm_firmware *fw, u32 *trim_info,
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  259  			       u32 tsensor_id)
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  260  {
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  261  	return meson_sm_call(fw, SM_THERMAL_CALIB_READ, trim_info, tsensor_id,
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  262  			     0, 0, 0, 0);
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  263  }
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  264  EXPORT_SYMBOL_GPL(meson_sm_get_thermal_calib);
1c5cb7391ef5f8 Ronald Claveau 2026-04-24  265  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki