sh: sh7785lcr: add GPIO lookup table for i2c controller reset
authorChris Packham <chris.packham@alliedtelesis.co.nz>
Wed, 5 Jul 2017 10:13:55 +0000 (22:13 +1200)
committerWolfram Sang <wsa@the-dreams.de>
Sat, 24 Mar 2018 12:25:55 +0000 (13:25 +0100)
Define the GPIO connected to the PCA9564 using a GPIO lookup table. This
will allow the i2c-pca-platform driver to use the device managed APIs to
lookup the gpio instead of using platform_data.

Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
arch/sh/boards/board-sh7785lcr.c

index 2c4771ee84cd3e71f90733ea5c1833ddaa338f72..caec1ebffb098038f42242863d8ab52f18882b96 100644 (file)
@@ -25,6 +25,7 @@
 #include <linux/io.h>
 #include <linux/clk.h>
 #include <linux/errno.h>
+#include <linux/gpio/machine.h>
 #include <mach/sh7785lcr.h>
 #include <cpu/sh7785.h>
 #include <asm/heartbeat.h>
@@ -243,6 +244,14 @@ static struct resource i2c_resources[] = {
        },
 };
 
+static struct gpiod_lookup_table i2c_gpio_table = {
+       .dev_id = "i2c.0",
+       .table = {
+               GPIO_LOOKUP("pfc-sh7757", 0, "reset-gpios", GPIO_ACTIVE_LOW),
+               { },
+       },
+};
+
 static struct i2c_pca9564_pf_platform_data i2c_platform_data = {
        .gpio                   = 0,
        .i2c_clock_speed        = I2C_PCA_CON_330kHz,
@@ -283,6 +292,7 @@ static int __init sh7785lcr_devices_setup(void)
                i2c_device.num_resources = ARRAY_SIZE(i2c_proto_resources);
        }
 
+       gpiod_add_lookup_table(&i2c_gpio_table);
        return platform_add_devices(sh7785lcr_devices,
                                    ARRAY_SIZE(sh7785lcr_devices));
 }