Merge branch 'i2c/for-4.15' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / arch / arm / mach-ixp4xx / goramo_mlr.c
index 145ec5c1b0eb5dd2ece70b573a1e00289b78b70a..4d805080020e32937ceec454f5ce0dd4a8ac094c 100644 (file)
@@ -7,7 +7,6 @@
 #include <linux/delay.h>
 #include <linux/gpio.h>
 #include <linux/hdlc.h>
-#include <linux/i2c-gpio.h>
 #include <linux/io.h>
 #include <linux/irq.h>
 #include <linux/kernel.h>
 static u32 hw_bits = 0xFFFFFFFD;    /* assume all hardware present */;
 static u8 control_value;
 
+/*
+ * FIXME: this is reimplementing I2C bit-bangining. Move this
+ * over to using driver/i2c/busses/i2c-gpio.c like all other boards
+ * and register proper I2C device(s) on the bus for this. (See
+ * other IXP4xx boards for examples.)
+ */
 static void set_scl(u8 value)
 {
        gpio_set_value(GPIO_SCL, !!value);
@@ -217,20 +222,6 @@ static struct platform_device device_flash = {
        .resource       = &flash_resource,
 };
 
-
-/* I^2C interface */
-static struct i2c_gpio_platform_data i2c_data = {
-       .sda_pin        = GPIO_SDA,
-       .scl_pin        = GPIO_SCL,
-};
-
-static struct platform_device device_i2c = {
-       .name           = "i2c-gpio",
-       .id             = 0,
-       .dev            = { .platform_data = &i2c_data },
-};
-
-
 /* IXP425 2 UART ports */
 static struct resource uart_resources[] = {
        {
@@ -412,9 +403,6 @@ static void __init gmlr_init(void)
        if (hw_bits & CFG_HW_HAS_HSS1)
                device_tab[devices++] = &device_hss_tab[1]; /* max index 5 */
 
-       if (hw_bits & CFG_HW_HAS_EEPROM)
-               device_tab[devices++] = &device_i2c; /* max index 6 */
-
        gpio_request(GPIO_SCL, "SCL/clock");
        gpio_request(GPIO_SDA, "SDA/data");
        gpio_request(GPIO_STR, "strobe");