diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-15 14:16:05 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-07-15 14:16:05 -0400 |
commit | dc221eae08eea3b0db127d1f152fac24d10b6a52 (patch) | |
tree | eea4cc64f2568db6aea94b9491120525ebcd738f /drivers/video/intelfb/intelfb_i2c.c | |
parent | 98339cbd360b77c3167db287fd611468c2c44559 (diff) | |
parent | 4735c98f8447acb1c8977e2b8024640f7bf36dd6 (diff) |
Merge branch 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6
* 'i2c-for-linus' of git://jdelvare.pck.nerim.net/jdelvare-2.6: (56 commits)
i2c: Add detection capability to new-style drivers
i2c: Call client_unregister for new-style devices too
i2c: Clean up old chip drivers
i2c-ibm_iic: Register child nodes
i2c: New-style EEPROM driver using device IDs
i2c: Export the i2c_bus_type symbol
i2c-au1550: Fix PM support
i2c-dev: Delete empty detach_client callback
i2c: Drop stray references to lm_sensors
i2c: Check for ACPI resource conflicts
i2c-ocores: basic PM support
i2c-sibyte: SWARM I2C board initialization
i2c-i801: Fix handling of error conditions
i2c-i801: Rename local variable temp to status
i2c-i801: Properly report bus arbitration loss
i2c-i801: Remove verbose debugging messages
i2c-algo-pcf: Drop unused struct members
i2c-algo-pcf: Multi-master lost-arbitration improvement
i2c: Deprecate the legacy gpio drivers
i2c-pxa: Initialize early
...
Diffstat (limited to 'drivers/video/intelfb/intelfb_i2c.c')
-rw-r--r-- | drivers/video/intelfb/intelfb_i2c.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/video/intelfb/intelfb_i2c.c b/drivers/video/intelfb/intelfb_i2c.c index ca95f09d8b43..fcf9fadbf572 100644 --- a/drivers/video/intelfb/intelfb_i2c.c +++ b/drivers/video/intelfb/intelfb_i2c.c | |||
@@ -100,7 +100,8 @@ static int intelfb_gpio_getsda(void *data) | |||
100 | 100 | ||
101 | static int intelfb_setup_i2c_bus(struct intelfb_info *dinfo, | 101 | static int intelfb_setup_i2c_bus(struct intelfb_info *dinfo, |
102 | struct intelfb_i2c_chan *chan, | 102 | struct intelfb_i2c_chan *chan, |
103 | const u32 reg, const char *name) | 103 | const u32 reg, const char *name, |
104 | int class) | ||
104 | { | 105 | { |
105 | int rc; | 106 | int rc; |
106 | 107 | ||
@@ -108,6 +109,7 @@ static int intelfb_setup_i2c_bus(struct intelfb_info *dinfo, | |||
108 | chan->reg = reg; | 109 | chan->reg = reg; |
109 | snprintf(chan->adapter.name, sizeof(chan->adapter.name), | 110 | snprintf(chan->adapter.name, sizeof(chan->adapter.name), |
110 | "intelfb %s", name); | 111 | "intelfb %s", name); |
112 | chan->adapter.class = class; | ||
111 | chan->adapter.owner = THIS_MODULE; | 113 | chan->adapter.owner = THIS_MODULE; |
112 | chan->adapter.id = I2C_HW_B_INTELFB; | 114 | chan->adapter.id = I2C_HW_B_INTELFB; |
113 | chan->adapter.algo_data = &chan->algo; | 115 | chan->adapter.algo_data = &chan->algo; |
@@ -145,7 +147,7 @@ void intelfb_create_i2c_busses(struct intelfb_info *dinfo) | |||
145 | 147 | ||
146 | /* setup the DDC bus for analog output */ | 148 | /* setup the DDC bus for analog output */ |
147 | intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].ddc_bus, GPIOA, | 149 | intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].ddc_bus, GPIOA, |
148 | "CRTDDC_A"); | 150 | "CRTDDC_A", I2C_CLASS_DDC); |
149 | i++; | 151 | i++; |
150 | 152 | ||
151 | /* need to add the output busses for each device | 153 | /* need to add the output busses for each device |
@@ -159,9 +161,9 @@ void intelfb_create_i2c_busses(struct intelfb_info *dinfo) | |||
159 | case INTEL_865G: | 161 | case INTEL_865G: |
160 | dinfo->output[i].type = INTELFB_OUTPUT_DVO; | 162 | dinfo->output[i].type = INTELFB_OUTPUT_DVO; |
161 | intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].ddc_bus, | 163 | intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].ddc_bus, |
162 | GPIOD, "DVODDC_D"); | 164 | GPIOD, "DVODDC_D", I2C_CLASS_DDC); |
163 | intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].i2c_bus, | 165 | intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].i2c_bus, |
164 | GPIOE, "DVOI2C_E"); | 166 | GPIOE, "DVOI2C_E", 0); |
165 | i++; | 167 | i++; |
166 | break; | 168 | break; |
167 | case INTEL_915G: | 169 | case INTEL_915G: |
@@ -174,7 +176,7 @@ void intelfb_create_i2c_busses(struct intelfb_info *dinfo) | |||
174 | /* SDVO ports have a single control bus - 2 devices */ | 176 | /* SDVO ports have a single control bus - 2 devices */ |
175 | dinfo->output[i].type = INTELFB_OUTPUT_SDVO; | 177 | dinfo->output[i].type = INTELFB_OUTPUT_SDVO; |
176 | intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].i2c_bus, | 178 | intelfb_setup_i2c_bus(dinfo, &dinfo->output[i].i2c_bus, |
177 | GPIOE, "SDVOCTRL_E"); | 179 | GPIOE, "SDVOCTRL_E", 0); |
178 | /* TODO: initialize the SDVO */ | 180 | /* TODO: initialize the SDVO */ |
179 | /* I830SDVOInit(pScrn, i, DVOB); */ | 181 | /* I830SDVOInit(pScrn, i, DVOB); */ |
180 | i++; | 182 | i++; |