diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2012-08-15 20:56:26 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-09-04 01:45:00 +0200 |
commit | ac18e02dc022a5413219f41d000bc637c7c5d957 (patch) | |
tree | ef974a4084f0536fe8aec27f382b3e81f49f61a0 /arch/arm/mach-shmobile/pm-rmobile.c | |
parent | b42879e2e9b130e9ea0df3f076a0742df46e143a (diff) | |
download | blackbird-obmc-linux-ac18e02dc022a5413219f41d000bc637c7c5d957.tar.gz blackbird-obmc-linux-ac18e02dc022a5413219f41d000bc637c7c5d957.zip |
ARM: shmobile: Rework adding devices to PM domains on Mackerel
On SH7372 and Mackerel devices are added to PM domains through a
series of rmobile_add_device_to_domain_td() calls where the last
argument is always the same. This is quite inefficient, so add
a common function for adding devices to PM domains that reads the
domain-device pairs information from a table and use it during SH7372
and Mackerel initialization.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Magnus Damm <damm@opensource.se>
Diffstat (limited to 'arch/arm/mach-shmobile/pm-rmobile.c')
-rw-r--r-- | arch/arm/mach-shmobile/pm-rmobile.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/pm-rmobile.c b/arch/arm/mach-shmobile/pm-rmobile.c index 682575a2243c..d37d368434da 100644 --- a/arch/arm/mach-shmobile/pm-rmobile.c +++ b/arch/arm/mach-shmobile/pm-rmobile.c @@ -167,4 +167,20 @@ void rmobile_add_device_to_domain_td(const char *domain_name, if (pm_clk_no_clocks(dev)) pm_clk_add(dev, NULL); } + +void rmobile_add_devices_to_domains(struct pm_domain_device data[], + int size) +{ + struct gpd_timing_data latencies = { + .stop_latency_ns = DEFAULT_DEV_LATENCY_NS, + .start_latency_ns = DEFAULT_DEV_LATENCY_NS, + .save_state_latency_ns = DEFAULT_DEV_LATENCY_NS, + .restore_state_latency_ns = DEFAULT_DEV_LATENCY_NS, + }; + int j; + + for (j = 0; j < size; j++) + rmobile_add_device_to_domain_td(data[j].domain_name, + data[j].pdev, &latencies); +} #endif /* CONFIG_PM */ |