Patchwork [v3,2/6] usb: ohci-da8xx: let the regulator framework keep track of use count

login
register
mail settings
Submitter Bartosz Golaszewski
Date April 9, 2019, 8:28 a.m.
Message ID <20190409082855.15373-3-brgl@bgdev.pl>
Download mbox | patch
Permalink /patch/768363/
State New
Headers show

Comments

Bartosz Golaszewski - April 9, 2019, 8:28 a.m.
From: Bartosz Golaszewski <bgolaszewski@baylibre.com>

There's no reason to have a separate variable to keep track of the
regulator state. The regulator core already does that. Remove
reg_enabled from struct da8xx_ohci_hcd.

Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
---
 drivers/usb/host/ohci-da8xx.c | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)
Sergei Shtylyov - April 9, 2019, 10:36 a.m.
On 04/09/2019 11:28 AM, Bartosz Golaszewski wrote:

> From: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> 
> There's no reason to have a separate variable to keep track of the
> regulator state. The regulator core already does that. Remove
> reg_enabled from struct da8xx_ohci_hcd.
> 
> Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
> Acked-by: Alan Stern <stern@rowland.harvard.edu>
> ---
>  drivers/usb/host/ohci-da8xx.c | 8 ++------
>  1 file changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/usb/host/ohci-da8xx.c b/drivers/usb/host/ohci-da8xx.c
> index ca8a94f15ac0..9c6d1f03b871 100644
> --- a/drivers/usb/host/ohci-da8xx.c
> +++ b/drivers/usb/host/ohci-da8xx.c
[...]
> @@ -100,21 +99,18 @@ static int ohci_da8xx_set_power(struct usb_hcd *hcd, int on)
>  	if (!da8xx_ohci->vbus_reg)
>  		return 0;
>  
> -	if (on && !da8xx_ohci->reg_enabled) {
> +	if (on) {
>  		ret = regulator_enable(da8xx_ohci->vbus_reg);
>  		if (ret) {
>  			dev_err(dev, "Failed to enable regulator: %d\n", ret);
>  			return ret;
>  		}
> -		da8xx_ohci->reg_enabled = 1;
> -
> -	} else if (!on && da8xx_ohci->reg_enabled) {
> +	} else if (!on) {

  This can be reduced to simple *else* now.

>  		ret = regulator_disable(da8xx_ohci->vbus_reg);
>  		if (ret) {
>  			dev_err(dev, "Failed  to disable regulator: %d\n", ret);
>  			return ret;
>  		}
> -		da8xx_ohci->reg_enabled = 0;
>  	}
>  
>  	return 0;

MBR, Sergei

Patch

diff --git a/drivers/usb/host/ohci-da8xx.c b/drivers/usb/host/ohci-da8xx.c
index ca8a94f15ac0..9c6d1f03b871 100644
--- a/drivers/usb/host/ohci-da8xx.c
+++ b/drivers/usb/host/ohci-da8xx.c
@@ -40,7 +40,6 @@  struct da8xx_ohci_hcd {
 	struct phy *usb11_phy;
 	struct regulator *vbus_reg;
 	struct notifier_block nb;
-	unsigned int reg_enabled;
 	struct gpio_desc *vbus_gpio;
 	struct gpio_desc *oc_gpio;
 };
@@ -100,21 +99,18 @@  static int ohci_da8xx_set_power(struct usb_hcd *hcd, int on)
 	if (!da8xx_ohci->vbus_reg)
 		return 0;
 
-	if (on && !da8xx_ohci->reg_enabled) {
+	if (on) {
 		ret = regulator_enable(da8xx_ohci->vbus_reg);
 		if (ret) {
 			dev_err(dev, "Failed to enable regulator: %d\n", ret);
 			return ret;
 		}
-		da8xx_ohci->reg_enabled = 1;
-
-	} else if (!on && da8xx_ohci->reg_enabled) {
+	} else if (!on) {
 		ret = regulator_disable(da8xx_ohci->vbus_reg);
 		if (ret) {
 			dev_err(dev, "Failed  to disable regulator: %d\n", ret);
 			return ret;
 		}
-		da8xx_ohci->reg_enabled = 0;
 	}
 
 	return 0;