[v3,2/6] power: add power sequence library
From: mka@chromium.org (Matthias Kaehlcke)
Date: 2016-07-29 20:06:57
Also in:
linux-devicetree, linux-pm, lkml
From: mka@chromium.org (Matthias Kaehlcke)
Date: 2016-07-29 20:06:57
Also in:
linux-devicetree, linux-pm, lkml
Hi Peter, Thanks for your work on this, a few comments inline On 07/20/2016 02:40 AM, Peter Chen wrote:
...
+static int pwrseq_generic_on(struct device_node *np, struct pwrseq *pwrseq)
+{
...
+ if (gpiod_reset) {
+ u32 duration_us = 50;
+
+ of_property_read_u32(np, "reset-duration-us",
+ &duration_us);
+ usleep_range(duration_us, duration_us + 10);The end of the range could allow for more margin. Also consider busy looping for very short delays as in http://lxr.free-electrons.com/source/drivers/regulator/core.c#L2062
...
+static int pwrseq_generic_get(struct device_node *np, struct pwrseq *pwrseq)
+{
+ struct pwrseq_generic *pwrseq_gen = to_generic_pwrseq(pwrseq);
+ enum of_gpio_flags flags;
+ int reset_gpio, ret = 0;
+
+ pwrseq_gen->clk = of_clk_get_by_name(np, NULL);This only gets the first of potentially multiple clocks, is that intended?