[PATCH/RFC v6 6/7] PM / Domains: Retrieve PM QoS device latencies from DT

From: Geert Uytterhoeven
Date: Mon Apr 27 2015 - 08:44:01 EST


Signed-off-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
---
v6:
- Rebased on top of v4.1-rc1 for new RFC,

v4:
- Drop save/restore state latencies, as they're Linux driver-specific,
- Change state to RFC, as this is put on hold,

v3:
- No changes,

v2:
- New.
---
drivers/base/power/domain.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
index d20caa2c92b57edf..da0b9f69919988bb 100644
--- a/drivers/base/power/domain.c
+++ b/drivers/base/power/domain.c
@@ -2193,6 +2193,8 @@ int genpd_dev_pm_attach(struct device *dev)
struct device_node *np = dev->of_node;
struct of_phandle_args pd_args;
struct generic_pm_domain *pd;
+ struct gpd_timing_data td;
+ u32 latency;
int ret;

if (!np)
@@ -2225,10 +2227,16 @@ int genpd_dev_pm_attach(struct device *dev)
return PTR_ERR(pd);
}

+ memset(&td, 0, sizeof(td));
+ if (!of_property_read_u32(np, "stop-latency", &latency))
+ td.stop_latency_ns = latency;
+ if (!of_property_read_u32(np, "start-latency", &latency))
+ td.start_latency_ns = latency;
+
dev_dbg(dev, "adding to PM domain %s\n", pd->name);

while (1) {
- ret = pm_genpd_add_device(pd, dev);
+ ret = __pm_genpd_add_device(pd, dev, &td);
if (ret != -EAGAIN)
break;
cond_resched();
--
1.9.1

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