On Thu, Nov 20, 2025 at 01:22:46PM -0700, Nathan Chancellor wrote:
> When building for a platform without CONFIG_PM_SLEEP, such as s390,
> there are two unused function warnings:
>
>   drivers/video/backlight/aw99706.c:436:12: error: 'aw99706_resume' defined 
> but not used [-Werror=unused-function]
>     436 | static int aw99706_resume(struct device *dev)
>         |            ^~~~~~~~~~~~~~
>   drivers/video/backlight/aw99706.c:429:12: error: 'aw99706_suspend' defined 
> but not used [-Werror=unused-function]
>     429 | static int aw99706_suspend(struct device *dev)
>         |            ^~~~~~~~~~~~~~~
>
> SET_SYSTEM_SLEEP_PM_OPS, used within SIMPLE_DEV_PM_OPS, expands to
> nothing when CONFIG_PM_SLEEP is not set, so these functions are
> completely unused in this configuration.
>
> SIMPLE_DEV_PM_OPS is deprecated in favor of DEFINE_SIMPLE_DEV_PM_OPS,
> which avoids this issue by using pm_sleep_ptr to make these callbacks
> NULL when CONFIG_PM_SLEEP is unset while making the callback functions
> always appear used to the compiler regardless of configuration. Switch
> to DEFINE_SIMPLE_DEV_PM_OPS for aw99706_pm_ops to clear up the warning.
>
> Additionally, wrap the pointer to aw99706_pm_ops in pm_ptr() in
> aw99706_i2c_driver to ensure that the structure is completely eliminated
> in configurations without CONFIG_PM.
>
> Fixes: 88a8e9b49ee8 ("backlight: aw99706: Add support for Awinic AW99706 
> backlight")
> Signed-off-by: Nathan Chancellor <[email protected]>

Reviewed-by: Daniel Thompson (RISCstar) <[email protected]>


Daniel.

Reply via email to