Message ID | 20240716213313.1584557-1-Frank.Li@nxp.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [1/1] input: imx_sc_key: Enable wakeup according to dts property wakeup-source | expand |
Hi Frank, On 24-07-16, Frank Li wrote: > From: Abel Vesa <abel.vesa@nxp.com> > > Enable default wakeup according to dts property 'wakeup-source'. > > Signed-off-by: Abel Vesa <abel.vesa@nxp.com> > Reviewed-by: Nitin Garg <nitin.garg@nxp.com> > Signed-off-by: Frank Li <Frank.Li@nxp.com> > --- > drivers/input/keyboard/imx_sc_key.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/input/keyboard/imx_sc_key.c b/drivers/input/keyboard/imx_sc_key.c > index d18839f1f4f60..83025407065ba 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; > + int wakeup; ^ bool > int error; > > priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); > @@ -130,6 +132,8 @@ static int imx_sc_key_probe(struct platform_device *pdev) > > INIT_DELAYED_WORK(&priv->check_work, imx_sc_check_for_events); > > + wakeup = of_property_read_bool(np, "wakeup-source"); Can you move this right infront of the device_init_wakeup() call? > input = devm_input_allocate_device(&pdev->dev); > if (!input) { > dev_err(&pdev->dev, "failed to allocate the input device\n"); > @@ -151,6 +155,8 @@ static int imx_sc_key_probe(struct platform_device *pdev) > priv->input = input; > platform_set_drvdata(pdev, priv); > > + device_init_wakeup(&pdev->dev, !!wakeup); ^ The !! shouldn't be necessary with type of 'bool'. Regards, Marco > + > error = imx_scu_irq_group_enable(SC_IRQ_GROUP_WAKE, SC_IRQ_BUTTON, > true); > if (error) { > -- > 2.34.1 > > >
diff --git a/drivers/input/keyboard/imx_sc_key.c b/drivers/input/keyboard/imx_sc_key.c index d18839f1f4f60..83025407065ba 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; + int wakeup; int error; priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL); @@ -130,6 +132,8 @@ static int imx_sc_key_probe(struct platform_device *pdev) INIT_DELAYED_WORK(&priv->check_work, imx_sc_check_for_events); + wakeup = of_property_read_bool(np, "wakeup-source"); + input = devm_input_allocate_device(&pdev->dev); if (!input) { dev_err(&pdev->dev, "failed to allocate the input device\n"); @@ -151,6 +155,8 @@ static int imx_sc_key_probe(struct platform_device *pdev) priv->input = input; platform_set_drvdata(pdev, priv); + device_init_wakeup(&pdev->dev, !!wakeup); + error = imx_scu_irq_group_enable(SC_IRQ_GROUP_WAKE, SC_IRQ_BUTTON, true); if (error) {