--- 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