All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] iio: light: ltr501: Powerdown device on error
@ 2015-04-01 15:50 Cristina Opriceana
  2015-04-09 13:27 ` Jonathan Cameron
  0 siblings, 1 reply; 2+ messages in thread
From: Cristina Opriceana @ 2015-04-01 15:50 UTC (permalink / raw)
  To: outreachy-kernel; +Cc: outreachy-kernel, linux-iio

Power down device when an error occurs  in order to avoid wasting
power. Move powerdown function up to be seen by the new call and
align parameters for the ltr501_write_contr() call.

Signed-off-by: Cristina Opriceana <cristina.opriceana@gmail.com>
---
Changes in v2:
 - align parameters in the ltr501_write_contr() function call
 - update commit message to include this change

 drivers/iio/light/ltr501.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/iio/light/ltr501.c b/drivers/iio/light/ltr501.c
index 62b7072..78b8783 100644
--- a/drivers/iio/light/ltr501.c
+++ b/drivers/iio/light/ltr501.c
@@ -333,6 +333,13 @@ static int ltr501_init(struct ltr501_data *data)
 		data->ps_contr);
 }
 
+static int ltr501_powerdown(struct ltr501_data *data)
+{
+	return ltr501_write_contr(data->client,
+				  data->als_contr & ~LTR501_CONTR_ACTIVE,
+				  data->ps_contr & ~LTR501_CONTR_ACTIVE);
+}
+
 static int ltr501_probe(struct i2c_client *client,
 			  const struct i2c_device_id *id)
 {
@@ -370,7 +377,7 @@ static int ltr501_probe(struct i2c_client *client,
 	ret = iio_triggered_buffer_setup(indio_dev, NULL,
 		ltr501_trigger_handler, NULL);
 	if (ret)
-		return ret;
+		goto powerdown_on_error;
 
 	ret = iio_device_register(indio_dev);
 	if (ret)
@@ -380,16 +387,11 @@ static int ltr501_probe(struct i2c_client *client,
 
 error_unreg_buffer:
 	iio_triggered_buffer_cleanup(indio_dev);
+powerdown_on_error:
+	ltr501_powerdown(data);
 	return ret;
 }
 
-static int ltr501_powerdown(struct ltr501_data *data)
-{
-	return ltr501_write_contr(data->client,
-		data->als_contr & ~LTR501_CONTR_ACTIVE,
-		data->ps_contr & ~LTR501_CONTR_ACTIVE);
-}
-
 static int ltr501_remove(struct i2c_client *client)
 {
 	struct iio_dev *indio_dev = i2c_get_clientdata(client);
-- 
1.9.1



^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] iio: light: ltr501: Powerdown device on error
  2015-04-01 15:50 [PATCH v2] iio: light: ltr501: Powerdown device on error Cristina Opriceana
@ 2015-04-09 13:27 ` Jonathan Cameron
  0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Cameron @ 2015-04-09 13:27 UTC (permalink / raw)
  To: Cristina Opriceana, outreachy-kernel; +Cc: linux-iio

On 01/04/15 16:50, Cristina Opriceana wrote:
> Power down device when an error occurs  in order to avoid wasting
> power. Move powerdown function up to be seen by the new call and
> align parameters for the ltr501_write_contr() call.
> 
> Signed-off-by: Cristina Opriceana <cristina.opriceana@gmail.com>
Greg already picked up a version of this directly by the look of it.

J
> ---
> Changes in v2:
>  - align parameters in the ltr501_write_contr() function call
>  - update commit message to include this change
> 
>  drivers/iio/light/ltr501.c | 18 ++++++++++--------
>  1 file changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/iio/light/ltr501.c b/drivers/iio/light/ltr501.c
> index 62b7072..78b8783 100644
> --- a/drivers/iio/light/ltr501.c
> +++ b/drivers/iio/light/ltr501.c
> @@ -333,6 +333,13 @@ static int ltr501_init(struct ltr501_data *data)
>  		data->ps_contr);
>  }
>  
> +static int ltr501_powerdown(struct ltr501_data *data)
> +{
> +	return ltr501_write_contr(data->client,
> +				  data->als_contr & ~LTR501_CONTR_ACTIVE,
> +				  data->ps_contr & ~LTR501_CONTR_ACTIVE);
> +}
> +
>  static int ltr501_probe(struct i2c_client *client,
>  			  const struct i2c_device_id *id)
>  {
> @@ -370,7 +377,7 @@ static int ltr501_probe(struct i2c_client *client,
>  	ret = iio_triggered_buffer_setup(indio_dev, NULL,
>  		ltr501_trigger_handler, NULL);
>  	if (ret)
> -		return ret;
> +		goto powerdown_on_error;
>  
>  	ret = iio_device_register(indio_dev);
>  	if (ret)
> @@ -380,16 +387,11 @@ static int ltr501_probe(struct i2c_client *client,
>  
>  error_unreg_buffer:
>  	iio_triggered_buffer_cleanup(indio_dev);
> +powerdown_on_error:
> +	ltr501_powerdown(data);
>  	return ret;
>  }
>  
> -static int ltr501_powerdown(struct ltr501_data *data)
> -{
> -	return ltr501_write_contr(data->client,
> -		data->als_contr & ~LTR501_CONTR_ACTIVE,
> -		data->ps_contr & ~LTR501_CONTR_ACTIVE);
> -}
> -
>  static int ltr501_remove(struct i2c_client *client)
>  {
>  	struct iio_dev *indio_dev = i2c_get_clientdata(client);
> 


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-04-09 13:27 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-04-01 15:50 [PATCH v2] iio: light: ltr501: Powerdown device on error Cristina Opriceana
2015-04-09 13:27 ` Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.