diff -urN acx-20080210/pci.c acx-20080210.new/pci.c --- acx-20080210/pci.c 2009-08-04 00:28:37.000000000 +0200 +++ acx-20080210.new/pci.c 2009-08-04 00:28:42.000000000 +0200 @@ -2005,7 +2005,12 @@ /* 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 @@ 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 @@ 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); diff -urN acx-20080210/wlan_compat.h acx-20080210.new/wlan_compat.h --- acx-20080210/wlan_compat.h 2008-02-10 21:06:42.000000000 +0100 +++ acx-20080210.new/wlan_compat.h 2009-08-04 00:24:26.000000000 +0200 @@ -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