Message ID | 20221204180841.2211588-1-jic23@kernel.org (mailing list archive) |
---|---|
Headers | show |
Series | Input: Joystick keyboard switch to DEFINE_SIMPLE_DEV_PM_OPS() | expand |
On Sun, Dec 04, 2022 at 06:08:09PM +0000, Jonathan Cameron wrote: > From: Jonathan Cameron <Jonathan.Cameron@huawei.com> > > As part of recent changes to the macros in linux/pm.h, the > SIMPLE_DEV_PM_OPS() macro is deprecated in favor of the comination > of DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr(). > More details in the relevant commit message. > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1a3c7bb088266fa2db017be299f91f1c1894c857 > > The main advantage of the new versions is that they allow the compiler > to 'see' the callbacks registered, thus avoiding the need to either > protect them with ifdef guards or to mark them __maybe_unused. > The compiler then removes the structure and the callbacks as dead code > in event of !CONFIG_PM_SLEEP. > > Ultimately to clean up the old macros the change needs to be done to > all instances of the SIMPLE_DEV_PM_OPS() in the kernel. There are similar > changes to be done for runtime PM macros and more complex PM handling. > This set is just meant to switch over some of the low hanging fruit in > a bite sized chunk. > > Also included at the end of this series are: > * a warning fix for pxspad > * allowing various drivers to be build with CONFIG_COMPILE_TEST. > > There was one case that really is architecture specific for which I > did only a partial build test. I pushed these out in a branch that > 0-day build and it didn't see any problems. Applied the lot, thank you.
From: Jonathan Cameron <Jonathan.Cameron@huawei.com> As part of recent changes to the macros in linux/pm.h, the SIMPLE_DEV_PM_OPS() macro is deprecated in favor of the comination of DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr(). More details in the relevant commit message. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=1a3c7bb088266fa2db017be299f91f1c1894c857 The main advantage of the new versions is that they allow the compiler to 'see' the callbacks registered, thus avoiding the need to either protect them with ifdef guards or to mark them __maybe_unused. The compiler then removes the structure and the callbacks as dead code in event of !CONFIG_PM_SLEEP. Ultimately to clean up the old macros the change needs to be done to all instances of the SIMPLE_DEV_PM_OPS() in the kernel. There are similar changes to be done for runtime PM macros and more complex PM handling. This set is just meant to switch over some of the low hanging fruit in a bite sized chunk. Also included at the end of this series are: * a warning fix for pxspad * allowing various drivers to be build with CONFIG_COMPILE_TEST. There was one case that really is architecture specific for which I did only a partial build test. I pushed these out in a branch that 0-day build and it didn't see any problems. Cc: Paul Cercueil <paul@crapouillou.net> Cc: Tomohiro Yoshidomi <sylph23k@gmail.com> Cc: Michael Hennerich <michael.hennerich@analog.com> Cc: Stephen Boyd <swboyd@chromium.org> Cc: Yassine Oudjana <y.oudjana@protonmail.com> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Michal Vokáč <michal.vokac@ysoft.com> Cc: Mattijs Korpershoek <mkorpershoek@baylibre.com> Cc: Marco Felsch <m.felsch@pengutronix.de> Cc: Stephan Gerhold <stephan@gerhold.net> Cc: Marek Vasut <marek.vasut@gmail.com> Jonathan Cameron (32): Input: pxspad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: adp5589-keys - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: cros-ec-keyb - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: cypress-sf - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: ep39xx-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: gpio-keys - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: ipaq-micro-keys - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: mpr121-touchkey - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: mtk-pmic-keys - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: qt1050 - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: spear-keyboard - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: tm2-touchkey - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: lm8323 - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: lpc32xx-keys - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: matrix-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: max7359-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: mcs-touchkey - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: nomadik-ske-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: pmic8xxx-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: pxa27x_keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: qt1070 - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: sh-keysc - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: st-keyscan - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: tc3589x - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: tca6416-keypad - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: tegra-kbc - switch to DEFINE_SIMPLE_DEV_PM_OPS() and pm_sleep_ptr() Input: tegra-kbc - allow build with COMPILE_TEST Input: spear-keyboard - improve build coverage using COMPILE_TEST Input: pxa27xx-keypad - allow build with COMPILE_TEST Input: nomadik-ske-keypad - allow building with COMPILE_TEST Input: lpc32xx - allow building with COMPILE_TEST Input: pxspad: Fix unused data warning when force feedback not enabled. drivers/input/joystick/psxpad-spi.c | 9 ++++++--- drivers/input/keyboard/Kconfig | 10 +++++----- drivers/input/keyboard/adp5589-keys.c | 8 ++++---- drivers/input/keyboard/cros_ec_keyb.c | 6 +++--- drivers/input/keyboard/cypress-sf.c | 10 +++++----- drivers/input/keyboard/ep93xx_keypad.c | 10 +++++----- drivers/input/keyboard/gpio_keys.c | 8 ++++---- drivers/input/keyboard/ipaq-micro-keys.c | 10 +++++----- drivers/input/keyboard/lm8323.c | 6 ++---- drivers/input/keyboard/lpc32xx-keys.c | 8 +++----- drivers/input/keyboard/matrix_keypad.c | 8 +++----- drivers/input/keyboard/max7359_keypad.c | 6 ++---- drivers/input/keyboard/mcs_touchkey.c | 8 +++----- drivers/input/keyboard/mpr121_touchkey.c | 8 ++++---- drivers/input/keyboard/mtk-pmic-keys.c | 10 +++++----- drivers/input/keyboard/nomadik-ske-keypad.c | 8 +++----- drivers/input/keyboard/pmic8xxx-keypad.c | 8 +++----- drivers/input/keyboard/pxa27x_keypad.c | 8 +++----- drivers/input/keyboard/qt1050.c | 8 ++++---- drivers/input/keyboard/qt1070.c | 6 ++---- drivers/input/keyboard/sh_keysc.c | 8 +++----- drivers/input/keyboard/spear-keyboard.c | 9 +++++---- drivers/input/keyboard/st-keyscan.c | 7 +++---- drivers/input/keyboard/tc3589x-keypad.c | 8 +++----- drivers/input/keyboard/tca6416-keypad.c | 8 +++----- drivers/input/keyboard/tegra-kbc.c | 7 +++---- drivers/input/keyboard/tm2-touchkey.c | 10 +++++----- 27 files changed, 99 insertions(+), 121 deletions(-)