[RFC][PATCH 5/5] PM / shmobile: Allow device latencies to be read from a DT

From: Rafael J. Wysocki
Date: Sat Jul 21 2012 - 17:51:39 EST



Modify rmobile_read_domain_from_dt() so that it can read device
latency information from the device tree along with the PM
domain name and make it use rmobile_add_device_to_domain_td()
for adding the device to the PM domain along with the device latency
data.

Signed-off-by: Rafael J. Wysocki <rjw@xxxxxxx>
---
arch/arm/mach-shmobile/pm-rmobile.c | 24 ++++++++++++++++++++++--
1 file changed, 22 insertions(+), 2 deletions(-)

Index: linux/arch/arm/mach-shmobile/pm-rmobile.c
===================================================================
--- linux.orig/arch/arm/mach-shmobile/pm-rmobile.c
+++ linux/arch/arm/mach-shmobile/pm-rmobile.c
@@ -170,14 +170,34 @@ void rmobile_add_device_to_domain_td(con

static void rmobile_read_domain_from_dt(struct device *dev)
{
+ struct gpd_timing_data latencies = { 0 };
const char *domain_name;
+ u64 val;
int ret;

ret = of_property_read_string(dev->of_node, "renesas,pmdomain",
&domain_name);
+ if (ret)
+ return;
+
+ ret = of_property_read_u64(dev->of_node, "pm-stop-latency", &val);
+ if (!ret)
+ latencies.stop_latency_ns = val;
+
+ ret = of_property_read_u64(dev->of_node, "pm-start-latency", &val);
+ if (!ret)
+ latencies.start_latency_ns = val;
+
+ ret = of_property_read_u64(dev->of_node, "pm-save-latency", &val);
+ if (!ret)
+ latencies.save_state_latency_ns = val;
+
+ ret = of_property_read_u64(dev->of_node, "pm-restore-latency", &val);
if (!ret)
- rmobile_add_device_to_domain(domain_name,
- to_platform_device(dev));
+ latencies.restore_state_latency_ns = val;
+
+ rmobile_add_device_to_domain_td(domain_name, to_platform_device(dev),
+ &latencies);
}

static void rmobile_remove_from_domain(struct device *dev)

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