[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <201207212356.28513.rjw@sisk.pl>
Date: Sat, 21 Jul 2012 23:56:28 +0200
From: "Rafael J. Wysocki" <rjw@...k.pl>
To: Linux PM list <linux-pm@...r.kernel.org>
Cc: LKML <linux-kernel@...r.kernel.org>,
Magnus Damm <magnus.damm@...il.com>,
Arnd Bergmann <arnd@...db.de>,
"Linux-sh list" <linux-sh@...r.kernel.org>,
Olof Johansson <olof@...om.net>
Subject: [RFC][PATCH 5/5] PM / shmobile: Allow device latencies to be read from a DT
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@...k.pl>
---
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@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists