aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorTormod Volden <debian.tormod@gmail.com>2011-04-03 08:54:05 -0400
committerPaul Mundt <lethal@linux-sh.org>2011-04-06 12:49:53 -0400
commit21cd72e7cb424f1686855602ec0fdc6e5830f249 (patch)
treeeac2aed396910f079bb828c6a11489e82eb06b13 /drivers
parenta564d301e93f96a23c808b4cf234ac08b073c96d (diff)
savagefb: Set up I2C based on chip family instead of card id
In practice this means enabling I2C (for DDC2) on all prosavage cards, like the xorg ddx does. The savage4 and savage2000 families have only one member each, so there is no change for those. Tested on TwisterK. Signed-off-by: Tormod Volden <debian.tormod@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/savage/savagefb-i2c.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/drivers/video/savage/savagefb-i2c.c b/drivers/video/savage/savagefb-i2c.c
index 58c8a3ce33c..5e7acda2ba9 100644
--- a/drivers/video/savage/savagefb-i2c.c
+++ b/drivers/video/savage/savagefb-i2c.c
@@ -170,9 +170,8 @@ void savagefb_create_i2c_busses(struct fb_info *info)
170 struct savagefb_par *par = info->par; 170 struct savagefb_par *par = info->par;
171 par->chan.par = par; 171 par->chan.par = par;
172 172
173 switch(info->fix.accel) { 173 switch (par->chip) {
174 case FB_ACCEL_PROSAVAGE_DDRK: 174 case S3_PROSAVAGE:
175 case FB_ACCEL_PROSAVAGE_PM:
176 par->chan.reg = CR_SERIAL2; 175 par->chan.reg = CR_SERIAL2;
177 par->chan.ioaddr = par->mmio.vbase; 176 par->chan.ioaddr = par->mmio.vbase;
178 par->chan.algo.setsda = prosavage_gpio_setsda; 177 par->chan.algo.setsda = prosavage_gpio_setsda;
@@ -180,7 +179,7 @@ void savagefb_create_i2c_busses(struct fb_info *info)
180 par->chan.algo.getsda = prosavage_gpio_getsda; 179 par->chan.algo.getsda = prosavage_gpio_getsda;
181 par->chan.algo.getscl = prosavage_gpio_getscl; 180 par->chan.algo.getscl = prosavage_gpio_getscl;
182 break; 181 break;
183 case FB_ACCEL_SAVAGE4: 182 case S3_SAVAGE4:
184 par->chan.reg = CR_SERIAL1; 183 par->chan.reg = CR_SERIAL1;
185 if (par->pcidev->revision > 1 && !(VGArCR(0xa6, par) & 0x40)) 184 if (par->pcidev->revision > 1 && !(VGArCR(0xa6, par) & 0x40))
186 par->chan.reg = CR_SERIAL2; 185 par->chan.reg = CR_SERIAL2;
@@ -190,7 +189,7 @@ void savagefb_create_i2c_busses(struct fb_info *info)
190 par->chan.algo.getsda = prosavage_gpio_getsda; 189 par->chan.algo.getsda = prosavage_gpio_getsda;
191 par->chan.algo.getscl = prosavage_gpio_getscl; 190 par->chan.algo.getscl = prosavage_gpio_getscl;
192 break; 191 break;
193 case FB_ACCEL_SAVAGE2000: 192 case S3_SAVAGE2000:
194 par->chan.reg = MM_SERIAL1; 193 par->chan.reg = MM_SERIAL1;
195 par->chan.ioaddr = par->mmio.vbase; 194 par->chan.ioaddr = par->mmio.vbase;
196 par->chan.algo.setsda = savage4_gpio_setsda; 195 par->chan.algo.setsda = savage4_gpio_setsda;