diff options
author | Ben Dooks <ben-linux@fluff.org> | 2008-10-31 16:10:25 +0000 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2008-10-31 16:13:48 +0000 |
commit | e7f89f2e53218809add3645787feb67283b7ad9d (patch) | |
tree | 38a82de29a2f117e9e6b73869a3f3b1d8d02ff53 /drivers | |
parent | 86d422dce9c7431cbab9efc9005fda5c056a5d1a (diff) |
i2c-s3c2410: Use platform data for gpio configuration
Add a callback to set the gpio configuration for the
i2c device instead of a set include. This also allows
the remvoal of the machine gpio and hardware files.
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/i2c/busses/i2c-s3c2410.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/drivers/i2c/busses/i2c-s3c2410.c b/drivers/i2c/busses/i2c-s3c2410.c index 25c7cba92df..6d9f3290138 100644 --- a/drivers/i2c/busses/i2c-s3c2410.c +++ b/drivers/i2c/busses/i2c-s3c2410.c @@ -36,10 +36,8 @@ #include <linux/cpufreq.h> #include <linux/io.h> -#include <mach/hardware.h> #include <asm/irq.h> -#include <mach/regs-gpio.h> #include <plat/regs-iic.h> #include <plat/iic.h> @@ -490,9 +488,6 @@ static int s3c24xx_i2c_set_master(struct s3c24xx_i2c *i2c) msleep(1); } - dev_dbg(i2c->dev, "timeout: GPEDAT is %08x\n", - __raw_readl(S3C2410_GPEDAT)); - return -ETIMEDOUT; } @@ -784,12 +779,12 @@ static int s3c24xx_i2c_init(struct s3c24xx_i2c *i2c) /* get the plafrom data */ - pdata = s3c24xx_i2c_get_platformdata(i2c->adap.dev.parent); + pdata = s3c24xx_i2c_get_platformdata(i2c->dev); /* inititalise the gpio */ - s3c2410_gpio_cfgpin(S3C2410_GPE15, S3C2410_GPE15_IICSDA); - s3c2410_gpio_cfgpin(S3C2410_GPE14, S3C2410_GPE14_IICSCL); + if (pdata->cfg_gpio) + pdata->cfg_gpio(to_platform_device(i2c->dev)); /* write slave address */ |