ar71xx: refresh patches
Signed-off-by: Luka Perkov <luka@openwrt.org> SVN-Revision: 44303
This commit is contained in:
parent
d81a8ad523
commit
0bbcdb21da
20 changed files with 53 additions and 59 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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).
|
||||
*/
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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 */
|
||||
}
|
||||
|
||||
|
|
|
@ -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");
|
||||
+}
|
||||
|
|
|
@ -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,
|
||||
};
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue