--- netwinder-tv-1.0/tv/tv.c 2000-01-05 16:46:25.000000000 -0500 +++ netwinder-tv-1.0-new/tv/tv.c 2003-04-01 09:35:27.000000000 -0500 @@ -24,6 +24,7 @@ #define VGA_COP_BASE pCOP #define VGA_IO_BASE pIO_TV +void *pVGA = 0; void *pCOP; void *pIO_TV; @@ -1321,7 +1322,6 @@ SetupIOAddr_TV (void) { struct pci_dev *dev; - void *pVGA; dev = pci_find_device (PCI_VENDOR_ID_INTERG, 0x2000, NULL); if (!dev) { @@ -1338,7 +1338,8 @@ igs_chip_id = 0x2000; } - pVGA = bus_to_virt (dev->base_address[0]); + pVGA = ioremap(pci_resource_start(dev,0), + pci_resource_len(dev,0)); pCOP = pVGA + 0x008B0000; pIO_TV = pVGA + 0x00800000; return 1; @@ -1431,6 +1432,8 @@ unlock_tv_reg (); set_on (FALSE, FALSE); lock_tv_reg (); + if (pVGA) + iounmap(pVGA); unregister_chrdev (TV_MAJOR, TV_DEVICE_NAME); } #endif