20 Oct, 2014
1 commit
-
A platform_driver does not need to set an owner, it will be populated by the
driver core.Signed-off-by: Wolfram Sang
05 Mar, 2014
1 commit
-
Remove unnecessary parentheses in order to fix the following
checkpatch error.ERROR: return is not a function, parentheses are not required
Signed-off-by: Jingoo Han
Signed-off-by: Mark Brown
20 Feb, 2014
1 commit
-
kzalloc prints its own OOM message upon failure.
Signed-off-by: Sachin Kamat
Signed-off-by: Mark Brown
17 Sep, 2013
1 commit
-
devm_* simplifies the code.
Signed-off-by: Sachin Kamat
Signed-off-by: Mark Brown
23 Apr, 2013
2 commits
-
Signed-off-by: Axel Lin
Signed-off-by: Mark Brown -
Currently we have a special code in tps80031_ldo_set_voltage_sel() to handle
LDO2 track mode for TPS80031 or TPS80032-ES1.0. The purpose is to address below
issues:Issue description:
- LDO2 traking mode is enabled
- LDO2 tracks SMPS2 voltage.
- LDO2 automatically switch-off when LDO2_CFG_VOLTAGE is changed to some discrete values (non exhaustive list):
00011001, 00011010, 00011011, 00011100, .
- LDO2 switch-on again when LDO2_CFG_VOLTAGE is changed to other values (non exhaustive list):
00011000, 00010111, .LDOs have reserved codes. For these codes, LDO is switch-off.
In tracking, LDO2 ref comes from SMPS2.
However LDO2 enable is still gated by LDO2 VSEL decoding.
As a result, in tracking mode LDO2 will be disabled for following code (SMPS VSEL format):
000000 & 100000 (MSB not decoded)
011001 & 111001 (MSB not decoded)
011010 & 111010 (MSB not decoded)
011100 & 111100 (MSB not decoded)
011101 & 111101 (MSB not decoded)
011110 & 111110 (MSB not decoded)However, current code has below bugs:
1. It uses regulator_list_voltage_linear, so list_voltage() still shows above
invalid selectors have supported voltage.
2. Current code may return -EINVAL in tps80031_ldo_set_voltage_sel() for
supported voltage. This is because when we use regulator_list_voltage_linear
as list_voltage callback, regulator core will default use
regulator_map_voltage_linear(). regulator_map_voltage_linear() has an
assumption that the voltages are linear which is not true for this case.For example,
when request voltage range is: min_uV=950000 uV && max_uV=1200000 uV
regulator_map_voltage_linear() returns the selector is 29 (0x1D),
set_voltage_sel() returns -EINVAL.
(The selector is in invalid range, 0x19 ~ 0x1f).In above case, map_voltage() should find the lowest valid voltage within
specific range (selector = 0x20) and set_voltage_sel() should successfully
set the voltage to 987500 uV.This patch fixes these issues by:
1. Add checking valid setting for LDO2 track mode of TPS80031 or TPS80032-ES1.0
in list_voltage. So it returns -EINVAL for invalid selectors.
2. Implement tps80031_ldo_map_voltage, use regulator_map_voltage_iterate()
to find the lowest voltage within specific range for TPS80031 or
TPS80032-ES1.0. This is required when the voltage map is no longer linear.Signed-off-by: Axel Lin
Signed-off-by: Mark Brown
26 Jan, 2013
1 commit
-
regulator_register() does not return NULL, it returns ERR_PTR on error.
Signed-off-by: Axel Lin
Signed-off-by: Mark Brown
10 Dec, 2012
1 commit
07 Dec, 2012
1 commit
-
Signed-off-by: Axel Lin
Signed-off-by: Mark Brown
23 Nov, 2012
2 commits
-
Implement list_voltage for fixed regulators, otherwise
regulator_is_supported_voltage() returns 0.Signed-off-by: Axel Lin
Acked-by: Laxman Dewangan
Signed-off-by: Mark Brown -
This patch includes below cleanups:
- Fix typo in comment
- Fix showing wrong register in dev_err
- Remove unnecessary rinfo variable
- Add TPS80032 to MODULE_DESCRIPTIONSigned-off-by: Axel Lin
Acked-by: Laxman Dewangan
Signed-off-by: Mark Brown
20 Nov, 2012
3 commits
-
CONFIG_HOTPLUG is going away as an option so __devexit is no
longer needed.Signed-off-by: Bill Pemberton
Signed-off-by: Mark Brown -
CONFIG_HOTPLUG is going away as an option so __devinit is no longer
needed.Signed-off-by: Bill Pemberton
Signed-off-by: Mark Brown -
CONFIG_HOTPLUG is going away as an option so __devexit_p is no longer
needed.Signed-off-by: Bill Pemberton
Signed-off-by: Mark Brown
15 Nov, 2012
1 commit
-
Pefix "TPS80031" is added on all defines of tps80031 header
to avoid conflict with other header definitions.
Update the regualtor driver of tps80031 to use the same name.Signed-off-by: Laxman Dewangan
Signed-off-by: Mark Brown
13 Nov, 2012
1 commit
-
Add regulator driver for Texas Instrument TPS80031/TPS80032 device.
TPS80031/ TPS80032 Fully Integrated Power Management with Power
Path and Battery Charger. It has 5 configurable step-down
converters, 11 general purpose LDOs, VBUS generator and digital
output to control regulators.Signed-off-by: Laxman Dewangan
Signed-off-by: Mark Brown