|
@@ -395,14 +395,12 @@ static int twl6030reg_set_mode(struct regulator_dev *rdev, unsigned mode)
|
|
|
* VAUX3 at 3V is incorrectly listed in some TI manuals as unsupported.
|
|
|
* TI are revising the twl5030/tps659x0 specs to support that 3.0V setting.
|
|
|
*/
|
|
|
-#ifdef CONFIG_TWL4030_ALLOW_UNSUPPORTED
|
|
|
-#define UNSUP_MASK 0x0000
|
|
|
-#else
|
|
|
#define UNSUP_MASK 0x8000
|
|
|
-#endif
|
|
|
|
|
|
#define UNSUP(x) (UNSUP_MASK | (x))
|
|
|
-#define IS_UNSUP(x) (UNSUP_MASK & (x))
|
|
|
+#define IS_UNSUP(info, x) \
|
|
|
+ ((UNSUP_MASK & (x)) && \
|
|
|
+ !((info)->features & TWL4030_ALLOW_UNSUPPORTED))
|
|
|
#define LDO_MV(x) (~UNSUP_MASK & (x))
|
|
|
|
|
|
|
|
@@ -476,7 +474,7 @@ static int twl4030ldo_list_voltage(struct regulator_dev *rdev, unsigned index)
|
|
|
struct twlreg_info *info = rdev_get_drvdata(rdev);
|
|
|
int mV = info->table[index];
|
|
|
|
|
|
- return IS_UNSUP(mV) ? 0 : (LDO_MV(mV) * 1000);
|
|
|
+ return IS_UNSUP(info, mV) ? 0 : (LDO_MV(mV) * 1000);
|
|
|
}
|
|
|
|
|
|
static int
|