diff --git a/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c b/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c index 9f0d61db1b..8e387af27b 100644 --- a/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c +++ b/target/linux/ath79/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c @@ -15,6 +15,7 @@ #include #include #include +#include #include "ag71xx.h" #define AG71XX_DEFAULT_MSG_ENABLE \ @@ -990,7 +991,11 @@ static void ag71xx_hw_disable(struct ag71xx *ag) ag71xx_dma_reset(ag); napi_disable(&ag->napi); +#if LINUX_VERSION_CODE < KERNEL_VERSION(6,16,0) del_timer_sync(&ag->oom_timer); +#else + timer_delete_sync(&ag->oom_timer); +#endif ag71xx_rings_cleanup(ag); } @@ -1170,7 +1175,11 @@ static int ag71xx_do_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) static void ag71xx_oom_timer_handler(struct timer_list *t) { +#if LINUX_VERSION_CODE < KERNEL_VERSION(6,16,0) struct ag71xx *ag = from_timer(ag, t, oom_timer); +#else + struct ag71xx *ag = timer_container_of(ag, t, oom_timer); +#endif napi_schedule(&ag->napi); } diff --git a/target/linux/ath79/patches-6.18/311-MIPS-pci-ar71xx-convert-to-OF.patch b/target/linux/ath79/patches-6.18/311-MIPS-pci-ar71xx-convert-to-OF.patch index 8842f16511..f731a5e715 100644 --- a/target/linux/ath79/patches-6.18/311-MIPS-pci-ar71xx-convert-to-OF.patch +++ b/target/linux/ath79/patches-6.18/311-MIPS-pci-ar71xx-convert-to-OF.patch @@ -60,19 +60,19 @@ Signed-off-by: John Crispin if (pending & AR71XX_PCI_INT_DEV0) - generic_handle_irq(apc->irq_base + 0); -+ generic_handle_irq(irq_linear_revmap(apc->domain, 1)); ++ generic_handle_irq(irq_find_mapping(apc->domain, 1)); else if (pending & AR71XX_PCI_INT_DEV1) - generic_handle_irq(apc->irq_base + 1); -+ generic_handle_irq(irq_linear_revmap(apc->domain, 2)); ++ generic_handle_irq(irq_find_mapping(apc->domain, 2)); else if (pending & AR71XX_PCI_INT_DEV2) - generic_handle_irq(apc->irq_base + 2); -+ generic_handle_irq(irq_linear_revmap(apc->domain, 3)); ++ generic_handle_irq(irq_find_mapping(apc->domain, 3)); else if (pending & AR71XX_PCI_INT_CORE) - generic_handle_irq(apc->irq_base + 4); -+ generic_handle_irq(irq_linear_revmap(apc->domain, 4)); ++ generic_handle_irq(irq_find_mapping(apc->domain, 4)); else spurious_interrupt(); @@ -85,7 +85,7 @@ Signed-off-by: John Crispin apc = irq_data_get_irq_chip_data(d); - irq = d->irq - apc->irq_base; -+ irq = irq_linear_revmap(apc->domain, d->irq); ++ irq = irq_find_mapping(apc->domain, d->irq); t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE); __raw_writel(t | (1 << irq), base + AR71XX_RESET_REG_PCI_INT_ENABLE); @@ -94,7 +94,7 @@ Signed-off-by: John Crispin apc = irq_data_get_irq_chip_data(d); - irq = d->irq - apc->irq_base; -+ irq = irq_linear_revmap(apc->domain, d->irq); ++ irq = irq_find_mapping(apc->domain, d->irq); t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE); __raw_writel(t & ~(1 << irq), base + AR71XX_RESET_REG_PCI_INT_ENABLE); diff --git a/target/linux/ath79/patches-6.18/313-MIPS-pci-ar724x-convert-to-OF.patch b/target/linux/ath79/patches-6.18/313-MIPS-pci-ar724x-convert-to-OF.patch index b8c106d6ab..e4f521f691 100644 --- a/target/linux/ath79/patches-6.18/313-MIPS-pci-ar724x-convert-to-OF.patch +++ b/target/linux/ath79/patches-6.18/313-MIPS-pci-ar724x-convert-to-OF.patch @@ -71,7 +71,7 @@ Signed-off-by: John Crispin if (pending & AR724X_PCI_INT_DEV0) - generic_handle_irq(apc->irq_base + 0); - -+ generic_handle_irq(irq_linear_revmap(apc->domain, 1)); ++ generic_handle_irq(irq_find_mapping(apc->domain, 1)); else spurious_interrupt(); + chained_irq_exit(chip, desc); @@ -89,7 +89,7 @@ Signed-off-by: John Crispin - offset = apc->irq_base - d->irq; - switch (offset) { -+ switch (irq_linear_revmap(apc->domain, d->irq)) { ++ switch (irq_find_mapping(apc->domain, d->irq)) { case 0: t = __raw_readl(base + AR724X_PCI_REG_INT_MASK); __raw_writel(t | AR724X_PCI_INT_DEV0, @@ -105,7 +105,7 @@ Signed-off-by: John Crispin - offset = apc->irq_base - d->irq; - switch (offset) { -+ switch (irq_linear_revmap(apc->domain, d->irq)) { ++ switch (irq_find_mapping(apc->domain, d->irq)) { case 0: t = __raw_readl(base + AR724X_PCI_REG_INT_MASK); __raw_writel(t & ~AR724X_PCI_INT_DEV0, diff --git a/target/linux/ath79/patches-6.18/314-MIPS-ath79-remove-irq-code-from-pci.patch b/target/linux/ath79/patches-6.18/314-MIPS-ath79-remove-irq-code-from-pci.patch index 01549eec68..0844c43e56 100644 --- a/target/linux/ath79/patches-6.18/314-MIPS-ath79-remove-irq-code-from-pci.patch +++ b/target/linux/ath79/patches-6.18/314-MIPS-ath79-remove-irq-code-from-pci.patch @@ -38,16 +38,16 @@ Submitted-by: John Crispin - __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE); - - if (pending & AR71XX_PCI_INT_DEV0) -- generic_handle_irq(irq_linear_revmap(apc->domain, 1)); +- generic_handle_irq(irq_find_mapping(apc->domain, 1)); - - else if (pending & AR71XX_PCI_INT_DEV1) -- generic_handle_irq(irq_linear_revmap(apc->domain, 2)); +- generic_handle_irq(irq_find_mapping(apc->domain, 2)); - - else if (pending & AR71XX_PCI_INT_DEV2) -- generic_handle_irq(irq_linear_revmap(apc->domain, 3)); +- generic_handle_irq(irq_find_mapping(apc->domain, 3)); - - else if (pending & AR71XX_PCI_INT_CORE) -- generic_handle_irq(irq_linear_revmap(apc->domain, 4)); +- generic_handle_irq(irq_find_mapping(apc->domain, 4)); - - else - spurious_interrupt(); @@ -62,7 +62,7 @@ Submitted-by: John Crispin - u32 t; - - apc = irq_data_get_irq_chip_data(d); -- irq = irq_linear_revmap(apc->domain, d->irq); +- irq = irq_find_mapping(apc->domain, d->irq); - - t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE); - __raw_writel(t | (1 << irq), base + AR71XX_RESET_REG_PCI_INT_ENABLE); @@ -79,7 +79,7 @@ Submitted-by: John Crispin - u32 t; - - apc = irq_data_get_irq_chip_data(d); -- irq = irq_linear_revmap(apc->domain, d->irq); +- irq = irq_find_mapping(apc->domain, d->irq); - - t = __raw_readl(base + AR71XX_RESET_REG_PCI_INT_ENABLE); - __raw_writel(t & ~(1 << irq), base + AR71XX_RESET_REG_PCI_INT_ENABLE);