[v3,7/7] iio: adc: palmas: don't alter event config on suspend/resume

Message ID 20230405212233.4167986-8-risca@dalakolonin.se
State New
Headers
Series iio: adc: palmas_gpadc: add iio events |

Commit Message

Patrik Dahlström April 5, 2023, 9:22 p.m. UTC
  The event config is controlled through the IIO events subsystem and
device wakeup is controlled by /sys/devices/.../power/wakeup. Let's keep
those two knobs independent.

Signed-off-by: Patrik Dahlström <risca@dalakolonin.se>
---
 drivers/iio/adc/palmas_gpadc.c | 16 ++--------------
 1 file changed, 2 insertions(+), 14 deletions(-)
  

Comments

Jonathan Cameron April 7, 2023, 5:22 p.m. UTC | #1
On Wed,  5 Apr 2023 23:22:33 +0200
Patrik Dahlström <risca@dalakolonin.se> wrote:

> The event config is controlled through the IIO events subsystem and
> device wakeup is controlled by /sys/devices/.../power/wakeup. Let's keep
> those two knobs independent.
> 
> Signed-off-by: Patrik Dahlström <risca@dalakolonin.se>

Rest of series that I haven't replied to looks fine to me.

Once the fix patch dependency is in the right upstream branch
I'll get this and the devm patch queued up if no other comments come
in.  

> ---
>  drivers/iio/adc/palmas_gpadc.c | 16 ++--------------
>  1 file changed, 2 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/iio/adc/palmas_gpadc.c b/drivers/iio/adc/palmas_gpadc.c
> index 2e0755e9e3a4..ba3cc0e68197 100644
> --- a/drivers/iio/adc/palmas_gpadc.c
> +++ b/drivers/iio/adc/palmas_gpadc.c
> @@ -1137,16 +1137,10 @@ static int palmas_gpadc_suspend(struct device *dev)
>  {
>  	struct iio_dev *indio_dev = dev_get_drvdata(dev);
>  	struct palmas_gpadc *adc = iio_priv(indio_dev);
> -	int wakeup = adc->event0.enabled || adc->event1.enabled;
> -	int ret;
>  
> -	if (!device_may_wakeup(dev) || !wakeup)
> +	if (!device_may_wakeup(dev))
>  		return 0;
>  
> -	ret = palmas_adc_configure_events(adc);
> -	if (ret < 0)
> -		return ret;
> -
>  	if (adc->event0.enabled)
>  		enable_irq_wake(adc->irq_auto_0);
>  
> @@ -1160,16 +1154,10 @@ static int palmas_gpadc_resume(struct device *dev)
>  {
>  	struct iio_dev *indio_dev = dev_get_drvdata(dev);
>  	struct palmas_gpadc *adc = iio_priv(indio_dev);
> -	int wakeup = adc->event0.enabled || adc->event1.enabled;
> -	int ret;
>  
> -	if (!device_may_wakeup(dev) || !wakeup)
> +	if (!device_may_wakeup(dev))
>  		return 0;
>  
> -	ret = palmas_adc_reset_events(adc);
> -	if (ret < 0)
> -		return ret;
> -
>  	if (adc->event0.enabled)
>  		disable_irq_wake(adc->irq_auto_0);
>
  

Patch

diff --git a/drivers/iio/adc/palmas_gpadc.c b/drivers/iio/adc/palmas_gpadc.c
index 2e0755e9e3a4..ba3cc0e68197 100644
--- a/drivers/iio/adc/palmas_gpadc.c
+++ b/drivers/iio/adc/palmas_gpadc.c
@@ -1137,16 +1137,10 @@  static int palmas_gpadc_suspend(struct device *dev)
 {
 	struct iio_dev *indio_dev = dev_get_drvdata(dev);
 	struct palmas_gpadc *adc = iio_priv(indio_dev);
-	int wakeup = adc->event0.enabled || adc->event1.enabled;
-	int ret;
 
-	if (!device_may_wakeup(dev) || !wakeup)
+	if (!device_may_wakeup(dev))
 		return 0;
 
-	ret = palmas_adc_configure_events(adc);
-	if (ret < 0)
-		return ret;
-
 	if (adc->event0.enabled)
 		enable_irq_wake(adc->irq_auto_0);
 
@@ -1160,16 +1154,10 @@  static int palmas_gpadc_resume(struct device *dev)
 {
 	struct iio_dev *indio_dev = dev_get_drvdata(dev);
 	struct palmas_gpadc *adc = iio_priv(indio_dev);
-	int wakeup = adc->event0.enabled || adc->event1.enabled;
-	int ret;
 
-	if (!device_may_wakeup(dev) || !wakeup)
+	if (!device_may_wakeup(dev))
 		return 0;
 
-	ret = palmas_adc_reset_events(adc);
-	if (ret < 0)
-		return ret;
-
 	if (adc->event0.enabled)
 		disable_irq_wake(adc->irq_auto_0);