Re: [2.3.15] pci_dev->rom_address ?

Dr J Pelan (J.Pelan@gatsby.ucl.ac.uk)
Thu, 26 Aug 1999 21:24:59 +0100 (BST)


On Thu, 26 Aug 1999, Jeff Garzik wrote:

> Dr J Pelan wrote:
> > include/linux/pci.h no longer defines "rom_address" in the structure
> > "pci_dev". Some device drivers are still dependent on it though;
>
> pm2fb had this change in the last kernel:
> s/rom_address/resource[PCI_ROM_RESOURCE].start/

Ok. In that case, this would probably be an appropriate patch...

--- linux-2.3.15/drivers/block/aec6210.c Fri Aug 6 02:48:45 1999
+++ linux/drivers/block/aec6210.c Thu Aug 26 20:18:29 1999
@@ -52,9 +52,9 @@

__initfunc(unsigned int pci_init_aec6210 (struct pci_dev *dev, const char *name))
{
- if (dev->rom_address) {
- pci_write_config_dword(dev, PCI_ROM_ADDRESS, dev->rom_address | PCI_ROM_ADDRESS_ENABLE);
- printk("%s: ROM enabled at 0x%08lx\n", name, dev->rom_address);
+ if (dev->resource[PCI_ROM_RESOURCE].start) {
+ pci_write_config_dword(dev, PCI_ROM_ADDRESS, dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE);
+ printk("%s: ROM enabled at 0x%08lx\n", name, dev->resource[PCI_ROM_RESOURCE].start);
}
return dev->irq;
}
--- linux-2.3.15/drivers/block/hpt34x.c Fri Aug 6 02:48:45 1999
+++ linux/drivers/block/hpt34x.c Thu Aug 26 20:19:41 1999
@@ -347,9 +347,9 @@
pci_write_config_byte(dev, HPT34X_PCI_INIT_REG, 0x00);
pci_read_config_word(dev, PCI_COMMAND, &cmd);
if (cmd & PCI_COMMAND_MEMORY) {
- if (dev->rom_address) {
- pci_write_config_byte(dev, PCI_ROM_ADDRESS, dev->rom_address | PCI_ROM_ADDRESS_ENABLE);
- printk(KERN_INFO "HPT345: ROM enabled at 0x%08lx\n", dev->rom_address);
+ if (dev->resource[PCI_ROM_RESOURCE].start) {
+ pci_write_config_byte(dev, PCI_ROM_ADDRESS, dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE);
+ printk(KERN_INFO "HPT345: ROM enabled at 0x%08lx\n", dev->resource[PCI_ROM_RESOURCE].start);
}
pci_write_config_byte(dev, PCI_LATENCY_TIMER, 0xF0);
} else {
--- linux-2.3.15/drivers/block/pdc202xx.c Fri Aug 6 02:48:45 1999
+++ linux/drivers/block/pdc202xx.c Thu Aug 26 20:05:14 1999
@@ -498,9 +498,9 @@
byte primary_mode = inb(high_16 + 0x001a);
byte secondary_mode = inb(high_16 + 0x001b);

- if (dev->rom_address) {
- pci_write_config_dword(dev, PCI_ROM_ADDRESS, dev->rom_address | PCI_ROM_ADDRESS_ENABLE);
- printk("%s: ROM enabled at 0x%08lx\n", name, dev->rom_address);
+ if (dev->resource[PCI_ROM_RESOURCE].start) {
+ pci_write_config_dword(dev, PCI_ROM_ADDRESS, dev->resource[PCI_ROM_RESOURCE].start | PCI_ROM_ADDRESS_ENABLE);
+ printk("%s: ROM enabled at 0x%08lx\n", name, dev->resource[PCI_ROM_RESOURCE].start);
}

if ((dev->class >> 8) != PCI_CLASS_STORAGE_IDE) {
--- linux-2.3.15/drivers/macintosh/via-pmu.c Thu Aug 5 00:36:41 1999
+++ linux/drivers/macintosh/via-pmu.c Thu Aug 26 20:20:35 1999
@@ -947,7 +947,7 @@
PCI_BASE_ADDRESS_0 + j*4,
pd->base_address[j]);
pci_write_config_dword(pd, PCI_ROM_ADDRESS,
- pd->rom_address);
+ pd->resource[PCI_ROM_RESOURCE].start);
pci_write_config_word(pd, PCI_CACHE_LINE_SIZE,
ps->cache_lat);
pci_write_config_word(pd, PCI_INTERRUPT_LINE,
--- linux-2.3.15/arch/sparc64/kernel/psycho.c Fri Aug 6 19:58:00 1999
+++ linux/arch/sparc64/kernel/psycho.c Thu Aug 26 20:20:58 1999
@@ -927,14 +927,14 @@
dev->irq = irq;
sparc64_pci_read_bases(dev, 6);
pcibios_read_config_dword(bus->number, devfn, PCI_ROM_ADDRESS, &l);
- dev->rom_address = (l == 0xffffffff) ? 0 : l;
+ dev->resource[PCI_ROM_RESOURCE].start = (l == 0xffffffff) ? 0 : l;
break;
case PCI_HEADER_TYPE_BRIDGE: /* bridge header */
if (class != PCI_CLASS_BRIDGE_PCI)
goto bad;
sparc64_pci_read_bases(dev, 2);
pcibios_read_config_dword(bus->number, devfn, PCI_ROM_ADDRESS1, &l);
- dev->rom_address = (l == 0xffffffff) ? 0 : l;
+ dev->resource[PCI_ROM_RESOURCE].start = (l == 0xffffffff) ? 0 : l;
break;
case PCI_HEADER_TYPE_CARDBUS: /* CardBus bridge header */
if (class != PCI_CLASS_BRIDGE_CARDBUS)
@@ -1498,8 +1498,8 @@
prom_printf("fixup_doit: YIEEE, cannot find PBM ranges\n");
}
if (bsreg == PCI_ROM_ADDRESS) {
- pdev->rom_address = (unsigned long)__va(pci_addr);
- pdev->rom_address &= ~1UL;
+ pdev->resource[PCI_ROM_RESOURCE].start = (unsigned long)__va(pci_addr);
+ pdev->resource[PCI_ROM_RESOURCE].start &= ~1UL;

/*
* Disable access to the ROM.
@@ -1651,10 +1651,10 @@
* Handle PCI_ROM_ADDRESS.
*/
breg = PCI_ROM_ADDRESS;
- base = (unsigned int)pdev->rom_address;
+ base = (unsigned int)pdev->resource[PCI_ROM_RESOURCE].start;

- if(pdev->rom_address > PAGE_OFFSET)
- goto rom_address_done;
+ if(pdev->resource[PCI_ROM_RESOURCE].start > PAGE_OFFSET)
+ goto resource[PCI_ROM_RESOURCE].start_done;

base &= PCI_ROM_ADDRESS_MASK;
offset = (pdev->bus->number << 16) | (pdev->devfn << 8) | breg;
@@ -1668,7 +1668,7 @@
size &= ~1;
size = (~(size) + 1);
if(!size)
- goto rom_address_done;
+ goto resource[PCI_ROM_RESOURCE].start_done;

new_base = 0;
for(vp = pci_find_vma(pbm, new_base, 0, 0); ; vp = vp->next) {
@@ -1721,11 +1721,11 @@
prom_printf("fixup_doit: YIEEE, cannot find "
"PBM ranges\n");
}
- pdev->rom_address = (unsigned long)__va(pci_addr);
- pdev->rom_address &= ~(base & ~PCI_ROM_ADDRESS_MASK);
+ pdev->resource[PCI_ROM_RESOURCE].start = (unsigned long)__va(pci_addr);
+ pdev->resource[PCI_ROM_RESOURCE].start &= ~(base & ~PCI_ROM_ADDRESS_MASK);
MEM_seen = 1;
}
- rom_address_done:
+ resource[PCI_ROM_RESOURCE].start_done:

}
if(IO_seen || MEM_seen) {
@@ -2215,9 +2215,9 @@
* Prevent access to PCI_ROM_ADDRESS, in case present
* as we don't fixup the address.
*/
- if (pdev->rom_address) {
+ if (pdev->resource[PCI_ROM_RESOURCE].start) {
pci_write_config_dword(pdev, PCI_ROM_ADDRESS, 0);
- pdev->rom_address = 0;
+ pdev->resource[PCI_ROM_RESOURCE].start = 0;
}
return;
}

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/