Revert "i2c: s3c2410: Handle i2c sys_cfg register in i2c driver"
authorYoungmin Nam <youngmin.nam@samsung.com>
Fri, 29 Apr 2016 05:19:37 +0000 (14:19 +0900)
committermyung-su.cha <myung-su.cha@samsung.com>
Thu, 10 May 2018 04:40:36 +0000 (13:40 +0900)
This reverts commit a7750c3ef0122383901ae48396188aa4b861d32b.

Change-Id: I4e6ace8e8a7de48fb5fdcef9b900d50ad5588831

drivers/i2c/busses/i2c-s3c2410.c

index 5d97510ee48bf153cf8e407f1911156a79546d54..57abfbcb2cb43965bc8282d0c8191bd4f1768319 100644 (file)
@@ -35,8 +35,6 @@
 #include <linux/of.h>
 #include <linux/of_gpio.h>
 #include <linux/pinctrl/consumer.h>
-#include <linux/mfd/syscon.h>
-#include <linux/regmap.h>
 
 #include <asm/irq.h>
 
@@ -89,9 +87,6 @@
 /* Max time to wait for bus to become idle after a xfer (in us) */
 #define S3C2410_IDLE_TIMEOUT   5000
 
-/* Exynos5 Sysreg offset */
-#define EXYNOS5_SYS_I2C_CFG    0x0234
-
 /* i2c controller state */
 enum s3c24xx_i2c_state {
        STATE_IDLE,
@@ -128,8 +123,6 @@ struct s3c24xx_i2c {
 #if defined(CONFIG_ARM_S3C24XX_CPUFREQ)
        struct notifier_block   freq_transition;
 #endif
-       struct regmap           *sysreg;
-       unsigned int            sys_i2c_cfg;
 };
 
 static const struct platform_device_id s3c24xx_driver_ids[] = {
@@ -1056,7 +1049,6 @@ static void
 s3c24xx_i2c_parse_dt(struct device_node *np, struct s3c24xx_i2c *i2c)
 {
        struct s3c2410_platform_i2c *pdata = i2c->pdata;
-       int id;
 
        if (!np)
                return;
@@ -1066,21 +1058,6 @@ s3c24xx_i2c_parse_dt(struct device_node *np, struct s3c24xx_i2c *i2c)
        of_property_read_u32(np, "samsung,i2c-slave-addr", &pdata->slave_addr);
        of_property_read_u32(np, "samsung,i2c-max-bus-freq",
                                (u32 *)&pdata->frequency);
-       /*
-        * Exynos5's legacy i2c controller and new high speed i2c
-        * controller have muxed interrupt sources. By default the
-        * interrupts for 4-channel HS-I2C controller are enabled.
-        * If nodes for first four channels of legacy i2c controller
-        * are available then re-configure the interrupts via the
-        * system register.
-        */
-       id = of_alias_get_id(np, "i2c");
-       i2c->sysreg = syscon_regmap_lookup_by_phandle(np,
-                       "samsung,sysreg-phandle");
-       if (IS_ERR(i2c->sysreg))
-               return;
-
-       regmap_update_bits(i2c->sysreg, EXYNOS5_SYS_I2C_CFG, BIT(id), 0);
 }
 #else
 static void
@@ -1250,9 +1227,6 @@ static int s3c24xx_i2c_suspend_noirq(struct device *dev)
 
        i2c->suspended = 1;
 
-       if (!IS_ERR(i2c->sysreg))
-               regmap_read(i2c->sysreg, EXYNOS5_SYS_I2C_CFG, &i2c->sys_i2c_cfg);
-
        return 0;
 }
 
@@ -1261,9 +1235,6 @@ static int s3c24xx_i2c_resume_noirq(struct device *dev)
        struct s3c24xx_i2c *i2c = dev_get_drvdata(dev);
        int ret;
 
-       if (!IS_ERR(i2c->sysreg))
-               regmap_write(i2c->sysreg, EXYNOS5_SYS_I2C_CFG, i2c->sys_i2c_cfg);
-
        ret = clk_enable(i2c->clk);
        if (ret)
                return ret;