Linux-ARM-Kernel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] firmware: meson: sm: add stub functions when CONFIG_MESON_SM is disabled
@ 2026-05-30  7:05 Ronald Claveau via B4 Relay
  2026-05-30  7:15 ` Daniel Lezcano
  2026-05-30 18:04 ` kernel test robot
  0 siblings, 2 replies; 3+ messages in thread
From: Ronald Claveau via B4 Relay @ 2026-05-30  7:05 UTC (permalink / raw)
  To: Neil Armstrong, Daniel Lezcano, Zhang Rui, Rafael J. Wysocki,
	Lukasz Luba
  Cc: Guillaume La Roque, Kevin Hilman, Jerome Brunet,
	Martin Blumenstingl, linux-arm-kernel, linux-amlogic,
	linux-kernel, linux-pm, Mark Brown, Ronald Claveau

From: Ronald Claveau <linux-kernel-dev@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")
Reported-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Ronald Claveau <linux-kernel-dev@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..813166ccedd1d 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);
+
+#ifdef 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);
 
+#else
+
+static inline struct meson_sm_firmware *meson_sm_get(struct device_node *firmware_node)
+{
+	return NULL;
+}
+static inline int meson_sm_get_thermal_calib(struct meson_sm_firmware *fw,
+					     u32 *trim_info, u32 tsensor_id)
+{
+	return -EINVAL;
+}
+
+#endif
+
 #endif /* _MESON_SM_FW_H_ */

---
base-commit: 3929405c64376a8a54c794e8a4485023b108a97e
change-id: 20260529-fix-missing-meson_sm-symbol-7776d0d9d760

Best regards,
-- 
Ronald Claveau <linux-kernel-dev@aliel.fr>




^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] firmware: meson: sm: add stub functions when CONFIG_MESON_SM is disabled
  2026-05-30  7:05 [PATCH] firmware: meson: sm: add stub functions when CONFIG_MESON_SM is disabled Ronald Claveau via B4 Relay
@ 2026-05-30  7:15 ` Daniel Lezcano
  2026-05-30 18:04 ` kernel test robot
  1 sibling, 0 replies; 3+ messages in thread
From: Daniel Lezcano @ 2026-05-30  7:15 UTC (permalink / raw)
  To: linux-kernel-dev, Neil Armstrong, Daniel Lezcano, Zhang Rui,
	Rafael J. Wysocki, Lukasz Luba
  Cc: Guillaume La Roque, Kevin Hilman, Jerome Brunet,
	Martin Blumenstingl, linux-arm-kernel, linux-amlogic,
	linux-kernel, linux-pm, Mark Brown

On 5/30/26 09:05, Ronald Claveau via B4 Relay wrote:
> From: Ronald Claveau <linux-kernel-dev@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")
> Reported-by: Mark Brown <broonie@kernel.org>
> Signed-off-by: Ronald Claveau <linux-kernel-dev@aliel.fr>
> ---

Also added:

| Reported-by: kernel test robot <lkp@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202605291530.en7aGn7w-lkp@intel.com/

and applied, thanks !


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] firmware: meson: sm: add stub functions when CONFIG_MESON_SM is disabled
  2026-05-30  7:05 [PATCH] firmware: meson: sm: add stub functions when CONFIG_MESON_SM is disabled Ronald Claveau via B4 Relay
  2026-05-30  7:15 ` Daniel Lezcano
@ 2026-05-30 18:04 ` kernel test robot
  1 sibling, 0 replies; 3+ messages in thread
From: kernel test robot @ 2026-05-30 18:04 UTC (permalink / raw)
  To: Ronald Claveau via B4 Relay, Neil Armstrong, Daniel Lezcano,
	Zhang Rui, Rafael J. Wysocki, Lukasz Luba
  Cc: llvm, oe-kbuild-all, Guillaume La Roque, Kevin Hilman,
	Jerome Brunet, Martin Blumenstingl, linux-arm-kernel,
	linux-amlogic, linux-kernel, linux-pm, Mark Brown, Ronald Claveau

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/202605310154.bmdMBZHJ-lkp@intel.com/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/202605310154.bmdMBZHJ-lkp@intel.com/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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202605310154.bmdMBZHJ-lkp@intel.com/

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-05-30 18:05 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-30  7:05 [PATCH] firmware: meson: sm: add stub functions when CONFIG_MESON_SM is disabled Ronald Claveau via B4 Relay
2026-05-30  7:15 ` Daniel Lezcano
2026-05-30 18:04 ` kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox