[PATCH v2 1/1] input: imx_sc_key: Enable wakeup according to dts property wakeup-source

From: Frank Li
Date: Fri Jul 19 2024 - 11:23:28 EST


From: Abel Vesa <abel.vesa@xxxxxxx>

Enable default wakeup according to dts property 'wakeup-source'.

Signed-off-by: Abel Vesa <abel.vesa@xxxxxxx>
Reviewed-by: Nitin Garg <nitin.garg@xxxxxxx>
Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
---
Change from v1 to v2
- change int to bool
- move of_property_read_bool() just before device_init_wakeup()
- drop !!
---
drivers/input/keyboard/imx_sc_key.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/input/keyboard/imx_sc_key.c b/drivers/input/keyboard/imx_sc_key.c
index d18839f1f4f60..fc1492088b645 100644
--- a/drivers/input/keyboard/imx_sc_key.c
+++ b/drivers/input/keyboard/imx_sc_key.c
@@ -110,8 +110,10 @@ static void imx_sc_key_action(void *data)

static int imx_sc_key_probe(struct platform_device *pdev)
{
+ struct device_node *np = pdev->dev.of_node;
struct imx_key_drv_data *priv;
struct input_dev *input;
+ bool wakeup;
int error;

priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
@@ -151,6 +153,9 @@ static int imx_sc_key_probe(struct platform_device *pdev)
priv->input = input;
platform_set_drvdata(pdev, priv);

+ wakeup = of_property_read_bool(np, "wakeup-source");
+ device_init_wakeup(&pdev->dev, wakeup);
+
error = imx_scu_irq_group_enable(SC_IRQ_GROUP_WAKE, SC_IRQ_BUTTON,
true);
if (error) {
--
2.34.1