Commit e98f05d6 authored by James Simmons's avatar James Simmons

Added help for the Toshbia and Permedia3 framebuffer devices. Small fixes for...

Added help for the Toshbia and Permedia3 framebuffer devices. Small fixes for the ATI 128 card and the logo drawing code in fbcon.c. Proper handling of data for pci handling.
parent d28665f2
......@@ -77,6 +77,12 @@ CONFIG_FB_AMIGA
module will be called amifb.o. If you want to compile it as a
module, say M here and read <file:Documentation/modules.txt>.
CONFIG_FB_PM3
This is the frame buffer device driver for the 3DLabs Permedia3
chipset, used in Formac ProFormance III, 3DLabs Oxygen VX1 &
similar boards, 3DLabs Permedia3 Create!, Appian Jeronimo 2000
and maybe other boards.
CONFIG_FB_AMIGA_OCS
This enables support for the original Agnus and Denise video chips,
found in the Amiga 1000 and most A500's and A2000's. If you intend
......@@ -587,6 +593,12 @@ CONFIG_FB_IMSTT
The IMS Twin Turbo is a PCI-based frame buffer card bundled with
many Macintosh and compatible computers.
CONFIG_FB_TX3912
The TX3912 is a Toshiba RISC processor based on the MIPS 3900 core
see <http://www.toshiba.com/taec/components/Generic/risc/tx3912.htm>.
Say Y here to enable kernel support for the on-board framebuffer.
CONFIG_FB_VIRTUAL
This is a `virtual' frame buffer device. It operates on a chunk of
unswappable kernel memory instead of on the memory of a graphics
......
......@@ -114,7 +114,6 @@ obj-$(CONFIG_FBCON_ILBM) += fbcon-ilbm.o
obj-$(CONFIG_FBCON_IPLAN2P2) += fbcon-iplan2p2.o
obj-$(CONFIG_FBCON_IPLAN2P4) += fbcon-iplan2p4.o
obj-$(CONFIG_FBCON_IPLAN2P8) += fbcon-iplan2p8.o
obj-$(CONFIG_FBCON_IPLAN2P16) += fbcon-iplan2p16.o
obj-$(CONFIG_FBCON_MAC) += fbcon-mac.o
obj-$(CONFIG_FBCON_MFB) += fbcon-mfb.o
obj-$(CONFIG_FBCON_VGA) += fbcon-vga.o
......
......@@ -1772,7 +1772,7 @@ aty128_init(struct fb_info_aty128 *info, const char *name)
board_list = aty128_board_list_add(board_list, info);
size = (fb_display[con].var.bits_per_pixel <= 8) ? 256 : 32;
size = (var.bits_per_pixel <= 8) ? 256 : 32;
fb_alloc_cmap(info->fb_info.cmap, size, 0);
if (register_framebuffer(&info->fb_info) < 0)
......
......@@ -2401,7 +2401,7 @@ static int __init fbcon_show_logo( void )
else
dst = fb + y1*line + x/8;
for( x1 = 0; x1 < LOGO_LINE; ++x1 )
fb_writeb(fb_readb(src++) ^ inverse, dst++);
fb_writeb(*src++ ^ inverse, dst++);
}
done = 1;
}
......
......@@ -68,7 +68,7 @@
* "Samuel Hocevar" <sam@via.ecp.fr>
* Fixes
*
* "Anton Altaparmakov"
* "Anton Altaparmakov" <AntonA@bigfoot.com>
* G400 MAX/non-MAX distinction
*
* "Ken Aaker" <kdaaker@rchland.vnet.ibm.com>
......
......@@ -110,6 +110,10 @@ static const struct fb_videomode modedb[] __initdata = {
/* 1280x1024 @ 87 Hz interlaced, 51 kHz hsync */
NULL, 87, 1280, 1024, 12500, 56, 16, 128, 1, 216, 12,
0, FB_VMODE_INTERLACED
}, {
/* 1400x1050 @ 60Hz, 63.9 kHz hsync */
NULL, 68, 1400, 1050, 9259, 136, 40, 13, 1, 112, 3,
0, FB_VMODE_NONINTERLACED
}, {
/* 800x600 @ 100 Hz, 64.02 kHz hsync */
NULL, 100, 800, 600, 14357, 160, 64, 30, 4, 64, 6,
......
......@@ -1915,8 +1915,7 @@ static int __devinit neofb_probe(struct pci_dev *dev,
/*
* Our driver data
*/
dev->driver_data = info;
pci_set_drvdata(dev, info);
return 0;
failed:
......@@ -1929,7 +1928,7 @@ static int __devinit neofb_probe(struct pci_dev *dev,
static void __devexit neofb_remove(struct pci_dev *dev)
{
struct fb_info *info = (struct fb_info *) dev->driver_data;
struct fb_info *info = pci_get_drvdata(dev);
DBG("neofb_remove");
......@@ -1951,7 +1950,7 @@ static void __devexit neofb_remove(struct pci_dev *dev)
* Ensure that the driver data is no longer
* valid.
*/
dev->driver_data = NULL;
pci_set_drvdata(dev, NULL);
}
}
......
......@@ -1109,7 +1109,7 @@ static int __devinit tdfxfb_probe(struct pci_dev *pdev,
/*
* Our driver data
*/
pdev->driver_data = info;
pci_set_drvdata(pdev, info);
return 0;
}
......@@ -1124,7 +1124,7 @@ static int __devinit tdfxfb_probe(struct pci_dev *pdev,
*/
static void __devexit tdfxfb_remove(struct pci_dev *pdev)
{
struct fb_info *info = (struct fb_info *)pdev->driver_data;
struct fb_info *info = pci_get_drvdata(pdev);
struct tdfx_par *par = (struct tdfx_par *) info->par;
unregister_framebuffer(info);
......@@ -1138,6 +1138,7 @@ static void __devexit tdfxfb_remove(struct pci_dev *pdev)
pci_resource_len(pdev, 1));
release_mem_region(pci_resource_start(pdev, 0),
pci_resource_len(pdev, 0));
pci_set_drvdata(pdev, NULL);
}
int __init tdfxfb_init(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment