openwrt-owl/package/acx/patches/005-2.6.30_fixes.patch

53 lines
1.5 KiB
Diff

--- a/pci.c
+++ b/pci.c
@@ -2005,7 +2005,12 @@ static void acxpci_s_down(struct net_dev
/* then wait until interrupts have finished executing on other CPUs */
acx_lock(adev, flags);
disable_acx_irq(adev);
+#ifdef CONFIG_PCI
synchronize_irq(adev->pdev->irq);
+#endif
+#ifdef CONFIG_VLYNQ
+ synchronize_irq(adev->vdev->irq);
+#endif
acx_unlock(adev, flags);
/* we really don't want to have an asynchronous tasklet disturb us
@@ -4164,7 +4169,11 @@ static __devinit int vlynq_probe(struct
addr = (u32)ioremap(vdev->mem_start, 0x1000);
if (!addr) {
printk(KERN_ERR "%s: failed to remap io memory\n",
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
vdev->dev.bus_id);
+#else
+ dev_name(vdev));
+#endif
result = -ENXIO;
goto fail;
}
@@ -4231,7 +4240,11 @@ static __devinit int vlynq_probe(struct
printk("acx: found %s-based wireless network card at %s, irq:%d, "
"phymem:0x%x, mem:0x%p\n",
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
match->name, vdev->dev.bus_id, ndev->irq,
+#else
+ match->name, dev_name(vdev), ndev->irq,
+#endif
vdev->mem_start, adev->iobase);
log(L_ANY, "initial debug setting is 0x%04X\n", acx_debug);
--- a/wlan_compat.h
+++ b/wlan_compat.h
@@ -221,8 +221,10 @@
#ifndef IRQ_NONE
#define IRQ_NONE
#define IRQ_HANDLED
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
typedef void irqreturn_t;
#endif
+#endif
#ifndef ARPHRD_IEEE80211_PRISM
#define ARPHRD_IEEE80211_PRISM 802