From ac18e02dc022a5413219f41d000bc637c7c5d957 Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" Date: Wed, 15 Aug 2012 20:56:26 +0200 Subject: 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 Acked-by: Magnus Damm --- arch/arm/mach-shmobile/include/mach/pm-rmobile.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'arch/arm/mach-shmobile/include/mach/pm-rmobile.h') diff --git a/arch/arm/mach-shmobile/include/mach/pm-rmobile.h b/arch/arm/mach-shmobile/include/mach/pm-rmobile.h index 4d02f74..690553a 100644 --- a/arch/arm/mach-shmobile/include/mach/pm-rmobile.h +++ b/arch/arm/mach-shmobile/include/mach/pm-rmobile.h @@ -12,6 +12,8 @@ #include +#define DEFAULT_DEV_LATENCY_NS 250000 + struct platform_device; struct rmobile_pm_domain { @@ -29,6 +31,11 @@ struct rmobile_pm_domain *to_rmobile_pd(struct generic_pm_domain *d) return container_of(d, struct rmobile_pm_domain, genpd); } +struct pm_domain_device { + const char *domain_name; + struct platform_device *pdev; +}; + #ifdef CONFIG_PM extern void rmobile_init_domains(struct rmobile_pm_domain domains[], int num); extern void rmobile_add_device_to_domain_td(const char *domain_name, @@ -41,11 +48,16 @@ static inline void rmobile_add_device_to_domain(const char *domain_name, rmobile_add_device_to_domain_td(domain_name, pdev, NULL); } +extern void rmobile_add_devices_to_domains(struct pm_domain_device data[], + int size); #else #define rmobile_init_domains(domains, num) do { } while (0) #define rmobile_add_device_to_domain_td(name, pdev, td) do { } while (0) #define rmobile_add_device_to_domain(name, pdev) do { } while (0) + +static inline void rmobile_add_devices_to_domains(struct pm_domain_device d[], + int size) {} #endif /* CONFIG_PM */ #endif /* PM_RMOBILE_H */ -- cgit v1.1