On Tuesday 22 November 2016 06:28 PM, Linus Walleij wrote:
On Tue, Nov 22, 2016 at 11:20 AM, Laxman Dewangan <ldewangan@xxxxxxxxxx> wrote:
+ rinfo->regulator = devm_regulator_get_optional(dev,
+ soc_data->cfg[i].vsupply);
Please just use devm_regulator_get().
As has been discussed at lenth elsewhere "optional" in regulator_get_optional
does *not* mean "software optional", it means "hardware optional".
Such as a terminal that may have a voltage connected or not be
connected to anything at all.
If the system does not define a regulator you will anyway get a
dummy regulator.
The issue with dummy regulator is that the other regulator APIs with
dummy regulator fails.
Once we get the dummy regulator, there is no way to know whether the
returned regulator is actual or dummy and when calling the
regulator_get_voltage() it failed.
[ 2.917176] pinctrl-t210-io-pad.0 supply vddio-audio-hv not found,
using dummy regulator
[ 2.925510] pinctrl-tegra-io-pad pinctrl-t210-io-pad.0: Failed to get
voltage for rail vddio-aud2
Here, we need the regulator handle which can support the other regulator
APIs.
In some of platforms, we do not use some of the io-pins and on this
case, we do not connect the IO rail supply for these pins. So this is
like a hardware optional.
If the IO pins are used then it need to have the proper regulator handle.
Missing regulator handle on DT will be like that IO pads are not used.
--
To unsubscribe from this list: send the line "unsubscribe linux-tegra" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html