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

Reply via email to