aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/video/fb_ddc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/video/fb_ddc.c b/drivers/video/fb_ddc.c
index f836137a0eda..a0df63289b5f 100644
--- a/drivers/video/fb_ddc.c
+++ b/drivers/video/fb_ddc.c
@@ -56,13 +56,12 @@ unsigned char *fb_ddc_read(struct i2c_adapter *adapter)
56 int i, j; 56 int i, j;
57 57
58 algo_data->setscl(algo_data->data, 1); 58 algo_data->setscl(algo_data->data, 1);
59 algo_data->setscl(algo_data->data, 0);
60 59
61 for (i = 0; i < 3; i++) { 60 for (i = 0; i < 3; i++) {
62 /* For some old monitors we need the 61 /* For some old monitors we need the
63 * following process to initialize/stop DDC 62 * following process to initialize/stop DDC
64 */ 63 */
65 algo_data->setsda(algo_data->data, 0); 64 algo_data->setsda(algo_data->data, 1);
66 msleep(13); 65 msleep(13);
67 66
68 algo_data->setscl(algo_data->data, 1); 67 algo_data->setscl(algo_data->data, 1);
@@ -97,14 +96,15 @@ unsigned char *fb_ddc_read(struct i2c_adapter *adapter)
97 algo_data->setsda(algo_data->data, 1); 96 algo_data->setsda(algo_data->data, 1);
98 msleep(15); 97 msleep(15);
99 algo_data->setscl(algo_data->data, 0); 98 algo_data->setscl(algo_data->data, 0);
99 algo_data->setsda(algo_data->data, 0);
100 if (edid) 100 if (edid)
101 break; 101 break;
102 } 102 }
103 /* Release the DDC lines when done or the Apple Cinema HD display 103 /* Release the DDC lines when done or the Apple Cinema HD display
104 * will switch off 104 * will switch off
105 */ 105 */
106 algo_data->setsda(algo_data->data, 0); 106 algo_data->setsda(algo_data->data, 1);
107 algo_data->setscl(algo_data->data, 0); 107 algo_data->setscl(algo_data->data, 1);
108 108
109 return edid; 109 return edid;
110} 110}