From d0acac5d18b93facc38d2be55ab9ad8ee96898a6 Mon Sep 17 00:00:00 2001 From: Kyungmin Park Date: Fri, 20 Aug 2010 17:52:13 +0900 Subject: [PATCH] s5p: check the null bus Signed-off-by: Kyungmin Park --- drivers/i2c/s5p_gpio_i2c.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/i2c/s5p_gpio_i2c.c b/drivers/i2c/s5p_gpio_i2c.c index 55e4233..5966082 100644 --- a/drivers/i2c/s5p_gpio_i2c.c +++ b/drivers/i2c/s5p_gpio_i2c.c @@ -40,8 +40,10 @@ void i2c_gpio_init(struct i2c_gpio_bus *bus, int len, int index) /* init all i2c gpio buses */ for (i = 0; i < len; i++) { - bank = (struct s5p_gpio_bank *)i2c_gpio[i].bus->gpio_base; + if (!i2c_gpio[i].bus) + continue; + bank = (struct s5p_gpio_bank *)i2c_gpio[i].bus->gpio_base; if (!bank) continue; @@ -65,6 +67,9 @@ void i2c_gpio_set(int line, int value) bus_index = i2c_get_bus_num(); + if (!i2c_gpio[bus_index].bus) + return; + bank = (struct s5p_gpio_bank *)i2c_gpio[bus_index].bus->gpio_base; if (!bank) return; @@ -83,6 +88,8 @@ int i2c_gpio_get(void) unsigned int bus_index; bus_index = i2c_get_bus_num(); + if (!i2c_gpio[bus_index].bus) + return 0; bank = (struct s5p_gpio_bank *)i2c_gpio[bus_index].bus->gpio_base; if (!bank) @@ -97,6 +104,8 @@ void i2c_gpio_dir(int dir) unsigned int bus_index; bus_index = i2c_get_bus_num(); + if (!i2c_gpio[bus_index].bus) + return; bank = (struct s5p_gpio_bank *)i2c_gpio[bus_index].bus->gpio_base; if (!bank) -- 2.7.4