public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH RESENT] phy: tusb1210: make better use of gpiod API
@ 2015-06-12 17:51 Uwe Kleine-König
  2015-06-15  5:43 ` Kishon Vijay Abraham I
  0 siblings, 1 reply; 2+ messages in thread
From: Uwe Kleine-König @ 2015-06-12 17:51 UTC (permalink / raw)
  To: Heikki Krogerus, Felipe Balbi, Linus Walleij, Alexandre Courbot,
	Kishon Vijay Abraham I
  Cc: kernel, linux-kernel, linux-usb

Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions)
which appeared in v3.17-rc1, the gpiod_get* functions take an additional
parameter that allows to specify direction and initial value for output.

Furthermore there is devm_gpiod_get_optional which is designed to get
optional gpios.

Simplify driver accordingly. Furthermore this is one caller less that
stops us making the flags argument to gpiod_get*() mandatory.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
---
Hello,

[for the initial submission I forgot linux-usb on Cc, Felipe Balbi
requested a resend]

note I plan to make the flags parameter mandatory for 4.3. So unless
this change gets into 4.2, would it be ok to let it go in via the gpio
tree?

Best regards
Uwe

 drivers/phy/phy-tusb1210.c | 30 ++++++++++++------------------
 1 file changed, 12 insertions(+), 18 deletions(-)

diff --git a/drivers/phy/phy-tusb1210.c b/drivers/phy/phy-tusb1210.c
index 07efdd318bdc..93dd45f2f26e 100644
--- a/drivers/phy/phy-tusb1210.c
+++ b/drivers/phy/phy-tusb1210.c
@@ -61,32 +61,26 @@ static struct phy_ops phy_ops = {
 
 static int tusb1210_probe(struct ulpi *ulpi)
 {
-	struct gpio_desc *gpio;
 	struct tusb1210 *tusb;
 	u8 val, reg;
-	int ret;
 
 	tusb = devm_kzalloc(&ulpi->dev, sizeof(*tusb), GFP_KERNEL);
 	if (!tusb)
 		return -ENOMEM;
 
-	gpio = devm_gpiod_get(&ulpi->dev, "reset");
-	if (!IS_ERR(gpio)) {
-		ret = gpiod_direction_output(gpio, 0);
-		if (ret)
-			return ret;
-		gpiod_set_value_cansleep(gpio, 1);
-		tusb->gpio_reset = gpio;
-	}
+	tusb->gpio_reset = devm_gpiod_get_optional(&ulpi->dev, "reset",
+						   GPIOD_OUT_LOW);
+	if (IS_ERR(tusb->gpio_reset))
+		return PTR_ERR(tusb->gpio_reset);
 
-	gpio = devm_gpiod_get(&ulpi->dev, "cs");
-	if (!IS_ERR(gpio)) {
-		ret = gpiod_direction_output(gpio, 0);
-		if (ret)
-			return ret;
-		gpiod_set_value_cansleep(gpio, 1);
-		tusb->gpio_cs = gpio;
-	}
+	gpiod_set_value_cansleep(tusb->gpio_reset, 1);
+
+	tusb->gpio_cs = devm_gpiod_get_optional(&ulpi->dev, "cs",
+						GPIOD_OUT_LOW);
+	if (IS_ERR(tusb->gpio_cs))
+		return PTR_ERR(tusb->gpio_cs);
+
+	gpiod_set_value_cansleep(tusb->gpio_cs, 1);
 
 	/*
 	 * VENDOR_SPECIFIC2 register in TUSB1210 can be used for configuring eye
-- 
2.1.4


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

* Re: [PATCH RESENT] phy: tusb1210: make better use of gpiod API
  2015-06-12 17:51 [PATCH RESENT] phy: tusb1210: make better use of gpiod API Uwe Kleine-König
@ 2015-06-15  5:43 ` Kishon Vijay Abraham I
  0 siblings, 0 replies; 2+ messages in thread
From: Kishon Vijay Abraham I @ 2015-06-15  5:43 UTC (permalink / raw)
  To: Uwe Kleine-König, Heikki Krogerus, Felipe Balbi,
	Linus Walleij, Alexandre Courbot
  Cc: kernel, linux-kernel, linux-usb

Hi,

On Friday 12 June 2015 11:21 PM, Uwe Kleine-König wrote:
> Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions)
> which appeared in v3.17-rc1, the gpiod_get* functions take an additional
> parameter that allows to specify direction and initial value for output.
>
> Furthermore there is devm_gpiod_get_optional which is designed to get
> optional gpios.
>
> Simplify driver accordingly. Furthermore this is one caller less that
> stops us making the flags argument to gpiod_get*() mandatory.
>
> Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
> ---
> Hello,
>
> [for the initial submission I forgot linux-usb on Cc, Felipe Balbi
> requested a resend]
>
> note I plan to make the flags parameter mandatory for 4.3. So unless
> this change gets into 4.2, would it be ok to let it go in via the gpio
> tree?

This looks like a cleanup patch so it might not get in 4.2
If there is a dependency it should be fine. If you can just post this patch 
again before queuing this in your tree (for 4.3), I can see if there are 
patches that might cause merge conflicts with your change.

Thanks
Kishon
>
> Best regards
> Uwe
>
>   drivers/phy/phy-tusb1210.c | 30 ++++++++++++------------------
>   1 file changed, 12 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/phy/phy-tusb1210.c b/drivers/phy/phy-tusb1210.c
> index 07efdd318bdc..93dd45f2f26e 100644
> --- a/drivers/phy/phy-tusb1210.c
> +++ b/drivers/phy/phy-tusb1210.c
> @@ -61,32 +61,26 @@ static struct phy_ops phy_ops = {
>
>   static int tusb1210_probe(struct ulpi *ulpi)
>   {
> -	struct gpio_desc *gpio;
>   	struct tusb1210 *tusb;
>   	u8 val, reg;
> -	int ret;
>
>   	tusb = devm_kzalloc(&ulpi->dev, sizeof(*tusb), GFP_KERNEL);
>   	if (!tusb)
>   		return -ENOMEM;
>
> -	gpio = devm_gpiod_get(&ulpi->dev, "reset");
> -	if (!IS_ERR(gpio)) {
> -		ret = gpiod_direction_output(gpio, 0);
> -		if (ret)
> -			return ret;
> -		gpiod_set_value_cansleep(gpio, 1);
> -		tusb->gpio_reset = gpio;
> -	}
> +	tusb->gpio_reset = devm_gpiod_get_optional(&ulpi->dev, "reset",
> +						   GPIOD_OUT_LOW);
> +	if (IS_ERR(tusb->gpio_reset))
> +		return PTR_ERR(tusb->gpio_reset);
>
> -	gpio = devm_gpiod_get(&ulpi->dev, "cs");
> -	if (!IS_ERR(gpio)) {
> -		ret = gpiod_direction_output(gpio, 0);
> -		if (ret)
> -			return ret;
> -		gpiod_set_value_cansleep(gpio, 1);
> -		tusb->gpio_cs = gpio;
> -	}
> +	gpiod_set_value_cansleep(tusb->gpio_reset, 1);
> +
> +	tusb->gpio_cs = devm_gpiod_get_optional(&ulpi->dev, "cs",
> +						GPIOD_OUT_LOW);
> +	if (IS_ERR(tusb->gpio_cs))
> +		return PTR_ERR(tusb->gpio_cs);
> +
> +	gpiod_set_value_cansleep(tusb->gpio_cs, 1);
>
>   	/*
>   	 * VENDOR_SPECIFIC2 register in TUSB1210 can be used for configuring eye
>

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

end of thread, other threads:[~2015-06-15  5:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-12 17:51 [PATCH RESENT] phy: tusb1210: make better use of gpiod API Uwe Kleine-König
2015-06-15  5:43 ` Kishon Vijay Abraham I

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox