lkml.org 
[lkml]   [2009]   [Feb]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    SubjectRe: [patch/rfc 2.6.29-rc6 2/2] regulator: twl4030 voltage enumeration (v2)
    Date
    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@users.sourceforge.net>

    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@users.sourceforge.net>
    ---
    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-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2009-02-27 01:07    [W:0.032 / U:89.560 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site