linux/drivers/video/backlight
Nathan Chancellor d3cc7cd7bc 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 <nathan@kernel.org>
Link: https://patch.msgid.link/20251120-backlight-aw99706-fix-unused-pm-functions-v1-1-8b9c17c4e783@kernel.org
Signed-off-by: Lee Jones <lee@kernel.org>
2025-11-27 08:34:21 +00:00
..
88pm860x_bl.c
Kconfig
Makefile
aat2870_bl.c
adp5520_bl.c
adp8860_bl.c
adp8870_bl.c
ams369fg06.c
apple_bl.c
apple_dwi_bl.c
arcxcnn_bl.c
as3711_bl.c
aw99706.c backlight: aw99706: Fix unused function warnings from suspend/resume ops 2025-11-27 08:34:21 +00:00
backlight.c
bd6107.c
corgi_lcd.c
da903x_bl.c
da9052_bl.c
ep93xx_bl.c
gpio_backlight.c
hp680_bl.c
hx8357.c
ili922x.c
ili9320.c
ili9320.h
ipaq_micro_bl.c
jornada720_bl.c
jornada720_lcd.c
kb3886_bl.c
ktd253-backlight.c
ktd2801-backlight.c
ktz8866.c
l4f00242t03.c
lcd.c
led_bl.c
lm3509_bl.c
lm3533_bl.c
lm3630a_bl.c
lm3639_bl.c
lms283gf05.c
lms501kf03.c
locomolcd.c
lp855x_bl.c
lp8788_bl.c
ltv350qv.c
ltv350qv.h
lv5207lp.c
max8925_bl.c
mp3309c.c
mt6370-backlight.c
omap1_bl.c
otm3225a.c
pandora_bl.c
platform_lcd.c
pwm_bl.c
qcom-wled.c
rave-sp-backlight.c
rt4831-backlight.c
sky81452-backlight.c
tdo24m.c
tps65217_bl.c
vgg2432a4.c
wm831x_bl.c