--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -1141,8 +1141,8 @@ static int __xipram do_write_oneword(str
+@@ -1169,8 +1169,8 @@ static int __xipram do_write_oneword(str
break;
}
/* Latency issues. Drop the lock, wait a while and retry */
UDELAY(map, chip, adr, 1);
-@@ -1158,6 +1158,8 @@ static int __xipram do_write_oneword(str
+@@ -1186,6 +1186,8 @@ static int __xipram do_write_oneword(str
ret = -EIO;
}
xip_enable(map, chip, adr);
op_done:
chip->state = FL_READY;
-@@ -1504,7 +1506,6 @@ static int cfi_amdstd_write_buffers(stru
+@@ -1532,7 +1534,6 @@ static int cfi_amdstd_write_buffers(stru
return 0;
}
/*
* Handle devices with one erase region, that only implement
* the chip erase command.
-@@ -1568,8 +1569,8 @@ static int __xipram do_erase_chip(struct
+@@ -1596,8 +1597,8 @@ static int __xipram do_erase_chip(struct
chip->erase_suspended = 0;
}
if (time_after(jiffies, timeo)) {
printk(KERN_WARNING "MTD %s(): software timeout\n",
-@@ -1589,6 +1590,7 @@ static int __xipram do_erase_chip(struct
+@@ -1617,6 +1618,7 @@ static int __xipram do_erase_chip(struct
ret = -EIO;
}
chip->state = FL_READY;
xip_enable(map, chip, adr);
put_chip(map, chip, adr);
-@@ -1656,9 +1658,9 @@ static int __xipram do_erase_oneblock(st
+@@ -1684,9 +1686,9 @@ static int __xipram do_erase_oneblock(st
chip->erase_suspended = 0;
}
}
if (time_after(jiffies, timeo)) {
-@@ -1680,6 +1682,7 @@ static int __xipram do_erase_oneblock(st
+@@ -1708,6 +1710,7 @@ static int __xipram do_erase_oneblock(st
ret = -EIO;
}
#define MAX_WORD_RETRIES 3
-@@ -55,7 +55,9 @@
+@@ -54,7 +54,9 @@
static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
static int cfi_amdstd_erase_chip(struct mtd_info *, struct erase_info *);
static int cfi_amdstd_erase_varsize(struct mtd_info *, struct erase_info *);
static void cfi_amdstd_sync (struct mtd_info *);
-@@ -190,6 +192,7 @@ static void fixup_amd_bootblock(struct m
+@@ -189,6 +191,7 @@ static void fixup_amd_bootblock(struct m
}
#endif
static void fixup_use_write_buffers(struct mtd_info *mtd, void *param)
{
struct map_info *map = mtd->priv;
-@@ -199,6 +202,7 @@ static void fixup_use_write_buffers(stru
+@@ -198,6 +201,7 @@ static void fixup_use_write_buffers(stru
mtd->write = cfi_amdstd_write_buffers;
}
}
/* Atmel chips don't use the same PRI format as AMD chips */
static void fixup_convert_atmel_pri(struct mtd_info *mtd, void *param)
-@@ -1315,6 +1319,7 @@ static int cfi_amdstd_write_words(struct
+@@ -1343,6 +1347,7 @@ static int cfi_amdstd_write_words(struct
/*
* FIXME: interleaved mode not tested, and probably not supported!
*/
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
unsigned long adr, const u_char *buf,
int len)
-@@ -1426,7 +1431,6 @@ static int __xipram do_write_buffer(stru
+@@ -1454,7 +1459,6 @@ static int __xipram do_write_buffer(stru
return ret;
}
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
size_t *retlen, const u_char *buf)
{
-@@ -1505,6 +1509,7 @@ static int cfi_amdstd_write_buffers(stru
+@@ -1533,6 +1537,7 @@ static int cfi_amdstd_write_buffers(stru
return 0;
}
depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx)
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
-@@ -1158,6 +1158,11 @@ MODULE_LICENSE ("GPL");
+@@ -1159,6 +1159,11 @@ MODULE_LICENSE ("GPL");
#define PLATFORM_DRIVER ehci_atmel_driver
#endif
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -1130,8 +1130,8 @@ static int __xipram do_write_oneword(str
+@@ -1158,8 +1158,8 @@ static int __xipram do_write_oneword(str
break;
}
/* Latency issues. Drop the lock, wait a while and retry */
UDELAY(map, chip, adr, 1);
-@@ -1147,6 +1147,8 @@ static int __xipram do_write_oneword(str
+@@ -1175,6 +1175,8 @@ static int __xipram do_write_oneword(str
ret = -EIO;
}
xip_enable(map, chip, adr);
op_done:
chip->state = FL_READY;
-@@ -1493,7 +1495,6 @@ static int cfi_amdstd_write_buffers(stru
+@@ -1521,7 +1523,6 @@ static int cfi_amdstd_write_buffers(stru
return 0;
}
/*
* Handle devices with one erase region, that only implement
* the chip erase command.
-@@ -1557,8 +1558,8 @@ static int __xipram do_erase_chip(struct
+@@ -1585,8 +1586,8 @@ static int __xipram do_erase_chip(struct
chip->erase_suspended = 0;
}
if (time_after(jiffies, timeo)) {
printk(KERN_WARNING "MTD %s(): software timeout\n",
-@@ -1578,6 +1579,7 @@ static int __xipram do_erase_chip(struct
+@@ -1606,6 +1607,7 @@ static int __xipram do_erase_chip(struct
ret = -EIO;
}
chip->state = FL_READY;
xip_enable(map, chip, adr);
put_chip(map, chip, adr);
-@@ -1645,9 +1647,9 @@ static int __xipram do_erase_oneblock(st
+@@ -1673,9 +1675,9 @@ static int __xipram do_erase_oneblock(st
chip->erase_suspended = 0;
}
}
if (time_after(jiffies, timeo)) {
-@@ -1669,6 +1671,7 @@ static int __xipram do_erase_oneblock(st
+@@ -1697,6 +1699,7 @@ static int __xipram do_erase_oneblock(st
ret = -EIO;
}
/* makes sure the async qh will become idle */
--- a/drivers/usb/host/ehci.h
+++ b/drivers/usb/host/ehci.h
-@@ -129,6 +129,7 @@ struct ehci_hcd { /* one per controlle
+@@ -130,6 +130,7 @@ struct ehci_hcd { /* one per controlle
unsigned has_amcc_usb23:1;
unsigned need_io_watchdog:1;
unsigned broken_periodic:1;
#define MAX_WORD_RETRIES 3
-@@ -55,7 +55,9 @@
+@@ -54,7 +54,9 @@
static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
static int cfi_amdstd_erase_chip(struct mtd_info *, struct erase_info *);
static int cfi_amdstd_erase_varsize(struct mtd_info *, struct erase_info *);
static void cfi_amdstd_sync (struct mtd_info *);
-@@ -190,6 +192,7 @@ static void fixup_amd_bootblock(struct m
+@@ -189,6 +191,7 @@ static void fixup_amd_bootblock(struct m
}
#endif
static void fixup_use_write_buffers(struct mtd_info *mtd, void *param)
{
struct map_info *map = mtd->priv;
-@@ -199,6 +202,7 @@ static void fixup_use_write_buffers(stru
+@@ -198,6 +201,7 @@ static void fixup_use_write_buffers(stru
mtd->write = cfi_amdstd_write_buffers;
}
}
/* Atmel chips don't use the same PRI format as AMD chips */
static void fixup_convert_atmel_pri(struct mtd_info *mtd, void *param)
-@@ -1304,6 +1308,7 @@ static int cfi_amdstd_write_words(struct
+@@ -1332,6 +1336,7 @@ static int cfi_amdstd_write_words(struct
/*
* FIXME: interleaved mode not tested, and probably not supported!
*/
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
unsigned long adr, const u_char *buf,
int len)
-@@ -1415,7 +1420,6 @@ static int __xipram do_write_buffer(stru
+@@ -1443,7 +1448,6 @@ static int __xipram do_write_buffer(stru
return ret;
}
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
size_t *retlen, const u_char *buf)
{
-@@ -1494,6 +1498,7 @@ static int cfi_amdstd_write_buffers(stru
+@@ -1522,6 +1526,7 @@ static int cfi_amdstd_write_buffers(stru
return 0;
}
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -168,6 +168,13 @@ ifeq (,$(findstring march=octeon, $(cfla
+@@ -181,6 +181,13 @@ ifeq (,$(findstring march=octeon, $(cfla
cflags-$(CONFIG_CPU_CAVIUM_OCTEON) += -Wa,-march=octeon
endif
+ Support for Atheros AR71xx based boards.
+
config BCM47XX
- bool "BCM47XX based boards"
+ bool "Broadcom BCM47XX based boards"
select CEVT_R4K
-@@ -682,6 +699,7 @@ config CAVIUM_OCTEON_REFERENCE_BOARD
+@@ -684,6 +701,7 @@ config CAVIUM_OCTEON_REFERENCE_BOARD
endchoice
source "arch/mips/alchemy/Kconfig"
depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx)
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
-@@ -1158,6 +1158,11 @@ MODULE_LICENSE ("GPL");
+@@ -1159,6 +1159,11 @@ MODULE_LICENSE ("GPL");
#define PLATFORM_DRIVER ehci_atmel_driver
#endif
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -114,6 +114,11 @@ config RTL8306_PHY
+@@ -119,6 +119,11 @@ config RTL8306_PHY
tristate "Driver for Realtek RTL8306S switches"
select SWCONFIG
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -1130,8 +1130,8 @@ static int __xipram do_write_oneword(str
+@@ -1158,8 +1158,8 @@ static int __xipram do_write_oneword(str
break;
}
/* Latency issues. Drop the lock, wait a while and retry */
UDELAY(map, chip, adr, 1);
-@@ -1147,6 +1147,8 @@ static int __xipram do_write_oneword(str
+@@ -1175,6 +1175,8 @@ static int __xipram do_write_oneword(str
ret = -EIO;
}
xip_enable(map, chip, adr);
op_done:
chip->state = FL_READY;
-@@ -1493,7 +1495,6 @@ static int cfi_amdstd_write_buffers(stru
+@@ -1521,7 +1523,6 @@ static int cfi_amdstd_write_buffers(stru
return 0;
}
/*
* Handle devices with one erase region, that only implement
* the chip erase command.
-@@ -1557,8 +1558,8 @@ static int __xipram do_erase_chip(struct
+@@ -1585,8 +1586,8 @@ static int __xipram do_erase_chip(struct
chip->erase_suspended = 0;
}
if (time_after(jiffies, timeo)) {
printk(KERN_WARNING "MTD %s(): software timeout\n",
-@@ -1578,6 +1579,7 @@ static int __xipram do_erase_chip(struct
+@@ -1606,6 +1607,7 @@ static int __xipram do_erase_chip(struct
ret = -EIO;
}
chip->state = FL_READY;
xip_enable(map, chip, adr);
put_chip(map, chip, adr);
-@@ -1645,9 +1647,9 @@ static int __xipram do_erase_oneblock(st
+@@ -1673,9 +1675,9 @@ static int __xipram do_erase_oneblock(st
chip->erase_suspended = 0;
}
}
if (time_after(jiffies, timeo)) {
-@@ -1669,6 +1671,7 @@ static int __xipram do_erase_oneblock(st
+@@ -1697,6 +1699,7 @@ static int __xipram do_erase_oneblock(st
ret = -EIO;
}
/* makes sure the async qh will become idle */
--- a/drivers/usb/host/ehci.h
+++ b/drivers/usb/host/ehci.h
-@@ -129,6 +129,7 @@ struct ehci_hcd { /* one per controlle
- unsigned has_amcc_usb23:1;
+@@ -131,6 +131,7 @@ struct ehci_hcd { /* one per controlle
unsigned need_io_watchdog:1;
unsigned broken_periodic:1;
+ unsigned fs_i_thresh:1; /* Intel iso scheduling */
+ unsigned has_synopsys_hc_bug:1; /* Synopsys HC */
/* required for usb32 quirk */
#define MAX_WORD_RETRIES 3
-@@ -55,7 +55,9 @@
+@@ -54,7 +54,9 @@
static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
static int cfi_amdstd_erase_chip(struct mtd_info *, struct erase_info *);
static int cfi_amdstd_erase_varsize(struct mtd_info *, struct erase_info *);
static void cfi_amdstd_sync (struct mtd_info *);
-@@ -190,6 +192,7 @@ static void fixup_amd_bootblock(struct m
+@@ -189,6 +191,7 @@ static void fixup_amd_bootblock(struct m
}
#endif
static void fixup_use_write_buffers(struct mtd_info *mtd, void *param)
{
struct map_info *map = mtd->priv;
-@@ -199,6 +202,7 @@ static void fixup_use_write_buffers(stru
+@@ -198,6 +201,7 @@ static void fixup_use_write_buffers(stru
mtd->write = cfi_amdstd_write_buffers;
}
}
/* Atmel chips don't use the same PRI format as AMD chips */
static void fixup_convert_atmel_pri(struct mtd_info *mtd, void *param)
-@@ -1304,6 +1308,7 @@ static int cfi_amdstd_write_words(struct
+@@ -1332,6 +1336,7 @@ static int cfi_amdstd_write_words(struct
/*
* FIXME: interleaved mode not tested, and probably not supported!
*/
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
unsigned long adr, const u_char *buf,
int len)
-@@ -1415,7 +1420,6 @@ static int __xipram do_write_buffer(stru
+@@ -1443,7 +1448,6 @@ static int __xipram do_write_buffer(stru
return ret;
}
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
size_t *retlen, const u_char *buf)
{
-@@ -1494,6 +1498,7 @@ static int cfi_amdstd_write_buffers(stru
+@@ -1522,6 +1526,7 @@ static int cfi_amdstd_write_buffers(stru
return 0;
}
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -190,6 +190,7 @@ endif
+@@ -203,6 +203,7 @@ endif
#
libs-$(CONFIG_ARC) += arch/mips/fw/arc/
libs-$(CONFIG_CFE) += arch/mips/fw/cfe/
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -877,6 +877,9 @@ config MIPS_NILE4
+@@ -879,6 +879,9 @@ config MIPS_NILE4
config MIPS_DISABLE_OBSOLETE_IDE
bool
extern void check_wait(void);
extern asmlinkage void r4k_wait(void);
-@@ -1501,6 +1502,8 @@ void __cpuinit per_cpu_trap_init(void)
+@@ -1506,6 +1507,8 @@ void __cpuinit per_cpu_trap_init(void)
if (cpu_has_mips_r2) {
cp0_compare_irq_shift = CAUSEB_TI - CAUSEB_IP;
cp0_compare_irq = (read_c0_intctl() >> INTCTLB_IPTI) & 7;
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -168,6 +168,13 @@ ifeq (,$(findstring march=octeon, $(cfla
+@@ -181,6 +181,13 @@ ifeq (,$(findstring march=octeon, $(cfla
cflags-$(CONFIG_CPU_CAVIUM_OCTEON) += -Wa,-march=octeon
endif
+ Support for Atheros AR71xx based boards.
+
config BCM47XX
- bool "BCM47XX based boards"
+ bool "Broadcom BCM47XX based boards"
select CEVT_R4K
-@@ -682,6 +699,7 @@ config CAVIUM_OCTEON_REFERENCE_BOARD
+@@ -684,6 +701,7 @@ config CAVIUM_OCTEON_REFERENCE_BOARD
endchoice
source "arch/mips/alchemy/Kconfig"
config USB_EHCI_FSL
bool "Support for Freescale on-chip EHCI USB controller"
depends on USB_EHCI_HCD && FSL_SOC
-@@ -207,6 +214,13 @@ config USB_OHCI_HCD
- To compile this driver as a module, choose M here: the
- module will be called ohci-hcd.
+@@ -222,6 +229,13 @@ config USB_OHCI_HCD_OMAP3
+ Enables support for the on-chip OHCI controller on
+ OMAP3 and later chips.
+config USB_OHCI_AR71XX
+ bool "USB OHCI support for Atheros AR71xx"
+#endif
+
#if !defined(PCI_DRIVER) && !defined(PLATFORM_DRIVER) && \
- !defined(PS3_SYSTEM_BUS_DRIVER) && !defined(OF_PLATFORM_DRIVER)
- #error "missing bus glue for ehci-hcd"
+ !defined(PS3_SYSTEM_BUS_DRIVER) && !defined(OF_PLATFORM_DRIVER) && \
+ !defined(XILINX_OF_PLATFORM_DRIVER)
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
-@@ -1090,6 +1090,11 @@ MODULE_LICENSE ("GPL");
+@@ -1095,6 +1095,11 @@ MODULE_LICENSE ("GPL");
#define TMIO_OHCI_DRIVER ohci_hcd_tmio_driver
#endif
+
#if !defined(PCI_DRIVER) && \
!defined(PLATFORM_DRIVER) && \
- !defined(OF_PLATFORM_DRIVER) && \
+ !defined(OMAP1_PLATFORM_DRIVER) && \
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
-@@ -2161,6 +2161,8 @@ config ACENIC_OMIT_TIGON_I
+@@ -2032,6 +2032,8 @@ config ACENIC_OMIT_TIGON_I
The safe and default value for this is N.
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
-@@ -857,6 +857,13 @@ config TXX9_WDT
+@@ -875,6 +875,13 @@ config TXX9_WDT
help
Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
# POWERPC Architecture
--- a/drivers/watchdog/Makefile
+++ b/drivers/watchdog/Makefile
-@@ -113,6 +113,7 @@ obj-$(CONFIG_PNX833X_WDT) += pnx833x_wdt
+@@ -114,6 +114,7 @@ obj-$(CONFIG_PNX833X_WDT) += pnx833x_wdt
obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -114,6 +114,11 @@ config RTL8306_PHY
+@@ -119,6 +119,11 @@ config RTL8306_PHY
tristate "Driver for Realtek RTL8306S switches"
select SWCONFIG
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -1130,8 +1130,8 @@ static int __xipram do_write_oneword(str
+@@ -1217,8 +1217,8 @@ static int __xipram do_write_oneword(str
break;
}
/* Latency issues. Drop the lock, wait a while and retry */
UDELAY(map, chip, adr, 1);
-@@ -1147,6 +1147,8 @@ static int __xipram do_write_oneword(str
+@@ -1234,6 +1234,8 @@ static int __xipram do_write_oneword(str
ret = -EIO;
}
xip_enable(map, chip, adr);
op_done:
chip->state = FL_READY;
-@@ -1493,7 +1495,6 @@ static int cfi_amdstd_write_buffers(stru
+@@ -1580,7 +1582,6 @@ static int cfi_amdstd_write_buffers(stru
return 0;
}
/*
* Handle devices with one erase region, that only implement
* the chip erase command.
-@@ -1557,8 +1558,8 @@ static int __xipram do_erase_chip(struct
+@@ -1644,8 +1645,8 @@ static int __xipram do_erase_chip(struct
chip->erase_suspended = 0;
}
if (time_after(jiffies, timeo)) {
printk(KERN_WARNING "MTD %s(): software timeout\n",
-@@ -1578,6 +1579,7 @@ static int __xipram do_erase_chip(struct
+@@ -1665,6 +1666,7 @@ static int __xipram do_erase_chip(struct
ret = -EIO;
}
chip->state = FL_READY;
xip_enable(map, chip, adr);
put_chip(map, chip, adr);
-@@ -1645,9 +1647,9 @@ static int __xipram do_erase_oneblock(st
+@@ -1732,9 +1734,9 @@ static int __xipram do_erase_oneblock(st
chip->erase_suspended = 0;
}
}
if (time_after(jiffies, timeo)) {
-@@ -1669,6 +1671,7 @@ static int __xipram do_erase_oneblock(st
+@@ -1756,6 +1758,7 @@ static int __xipram do_erase_oneblock(st
ret = -EIO;
}
+ op_done:
chip->state = FL_READY;
put_chip(map, chip, adr);
- spin_unlock(chip->mutex);
+ mutex_unlock(&chip->mutex);
/* makes sure the async qh will become idle */
--- a/drivers/usb/host/ehci.h
+++ b/drivers/usb/host/ehci.h
-@@ -129,6 +129,7 @@ struct ehci_hcd { /* one per controlle
- unsigned has_amcc_usb23:1;
+@@ -131,6 +131,7 @@ struct ehci_hcd { /* one per controlle
unsigned need_io_watchdog:1;
unsigned broken_periodic:1;
+ unsigned fs_i_thresh:1; /* Intel iso scheduling */
+ unsigned has_synopsys_hc_bug:1; /* Synopsys HC */
/* required for usb32 quirk */
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -39,7 +39,7 @@
+@@ -40,7 +40,7 @@
#include <linux/mtd/xip.h>
#define AMD_BOOTLOC_BUG
#define MAX_WORD_RETRIES 3
-@@ -55,7 +55,9 @@
+@@ -51,7 +51,9 @@
static int cfi_amdstd_read (struct mtd_info *, loff_t, size_t, size_t *, u_char *);
static int cfi_amdstd_write_words(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
static int cfi_amdstd_erase_chip(struct mtd_info *, struct erase_info *);
static int cfi_amdstd_erase_varsize(struct mtd_info *, struct erase_info *);
static void cfi_amdstd_sync (struct mtd_info *);
-@@ -190,6 +192,7 @@ static void fixup_amd_bootblock(struct m
+@@ -187,6 +189,7 @@ static void fixup_amd_bootblock(struct m
}
#endif
static void fixup_use_write_buffers(struct mtd_info *mtd, void *param)
{
struct map_info *map = mtd->priv;
-@@ -199,6 +202,7 @@ static void fixup_use_write_buffers(stru
+@@ -196,6 +199,7 @@ static void fixup_use_write_buffers(stru
mtd->write = cfi_amdstd_write_buffers;
}
}
/* Atmel chips don't use the same PRI format as AMD chips */
static void fixup_convert_atmel_pri(struct mtd_info *mtd, void *param)
-@@ -1304,6 +1308,7 @@ static int cfi_amdstd_write_words(struct
+@@ -1391,6 +1395,7 @@ static int cfi_amdstd_write_words(struct
/*
* FIXME: interleaved mode not tested, and probably not supported!
*/
static int __xipram do_write_buffer(struct map_info *map, struct flchip *chip,
unsigned long adr, const u_char *buf,
int len)
-@@ -1415,7 +1420,6 @@ static int __xipram do_write_buffer(stru
+@@ -1502,7 +1507,6 @@ static int __xipram do_write_buffer(stru
return ret;
}
static int cfi_amdstd_write_buffers(struct mtd_info *mtd, loff_t to, size_t len,
size_t *retlen, const u_char *buf)
{
-@@ -1494,6 +1498,7 @@ static int cfi_amdstd_write_buffers(stru
+@@ -1581,6 +1585,7 @@ static int cfi_amdstd_write_buffers(stru
return 0;
}
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
-@@ -488,4 +488,8 @@ config MTD_NAND_W90P910
+@@ -526,4 +526,8 @@ config MTD_NAND_NUC900
This enables the driver for the NAND Flash on evaluation board based
- on w90p910.
+ on w90p910 / NUC9xx.
+config MTD_NAND_RB4XX
+ tristate "NAND flash driver for RouterBoard 4xx series"
endif # MTD_NAND
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
-@@ -30,6 +30,7 @@ obj-$(CONFIG_MTD_NAND_CM_X270) += cmx27
+@@ -32,6 +32,7 @@ obj-$(CONFIG_MTD_NAND_CM_X270) += cmx27
obj-$(CONFIG_MTD_NAND_PXA3xx) += pxa3xx_nand.o
obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nand.o
obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -386,6 +386,11 @@ config SPI_TLE62X0
+@@ -403,6 +403,11 @@ config SPI_TLE62X0
sysfs interface, with each line presented as a kind of GPIO
exposing both switch control and diagnostic feedback.
#
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
-@@ -57,6 +57,7 @@ spi_s3c24xx_hw-$(CONFIG_SPI_S3C24XX_FIQ)
+@@ -59,6 +59,7 @@ spi_s3c24xx_hw-$(CONFIG_SPI_S3C24XX_FIQ)
# SPI protocol drivers (device/link on bus)
obj-$(CONFIG_SPI_SPIDEV) += spidev.o
depends on (ARCH_AT91 || AVR32)
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
-@@ -27,6 +27,7 @@ obj-$(CONFIG_SPI_GPIO) += spi_gpio.o
+@@ -28,6 +28,7 @@ obj-$(CONFIG_SPI_GPIO) += spi_gpio.o
obj-$(CONFIG_SPI_GPIO_OLD) += spi_gpio_old.o
obj-$(CONFIG_SPI_IMX) += spi_imx.o
obj-$(CONFIG_SPI_LM70_LLP) += spi_lm70llp.o
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -294,6 +294,13 @@ config LEDS_TRIGGERS
+@@ -311,6 +311,13 @@ config LEDS_TRIGGERS
if LEDS_TRIGGERS
config LEDS_TRIGGER_TIMER
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -30,6 +30,7 @@ obj-$(CONFIG_LEDS_DA903X) += leds-da903
+@@ -31,6 +31,7 @@ obj-$(CONFIG_LEDS_DA903X) += leds-da903
obj-$(CONFIG_LEDS_WM831X_STATUS) += leds-wm831x-status.o
obj-$(CONFIG_LEDS_WM8350) += leds-wm8350.o
obj-$(CONFIG_LEDS_PWM) += leds-pwm.o
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
-@@ -310,4 +310,12 @@ config GPIO_UCB1400
- To compile this driver as a module, choose M here: the
- module will be called ucb1400_gpio.
+@@ -343,4 +343,12 @@ config GPIO_JANZ_TTL
+ This driver provides support for driving the pins in output
+ mode only. Input mode is not supported.
+comment "Other GPIO expanders"
+
endif
--- a/drivers/gpio/Makefile
+++ b/drivers/gpio/Makefile
-@@ -13,6 +13,7 @@ obj-$(CONFIG_GPIO_MAX7301) += max7301.o
+@@ -17,6 +17,7 @@ obj-$(CONFIG_GPIO_MAX7301) += max7301.o
obj-$(CONFIG_GPIO_MAX732X) += max732x.o
obj-$(CONFIG_GPIO_MC33880) += mc33880.o
obj-$(CONFIG_GPIO_MCP23S08) += mcp23s08.o
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -301,6 +301,10 @@ config LEDS_WNDR3700_USB
+@@ -318,6 +318,10 @@ config LEDS_WNDR3700_USB
This option enables support for the USB LED found on the
NETGEAR WNDR3700 board.
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
-@@ -492,4 +492,8 @@ config MTD_NAND_RB4XX
+@@ -530,4 +530,8 @@ config MTD_NAND_RB4XX
tristate "NAND flash driver for RouterBoard 4xx series"
depends on MTD_NAND && AR71XX_MACH_RB4XX
endif # MTD_NAND
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
-@@ -31,6 +31,7 @@ obj-$(CONFIG_MTD_NAND_PXA3xx) += pxa3xx
+@@ -33,6 +33,7 @@ obj-$(CONFIG_MTD_NAND_PXA3xx) += pxa3xx
obj-$(CONFIG_MTD_NAND_TMIO) += tmio_nand.o
obj-$(CONFIG_MTD_NAND_PLATFORM) += plat_nand.o
obj-$(CONFIG_MTD_NAND_RB4XX) += rb4xx_nand.o
static u32 ap83_spi_txrx_mode0(struct spi_device *spi,
unsigned nsecs, u32 word, u8 bits)
---- a/drivers/spi/spi_gpio_old.c
-+++ b/drivers/spi/spi_gpio_old.c
-@@ -74,8 +74,8 @@ static inline void do_spidelay(struct sp
- do_spidelay(spi, nsecs); \
- } while (0)
-
--#define EXPAND_BITBANG_TXRX
- #include <linux/spi/spi_bitbang.h>
-+#include "spi_bitbang_txrx.h"
-
- static u32 spi_gpio_txrx_mode0(struct spi_device *spi,
- unsigned nsecs, u32 word, u8 bits)
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -190,6 +190,7 @@ endif
+@@ -203,6 +203,7 @@ endif
#
libs-$(CONFIG_ARC) += arch/mips/fw/arc/
libs-$(CONFIG_CFE) += arch/mips/fw/cfe/
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -877,6 +877,9 @@ config MIPS_NILE4
+@@ -879,6 +879,9 @@ config MIPS_NILE4
config MIPS_DISABLE_OBSOLETE_IDE
bool
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
-@@ -51,6 +51,7 @@
+@@ -52,6 +52,7 @@
#include <asm/stacktrace.h>
#include <asm/irq.h>
#include <asm/uasm.h>
extern void check_wait(void);
extern asmlinkage void r4k_wait(void);
-@@ -1501,6 +1502,8 @@ void __cpuinit per_cpu_trap_init(void)
+@@ -1519,6 +1520,8 @@ void __cpuinit per_cpu_trap_init(void)
if (cpu_has_mips_r2) {
cp0_compare_irq_shift = CAUSEB_TI - CAUSEB_IP;
cp0_compare_irq = (read_c0_intctl() >> INTCTLB_IPTI) & 7;