RE: [PATCH 3/3] usb: dwc3-exynos: Make provision for vdd regulators

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

> -----Original Message-----
> From: Vivek Gautam [mailto:gautamvivek1987@xxxxxxxxx] On Behalf Of
> Vivek Gautam
> Sent: Monday, April 21, 2014 9:17 PM
> To: linux-usb@xxxxxxxxxxxxxxx; linux-samsung-soc@xxxxxxxxxxxxxxx
> Cc: linux-kernel@xxxxxxxxxxxxxxx; linux-omap@xxxxxxxxxxxxxxx; linux-
> arm-kernel@xxxxxxxxxxxxxxxxxxx; gregkh@xxxxxxxxxxxxxxxxxxx;
> stern@xxxxxxxxxxxxxxxxxxx; balbi@xxxxxx; kgene.kim@xxxxxxxxxxx; Vivek
> Gautam; Anton Tikhomirov
> Subject: [PATCH 3/3] usb: dwc3-exynos: Make provision for vdd
> regulators
> 
> Facilitate getting required 3.3V and 1.0V VDD supply for
> DWC3 controller on Exynos.
> 
> With patches for regulators' nodes merged in 3.15:
> c8c253f ARM: dts: Add regulator entries to smdk5420
> 275dcd2 ARM: dts: add max77686 pmic node for smdk5250,
> 
> certain perripherals will now need to ensure that,
> they request VDD regulators in their drivers, and enable
> them so as to make them working.
> 
> Signed-off-by: Vivek Gautam <gautam.vivek@xxxxxxxxxxx>
> Cc: Anton Tikhomirov <av.tikhomirov@xxxxxxxxxxx>
> ---
> 
> Based on 'usb-next' branch of Greg's USB tree.
> Also cleanly applies on 'next' branch of Balbi's USB tree.
> 
>  drivers/usb/dwc3/dwc3-exynos.c |   51
> ++++++++++++++++++++++++++++++++++++++--
>  1 file changed, 49 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/usb/dwc3/dwc3-exynos.c b/drivers/usb/dwc3/dwc3-
> exynos.c
> index 28c8ad7..c9d9102 100644
> --- a/drivers/usb/dwc3/dwc3-exynos.c
> +++ b/drivers/usb/dwc3/dwc3-exynos.c
> @@ -27,6 +27,7 @@
>  #include <linux/usb/usb_phy_gen_xceiv.h>
>  #include <linux/of.h>
>  #include <linux/of_platform.h>
> +#include <linux/regulator/consumer.h>
> 
>  struct dwc3_exynos {
>  	struct platform_device	*usb2_phy;
> @@ -34,6 +35,8 @@ struct dwc3_exynos {
>  	struct device		*dev;
> 
>  	struct clk		*clk;
> +	struct regulator	*vdd33;
> +	struct regulator	*vdd10;
>  };
> 
>  static int dwc3_exynos_register_phys(struct dwc3_exynos *exynos)
> @@ -144,20 +147,46 @@ static int dwc3_exynos_probe(struct
> platform_device *pdev)
> 
>  	clk_prepare_enable(exynos->clk);
> 
> +	exynos->vdd33 = devm_regulator_get(dev, "vdd33");
> +	if (IS_ERR(exynos->vdd33)) {
> +		ret = PTR_ERR(exynos->vdd33);
> +		goto err2;

Is regulator property mandatory for dwc3-exynos? If it is not
and device tree doesn't provide it, dwc3-exynos driver probe shouldn't
fail here.

> +	}
> +	ret = regulator_enable(exynos->vdd33);
> +	if (ret) {
> +		dev_err(dev, "Failed to enable VDD33 supply\n");
> +		goto err2;
> +	}
> +

Thanks

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux