[PATCH 12/13] ARM: clps711x: Export system-wide registers through SYSCON driver
Alexander Shiyan
shc_work at mail.ru
Mon Mar 11 05:26:42 EDT 2013
Signed-off-by: Alexander Shiyan <shc_work at mail.ru>
---
arch/arm/Kconfig | 1 +
arch/arm/mach-clps711x/devices.c | 16 ++++++++++++++++
drivers/mfd/syscon.c | 3 +++
3 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index ed0b453..6128322 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -43,6 +43,7 @@ config ARCH_CLPS711X
select COMMON_CLK
select CPU_32v4T
select GPIOLIB
+ select MFD_SYSCON
config ARCH_EP93XX
bool "Cirrus Logic EP93xx"
diff --git a/arch/arm/mach-clps711x/devices.c b/arch/arm/mach-clps711x/devices.c
index 4cc53fa..b36013f 100644
--- a/arch/arm/mach-clps711x/devices.c
+++ b/arch/arm/mach-clps711x/devices.c
@@ -121,3 +121,19 @@ static __init int clps711x_gpio_init(void)
return 0;
}
coredevice_initcall(clps711x_gpio_init);
+
+static __init int clps711x_syscon_init(void)
+{
+ /* SYSCON1, SYSFLG1 */
+ add_generic_device("clps711x-syscon", 1, NULL, SYSCON1, SZ_128,
+ IORESOURCE_MEM, NULL);
+ /* SYSCON2, SYSFLG2 */
+ add_generic_device("clps711x-syscon", 2, NULL, SYSCON2, SZ_128,
+ IORESOURCE_MEM, NULL);
+ /* SYSCON3 */
+ add_generic_device("clps711x-syscon", 3, NULL, SYSCON3, SZ_64,
+ IORESOURCE_MEM, NULL);
+
+ return 0;
+}
+postcore_initcall(clps711x_syscon_init);
diff --git a/drivers/mfd/syscon.c b/drivers/mfd/syscon.c
index 87d2f7c..b628ab7 100644
--- a/drivers/mfd/syscon.c
+++ b/drivers/mfd/syscon.c
@@ -72,6 +72,9 @@ static int syscon_probe(struct device_d *dev)
static struct platform_device_id syscon_ids[] = {
{ "syscon", },
+#ifdef CONFIG_ARCH_CLPS711X
+ { "clps711x-syscon", },
+#endif
{ }
};
--
1.7.3.4
More information about the barebox
mailing list