Message ID | 1406651339-28901-2-git-send-email-javier.martinez@collabora.co.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Jul 29, 2014 at 06:28:55PM +0200, Javier Martinez Canillas wrote: > Load switches are modeled as regulators but they just provide > the voltage of their parent input supply. So the drivers for Applied, thanks. The term "load switch" is a bit unusual - they're usually just called switches (or sometimes FETs since that tends to be the implementation).
On 07/29/2014 08:26 PM, Mark Brown wrote: > On Tue, Jul 29, 2014 at 06:28:55PM +0200, Javier Martinez Canillas wrote: >> Load switches are modeled as regulators but they just provide >> the voltage of their parent input supply. So the drivers for > > Applied, thanks. The term "load switch" is a bit unusual - they're > usually just called switches (or sometimes FETs since that tends to be > the implementation). > Thanks, I used the terminology from the tps65090 data manual [0] that refers these components as "load switches" all around the document. Although they are called FETs indeed in the tables and register names. Best regards, Javier [0]: http://www.ti.com/lit/gpn/tps65090
diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c index 69c9c08..089cea8 100644 --- a/drivers/regulator/core.c +++ b/drivers/regulator/core.c @@ -2695,6 +2695,8 @@ static int _regulator_get_voltage(struct regulator_dev *rdev) ret = rdev->desc->ops->list_voltage(rdev, 0); } else if (rdev->desc->fixed_uV && (rdev->desc->n_voltages == 1)) { ret = rdev->desc->fixed_uV; + } else if (rdev->supply) { + ret = regulator_get_voltage(rdev->supply); } else { return -EINVAL; }
Load switches are modeled as regulators but they just provide the voltage of their parent input supply. So the drivers for these switches usually don't provide a .get_voltage function handler but there is code in the kernel that assumes that all regulators should be able to provide its current voltage rail. So, if the output voltage for a regulator is not available and it has a parent supply, then pass the voltage of its parent. Signed-off-by: Javier Martinez Canillas <javier.martinez@collabora.co.uk> --- drivers/regulator/core.c | 2 ++ 1 file changed, 2 insertions(+)