On Thursday 26 February 2009, Liam Girdwood wrote: > > > > Note that the twl4030 regulator patch referred to will need a > > minor patch to work with the -next tree, because of interface > > change in the regulator framework. > > > > drivers/regulator/twl4030-regulator.c | 62 +++++++++++--------------------- > > 1 file changed, 23 insertions(+), 39 deletions(-) > > Applied. .... and here's that "minor patch". ====== CUT HERE From: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> Catch up the twl4030 regulator driver to the regulator interface change adding another parameter. Also, fix some comments, and take this opportunity to shrink the associated per-regulator memory usage by a word. Signed-off-by: David Brownell <dbrownell@xxxxxxxxxxxxxxxxxxxxx> --- drivers/regulator/twl4030-regulator.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) --- a/drivers/regulator/twl4030-regulator.c +++ b/drivers/regulator/twl4030-regulator.c @@ -36,13 +36,13 @@ struct twlreg_info { /* twl4030 resource ID, for resource control state machine */ u8 id; + /* FIXED_LDO voltage */ + u8 deciV; + /* voltage in mV = table[VSEL]; table_len must be a power-of-two */ u8 table_len; const u16 *table; - /* chip constraints on regulator behavior */ - u16 min_mV; - /* used by regulator core */ struct regulator_desc desc; }; @@ -329,14 +329,14 @@ static int twl4030fixed_list_voltage(str { struct twlreg_info *info = rdev_get_drvdata(rdev); - return info->min_mV * 1000; + return info->deciV * 100 * 1000; } static int twl4030fixed_get_voltage(struct regulator_dev *rdev) { struct twlreg_info *info = rdev_get_drvdata(rdev); - return info->min_mV * 1000; + return info->deciV * 100 * 1000; } static struct regulator_ops twl4030fixed_ops = { @@ -373,7 +373,7 @@ static struct regulator_ops twl4030fixed #define TWL_FIXED_LDO(label, offset, mVolts, num) { \ .base = offset, \ .id = num, \ - .min_mV = mVolts, \ + .deciV = mVolts / 100 , \ .desc = { \ .name = #label, \ .id = TWL4030_REG_##label, \ @@ -385,7 +385,7 @@ static struct regulator_ops twl4030fixed } /* - * We list regulators here if systems need some level of + * We expose regulators here if systems need some level of * software control over them after boot. */ static struct twlreg_info twl4030_regs[] = { @@ -439,6 +439,7 @@ static int twl4030reg_probe(struct platf /* Constrain board-specific capabilities according to what * this driver and the chip itself can actually do. + * (Regulator core now does this for voltage constraints.) */ c = &initdata->constraints; c->valid_modes_mask &= REGULATOR_MODE_NORMAL | REGULATOR_MODE_STANDBY; @@ -446,7 +447,7 @@ static int twl4030reg_probe(struct platf | REGULATOR_CHANGE_MODE | REGULATOR_CHANGE_STATUS; - rdev = regulator_register(&info->desc, &pdev->dev, info); + rdev = regulator_register(&info->desc, &pdev->dev, initdata, info); if (IS_ERR(rdev)) { dev_err(&pdev->dev, "can't register %s, %ld\n", info->desc.name, PTR_ERR(rdev)); -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html