spin_lock_irqsave(&gic_lock, flags);
  
        /* Re-route this IRQ */
-       gic_map_to_vpe(irq, mips_cm_vp_id(cpu));
+       write_gic_map_vp(irq, BIT(mips_cm_vp_id(cpu)));
  
        /* Update the pcpu_masks */
-       for (i = 0; i < min(gic_vpes, NR_CPUS); i++)
-               clear_bit(irq, pcpu_masks[i].pcpu_mask);
-       set_bit(irq, pcpu_masks[cpu].pcpu_mask);
+       gic_clear_pcpu_masks(irq);
+       if (read_gic_mask(irq))
+               set_bit(irq, per_cpu_ptr(pcpu_masks, cpu));
  
-       cpumask_copy(irq_data_get_affinity_mask(d), cpumask);
 +      irq_data_update_effective_affinity(d, cpumask_of(cpu));
        spin_unlock_irqrestore(&gic_lock, flags);
  
-       return IRQ_SET_MASK_OK_NOCOPY;
+       return IRQ_SET_MASK_OK;
  }
  #endif
  
 
  source "drivers/phy/amlogic/Kconfig"
  source "drivers/phy/broadcom/Kconfig"
  source "drivers/phy/hisilicon/Kconfig"
+ source "drivers/phy/lantiq/Kconfig"
  source "drivers/phy/marvell/Kconfig"
 +source "drivers/phy/mediatek/Kconfig"
  source "drivers/phy/motorola/Kconfig"
  source "drivers/phy/qualcomm/Kconfig"
 +source "drivers/phy/ralink/Kconfig"
  source "drivers/phy/renesas/Kconfig"
  source "drivers/phy/rockchip/Kconfig"
  source "drivers/phy/samsung/Kconfig"
 
  
  obj-$(CONFIG_GENERIC_PHY)             += phy-core.o
  obj-$(CONFIG_PHY_LPC18XX_USB_OTG)     += phy-lpc18xx-usb-otg.o
 -obj-$(CONFIG_PHY_MT65XX_USB3)         += phy-mt65xx-usb3.o
  obj-$(CONFIG_PHY_XGENE)                       += phy-xgene.o
  obj-$(CONFIG_PHY_PISTACHIO_USB)               += phy-pistachio-usb.o
- 
  obj-$(CONFIG_ARCH_SUNXI)              += allwinner/
  obj-$(CONFIG_ARCH_MESON)              += amlogic/
+ obj-$(CONFIG_LANTIQ)                  += lantiq/
 +obj-$(CONFIG_ARCH_MEDIATEK)           += mediatek/
  obj-$(CONFIG_ARCH_RENESAS)            += renesas/
  obj-$(CONFIG_ARCH_ROCKCHIP)           += rockchip/
  obj-$(CONFIG_ARCH_TEGRA)              += tegra/
 
  obj-$(CONFIG_RESET_A10SR) += reset-a10sr.o
  obj-$(CONFIG_RESET_ATH79) += reset-ath79.o
  obj-$(CONFIG_RESET_BERLIN) += reset-berlin.o
 -obj-$(CONFIG_RESET_GEMINI) += reset-gemini.o
 +obj-$(CONFIG_RESET_HSDK_V1) += reset-hsdk-v1.o
  obj-$(CONFIG_RESET_IMX7) += reset-imx7.o
+ obj-$(CONFIG_RESET_LANTIQ) += reset-lantiq.o
  obj-$(CONFIG_RESET_LPC18XX) += reset-lpc18xx.o
  obj-$(CONFIG_RESET_MESON) += reset-meson.o
  obj-$(CONFIG_RESET_OXNAS) += reset-oxnas.o
 
  obj-$(CONFIG_MACH_DOVE)               += dove/
  obj-y                         += fsl/
  obj-$(CONFIG_ARCH_MXC)                += imx/
+ obj-$(CONFIG_SOC_XWAY)                += lantiq/
  obj-$(CONFIG_ARCH_MEDIATEK)   += mediatek/
 +obj-$(CONFIG_ARCH_MESON)      += amlogic/
  obj-$(CONFIG_ARCH_QCOM)               += qcom/
  obj-y                         += renesas/
  obj-$(CONFIG_ARCH_ROCKCHIP)   += rockchip/