From: Nathan Chancellor Date: Thu, 20 Nov 2025 20:22:46 +0000 (-0700) Subject: backlight: aw99706: Fix unused function warnings from suspend/resume ops X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d3cc7cd7bc46af587747399e956cf4508221476f;p=thirdparty%2Flinux.git backlight: aw99706: Fix unused function warnings from suspend/resume ops 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 Link: https://patch.msgid.link/20251120-backlight-aw99706-fix-unused-pm-functions-v1-1-8b9c17c4e783@kernel.org Signed-off-by: Lee Jones --- diff --git a/drivers/video/backlight/aw99706.c b/drivers/video/backlight/aw99706.c index b7c1d24b17ac9..df5b23b2f7534 100644 --- a/drivers/video/backlight/aw99706.c +++ b/drivers/video/backlight/aw99706.c @@ -440,7 +440,7 @@ static int aw99706_resume(struct device *dev) return aw99706_hw_init(aw); } -static SIMPLE_DEV_PM_OPS(aw99706_pm_ops, aw99706_suspend, aw99706_resume); +static DEFINE_SIMPLE_DEV_PM_OPS(aw99706_pm_ops, aw99706_suspend, aw99706_resume); static const struct i2c_device_id aw99706_ids[] = { { "aw99706" }, @@ -461,7 +461,7 @@ static struct i2c_driver aw99706_i2c_driver = { .driver = { .name = "aw99706", .of_match_table = aw99706_match_table, - .pm = &aw99706_pm_ops, + .pm = pm_ptr(&aw99706_pm_ops), }, };