[ARM] S3C: Add header for initial i2c device core setup.
authorBen Dooks <ben-linux@fluff.org>
Fri, 31 Oct 2008 16:15:00 +0000 (16:15 +0000)
committerBen Dooks <ben-linux@fluff.org>
Mon, 15 Dec 2008 23:47:03 +0000 (23:47 +0000)
Add a header to define setup functions for the i2c
devices.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
arch/arm/mach-s3c6410/cpu.c
arch/arm/plat-s3c/include/plat/iic-core.h [new file with mode: 0644]

index 137918e7711f2bad0634cee868099b44374c7f03..6a73ca6b7a3a81dfd48d878d49871a5c0dbd47bf 100644 (file)
@@ -36,6 +36,7 @@
 #include <plat/devs.h>
 #include <plat/clock.h>
 #include <plat/sdhci.h>
+#include <plat/iic-core.h>
 #include <plat/s3c6400.h>
 #include <plat/s3c6410.h>
 
@@ -56,6 +57,10 @@ void __init s3c6410_map_io(void)
        /* initialise device information early */
        s3c6410_default_sdhci0();
        s3c6410_default_sdhci1();
+
+       /* the i2c devices are directly compatible with s3c2440 */
+       s3c_i2c0_setname("s3c2440-i2c");
+       s3c_i2c1_setname("s3c2440-i2c");
 }
 
 void __init s3c6410_init_clocks(int xtal)
diff --git a/arch/arm/plat-s3c/include/plat/iic-core.h b/arch/arm/plat-s3c/include/plat/iic-core.h
new file mode 100644 (file)
index 0000000..36397ca
--- /dev/null
@@ -0,0 +1,35 @@
+/* arch/arm/mach-s3c2410/include/mach/iic-core.h
+ *
+ * Copyright 2008 Openmoko, Inc.
+ * Copyright 2008 Simtec Electronics
+ *     Ben Dooks <ben@simtec.co.uk>
+ *
+ * S3C - I2C Controller core functions
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+*/
+
+#ifndef __ASM_ARCH_IIC_CORE_H
+#define __ASM_ARCH_IIC_CORE_H __FILE__
+
+/* These functions are only for use with the core support code, such as
+ * the cpu specific initialisation code
+ */
+
+/* re-define device name depending on support. */
+static inline void s3c_i2c0_setname(char *name)
+{
+       /* currently this device is always compiled in */
+       s3c_device_i2c0.name = name;
+}
+
+static inline void s3c_i2c1_setname(char *name)
+{
+#ifdef CONFIG_S3C_DEV_I2C1
+       s3c_device_i2c1.name = name;
+#endif
+}
+
+#endif /* __ASM_ARCH_IIC_H */