X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/be8ad0190d689eb7f797bdc0618d7e87892a831d..06cb59cd07e68270c8d0bbe281232ac8ef25ed26:/target/linux/brcm-2.4/patches/009-wrt54g3g_pcmcia.patch diff --git a/target/linux/brcm-2.4/patches/009-wrt54g3g_pcmcia.patch b/target/linux/brcm-2.4/patches/009-wrt54g3g_pcmcia.patch index 0759eeb40..01e1f3c23 100644 --- a/target/linux/brcm-2.4/patches/009-wrt54g3g_pcmcia.patch +++ b/target/linux/brcm-2.4/patches/009-wrt54g3g_pcmcia.patch @@ -1,40 +1,7 @@ -diff -urN linux.old/arch/mips/bcm947xx/pcibios.c linux.dev/arch/mips/bcm947xx/pcibios.c ---- linux.old/arch/mips/bcm947xx/pcibios.c 2006-04-07 21:20:59.000000000 +0200 -+++ linux.dev/arch/mips/bcm947xx/pcibios.c 2006-04-08 03:17:59.000000000 +0200 -@@ -157,6 +157,7 @@ - - static u32 pci_iobase = 0x100; - static u32 pci_membase = SB_PCI_DMA; -+static u32 pcmcia_membase = 0x40004000; - - void __init - pcibios_fixup_bus(struct pci_bus *b) -@@ -188,7 +189,7 @@ - /* Fix up resource bases */ - for (pos = 0; pos < 6; pos++) { - res = &d->resource[pos]; -- base = (res->flags & IORESOURCE_IO) ? &pci_iobase : &pci_membase; -+ base = (res->flags & IORESOURCE_IO) ? &pci_iobase : ((b->number == 2) ? &pcmcia_membase : &pci_membase); - if (res->end) { - size = res->end - res->start + 1; - if (*base & (size - 1)) -@@ -308,7 +309,12 @@ - where = PCI_BASE_ADDRESS_0 + (resource * 4); - size = res->end - res->start; - pci_read_config_dword(dev, where, ®); -- reg = (reg & size) | (((u32)(res->start - root->start)) & ~size); -+ -+ if (dev->bus->number == 1) -+ reg = (reg & size) | (((u32)(res->start - root->start)) & ~size); -+ else -+ reg = res->start; -+ - pci_write_config_dword(dev, where, reg); - } - -diff -urN linux.old/drivers/pcmcia/yenta.c linux.dev/drivers/pcmcia/yenta.c ---- linux.old/drivers/pcmcia/yenta.c 2004-11-17 12:54:21.000000000 +0100 -+++ linux.dev/drivers/pcmcia/yenta.c 2006-04-11 17:47:45.000000000 +0200 +Index: linux-2.4.35.4/drivers/pcmcia/yenta.c +=================================================================== +--- linux-2.4.35.4.orig/drivers/pcmcia/yenta.c 2007-12-15 05:19:36.066476349 +0100 ++++ linux-2.4.35.4/drivers/pcmcia/yenta.c 2007-12-15 05:20:16.268767348 +0100 @@ -543,6 +543,9 @@ * Probe for usable interrupts using the force * register to generate bogus card status events.