Title: [4066] trunk/drivers/i2c/busses/i2c-gpio.c: TASK [#3478]
and workaround for bug [#3795] modified i2c-gpio to use Blackfin GPIO API
- Revision
- 4066
- Author
- cooloney
- Date
- 2007-12-26 01:14:47 -0600 (Wed, 26 Dec 2007)
Log Message
TASK [#3478] and workaround for bug [#3795] modified i2c-gpio to use Blackfin GPIO API
Diffstat
i2c-gpio.c | 19 +++++++++++++------
1 files changed, 13 insertions(+), 6 deletions(-)
Modified Paths
Diff
Modified: trunk/drivers/i2c/busses/i2c-gpio.c (4065 => 4066)
--- trunk/drivers/i2c/busses/i2c-gpio.c 2007-12-26 07:10:10 UTC (rev 4065)
+++ trunk/drivers/i2c/busses/i2c-gpio.c 2007-12-26 07:14:47 UTC (rev 4066)
@@ -23,8 +23,10 @@
if (state)
gpio_direction_input(pdata->sda_pin);
- else
- gpio_direction_output(pdata->sda_pin, 0);
+ else {
+ gpio_direction_output(pdata->sda_pin);
+ gpio_set_value(pdata->sda_pin, 0);
+ }
}
/*
@@ -46,8 +48,11 @@
if (state)
gpio_direction_input(pdata->scl_pin);
- else
- gpio_direction_output(pdata->scl_pin, 0);
+
+ else {
+ gpio_direction_output(pdata->sda_pin);
+ gpio_set_value(pdata->sda_pin, 0);
+ }
}
/*
@@ -104,7 +109,8 @@
goto err_request_scl;
if (pdata->sda_is_open_drain) {
- gpio_direction_output(pdata->sda_pin, 1);
+ gpio_direction_output(pdata->sda_pin);
+ gpio_set_value(pdata->scl_pin, 1);
bit_data->setsda = i2c_gpio_setsda_val;
} else {
gpio_direction_input(pdata->sda_pin);
@@ -112,7 +118,8 @@
}
if (pdata->scl_is_open_drain || pdata->scl_is_output_only) {
- gpio_direction_output(pdata->scl_pin, 1);
+ gpio_direction_output(pdata->scl_pin);
+ gpio_set_value(pdata->scl_pin, 1);
bit_data->setscl = i2c_gpio_setscl_val;
} else {
gpio_direction_input(pdata->scl_pin);
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits