diff mbox series

media: cros-ec-cec: disable the device wakeup on remove

Message ID 20200706085240.1979622-1-darekm@google.com (mailing list archive)
State New, archived
Headers show
Series media: cros-ec-cec: disable the device wakeup on remove | expand

Commit Message

Dariusz Marcinkiewicz July 6, 2020, 8:52 a.m. UTC
The device is enabled for wake up while the driver is loaded.
For symmetry, disable wakeup when it is removed.

Signed-off-by: Dariusz Marcinkiewicz <darekm@google.com>
---
 drivers/media/cec/platform/cros-ec/cros-ec-cec.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Alexandre Belloni July 6, 2020, 9 a.m. UTC | #1
On 06/07/2020 10:52:38+0200, Dariusz Marcinkiewicz wrote:
> The device is enabled for wake up while the driver is loaded.
> For symmetry, disable wakeup when it is removed.
> 

This is not necessary as it is handled by the core properly. There are
currently 73 calls to device_init_wakeup that are not necessary, this
would add one more.

> Signed-off-by: Dariusz Marcinkiewicz <darekm@google.com>
> ---
>  drivers/media/cec/platform/cros-ec/cros-ec-cec.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
> index 2d95e16cd248..3881ed7bc3d9 100644
> --- a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
> +++ b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
> @@ -277,8 +277,6 @@ static int cros_ec_cec_probe(struct platform_device *pdev)
>  	platform_set_drvdata(pdev, cros_ec_cec);
>  	cros_ec_cec->cros_ec = cros_ec;
>  
> -	device_init_wakeup(&pdev->dev, 1);
> -
>  	cros_ec_cec->adap = cec_allocate_adapter(&cros_ec_cec_ops, cros_ec_cec,
>  						 DRV_NAME,
>  						 CEC_CAP_DEFAULTS |
> @@ -306,6 +304,8 @@ static int cros_ec_cec_probe(struct platform_device *pdev)
>  	if (ret < 0)
>  		goto out_probe_notify;
>  
> +	device_init_wakeup(&pdev->dev, 1);
> +
>  	return 0;
>  
>  out_probe_notify:
> @@ -335,6 +335,8 @@ static int cros_ec_cec_remove(struct platform_device *pdev)
>  					 cros_ec_cec->adap);
>  	cec_unregister_adapter(cros_ec_cec->adap);
>  
> +	device_init_wakeup(&pdev->dev, 0);
> +
>  	return 0;
>  }
>  
> -- 
> 2.27.0.212.ge8ba1cc988-goog
>
Dariusz Marcinkiewicz July 7, 2020, 8:03 a.m. UTC | #2
On Mon, Jul 6, 2020 at 11:00 AM Alexandre Belloni
<alexandre.belloni@bootlin.com> wrote:
>
> On 06/07/2020 10:52:38+0200, Dariusz Marcinkiewicz wrote:
> > The device is enabled for wake up while the driver is loaded.
> > For symmetry, disable wakeup when it is removed.
> >
>
> This is not necessary as it is handled by the core properly. There are
> currently 73 calls to device_init_wakeup that are not necessary, this
> would add one more.
>
Thank you.

To make sure - your comment applies even if the device node in
question is not actually removed, as it is the case here? This is a
platform dev, which won't be freed when the driver is unloaded.

Regards.



> > Signed-off-by: Dariusz Marcinkiewicz <darekm@google.com>
> > ---
> >  drivers/media/cec/platform/cros-ec/cros-ec-cec.c | 6 ++++--
> >  1 file changed, 4 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
> > index 2d95e16cd248..3881ed7bc3d9 100644
> > --- a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
> > +++ b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
> > @@ -277,8 +277,6 @@ static int cros_ec_cec_probe(struct platform_device *pdev)
> >       platform_set_drvdata(pdev, cros_ec_cec);
> >       cros_ec_cec->cros_ec = cros_ec;
> >
> > -     device_init_wakeup(&pdev->dev, 1);
> > -
> >       cros_ec_cec->adap = cec_allocate_adapter(&cros_ec_cec_ops, cros_ec_cec,
> >                                                DRV_NAME,
> >                                                CEC_CAP_DEFAULTS |
> > @@ -306,6 +304,8 @@ static int cros_ec_cec_probe(struct platform_device *pdev)
> >       if (ret < 0)
> >               goto out_probe_notify;
> >
> > +     device_init_wakeup(&pdev->dev, 1);
> > +
> >       return 0;
> >
> >  out_probe_notify:
> > @@ -335,6 +335,8 @@ static int cros_ec_cec_remove(struct platform_device *pdev)
> >                                        cros_ec_cec->adap);
> >       cec_unregister_adapter(cros_ec_cec->adap);
> >
> > +     device_init_wakeup(&pdev->dev, 0);
> > +
> >       return 0;
> >  }
> >
> > --
> > 2.27.0.212.ge8ba1cc988-goog
> >
>
> --
> Alexandre Belloni, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
diff mbox series

Patch

diff --git a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
index 2d95e16cd248..3881ed7bc3d9 100644
--- a/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
+++ b/drivers/media/cec/platform/cros-ec/cros-ec-cec.c
@@ -277,8 +277,6 @@  static int cros_ec_cec_probe(struct platform_device *pdev)
 	platform_set_drvdata(pdev, cros_ec_cec);
 	cros_ec_cec->cros_ec = cros_ec;
 
-	device_init_wakeup(&pdev->dev, 1);
-
 	cros_ec_cec->adap = cec_allocate_adapter(&cros_ec_cec_ops, cros_ec_cec,
 						 DRV_NAME,
 						 CEC_CAP_DEFAULTS |
@@ -306,6 +304,8 @@  static int cros_ec_cec_probe(struct platform_device *pdev)
 	if (ret < 0)
 		goto out_probe_notify;
 
+	device_init_wakeup(&pdev->dev, 1);
+
 	return 0;
 
 out_probe_notify:
@@ -335,6 +335,8 @@  static int cros_ec_cec_remove(struct platform_device *pdev)
 					 cros_ec_cec->adap);
 	cec_unregister_adapter(cros_ec_cec->adap);
 
+	device_init_wakeup(&pdev->dev, 0);
+
 	return 0;
 }