diff options
author | Ben Dooks <ben-linux@fluff.org> | 2008-10-31 12:10:25 -0400 |
---|---|---|
committer | Ben Dooks <ben-linux@fluff.org> | 2008-12-16 15:25:53 -0500 |
commit | 8be310a6dea491b28f81672752d9d2c7fc25cdd3 (patch) | |
tree | 010a897962e4afc2cc172438a0e3be8e91efa2f6 | |
parent | 3d0911bfe03b5f077cef32ca644b5756d48affc3 (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>
-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 f5efece9b166..0aa0142de14f 100644 --- a/drivers/i2c/busses/i2c-s3c2410.c +++ b/drivers/i2c/busses/i2c-s3c2410.c | |||
@@ -35,11 +35,9 @@ | |||
35 | #include <linux/clk.h> | 35 | #include <linux/clk.h> |
36 | #include <linux/cpufreq.h> | 36 | #include <linux/cpufreq.h> |
37 | 37 | ||
38 | #include <mach/hardware.h> | ||
39 | #include <asm/irq.h> | 38 | #include <asm/irq.h> |
40 | #include <asm/io.h> | 39 | #include <asm/io.h> |
41 | 40 | ||
42 | #include <mach/regs-gpio.h> | ||
43 | #include <asm/plat-s3c/regs-iic.h> | 41 | #include <asm/plat-s3c/regs-iic.h> |
44 | #include <asm/plat-s3c/iic.h> | 42 | #include <asm/plat-s3c/iic.h> |
45 | 43 | ||
@@ -489,9 +487,6 @@ static int s3c24xx_i2c_set_master(struct s3c24xx_i2c *i2c) | |||
489 | msleep(1); | 487 | msleep(1); |
490 | } | 488 | } |
491 | 489 | ||
492 | dev_dbg(i2c->dev, "timeout: GPEDAT is %08x\n", | ||
493 | __raw_readl(S3C2410_GPEDAT)); | ||
494 | |||
495 | return -ETIMEDOUT; | 490 | return -ETIMEDOUT; |
496 | } | 491 | } |
497 | 492 | ||
@@ -783,12 +778,12 @@ static int s3c24xx_i2c_init(struct s3c24xx_i2c *i2c) | |||
783 | 778 | ||
784 | /* get the plafrom data */ | 779 | /* get the plafrom data */ |
785 | 780 | ||
786 | pdata = s3c24xx_i2c_get_platformdata(i2c->adap.dev.parent); | 781 | pdata = s3c24xx_i2c_get_platformdata(i2c->dev); |
787 | 782 | ||
788 | /* inititalise the gpio */ | 783 | /* inititalise the gpio */ |
789 | 784 | ||
790 | s3c2410_gpio_cfgpin(S3C2410_GPE15, S3C2410_GPE15_IICSDA); | 785 | if (pdata->cfg_gpio) |
791 | s3c2410_gpio_cfgpin(S3C2410_GPE14, S3C2410_GPE14_IICSCL); | 786 | pdata->cfg_gpio(to_platform_device(i2c->dev)); |
792 | 787 | ||
793 | /* write slave address */ | 788 | /* write slave address */ |
794 | 789 | ||