[PATCH v2 0/2] regulator: Fix regulator_enable deadlock and add uA_load propagation

From: David Collins
Date: Mon Mar 28 2011 - 19:52:50 EST


Because the uA_load propagation change takes out a lock on a regulator and
then the regulators that it supplies, it will cause deadlock with the current
regulator_enable implementation. regulator_disable can also deadlock with
regulator_enable, but it requires two threads and precise timing to observe.
Therefore, regulator_enable must be fixed before current propagation can be
used.

Changes from v1:
- Renamed _regulator_enable to regulator_dev_enable.
- Made change logs more verbose.

David Collins (2):
regulator: Remove possible deadlock from regulator_enable
regulator: Propagate uA_load requirements up supply chain

drivers/regulator/core.c | 151 ++++++++++++++++++++++++++++++-------
include/linux/regulator/driver.h | 5 +
2 files changed, 127 insertions(+), 29 deletions(-)

--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.

--
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/