Re: [RFC][PATCH v3 1/3] runtime interpreted power sequences

From: Alex Courbot
Date: Sun Jul 29 2012 - 21:50:07 EST


On 07/28/2012 03:19 AM, Greg Kroah-Hartman wrote:
On Fri, Jul 27, 2012 at 09:05:48PM +0900, Alexandre Courbot wrote:
Some device drivers (panel backlights especially) need to follow precise
sequences for powering on and off, involving gpios, regulators, PWMs
with a precise powering order and delays to respect between each steps.
These sequences are board-specific, and do not belong to a particular
driver - therefore they have been performed by board-specific hook
functions to far.

With the advent of the device tree and of ARM kernels that are not
board-tied, we cannot rely on these board-specific hooks anymore but
need a way to implement these sequences in a portable manner. This patch
introduces a simple interpreter that can execute such power sequences
encoded either as platform data or within the device tree.

Signed-off-by: Alexandre Courbot <acourbot@xxxxxxxxxx>
---
Documentation/power/power_seq.txt | 120 +++++++++++++++
drivers/base/Kconfig | 4 +
drivers/base/Makefile | 1 +
drivers/base/power_seq.c | 300 ++++++++++++++++++++++++++++++++++++++
include/linux/power_seq.h | 139 ++++++++++++++++++

What's wrong with drivers/power/? I sure don't want to maintain this
code, and it seems to not be part of the "driver core" infrastructure.

I thought about drivers/power/ initially, but quickly realized it was only about the power supply class and its drivers - so I felt like it would be out of place there, as the power sequences have nothing to do with power supply but instead control gpios, regulators and pwms.

On the other hand I have just noticed that the apparently unrelated Adaptive Voltage Scaling driver just appeared in drivers/power/avs. So if Anton and David are ok with this, maybe I could put the power sequences code in its own subdirectory within drivers/power.

Thanks,
Alex.

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