ar71xx: refresh patches

Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 44303
This commit is contained in:
Luka Perkov 2015-02-07 17:48:39 +00:00
parent d81a8ad523
commit 0bbcdb21da
20 changed files with 53 additions and 59 deletions

View 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);
}

View 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

View 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

View 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);
@ -56,32 +55,33 @@
+ 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;
}

View 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).
*/

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

View 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

View 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 */
}

View file

@ -29,13 +29,11 @@
- 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;
@ -43,12 +41,14 @@
+
+ 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");
+}

View 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,
};

View file

@ -140,8 +140,8 @@
+ 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 */

View 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 */

View file

@ -29,11 +29,11 @@
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 */

View 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 */

View 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 */

View 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);

View 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 */

View file

@ -189,7 +189,7 @@
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:
@ -198,7 +198,7 @@
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:
@ -491,7 +491,7 @@
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);

View 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 */

View file

@ -210,7 +210,7 @@
#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) {
@ -637,7 +637,7 @@
#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;
@ -836,7 +836,7 @@
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;