ARM: shmobile: Partial build of pm-rmobile.c for multiplatform
Magnus Damm
maintainerPATCH 1/1 ARM: shmobile: Partial build of pm-rmobile.c for multiplatform
From: Magnus Damm <[email protected]>
Disconnect Multiplatform PM domain enablement and SoC specific Multiplatform enablement by allowing to build pm-rmobile.c with parts of it disabled.
This way it is possible to start using r8a7740 with Multiplatform before PM domain DT is ready.
---
Built on top of renesas-devel-v3.16-20140808
arch/arm/mach-shmobile/pm-rmobile.c | 4 ++-- arch/arm/mach-shmobile/pm-rmobile.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)
arch/arm/mach-shmobile/pm-rmobile.c +2 -2
@@ -27,7 +27,7 @@#define PSTR_RETRIES 100#define PSTR_DELAY_US 10 -#ifdef CONFIG_PM +#if defined(CONFIG_PM ) && !defined(CONFIG_ARCH_MULTIPLATFORM )static int rmobile_pd_power_down (struct generic_pm_domain *genpd) {struct rmobile_pm_domain *rmobile_pd =to_rmobile_pd (genpd);
@@ -151,4 +151,4 @@ void rmobile_add_devices_to_domains(strurmobile_add_device_to_domain_td (data[j].domain_name, data[j].pdev, &latencies); } -#endif /* CONFIG_PM */ +#endif /* CONFIG_PM && !CONFIG_ARCH_MULTIPLATFORM */
arch/arm/mach-shmobile/pm-rmobile.h +2 -2
@@ -36,7 +36,7 @@ struct pm_domain_device {struct platform_device *pdev; }; -#ifdef CONFIG_PM +#if defined(CONFIG_PM ) && !defined(CONFIG_ARCH_MULTIPLATFORM )extern void rmobile_init_domains (struct rmobile_pm_domain domains[],int num); extern void rmobile_add_device_to_domain_td(const char *domain_name, struct platform_device *pdev,
@@ -58,6 +58,6 @@ extern void rmobile_add_devices_to_domaistatic inline void rmobile_add_devices_to_domains (struct pm_domain_device d[],int size) {} -#endif /* CONFIG_PM */ +#endif /* CONFIG_PM && !CONFIG_ARCH_MULTIPLATFORM */ #endif /* PM_RMOBILE_H */
Quoted 8 lines · Magnus Damm
From: Magnus Damm <[email protected]>
Disconnect Multiplatform PM domain enablement and SoC specific Multiplatform enablement by allowing to build
pm-rmobile.cwith parts of it disabled.This way it is possible to start using r8a7740 with Multiplatform before PM domain DT is ready.
This seems to disconnect PM domain enablement and
all Multiplatform enablement. It doesn't seem very SoC specific to me.
Would it be possible to define a new Kconfig symbol, say PM_RMOBILE, which is only selected when the code in pm-rmobile.c is wanted?
It could even be used in the Makefile to allow us to get rid of the big #ifdef in pm-rmobile.c.
Alternatively, if you want to keep the code as below perhaps you could update the changelog to note that the intersection of multiplatform and pm-rmobile only occurs on the r8a7740 at this time and is not likely to occur anywhere else in the forseeable future.
Quoted 47 lines
Signed-off-by Magnus Damm <[email protected]>---
Built on top of renesas-devel-v3.16-20140808
arch/arm/mach-shmobile/pm-rmobile.c | 4 ++-- arch/arm/mach-shmobile/pm-rmobile.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-)arch/arm/mach-shmobile/pm-rmobile.c +2
-2@@ -27,7 +27,7 @@#define PSTR_RETRIES 100#define PSTR_DELAY_US 10 -#ifdef CONFIG_PM +#if defined(CONFIG_PM ) && !defined(CONFIG_ARCH_MULTIPLATFORM )static int rmobile_pd_power_down (struct generic_pm_domain *genpd) {struct rmobile_pm_domain *rmobile_pd =to_rmobile_pd (genpd);@@ -151,4 +151,4 @@ void rmobile_add_devices_to_domains(strurmobile_add_device_to_domain_td (data[j].domain_name, data[j].pdev, &latencies); } -#endif /* CONFIG_PM */ +#endif /* CONFIG_PM && !CONFIG_ARCH_MULTIPLATFORM */ arch/arm/mach-shmobile/pm-rmobile.h +2
-2@@ -36,7 +36,7 @@ struct pm_domain_device {struct platform_device *pdev; }; -#ifdef CONFIG_PM +#if defined(CONFIG_PM ) && !defined(CONFIG_ARCH_MULTIPLATFORM )extern void rmobile_init_domains (struct rmobile_pm_domain domains[],int num); extern void rmobile_add_device_to_domain_td(const char *domain_name, struct platform_device *pdev,@@ -58,6 +58,6 @@ extern void rmobile_add_devices_to_domaistatic inline void rmobile_add_devices_to_domains (struct pm_domain_device d[],int size) {} -#endif /* CONFIG_PM */ +#endif /* CONFIG_PM && !CONFIG_ARCH_MULTIPLATFORM */ #endif /* PM_RMOBILE_H */