* 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).