On 05/05/2016 09:52 PM, Javier Martinez Canillas wrote:
Hello Krzysztof,
On 05/05/2016 08:34 AM, Krzysztof Kozlowski wrote:
quoted
Some USB devices on embedded boards have external power supply which has
to be reset in certain conditions. Add pwrseq interface for this.
Signed-off-by: Krzysztof Kozlowski <redacted>
---
drivers/power/pwrseq/pwrseq.c | 44 +++++++++++++++++++++++++++++++++++++++++++
include/linux/pwrseq.h | 8 ++++++++
2 files changed, 52 insertions(+)
diff --git a/drivers/power/pwrseq/pwrseq.c b/drivers/power/pwrseq/pwrseq.c
index 495a19d3c30b..306265f55a10 100644
--- a/drivers/power/pwrseq/pwrseq.c
+++ b/drivers/power/pwrseq/pwrseq.c
@@ -52,6 +52,43 @@ int mmc_pwrseq_alloc(struct mmc_host *host)
}
EXPORT_SYMBOL_GPL(mmc_pwrseq_alloc);
+struct pwrseq *pwrseq_alloc(struct device *dev)
+{
This function is USB specific so better to call it usb_pwrseq_alloc() instead.
Indeed it is parsing USB specific bindings so such prefix is needed.
Although, this function has a lot of duplicated code from mmc_pwrseq_alloc()
so I think is better to keep the name generic and factorize the common code.
I expect other devices are also needing some kind of power seq in the future
so having a single alloc function instead of each for device type makes sense.
Yes, this can be cleaned up and unified.
quoted
+ struct device_node *np;
+ struct pwrseq *p, *ret = NULL;
+
+ np = of_parse_phandle(dev->of_node, "usb-pwrseq", 0);
I know this is just an RFC but you should really add DT bindings for this.
Yep, next step.
Best regards,
Krzysztof