mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 01:59:02 +00:00
8fe5ad5d33
This change makes the names of Broadcom targets consistent by using the common notation based on SoC/CPU ID (which is used internally anyway), bcmXXXX instead of brcmXXXX. This is even used for target TITLE in make menuconfig already, only the short target name used brcm so far. Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
47 lines
1.5 KiB
Diff
47 lines
1.5 KiB
Diff
--- a/drivers/pcmcia/yenta_socket.c
|
|
+++ b/drivers/pcmcia/yenta_socket.c
|
|
@@ -920,6 +920,8 @@ static unsigned int yenta_probe_irq(stru
|
|
* Probe for usable interrupts using the force
|
|
* register to generate bogus card status events.
|
|
*/
|
|
+#ifndef CONFIG_BCM47XX
|
|
+ /* WRT54G3G does not like this */
|
|
cb_writel(socket, CB_SOCKET_EVENT, -1);
|
|
cb_writel(socket, CB_SOCKET_MASK, CB_CSTSMASK);
|
|
reg = exca_readb(socket, I365_CSCINT);
|
|
@@ -935,6 +937,7 @@ static unsigned int yenta_probe_irq(stru
|
|
}
|
|
cb_writel(socket, CB_SOCKET_MASK, 0);
|
|
exca_writeb(socket, I365_CSCINT, reg);
|
|
+#endif
|
|
|
|
mask = probe_irq_mask(val) & 0xffff;
|
|
|
|
@@ -1019,6 +1022,10 @@ static void yenta_get_socket_capabilitie
|
|
else
|
|
socket->socket.irq_mask = 0;
|
|
|
|
+ /* irq mask probing is broken for the WRT54G3G */
|
|
+ if (socket->socket.irq_mask == 0)
|
|
+ socket->socket.irq_mask = 0x6f8;
|
|
+
|
|
dev_info(&socket->dev->dev, "ISA IRQ mask 0x%04x, PCI irq %d\n",
|
|
socket->socket.irq_mask, socket->cb_irq);
|
|
}
|
|
@@ -1251,6 +1258,15 @@ static int yenta_probe(struct pci_dev *d
|
|
dev_info(&dev->dev, "Socket status: %08x\n",
|
|
cb_readl(socket, CB_SOCKET_STATE));
|
|
|
|
+ /* Generate an interrupt on card insert/remove */
|
|
+ config_writew(socket, CB_SOCKET_MASK, CB_CSTSMASK | CB_CDMASK);
|
|
+
|
|
+ /* Set up Multifunction Routing Status Register */
|
|
+ config_writew(socket, 0x8C, 0x1000 /* MFUNC3 to GPIO3 */ | 0x2 /* MFUNC0 to INTA */);
|
|
+
|
|
+ /* Switch interrupts to parallelized */
|
|
+ config_writeb(socket, 0x92, 0x64);
|
|
+
|
|
yenta_fixup_parent_bridge(dev->subordinate);
|
|
|
|
/* Register it with the pcmcia layer.. */
|