[PATCH 04/05] i2c-sh_mobile: IORESOURCE_CLK support

Magnus Damm
2008-07-18T07:41:27Z

From: Magnus Damm <damm@igel.co.jp>

This patch makes the i2c-sh_mobile driver get the clock name from the
struct resource with type IORESOURCE_CLK provided by the platform data.

Signed-off-by: Magnus Damm <damm@igel.co.jp>
---

drivers/i2c/busses/i2c-sh_mobile.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

--- 0001/drivers/i2c/busses/i2c-sh_mobile.c
+++ work/drivers/i2c/busses/i2c-sh_mobile.c 2008-07-18 14:56:40.000000000 +0900
@@ -390,13 +390,19 @@ static int sh_mobile_i2c_probe(struct pl
int size;
int ret;

+ res = platform_get_resource(dev, IORESOURCE_CLK, 0);
+ if (res == NULL || res->name == NULL) {
+ dev_err(&dev->dev, "cannot find CLK resource\n");
+ return -ENOENT;
+ }
+
pd = kzalloc(sizeof(struct sh_mobile_i2c_data), GFP_KERNEL);
if (pd == NULL) {
dev_err(&dev->dev, "cannot allocate private data\n");
return -ENOMEM;
}

- pd->clk = clk_get(&dev->dev, "peripheral_clk");
+ pd->clk = clk_get(&dev->dev, res->name);
if (IS_ERR(pd->clk)) {
dev_err(&dev->dev, "cannot get peripheral clock\n");
ret = PTR_ERR(pd->clk);