diff options
Diffstat (limited to 'drivers/video/tridentfb.c')
-rw-r--r-- | drivers/video/tridentfb.c | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/drivers/video/tridentfb.c b/drivers/video/tridentfb.c index cb37e10734b6..0f6e4054c996 100644 --- a/drivers/video/tridentfb.c +++ b/drivers/video/tridentfb.c | |||
@@ -28,16 +28,12 @@ | |||
28 | 28 | ||
29 | struct tridentfb_par { | 29 | struct tridentfb_par { |
30 | void __iomem *io_virt; /* iospace virtual memory address */ | 30 | void __iomem *io_virt; /* iospace virtual memory address */ |
31 | u32 pseudo_pal[16]; | ||
31 | }; | 32 | }; |
32 | 33 | ||
33 | static unsigned char eng_oper; /* engine operation... */ | 34 | static unsigned char eng_oper; /* engine operation... */ |
34 | static struct fb_ops tridentfb_ops; | 35 | static struct fb_ops tridentfb_ops; |
35 | 36 | ||
36 | /* FIXME:kmalloc these 3 instead */ | ||
37 | static u32 pseudo_pal[16]; | ||
38 | |||
39 | static struct fb_var_screeninfo default_var; | ||
40 | |||
41 | static struct fb_fix_screeninfo tridentfb_fix = { | 37 | static struct fb_fix_screeninfo tridentfb_fix = { |
42 | .id = "Trident", | 38 | .id = "Trident", |
43 | .type = FB_TYPE_PACKED_PIXELS, | 39 | .type = FB_TYPE_PACKED_PIXELS, |
@@ -1340,9 +1336,7 @@ static int __devinit trident_pci_probe(struct pci_dev *dev, | |||
1340 | #ifdef CONFIG_FB_TRIDENT_ACCEL | 1336 | #ifdef CONFIG_FB_TRIDENT_ACCEL |
1341 | info->flags |= FBINFO_HWACCEL_COPYAREA | FBINFO_HWACCEL_FILLRECT; | 1337 | info->flags |= FBINFO_HWACCEL_COPYAREA | FBINFO_HWACCEL_FILLRECT; |
1342 | #endif | 1338 | #endif |
1343 | info->pseudo_palette = pseudo_pal; | 1339 | if (!fb_find_mode(&info->var, info, |
1344 | |||
1345 | if (!fb_find_mode(&default_var, info, | ||
1346 | mode_option, NULL, 0, NULL, bpp)) { | 1340 | mode_option, NULL, 0, NULL, bpp)) { |
1347 | err = -EINVAL; | 1341 | err = -EINVAL; |
1348 | goto out_unmap2; | 1342 | goto out_unmap2; |
@@ -1352,11 +1346,10 @@ static int __devinit trident_pci_probe(struct pci_dev *dev, | |||
1352 | goto out_unmap2; | 1346 | goto out_unmap2; |
1353 | 1347 | ||
1354 | if (defaultaccel && acc) | 1348 | if (defaultaccel && acc) |
1355 | default_var.accel_flags |= FB_ACCELF_TEXT; | 1349 | info->var.accel_flags |= FB_ACCELF_TEXT; |
1356 | else | 1350 | else |
1357 | default_var.accel_flags &= ~FB_ACCELF_TEXT; | 1351 | info->var.accel_flags &= ~FB_ACCELF_TEXT; |
1358 | default_var.activate |= FB_ACTIVATE_NOW; | 1352 | info->var.activate |= FB_ACTIVATE_NOW; |
1359 | info->var = default_var; | ||
1360 | info->device = &dev->dev; | 1353 | info->device = &dev->dev; |
1361 | if (register_framebuffer(info) < 0) { | 1354 | if (register_framebuffer(info) < 0) { |
1362 | printk(KERN_ERR "tridentfb: could not register Trident framebuffer\n"); | 1355 | printk(KERN_ERR "tridentfb: could not register Trident framebuffer\n"); |
@@ -1365,8 +1358,8 @@ static int __devinit trident_pci_probe(struct pci_dev *dev, | |||
1365 | goto out_unmap2; | 1358 | goto out_unmap2; |
1366 | } | 1359 | } |
1367 | output("fb%d: %s frame buffer device %dx%d-%dbpp\n", | 1360 | output("fb%d: %s frame buffer device %dx%d-%dbpp\n", |
1368 | info->node, info->fix.id, default_var.xres, | 1361 | info->node, info->fix.id, info->var.xres, |
1369 | default_var.yres, default_var.bits_per_pixel); | 1362 | info->var.yres, info->var.bits_per_pixel); |
1370 | 1363 | ||
1371 | pci_set_drvdata(dev, info); | 1364 | pci_set_drvdata(dev, info); |
1372 | return 0; | 1365 | return 0; |