Samsung SoC drivers update for v4.12 - split building of the PMU driver between
ARMv7 and ARMv8. -----BEGIN PGP SIGNATURE----- iQIcBAABCAAGBQJY6Os5AAoJEME3ZuaGi4PXD9MP/2Yptk98gN/UCV9CnYjJns9+ 6DIyQS3nVKBd2kz5Vp6e4ClpRfNbC3TrX2zfIIW1yICy8Y3URuFhhoT/wrzqRdIw eYjQnuKzUnA6yacERdnBbPMyRnZIClfcWAQoo2gu8KC/LbDilfLk03pdtVk6gKH5 4AD2bWHGcq5TWFGtB+Ynpt3PIHCJH7s6Lwvcsk2Bl8PTTCRUxPKbzwgw0t5FHTjB cg/G4mxVGATdwpMpcONnV2XTgm2/ckIL578Dq+qwVHj/lViJwegJnBlWd3zn8GEw xzFUz3SM4mnxbukOucWvCN+D9jLSBZ1eUMRp+JTp4G+SEnnJ7JZznnXkqaik2b3j CD4jC+l86RTZ04cBLdevx9JccMjrFxVTVYKeVIKjifJngM7sZ1v3cUc4zJJthadn eco47qS0YU2hIjDqiul4vBk6hSFgDUo/zzAYO8LyGTVLy2KqrgAxNhGLCF+/Hhzp XM8JF9b+DWdOC6mnUM85eiQNLHV6ZJAwxqJCW7Q6Rh/aEkJ82kfbSMe7t8Noi6df hwQK7SvyRqtHc7JiILk+u2JNYDh/EISOyxePIQvRHiZlHDXhVVBP9J05+/rgb6yt e7RMuoVYGaNYBIZx37AUVZwpZWKxlzwQjuKGRr1RSt7KUSmoiklvtPtQ1GIiSRb0 EfRF3M9+47qPVKv1AVab =Wfmu -----END PGP SIGNATURE----- Merge tag 'samsung-drivers-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/drivers Samsung SoC drivers update for v4.12 - split building of the PMU driver between ARMv7 and ARMv8. * tag 'samsung-drivers-4.12' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: soc: samsung: Do not build ARMv7 PMU drivers on ARMv8 Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
commit
d12523f14e
|
@ -8,7 +8,13 @@ if SOC_SAMSUNG
|
|||
|
||||
config EXYNOS_PMU
|
||||
bool "Exynos PMU controller driver" if COMPILE_TEST
|
||||
depends on (ARM && ARCH_EXYNOS) || ((ARM || ARM64) && COMPILE_TEST)
|
||||
depends on ARCH_EXYNOS || ((ARM || ARM64) && COMPILE_TEST)
|
||||
select EXYNOS_PMU_ARM_DRIVERS if ARM && ARCH_EXYNOS
|
||||
|
||||
# There is no need to enable these drivers for ARMv8
|
||||
config EXYNOS_PMU_ARM_DRIVERS
|
||||
bool "Exynos PMU ARMv7-specific driver extensions" if COMPILE_TEST
|
||||
depends on EXYNOS_PMU
|
||||
|
||||
config EXYNOS_PM_DOMAINS
|
||||
bool "Exynos PM domains" if COMPILE_TEST
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
obj-$(CONFIG_EXYNOS_PMU) += exynos-pmu.o exynos3250-pmu.o exynos4-pmu.o \
|
||||
obj-$(CONFIG_EXYNOS_PMU) += exynos-pmu.o
|
||||
|
||||
obj-$(CONFIG_EXYNOS_PMU_ARM_DRIVERS) += exynos3250-pmu.o exynos4-pmu.o \
|
||||
exynos5250-pmu.o exynos5420-pmu.o
|
||||
obj-$(CONFIG_EXYNOS_PM_DOMAINS) += pm_domains.o
|
||||
|
|
|
@ -68,28 +68,38 @@ void exynos_sys_powerdown_conf(enum sys_powerdown mode)
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Split the data between ARM architectures because it is relatively big
|
||||
* and useless on other arch.
|
||||
*/
|
||||
#ifdef CONFIG_EXYNOS_PMU_ARM_DRIVERS
|
||||
#define exynos_pmu_data_arm_ptr(data) (&data)
|
||||
#else
|
||||
#define exynos_pmu_data_arm_ptr(data) NULL
|
||||
#endif
|
||||
|
||||
/*
|
||||
* PMU platform driver and devicetree bindings.
|
||||
*/
|
||||
static const struct of_device_id exynos_pmu_of_device_ids[] = {
|
||||
{
|
||||
.compatible = "samsung,exynos3250-pmu",
|
||||
.data = &exynos3250_pmu_data,
|
||||
.data = exynos_pmu_data_arm_ptr(exynos3250_pmu_data),
|
||||
}, {
|
||||
.compatible = "samsung,exynos4210-pmu",
|
||||
.data = &exynos4210_pmu_data,
|
||||
.data = exynos_pmu_data_arm_ptr(exynos4210_pmu_data),
|
||||
}, {
|
||||
.compatible = "samsung,exynos4212-pmu",
|
||||
.data = &exynos4212_pmu_data,
|
||||
.data = exynos_pmu_data_arm_ptr(exynos4212_pmu_data),
|
||||
}, {
|
||||
.compatible = "samsung,exynos4412-pmu",
|
||||
.data = &exynos4412_pmu_data,
|
||||
.data = exynos_pmu_data_arm_ptr(exynos4412_pmu_data),
|
||||
}, {
|
||||
.compatible = "samsung,exynos5250-pmu",
|
||||
.data = &exynos5250_pmu_data,
|
||||
.data = exynos_pmu_data_arm_ptr(exynos5250_pmu_data),
|
||||
}, {
|
||||
.compatible = "samsung,exynos5420-pmu",
|
||||
.data = &exynos5420_pmu_data,
|
||||
.data = exynos_pmu_data_arm_ptr(exynos5420_pmu_data),
|
||||
}, {
|
||||
.compatible = "samsung,exynos5433-pmu",
|
||||
},
|
||||
|
|
|
@ -31,6 +31,8 @@ struct exynos_pmu_data {
|
|||
};
|
||||
|
||||
extern void __iomem *pmu_base_addr;
|
||||
|
||||
#ifdef CONFIG_EXYNOS_PMU_ARM_DRIVERS
|
||||
/* list of all exported SoC specific data */
|
||||
extern const struct exynos_pmu_data exynos3250_pmu_data;
|
||||
extern const struct exynos_pmu_data exynos4210_pmu_data;
|
||||
|
@ -38,6 +40,7 @@ extern const struct exynos_pmu_data exynos4212_pmu_data;
|
|||
extern const struct exynos_pmu_data exynos4412_pmu_data;
|
||||
extern const struct exynos_pmu_data exynos5250_pmu_data;
|
||||
extern const struct exynos_pmu_data exynos5420_pmu_data;
|
||||
#endif
|
||||
|
||||
extern void pmu_raw_writel(u32 val, u32 offset);
|
||||
extern u32 pmu_raw_readl(u32 offset);
|
||||
|
|
Loading…
Reference in New Issue