diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2012-07-06 20:39:54 +0200 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-07-06 20:39:54 +0200 |
commit | 2f7d41217ba2bcdcd4f79e95f20f99074d87ac8c (patch) | |
tree | f2c9a82d4722fc7e04285a0f5393a6d9f8d848ea /arch/arm/mach-shmobile/include | |
parent | ARM: shmobile: use common DMAEngine definitions on r8a7740 (diff) | |
parent | ARM: shmobile: soc-core: add R-mobile PM domain common APIs (diff) | |
download | linux-2f7d41217ba2bcdcd4f79e95f20f99074d87ac8c.tar.xz linux-2f7d41217ba2bcdcd4f79e95f20f99074d87ac8c.zip |
Merge branch 'renesas-soc-core' into renesas-r8a7740
* renesas-soc-core:
ARM: shmobile: soc-core: add R-mobile PM domain common APIs
ARM: mach-shmobile: Convert sh_clk_mstp32_register to sh_clk_mstp_register
Conflicts:
arch/arm/mach-shmobile/clock-r8a7740.c
Diffstat (limited to 'arch/arm/mach-shmobile/include')
-rw-r--r-- | arch/arm/mach-shmobile/include/mach/pm-rmobile.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/arch/arm/mach-shmobile/include/mach/pm-rmobile.h b/arch/arm/mach-shmobile/include/mach/pm-rmobile.h new file mode 100644 index 000000000000..5a402840fe28 --- /dev/null +++ b/arch/arm/mach-shmobile/include/mach/pm-rmobile.h @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2012 Renesas Solutions Corp. + * + * Kuninori Morimoto <morimoto.kuninori@renesas.com> + * + * This file is subject to the terms and conditions of the GNU General Public + * License. See the file "COPYING" in the main directory of this archive + * for more details. + */ +#ifndef PM_RMOBILE_H +#define PM_RMOBILE_H + +#include <linux/pm_domain.h> + +struct platform_device; + +struct rmobile_pm_domain { + struct generic_pm_domain genpd; + struct dev_power_governor *gov; + int (*suspend)(void); + void (*resume)(void); + unsigned int bit_shift; + bool no_debug; +}; + +static inline +struct rmobile_pm_domain *to_rmobile_pd(struct generic_pm_domain *d) +{ + return container_of(d, struct rmobile_pm_domain, genpd); +} + +#ifdef CONFIG_PM +extern void rmobile_init_pm_domain(struct rmobile_pm_domain *rmobile_pd); +extern void rmobile_add_device_to_domain(struct rmobile_pm_domain *rmobile_pd, + struct platform_device *pdev); +extern void rmobile_pm_add_subdomain(struct rmobile_pm_domain *rmobile_pd, + struct rmobile_pm_domain *rmobile_sd); +#else +#define rmobile_init_pm_domain(pd) do { } while (0) +#define rmobile_add_device_to_domain(pd, pdev) do { } while (0) +#define rmobile_pm_add_subdomain(pd, sd) do { } while (0) +#endif /* CONFIG_PM */ + +#endif /* PM_RMOBILE_H */ |