[PATCH v2 1/2] usb: ehci-exynos: Make provision for vdd regulators

Alan Stern stern at rowland.harvard.edu
Wed Jun 11 08:39:10 PDT 2014


On Fri, 6 Jun 2014, Vivek Gautam wrote:

> Facilitate getting required 3.3V and 1.0V VDD supply for
> EHCI 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.

"Certain peripherals"?  Don't you mean "certain controllers"?

Does this mean some controllers don't need to use the VDD regulators?

> @@ -193,7 +196,31 @@ static int exynos_ehci_probe(struct platform_device *pdev)
>  
>  	err = exynos_ehci_get_phy(&pdev->dev, exynos_ehci);
>  	if (err)
> -		goto fail_clk;
> +		goto fail_regulator1;
> +
> +	exynos_ehci->vdd33 = devm_regulator_get(&pdev->dev, "vdd33");
> +	if (!IS_ERR(exynos_ehci->vdd33)) {
> +		err = regulator_enable(exynos_ehci->vdd33);
> +		if (err) {
> +			dev_err(&pdev->dev,
> +				"Failed to enable 3.3V Vdd supply\n");
> +			goto fail_regulator1;
> +		}
> +	} else {
> +		dev_warn(&pdev->dev, "Regulator 3.3V Vdd supply not found\n");
> +	}

What if this is one of the controllers that don't need to use a VDD 
regulator?  Do you really want to print out a warning in that case?  
Should you call devm_regulator_get_optional() instead?

Alan Stern




More information about the linux-arm-kernel mailing list