Re: [patch 2.6.29-rc8 regulator-next] regulator: init fixes (v4)

From: Mark Brown
Date: Sat Mar 14 2009 - 20:38:07 EST


On Sat, Mar 14, 2009 at 05:25:35PM -0700, David Brownell wrote:

> + } else if (ops->is_enabled) {
> + /* ... if the bootloader left it on, drivers need a
> + * nonzero enable count else it can't be disabled.
> + */
> + ret = ops->is_enabled(rdev);
> + if (ret > 0)
> + rdev->use_count = 1;
> + ret = 0;

This means that drivers that do balanced enables and disables will never
be able to cause the regulator to actually be disabled since there will
always be this extra reference count there. Without this patch what'll
happen with those drivers is that they'll do an enable then later on
when the last one disables its supply the reference count will fall to
zero and the regulator will be disabled.
--
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/