Re: [PATCH 2/6] mfd: stmpe: add optional regulators

From: Linus Walleij
Date: Wed Apr 23 2014 - 04:38:44 EST


On Thu, Apr 17, 2014 at 12:30 PM, Lee Jones <lee.jones@xxxxxxxxxx> wrote:

>> The STMPE has VCC and VIO supply lines, and sometimes (as on
>> Ux500) this comes from a software-controlled regulator. Make
>> it possible to supply the STMPE with power from these
>> regulators.
>>
>> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx>
(...)
>> int stmpe_remove(struct stmpe *stmpe)
>> {
>> + if (!IS_ERR(stmpe->vio))
>> + regulator_disable(stmpe->vio);
>> + if (!IS_ERR(stmpe->vcc))
>> + regulator_disable(stmpe->vcc);
>> +
>
> Genuine question:
> Doesn't the regulator core take care of this for you on removal?

No devm_regulator_release() that gets called when refcount goes to 0
just calls regulator_put().

regulator_put(), in turn, will just kfree the struct regulator *.

Thus we need to balance enable/disable.

Yours,
Linus Walleij
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/