ar71xx: refresh patches
authorLuka Perkov <luka@openwrt.org>
Sat, 7 Feb 2015 17:48:39 +0000 (17:48 +0000)
committerLuka Perkov <luka@openwrt.org>
Sat, 7 Feb 2015 17:48:39 +0000 (17:48 +0000)
Signed-off-by: Luka Perkov <luka@openwrt.org>
SVN-Revision: 44303

20 files changed:
target/linux/ar71xx/patches-3.14/206-spi-ath79-make-chipselect-logic-more-flexible.patch
target/linux/ar71xx/patches-3.14/404-mtd-wrt160nl-trx-parser.patch
target/linux/ar71xx/patches-3.14/405-mtd-tp-link-partition-parser.patch
target/linux/ar71xx/patches-3.14/406-mtd-m25p80-allow-to-specify-max-read-size.patch
target/linux/ar71xx/patches-3.14/407-mtd-m25p80-allow-to-pass-probe-types-via-platform-data.patch
target/linux/ar71xx/patches-3.14/412-mtd-m25p80-zero-partition-parser-data.patch
target/linux/ar71xx/patches-3.14/500-MIPS-fw-myloader.patch
target/linux/ar71xx/patches-3.14/521-MIPS-ath79-enable-UART-for-early_serial.patch
target/linux/ar71xx/patches-3.14/525-MIPS-ath79-enable-qca-usb-quirks.patch
target/linux/ar71xx/patches-3.14/606-MIPS-ath79-pb44-fixes.patch
target/linux/ar71xx/patches-3.14/616-MIPS-ath79-ubnt-xw.patch
target/linux/ar71xx/patches-3.14/617-MIPS-ath79-WNR1000v2-support.patch
target/linux/ar71xx/patches-3.14/634-MIPS-ath79-WNR2000V4-support.patch
target/linux/ar71xx/patches-3.14/708-MIPS-ath79-TL-WR841v9-support.patch
target/linux/ar71xx/patches-3.14/722-MIPS-ath79-add-airGateway-support.patch
target/linux/ar71xx/patches-3.14/728-MIPS-ath79-fix-restart.patch
target/linux/ar71xx/patches-3.14/729-MIPS-ath79-add-WZR-450HP2.patch
target/linux/ar71xx/patches-3.14/735-MIPS-ath79-add-support-for-QCA956x-SoC.patch
target/linux/ar71xx/patches-3.14/737-MIPS-ath79-add-TL-WA701NDv2-support.patch
target/linux/ar71xx/patches-3.14/902-unaligned_access_hacks.patch

index 2569809..064382f 100644 (file)
@@ -170,7 +170,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  struct ath79_spi {
        struct spi_bitbang      bitbang;
        u32                     ioc_base;
-@@ -69,6 +71,7 @@ static void ath79_spi_chipselect(struct 
+@@ -69,6 +71,7 @@ static void ath79_spi_chipselect(struct
  {
        struct ath79_spi *sp = ath79_spidev_to_sp(spi);
        int cs_high = (spi->mode & SPI_CS_HIGH) ? is_active : !is_active;
@@ -178,7 +178,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  
        if (is_active) {
                /* set initial clock polarity */
-@@ -80,20 +83,24 @@ static void ath79_spi_chipselect(struct 
+@@ -80,20 +83,24 @@ static void ath79_spi_chipselect(struct
                ath79_spi_wr(sp, AR71XX_SPI_REG_IOC, sp->ioc_base);
        }
  
index 78adf4f..e49d72e 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -189,6 +189,12 @@ config MTD_BCM47XX_PARTS
+@@ -184,6 +184,12 @@ config MTD_BCM47XX_PARTS
          This provides partitions parser for devices based on BCM47xx
          boards.
  
@@ -15,7 +15,7 @@
        depends on ADM5120 || ATHEROS_AR231X || ATHEROS_AR71XX || ATH79
 --- a/drivers/mtd/Makefile
 +++ b/drivers/mtd/Makefile
-@@ -20,6 +20,7 @@ obj-$(CONFIG_MTD_AR7_PARTS)  += ar7part.o
+@@ -16,6 +16,7 @@ obj-$(CONFIG_MTD_AR7_PARTS)  += ar7part.o
  obj-$(CONFIG_MTD_BCM63XX_PARTS)       += bcm63xxpart.o
  obj-$(CONFIG_MTD_BCM47XX_PARTS)       += bcm47xxpart.o
  obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o
index fb60245..0688bb8 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/Kconfig
 +++ b/drivers/mtd/Kconfig
-@@ -191,7 +191,7 @@ config MTD_BCM47XX_PARTS
+@@ -186,7 +186,7 @@ config MTD_BCM47XX_PARTS
  
  config MTD_WRT160NL_PARTS
        tristate "Linksys WRT160NL partitioning support"
@@ -9,7 +9,7 @@
        ---help---
           Linksys WRT160NL partitioning support
  
-@@ -211,6 +211,12 @@ config MTD_MYLOADER_PARTS
+@@ -206,6 +206,12 @@ config MTD_MYLOADER_PARTS
          You will still need the parsing functions to be called by the driver
          for your particular device. It won't happen automatically.
  
@@ -24,7 +24,7 @@
  #
 --- a/drivers/mtd/Makefile
 +++ b/drivers/mtd/Makefile
-@@ -20,6 +20,7 @@ obj-$(CONFIG_MTD_AR7_PARTS)  += ar7part.o
+@@ -16,6 +16,7 @@ obj-$(CONFIG_MTD_AR7_PARTS)  += ar7part.o
  obj-$(CONFIG_MTD_BCM63XX_PARTS)       += bcm63xxpart.o
  obj-$(CONFIG_MTD_BCM47XX_PARTS)       += bcm47xxpart.o
  obj-$(CONFIG_MTD_MYLOADER_PARTS) += myloader.o
index 194b8be..d229b7f 100644 (file)
@@ -43,8 +43,7 @@
 +              size_t readlen;
 +              size_t done;
 +              int ret;
--      spi_sync(flash->spi, &m);
++
 +              ret = wait_till_ready(flash);
 +              if (ret) {
 +                      mutex_unlock(&flash->lock);
 +                      readlen = flash->max_read_len;
 +              else
 +                      readlen = len;
--      *retlen = m.actual_length - m25p_cmdsz(flash) - dummy;
++
 +              t[1].rx_buf = buf + ofs;
 +              t[1].rx_nbits = m25p80_rx_nbits(flash);
 +              t[1].len = readlen;
++
 +              m25p_addr2cmd(flash, from + ofs, flash->command);
 +
 +              spi_sync(flash->spi, &m);
-+
+-      spi_sync(flash->spi, &m);
 +              done = m.actual_length - m25p_cmdsz(flash) -
 +                     dummy;
 +              if (done != readlen) {
 +                      mutex_unlock(&flash->lock);
 +                      return 1;
 +              }
-+
+-      *retlen = m.actual_length - m25p_cmdsz(flash) - dummy;
 +              ofs += done;
 +              len -= done;
 +      }
-+
 +      *retlen = ofs;
        mutex_unlock(&flash->lock);
  
        return 0;
-@@ -1193,6 +1217,12 @@ static int m25p_probe(struct spi_device 
+@@ -1193,6 +1217,12 @@ static int m25p_probe(struct spi_device
                flash->mtd._unlock = m25p80_unlock;
        }
  
index f160466..829d4ce 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/m25p80.c
 +++ b/drivers/mtd/devices/m25p80.c
-@@ -1344,7 +1344,9 @@ static int m25p_probe(struct spi_device 
+@@ -1344,7 +1344,9 @@ static int m25p_probe(struct spi_device
        /* partitions should match sector boundaries; and it may be good to
         * use readonly partitions for writeprotected sectors (BP2..BP0).
         */
index fea21f8..0d5370a 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/m25p80.c
 +++ b/drivers/mtd/devices/m25p80.c
-@@ -1244,6 +1244,7 @@ static int m25p_probe(struct spi_device 
+@@ -1244,6 +1244,7 @@ static int m25p_probe(struct spi_device
        if (info->flags & M25P_NO_ERASE)
                flash->mtd.flags |= MTD_NO_ERASE;
  
index f62363a..6bc1b25 100644 (file)
@@ -10,7 +10,7 @@
  
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -951,6 +951,9 @@ config MIPS_MSC
+@@ -952,6 +952,9 @@ config MIPS_MSC
  config MIPS_NILE4
        bool
  
index a6e84c5..3d6ddfe 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/early_printk.c
 +++ b/arch/mips/ath79/early_printk.c
-@@ -56,6 +56,46 @@ static void prom_putchar_dummy(unsigned 
+@@ -56,6 +56,46 @@ static void prom_putchar_dummy(unsigned
        /* nothing to do */
  }
  
index 696ad33..0e33674 100644 (file)
 -      u32 bootstrap;
 +      void __iomem *phy_reg;
 +      u32 t;
--      bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
--      if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE)
++
 +      phy_reg = ioremap(base, 4);
 +      if (!phy_reg)
-               return;
++              return;
++
 +      t = ioread32(phy_reg);
 +      t &= ~0xff;
 +      t |= 0x58;
 +
 +      iounmap(phy_reg);
 +}
-+
+-      bootstrap = ath79_reset_rr(AR934X_RESET_REG_BOOTSTRAP);
+-      if (bootstrap & AR934X_BOOTSTRAP_USB_MODE_DEVICE)
 +static void ar934x_usb_reset_notifier(struct platform_device *pdev)
 +{
 +      if (pdev->id != -1)
-+              return;
-+
+               return;
 +      enable_tx_tx_idp_violation_fix(0x18116c94);
 +      dev_info(&pdev->dev, "TX-TX IDP fix enabled\n");
 +}
index b38b461..f9ec775 100644 (file)
@@ -50,7 +50,7 @@
  #define PB44_GPIO_SW_RESET    (PB44_GPIO_EXP_BASE + 6)
  #define PB44_GPIO_SW_JUMP     (PB44_GPIO_EXP_BASE + 8)
  #define PB44_GPIO_LED_JUMP1   (PB44_GPIO_EXP_BASE + 9)
-@@ -92,21 +117,66 @@ static struct ath79_spi_controller_data 
+@@ -92,21 +117,66 @@ static struct ath79_spi_controller_data
        .cs_line = 0,
  };
  
index 8e16697..1a983ef 100644 (file)
 +           ubnt_loco_m_xw_setup);
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -122,9 +122,11 @@ enum ath79_mach_type {
-       ATH79_MACH_TL_WR941ND,          /* TP-LINK TL-WR941ND */
+@@ -123,9 +123,11 @@ enum ath79_mach_type {
+       ATH79_MACH_TL_WR941ND_V5,       /* TP-LINK TL-WR941ND v5 */
        ATH79_MACH_UBNT_AIRROUTER,      /* Ubiquiti AirRouter */
        ATH79_MACH_UBNT_BULLET_M,       /* Ubiquiti Bullet M */
 +      ATH79_MACH_UBNT_LOCO_M_XW,      /* Ubiquiti Loco M XW */
index 2f4aabe..61669e2 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/Kconfig
 +++ b/arch/mips/ath79/Kconfig
-@@ -567,7 +567,7 @@ config ATH79_MACH_WNR2000
+@@ -452,7 +452,7 @@ config ATH79_MACH_WNR2000
        select ATH79_DEV_WMAC
  
  config ATH79_MACH_WNR2000_V3
@@ -11,7 +11,7 @@
        select ATH79_DEV_ETH
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -173,6 +173,7 @@ enum ath79_mach_type {
+@@ -149,6 +149,7 @@ enum ath79_mach_type {
        ATH79_MACH_WNR2000_V3,          /* NETGEAR WNR2000 v3 */
        ATH79_MACH_WNR2200,             /* NETGEAR WNR2200 */
        ATH79_MACH_WNR612_V2,           /* NETGEAR WNR612 v2 */
index 76c326e..914fe0b 100644 (file)
  obj-$(CONFIG_ATH79_MACH_WPE72)                += mach-wpe72.o
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -145,6 +145,7 @@ enum ath79_mach_type {
+@@ -147,6 +147,7 @@ enum ath79_mach_type {
        ATH79_MACH_WNDR4300,            /* NETGEAR WNDR4300 */
        ATH79_MACH_WNR2000,             /* NETGEAR WNR2000 */
        ATH79_MACH_WNR2000_V3,          /* NETGEAR WNR2000 v3 */
 +      ATH79_MACH_WNR2000_V4,          /* NETGEAR WNR2000 v4 */
        ATH79_MACH_WNR2200,             /* NETGEAR WNR2200 */
        ATH79_MACH_WNR612_V2,           /* NETGEAR WNR612 v2 */
-       ATH79_MACH_WP543,               /* Compex WP543 */
+       ATH79_MACH_WNR1000_V2,          /* NETGEAR WNR1000 v2 */
index ffb1369..d7ef803 100644 (file)
@@ -35,4 +35,4 @@
 +      ATH79_MACH_TL_WR841N_V9,        /* TP-LINK TL-WR841N/ND v9 */
        ATH79_MACH_TL_WR842N_V2,        /* TP-LINK TL-WR842N/ND v2 */
        ATH79_MACH_TL_WR941ND,          /* TP-LINK TL-WR941ND */
-       ATH79_MACH_UBNT_AIRROUTER,      /* Ubiquiti AirRouter */
+       ATH79_MACH_TL_WR941ND_V5,       /* TP-LINK TL-WR941ND v5 */
index 6b17c02..ca59fa9 100644 (file)
@@ -12,7 +12,7 @@
  #include "dev-ap9x-pci.h"
  #include "dev-eth.h"
  #include "dev-gpio-buttons.h"
-@@ -407,3 +409,65 @@ MIPS_MACHINE(ATH79_MACH_UBNT_NANO_M_XW, 
+@@ -452,3 +454,65 @@ MIPS_MACHINE(ATH79_MACH_UBNT_NANO_M_XW,
  
  MIPS_MACHINE(ATH79_MACH_UBNT_LOCO_M_XW, "UBNT-LOCO-XW", "Ubiquiti Loco M XW",
             ubnt_loco_m_xw_setup);
@@ -80,9 +80,9 @@
 +
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -144,6 +144,7 @@ enum ath79_mach_type {
-       ATH79_MACH_TL_WR842N_V2,        /* TP-LINK TL-WR842N/ND v2 */
+@@ -145,6 +145,7 @@ enum ath79_mach_type {
        ATH79_MACH_TL_WR941ND,          /* TP-LINK TL-WR941ND */
+       ATH79_MACH_TL_WR941ND_V5,       /* TP-LINK TL-WR941ND v5 */
        ATH79_MACH_TUBE2H,              /* Alfa Network Tube2H */
 +      ATH79_MACH_UBNT_AIRGW,          /* Ubiquiti AirGateway */
        ATH79_MACH_UBNT_AIRROUTER,      /* Ubiquiti AirRouter */
index b8fc078..612078c 100644 (file)
@@ -10,7 +10,7 @@
                if (cpu_wait)
 --- a/arch/mips/include/asm/mach-ath79/ath79.h
 +++ b/arch/mips/include/asm/mach-ath79/ath79.h
-@@ -144,6 +144,7 @@ static inline u32 ath79_pll_rr(unsigned 
+@@ -144,6 +144,7 @@ static inline u32 ath79_pll_rr(unsigned
  static inline void ath79_reset_wr(unsigned reg, u32 val)
  {
        __raw_writel(val, ath79_reset_base + reg);
index f541b80..695497d 100644 (file)
@@ -1,6 +1,6 @@
 --- a/arch/mips/ath79/machtypes.h
 +++ b/arch/mips/ath79/machtypes.h
-@@ -185,6 +185,7 @@ enum ath79_mach_type {
+@@ -188,6 +188,7 @@ enum ath79_mach_type {
        ATH79_MACH_WZR_HP_G300NH,       /* Buffalo WZR-HP-G300NH */
        ATH79_MACH_WZR_HP_G300NH2,      /* Buffalo WZR-HP-G300NH2 */
        ATH79_MACH_WZR_HP_G450H,        /* Buffalo WZR-HP-G450H */
index 78265f3..b8e7458 100644 (file)
                        pdata->phy_if_mode = PHY_INTERFACE_MODE_GMII;
                        break;
  
-@@ -992,6 +1002,8 @@ void __init ath79_register_eth(unsigned 
+@@ -992,6 +1002,8 @@ void __init ath79_register_eth(unsigned
                break;
  
        case ATH79_SOC_QCA9533:
                if (id == 0) {
                        pdata->reset_bit = AR933X_RESET_GE0_MAC |
                                           AR933X_RESET_GE0_MDIO;
-@@ -1097,6 +1109,8 @@ void __init ath79_register_eth(unsigned 
+@@ -1097,6 +1109,8 @@ void __init ath79_register_eth(unsigned
                case ATH79_SOC_AR9330:
                case ATH79_SOC_AR9331:
                case ATH79_SOC_QCA9533:
  int __init pcibios_map_irq(const struct pci_dev *dev, uint8_t slot, uint8_t pin)
  {
        int irq = -1;
-@@ -86,6 +101,9 @@ int __init pcibios_map_irq(const struct 
+@@ -86,6 +101,9 @@ int __init pcibios_map_irq(const struct
                } else if (soc_is_qca955x()) {
                        ath79_pci_irq_map = qca955x_pci_irq_map;
                        ath79_pci_nr_irqs = ARRAY_SIZE(qca955x_pci_irq_map);
index 0796c05..b40ec9e 100644 (file)
@@ -1,7 +1,5 @@
-Index: linux-3.14.28/arch/mips/ath79/Kconfig
-===================================================================
---- linux-3.14.28.orig/arch/mips/ath79/Kconfig
-+++ linux-3.14.28/arch/mips/ath79/Kconfig
+--- a/arch/mips/ath79/Kconfig
++++ b/arch/mips/ath79/Kconfig
 @@ -803,6 +803,16 @@ config ATH79_MACH_TL_WAX50RE
        select ATH79_DEV_M25P80
        select ATH79_DEV_WMAC
@@ -19,10 +17,8 @@ Index: linux-3.14.28/arch/mips/ath79/Kconfig
  config ATH79_MACH_TL_WA830RE_V2
        bool "TP-LINK TL-WA830RE v2 support"
        select SOC_AR934X
-Index: linux-3.14.28/arch/mips/ath79/Makefile
-===================================================================
---- linux-3.14.28.orig/arch/mips/ath79/Makefile
-+++ linux-3.14.28/arch/mips/ath79/Makefile
+--- a/arch/mips/ath79/Makefile
++++ b/arch/mips/ath79/Makefile
 @@ -109,6 +109,7 @@ obj-$(CONFIG_ATH79_MACH_TL_MR13U)  += mac
  obj-$(CONFIG_ATH79_MACH_TL_MR3020)    += mach-tl-mr3020.o
  obj-$(CONFIG_ATH79_MACH_TL_MR3X20)    += mach-tl-mr3x20.o
@@ -31,10 +27,8 @@ Index: linux-3.14.28/arch/mips/ath79/Makefile
  obj-$(CONFIG_ATH79_MACH_TL_WA830RE_V2)        += mach-tl-wa830re-v2.o
  obj-$(CONFIG_ATH79_MACH_TL_WA901ND)   += mach-tl-wa901nd.o
  obj-$(CONFIG_ATH79_MACH_TL_WA901ND_V2)        += mach-tl-wa901nd-v2.o
-Index: linux-3.14.28/arch/mips/ath79/machtypes.h
-===================================================================
---- linux-3.14.28.orig/arch/mips/ath79/machtypes.h
-+++ linux-3.14.28/arch/mips/ath79/machtypes.h
+--- a/arch/mips/ath79/machtypes.h
++++ b/arch/mips/ath79/machtypes.h
 @@ -126,6 +126,7 @@ enum ath79_mach_type {
        ATH79_MACH_TL_MR3220_V2,        /* TP-LINK TL-MR3220 v2 */
        ATH79_MACH_TL_MR3420,           /* TP-LINK TL-MR3420 */
index c4d0005..b00a629 100644 (file)
  #include <asm/uaccess.h>
  
  #include <linux/proc_fs.h>
-@@ -771,10 +772,10 @@ static void tcp_v6_send_response(struct 
+@@ -771,10 +772,10 @@ static void tcp_v6_send_response(struct
        topt = (__be32 *)(t1 + 1);
  
        if (tsecr) {
  #include <linux/netdevice.h>
 --- a/include/net/inet_ecn.h
 +++ b/include/net/inet_ecn.h
-@@ -115,13 +115,13 @@ static inline int IP6_ECN_set_ce(struct 
+@@ -115,13 +115,13 @@ static inline int IP6_ECN_set_ce(struct
  {
        if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
                return 0;
        ptr = ip6hoff + sizeof(struct ipv6hdr);
 --- a/net/xfrm/xfrm_input.c
 +++ b/net/xfrm/xfrm_input.c
-@@ -77,8 +77,8 @@ int xfrm_parse_spi(struct sk_buff *skb, 
+@@ -77,8 +77,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
        if (!pskb_may_pull(skb, hlen))
                return -EINVAL;