[PATCH] input: keyboard: Convert to DEFINE_SIMPLE_DEV_PM_OPS()

Subsystems: input (keyboard, mouse, joystick, touchscreen) drivers, the rest

STALE62d

2 messages, 2 authors, 2026-08-21 · open the first message on its own page

[PATCH] input: keyboard: Convert to DEFINE_SIMPLE_DEV_PM_OPS()

From: Triet Hoang <hidden>
Date: 2026-08-21 02:39:58

Convert deprecated SIMPLE_DEV_PM_OPS
to DEFINE_SIMPLE_DEV_PM_OPS and pm_sleep_ptr().

This lets us drop the __maybe_unused annotations
from the resume callbacks and reduces kernel size
when CONFIG_PM or CONFIG_PM_SLEEP is disabled.

Signed-off-by: Triet Hoang <redacted>
---
 drivers/input/keyboard/imx-sm-bbm-key.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/input/keyboard/imx-sm-bbm-key.c b/drivers/input/keyboard/imx-sm-bbm-key.c
index 96486bd23d60..7fbbd44878be 100644
--- a/drivers/input/keyboard/imx-sm-bbm-key.c
+++ b/drivers/input/keyboard/imx-sm-bbm-key.c
@@ -187,7 +187,7 @@ static int scmi_imx_bbm_key_probe(struct scmi_device *sdev)
 	return ret;
 }
 
-static int __maybe_unused scmi_imx_bbm_key_suspend(struct device *dev)
+static int scmi_imx_bbm_key_suspend(struct device *dev)
 {
 	struct scmi_imx_bbm *bbnsm = dev_get_drvdata(dev);
 
@@ -196,12 +196,12 @@ static int __maybe_unused scmi_imx_bbm_key_suspend(struct device *dev)
 	return 0;
 }
 
-static int __maybe_unused scmi_imx_bbm_key_resume(struct device *dev)
+static int scmi_imx_bbm_key_resume(struct device *dev)
 {
 	return 0;
 }
 
-static SIMPLE_DEV_PM_OPS(scmi_imx_bbm_pm_key_ops, scmi_imx_bbm_key_suspend,
+static DEFINE_SIMPLE_DEV_PM_OPS(scmi_imx_bbm_pm_key_ops, scmi_imx_bbm_key_suspend,
 			 scmi_imx_bbm_key_resume);
 
 static const struct scmi_device_id scmi_id_table[] = {
@@ -212,7 +212,7 @@ MODULE_DEVICE_TABLE(scmi, scmi_id_table);
 
 static struct scmi_driver scmi_imx_bbm_key_driver = {
 	.driver = {
-		.pm = &scmi_imx_bbm_pm_key_ops,
+		.pm = pm_sleep_ptr(&scmi_imx_bbm_pm_key_ops),
 	},
 	.name = "scmi-imx-bbm-key",
 	.probe = scmi_imx_bbm_key_probe,
-- 
2.53.0

Re: [PATCH] input: keyboard: Convert to DEFINE_SIMPLE_DEV_PM_OPS()

From: sashiko-bot@kernel.org
Date: 2026-08-21 02:52:23

Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:

Pre-existing issues:
- [High] Missing error handling on devm_event_notifier_register allows probe to succeed with a non-functional device.
--
--- Patch [1]: [PATCH] input: keyboard: Convert to DEFINE_SIMPLE_DEV_PM_OPS() ---
commit 88eacffae6d3079bb9f5aa0b29b554341484a82a
Author: Triet Hoang [off-list ref]

    input: keyboard: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
    
    Convert deprecated SIMPLE_DEV_PM_OPS to DEFINE_SIMPLE_DEV_PM_OPS and
    pm_sleep_ptr(). This lets us drop the __maybe_unused annotations from
    the resume callbacks and reduces kernel size when CONFIG_PM or
    CONFIG_PM_SLEEP is disabled.
quoted hunk
diff --git a/drivers/input/keyboard/imx-sm-bbm-key.c b/drivers/input/keyboard/imx-sm-bbm-key.c
index 96486bd23d609..7fbbd44878be3 100644
--- a/drivers/input/keyboard/imx-sm-bbm-key.c
+++ b/drivers/input/keyboard/imx-sm-bbm-key.c
@@ -187,7 +187,7 @@ static int scmi_imx_bbm_key_probe(struct scmi_device *sdev)
 	return ret;
 }
[Severity: High]
This isn't a bug introduced by this patch, but while reviewing the probe
path I noticed an issue in scmi_imx_bbm_pwrkey_init().

When devm_event_notifier_register() fails, the error code in ret is
printed but then immediately overwritten:

drivers/input/keyboard/imx-sm-bbm-key.c:scmi_imx_bbm_pwrkey_init() {
	...
	ret = handle->notify_ops->devm_event_notifier_register(sdev, SCMI_PROTOCOL_IMX_BBM,
							       SCMI_EVENT_IMX_BBM_BUTTON,
							       NULL, &bbnsm->nb);

	if (ret)
		dev_err(dev, "Failed to register BBM Button Events %d:", ret);

	ret = input_register_device(input);
	...
}

Does this allow the probe to incorrectly succeed with a non-functional device
if the notifier registration fails? Should it return the error instead of
continuing to input_register_device()?

[ ... ]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260821023951.53199-1-triet.hoang.dev@gmail.com?part=1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help