linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* smiapp: Minor improvements, early preparation for DT support
@ 2014-05-04  0:31 Sakari Ailus
  2014-05-04  0:31 ` [PATCH 1/3] smiapp: Use better regulator name for the Device tree Sakari Ailus
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Sakari Ailus @ 2014-05-04  0:31 UTC (permalink / raw)
  To: linux-media

Hi,

These patches prepare the smiapp driver for DT support later on. The
regulator name will be lower case. Wrong error values were returned in probe
--- instead pass them through, as -EPROBE_DEFER may have a quantifiable
practical effect compared to other error codes.

-- 
Kind regards,
Sakari


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

* [PATCH 1/3] smiapp: Use better regulator name for the Device tree
  2014-05-04  0:31 smiapp: Minor improvements, early preparation for DT support Sakari Ailus
@ 2014-05-04  0:31 ` Sakari Ailus
  2014-05-09 12:16   ` Laurent Pinchart
  2014-05-04  0:31 ` [PATCH 2/3] smiapp: Check for GPIO validity using gpio_is_valid() Sakari Ailus
  2014-05-04  0:31 ` [PATCH 3/3] smiapp: Return correct return value in smiapp_registered() Sakari Ailus
  2 siblings, 1 reply; 8+ messages in thread
From: Sakari Ailus @ 2014-05-04  0:31 UTC (permalink / raw)
  To: linux-media

Rename "VANA" regulator as "vana".

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
---
 drivers/media/i2c/smiapp/smiapp-core.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c
index 8741cae..c1d6d1d 100644
--- a/drivers/media/i2c/smiapp/smiapp-core.c
+++ b/drivers/media/i2c/smiapp/smiapp-core.c
@@ -2355,7 +2355,7 @@ static int smiapp_registered(struct v4l2_subdev *subdev)
 	unsigned int i;
 	int rval;
 
-	sensor->vana = devm_regulator_get(&client->dev, "VANA");
+	sensor->vana = devm_regulator_get(&client->dev, "vana");
 	if (IS_ERR(sensor->vana)) {
 		dev_err(&client->dev, "could not get regulator for vana\n");
 		return -ENODEV;
-- 
1.7.10.4


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

* [PATCH 2/3] smiapp: Check for GPIO validity using gpio_is_valid()
  2014-05-04  0:31 smiapp: Minor improvements, early preparation for DT support Sakari Ailus
  2014-05-04  0:31 ` [PATCH 1/3] smiapp: Use better regulator name for the Device tree Sakari Ailus
@ 2014-05-04  0:31 ` Sakari Ailus
  2014-05-09 12:18   ` Laurent Pinchart
  2014-05-04  0:31 ` [PATCH 3/3] smiapp: Return correct return value in smiapp_registered() Sakari Ailus
  2 siblings, 1 reply; 8+ messages in thread
From: Sakari Ailus @ 2014-05-04  0:31 UTC (permalink / raw)
  To: linux-media

Do not use our special value, SMIAPP_NO_XSHUTDOWN.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
---
 drivers/media/i2c/smiapp/smiapp-core.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c
index c1d6d1d..e4037c8 100644
--- a/drivers/media/i2c/smiapp/smiapp-core.c
+++ b/drivers/media/i2c/smiapp/smiapp-core.c
@@ -1128,7 +1128,7 @@ static int smiapp_power_on(struct smiapp_sensor *sensor)
 	}
 	usleep_range(1000, 1000);
 
-	if (sensor->platform_data->xshutdown != SMIAPP_NO_XSHUTDOWN)
+	if (gpio_is_valid(sensor->platform_data->xshutdown))
 		gpio_set_value(sensor->platform_data->xshutdown, 1);
 
 	sleep = SMIAPP_RESET_DELAY(sensor->platform_data->ext_clk);
@@ -1238,7 +1238,7 @@ static int smiapp_power_on(struct smiapp_sensor *sensor)
 	return 0;
 
 out_cci_addr_fail:
-	if (sensor->platform_data->xshutdown != SMIAPP_NO_XSHUTDOWN)
+	if (gpio_is_valid(sensor->platform_data->xshutdown))
 		gpio_set_value(sensor->platform_data->xshutdown, 0);
 	if (sensor->platform_data->set_xclk)
 		sensor->platform_data->set_xclk(&sensor->src->sd, 0);
@@ -1264,7 +1264,7 @@ static void smiapp_power_off(struct smiapp_sensor *sensor)
 			     SMIAPP_REG_U8_SOFTWARE_RESET,
 			     SMIAPP_SOFTWARE_RESET);
 
-	if (sensor->platform_data->xshutdown != SMIAPP_NO_XSHUTDOWN)
+	if (gpio_is_valid(sensor->platform_data->xshutdown))
 		gpio_set_value(sensor->platform_data->xshutdown, 0);
 	if (sensor->platform_data->set_xclk)
 		sensor->platform_data->set_xclk(&sensor->src->sd, 0);
@@ -2378,7 +2378,7 @@ static int smiapp_registered(struct v4l2_subdev *subdev)
 		}
 	}
 
-	if (sensor->platform_data->xshutdown != SMIAPP_NO_XSHUTDOWN) {
+	if (gpio_is_valid(sensor->platform_data->xshutdown)) {
 		if (devm_gpio_request_one(&client->dev,
 					  sensor->platform_data->xshutdown, 0,
 					  "SMIA++ xshutdown") != 0) {
@@ -2830,7 +2830,7 @@ static int smiapp_remove(struct i2c_client *client)
 	unsigned int i;
 
 	if (sensor->power_count) {
-		if (sensor->platform_data->xshutdown != SMIAPP_NO_XSHUTDOWN)
+		if (gpio_is_valid(sensor->platform_data->xshutdown))
 			gpio_set_value(sensor->platform_data->xshutdown, 0);
 		if (sensor->platform_data->set_xclk)
 			sensor->platform_data->set_xclk(&sensor->src->sd, 0);
-- 
1.7.10.4


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

* [PATCH 3/3] smiapp: Return correct return value in smiapp_registered()
  2014-05-04  0:31 smiapp: Minor improvements, early preparation for DT support Sakari Ailus
  2014-05-04  0:31 ` [PATCH 1/3] smiapp: Use better regulator name for the Device tree Sakari Ailus
  2014-05-04  0:31 ` [PATCH 2/3] smiapp: Check for GPIO validity using gpio_is_valid() Sakari Ailus
@ 2014-05-04  0:31 ` Sakari Ailus
  2014-05-09 12:17   ` Laurent Pinchart
  2 siblings, 1 reply; 8+ messages in thread
From: Sakari Ailus @ 2014-05-04  0:31 UTC (permalink / raw)
  To: linux-media

Prepare for supporting systems using the Device tree. Should the resources
not be available at the time of driver probe(), the EPROBE_DEFER error code
must be also returned from its probe function.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
---
 drivers/media/i2c/smiapp/smiapp-core.c |   15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/media/i2c/smiapp/smiapp-core.c b/drivers/media/i2c/smiapp/smiapp-core.c
index e4037c8..3c7be76 100644
--- a/drivers/media/i2c/smiapp/smiapp-core.c
+++ b/drivers/media/i2c/smiapp/smiapp-core.c
@@ -2358,14 +2358,14 @@ static int smiapp_registered(struct v4l2_subdev *subdev)
 	sensor->vana = devm_regulator_get(&client->dev, "vana");
 	if (IS_ERR(sensor->vana)) {
 		dev_err(&client->dev, "could not get regulator for vana\n");
-		return -ENODEV;
+		return PTR_ERR(sensor->vana);
 	}
 
 	if (!sensor->platform_data->set_xclk) {
 		sensor->ext_clk = devm_clk_get(&client->dev, "ext_clk");
 		if (IS_ERR(sensor->ext_clk)) {
 			dev_err(&client->dev, "could not get clock\n");
-			return -ENODEV;
+			return PTR_ERR(sensor->ext_clk);
 		}
 
 		rval = clk_set_rate(sensor->ext_clk,
@@ -2374,18 +2374,19 @@ static int smiapp_registered(struct v4l2_subdev *subdev)
 			dev_err(&client->dev,
 				"unable to set clock freq to %u\n",
 				sensor->platform_data->ext_clk);
-			return -ENODEV;
+			return rval;
 		}
 	}
 
 	if (gpio_is_valid(sensor->platform_data->xshutdown)) {
-		if (devm_gpio_request_one(&client->dev,
-					  sensor->platform_data->xshutdown, 0,
-					  "SMIA++ xshutdown") != 0) {
+		rval = devm_gpio_request_one(
+			&client->dev, sensor->platform_data->xshutdown, 0,
+			"SMIA++ xshutdown");
+		if (rval < 0) {
 			dev_err(&client->dev,
 				"unable to acquire reset gpio %d\n",
 				sensor->platform_data->xshutdown);
-			return -ENODEV;
+			return rval;
 		}
 	}
 
-- 
1.7.10.4


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

* Re: [PATCH 1/3] smiapp: Use better regulator name for the Device tree
  2014-05-04  0:31 ` [PATCH 1/3] smiapp: Use better regulator name for the Device tree Sakari Ailus
@ 2014-05-09 12:16   ` Laurent Pinchart
  0 siblings, 0 replies; 8+ messages in thread
From: Laurent Pinchart @ 2014-05-09 12:16 UTC (permalink / raw)
  To: Sakari Ailus; +Cc: linux-media

Hi Sakari,

Thank you for the patch.

On Sunday 04 May 2014 03:31:55 Sakari Ailus wrote:
> Rename "VANA" regulator as "vana".
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/media/i2c/smiapp/smiapp-core.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/media/i2c/smiapp/smiapp-core.c
> b/drivers/media/i2c/smiapp/smiapp-core.c index 8741cae..c1d6d1d 100644
> --- a/drivers/media/i2c/smiapp/smiapp-core.c
> +++ b/drivers/media/i2c/smiapp/smiapp-core.c
> @@ -2355,7 +2355,7 @@ static int smiapp_registered(struct v4l2_subdev
> *subdev) unsigned int i;
>  	int rval;
> 
> -	sensor->vana = devm_regulator_get(&client->dev, "VANA");
> +	sensor->vana = devm_regulator_get(&client->dev, "vana");
>  	if (IS_ERR(sensor->vana)) {
>  		dev_err(&client->dev, "could not get regulator for vana\n");
>  		return -ENODEV;

-- 
Regards,

Laurent Pinchart


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

* Re: [PATCH 3/3] smiapp: Return correct return value in smiapp_registered()
  2014-05-04  0:31 ` [PATCH 3/3] smiapp: Return correct return value in smiapp_registered() Sakari Ailus
@ 2014-05-09 12:17   ` Laurent Pinchart
  0 siblings, 0 replies; 8+ messages in thread
From: Laurent Pinchart @ 2014-05-09 12:17 UTC (permalink / raw)
  To: Sakari Ailus; +Cc: linux-media

Hi Sakari,

Thank you for the patch.

On Sunday 04 May 2014 03:31:57 Sakari Ailus wrote:
> Prepare for supporting systems using the Device tree. Should the resources
> not be available at the time of driver probe(), the EPROBE_DEFER error code
> must be also returned from its probe function.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/media/i2c/smiapp/smiapp-core.c |   15 ++++++++-------
>  1 file changed, 8 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/media/i2c/smiapp/smiapp-core.c
> b/drivers/media/i2c/smiapp/smiapp-core.c index e4037c8..3c7be76 100644
> --- a/drivers/media/i2c/smiapp/smiapp-core.c
> +++ b/drivers/media/i2c/smiapp/smiapp-core.c
> @@ -2358,14 +2358,14 @@ static int smiapp_registered(struct v4l2_subdev
> *subdev) sensor->vana = devm_regulator_get(&client->dev, "vana");
>  	if (IS_ERR(sensor->vana)) {
>  		dev_err(&client->dev, "could not get regulator for vana\n");
> -		return -ENODEV;
> +		return PTR_ERR(sensor->vana);
>  	}
> 
>  	if (!sensor->platform_data->set_xclk) {
>  		sensor->ext_clk = devm_clk_get(&client->dev, "ext_clk");
>  		if (IS_ERR(sensor->ext_clk)) {
>  			dev_err(&client->dev, "could not get clock\n");
> -			return -ENODEV;
> +			return PTR_ERR(sensor->ext_clk);
>  		}
> 
>  		rval = clk_set_rate(sensor->ext_clk,
> @@ -2374,18 +2374,19 @@ static int smiapp_registered(struct v4l2_subdev
> *subdev) dev_err(&client->dev,
>  				"unable to set clock freq to %u\n",
>  				sensor->platform_data->ext_clk);
> -			return -ENODEV;
> +			return rval;
>  		}
>  	}
> 
>  	if (gpio_is_valid(sensor->platform_data->xshutdown)) {
> -		if (devm_gpio_request_one(&client->dev,
> -					  sensor->platform_data->xshutdown, 0,
> -					  "SMIA++ xshutdown") != 0) {
> +		rval = devm_gpio_request_one(
> +			&client->dev, sensor->platform_data->xshutdown, 0,
> +			"SMIA++ xshutdown");
> +		if (rval < 0) {
>  			dev_err(&client->dev,
>  				"unable to acquire reset gpio %d\n",
>  				sensor->platform_data->xshutdown);
> -			return -ENODEV;
> +			return rval;
>  		}
>  	}

-- 
Regards,

Laurent Pinchart


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

* Re: [PATCH 2/3] smiapp: Check for GPIO validity using gpio_is_valid()
  2014-05-04  0:31 ` [PATCH 2/3] smiapp: Check for GPIO validity using gpio_is_valid() Sakari Ailus
@ 2014-05-09 12:18   ` Laurent Pinchart
  2014-05-09 12:38     ` Sakari Ailus
  0 siblings, 1 reply; 8+ messages in thread
From: Laurent Pinchart @ 2014-05-09 12:18 UTC (permalink / raw)
  To: Sakari Ailus; +Cc: linux-media

Hi Sakari,

Thank you for the patch.

On Sunday 04 May 2014 03:31:56 Sakari Ailus wrote:
> Do not use our special value, SMIAPP_NO_XSHUTDOWN.
> 
> Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>

Wouldn't it make sense to switch to the gpiod API ? That change could then 
replace this patch. If you would like to do so in an incremental patch 
instead,

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  drivers/media/i2c/smiapp/smiapp-core.c |   10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/media/i2c/smiapp/smiapp-core.c
> b/drivers/media/i2c/smiapp/smiapp-core.c index c1d6d1d..e4037c8 100644
> --- a/drivers/media/i2c/smiapp/smiapp-core.c
> +++ b/drivers/media/i2c/smiapp/smiapp-core.c
> @@ -1128,7 +1128,7 @@ static int smiapp_power_on(struct smiapp_sensor
> *sensor) }
>  	usleep_range(1000, 1000);
> 
> -	if (sensor->platform_data->xshutdown != SMIAPP_NO_XSHUTDOWN)
> +	if (gpio_is_valid(sensor->platform_data->xshutdown))
>  		gpio_set_value(sensor->platform_data->xshutdown, 1);
> 
>  	sleep = SMIAPP_RESET_DELAY(sensor->platform_data->ext_clk);
> @@ -1238,7 +1238,7 @@ static int smiapp_power_on(struct smiapp_sensor
> *sensor) return 0;
> 
>  out_cci_addr_fail:
> -	if (sensor->platform_data->xshutdown != SMIAPP_NO_XSHUTDOWN)
> +	if (gpio_is_valid(sensor->platform_data->xshutdown))
>  		gpio_set_value(sensor->platform_data->xshutdown, 0);
>  	if (sensor->platform_data->set_xclk)
>  		sensor->platform_data->set_xclk(&sensor->src->sd, 0);
> @@ -1264,7 +1264,7 @@ static void smiapp_power_off(struct smiapp_sensor
> *sensor) SMIAPP_REG_U8_SOFTWARE_RESET,
>  			     SMIAPP_SOFTWARE_RESET);
> 
> -	if (sensor->platform_data->xshutdown != SMIAPP_NO_XSHUTDOWN)
> +	if (gpio_is_valid(sensor->platform_data->xshutdown))
>  		gpio_set_value(sensor->platform_data->xshutdown, 0);
>  	if (sensor->platform_data->set_xclk)
>  		sensor->platform_data->set_xclk(&sensor->src->sd, 0);
> @@ -2378,7 +2378,7 @@ static int smiapp_registered(struct v4l2_subdev
> *subdev) }
>  	}
> 
> -	if (sensor->platform_data->xshutdown != SMIAPP_NO_XSHUTDOWN) {
> +	if (gpio_is_valid(sensor->platform_data->xshutdown)) {
>  		if (devm_gpio_request_one(&client->dev,
>  					  sensor->platform_data->xshutdown, 0,
>  					  "SMIA++ xshutdown") != 0) {
> @@ -2830,7 +2830,7 @@ static int smiapp_remove(struct i2c_client *client)
>  	unsigned int i;
> 
>  	if (sensor->power_count) {
> -		if (sensor->platform_data->xshutdown != SMIAPP_NO_XSHUTDOWN)
> +		if (gpio_is_valid(sensor->platform_data->xshutdown))
>  			gpio_set_value(sensor->platform_data->xshutdown, 0);
>  		if (sensor->platform_data->set_xclk)
>  			sensor->platform_data->set_xclk(&sensor->src->sd, 0);

-- 
Regards,

Laurent Pinchart


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

* Re: [PATCH 2/3] smiapp: Check for GPIO validity using gpio_is_valid()
  2014-05-09 12:18   ` Laurent Pinchart
@ 2014-05-09 12:38     ` Sakari Ailus
  0 siblings, 0 replies; 8+ messages in thread
From: Sakari Ailus @ 2014-05-09 12:38 UTC (permalink / raw)
  To: Laurent Pinchart; +Cc: linux-media

Hi Laurent,

On Fri, May 09, 2014 at 02:18:24PM +0200, Laurent Pinchart wrote:
> On Sunday 04 May 2014 03:31:56 Sakari Ailus wrote:
> > Do not use our special value, SMIAPP_NO_XSHUTDOWN.
> > 
> > Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
> 
> Wouldn't it make sense to switch to the gpiod API ? That change could then 
> replace this patch. If you would like to do so in an incremental patch 
> instead,

I'll do that a little later.

> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

Thanks!

-- 
Kind regards,

Sakari Ailus
e-mail: sakari.ailus@iki.fi	XMPP: sailus@retiisi.org.uk

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

end of thread, other threads:[~2014-05-09 12:38 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-04  0:31 smiapp: Minor improvements, early preparation for DT support Sakari Ailus
2014-05-04  0:31 ` [PATCH 1/3] smiapp: Use better regulator name for the Device tree Sakari Ailus
2014-05-09 12:16   ` Laurent Pinchart
2014-05-04  0:31 ` [PATCH 2/3] smiapp: Check for GPIO validity using gpio_is_valid() Sakari Ailus
2014-05-09 12:18   ` Laurent Pinchart
2014-05-09 12:38     ` Sakari Ailus
2014-05-04  0:31 ` [PATCH 3/3] smiapp: Return correct return value in smiapp_registered() Sakari Ailus
2014-05-09 12:17   ` Laurent Pinchart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).