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

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

 



Hi Anton,


On Wed, Apr 23, 2014 at 2:56 PM, Anton Tikhomirov
<av.tikhomirov@xxxxxxxxxxx> wrote:
> 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.

These are the VDD regulators (from PMIC ldo supplies), in absence of
which the controller will not be powered up.
So doesn't it make sense to stop the probe when these are not supplied
by device tree ?

[snip]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel




[Index of Archives]     [Linux Kernel]     [Linux ARM (vger)]     [Linux ARM MSM]     [Linux Omap]     [CentOS ARM]     [Linux Arm]     [Linux Tegra]     [Fedora ARM]     [Linux for Samsung SOC]     [eCos]     [Linux Fastboot]     [Gcc Help]     [Git]     [DCCP]     [IETF Announce]     [Security]     [Linux MIPS]     [Yosemite Campsites]     [Photos]