ifeq ($(LINUX_VERSION),2.6.26.5)
LINUX_KERNEL_MD5SUM:=98261b39a558cf0739703ffea7db9f43
endif
-ifeq ($(LINUX_VERSION),2.6.27-rc9)
- LINUX_KERNEL_MD5SUM:=d78ffa904cc4a9c4eafd68ce55135198
-endif
ifeq ($(LINUX_VERSION),2.6.27)
LINUX_KERNEL_MD5SUM:=b3e78977aa79d3754cb7f8143d7ddabd
endif
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -19,6 +19,20 @@
+@@ -19,6 +19,20 @@ choice
prompt "System type"
default SGI_IP22
config MACH_ALCHEMY
bool "Alchemy processor based machines"
-@@ -598,6 +612,7 @@
+@@ -598,6 +612,7 @@ config WR_PPMC
endchoice
source "arch/mips/jazz/Kconfig"
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -174,6 +174,21 @@
+@@ -174,6 +174,21 @@ cflags-$(CONFIG_MACH_JAZZ) += -Iinclude/
load-$(CONFIG_MACH_JAZZ) += 0xffffffff80080000
#
--- a/drivers/mtd/maps/Kconfig
+++ b/drivers/mtd/maps/Kconfig
-@@ -571,5 +571,9 @@
+@@ -571,5 +571,9 @@ config MTD_PLATRAM
This selection automatically selects the map_ram driver.
--- a/drivers/mtd/maps/Makefile
+++ b/drivers/mtd/maps/Makefile
-@@ -42,6 +42,7 @@
+@@ -42,6 +42,7 @@ obj-$(CONFIG_MTD_DBOX2) += dbox2-flash.
obj-$(CONFIG_MTD_SOLUTIONENGINE)+= solutionengine.o
obj-$(CONFIG_MTD_PCI) += pci.o
obj-$(CONFIG_MTD_ALCHEMY) += alchemy-flash.o
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
-@@ -596,6 +596,10 @@
+@@ -596,6 +596,10 @@ config MIPS_AU1X00_ENET
If you have an Alchemy Semi AU1X00 based system
say Y. Otherwise, say N.
depends on PCI && SGI_IP27
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
-@@ -187,6 +187,7 @@
+@@ -187,6 +187,7 @@ obj-$(CONFIG_SC92031) += sc92031.o
# This is also a 82596 and should probably be merged
obj-$(CONFIG_LP486E) += lp486e.o
depends on USB
--- a/drivers/usb/host/Makefile
+++ b/drivers/usb/host/Makefile
-@@ -10,6 +10,7 @@
+@@ -10,6 +10,7 @@ isp1760-objs := isp1760-hcd.o isp1760-if
obj-$(CONFIG_PCI) += pci-quirks.o
obj-$(CONFIG_USB_OHCI_HCD) += ohci-hcd.o
--- a/drivers/usb/Makefile
+++ b/drivers/usb/Makefile
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ obj-$(CONFIG_USB_UHCI_HCD) += host/
obj-$(CONFIG_USB_SL811_HCD) += host/
obj-$(CONFIG_USB_U132_HCD) += host/
obj-$(CONFIG_USB_R8A66597_HCD) += host/
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -51,3 +51,4 @@
+@@ -51,3 +51,4 @@ obj-$(CONFIG_VICTOR_MPC30X) += fixup-mpc
obj-$(CONFIG_ZAO_CAPCELLA) += fixup-capcella.o
obj-$(CONFIG_WR_PPMC) += fixup-wrppmc.o
obj-$(CONFIG_MIKROTIK_RB532) += pci-rc32434.o ops-rc32434.o fixup-rc32434.o
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -223,4 +223,12 @@
+@@ -223,4 +223,12 @@ config LEDS_TRIGGER_NETDEV
This allows LEDs to be controlled by network device activity.
If unsure, say Y.
endif # NEW_LEDS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -32,3 +32,4 @@
+@@ -32,3 +32,4 @@ obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) +=
obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o
obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o
obj-$(CONFIG_LEDS_TRIGGER_NETDEV) += ledtrig-netdev.o
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
-@@ -172,6 +172,22 @@
+@@ -172,6 +172,22 @@ config MTD_AR7_PARTS
---help---
TI AR7 partitioning support
config MTD_CHAR
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
-@@ -13,6 +13,7 @@
+@@ -13,6 +13,7 @@ obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdli
obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
obj-$(CONFIG_MTD_AR7_PARTS) += ar7part.o
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
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_write_buffers(struct mtd_info *, loff_t, size_t, size_t *, const u_char *);
-@@ -240,6 +247,41 @@
+@@ -240,6 +247,41 @@ static void fixup_s29gl032n_sectors(stru
}
}
static struct cfi_fixup cfi_fixup_table[] = {
{ CFI_MFR_ATMEL, CFI_ID_ANY, fixup_convert_atmel_pri, NULL },
#ifdef AMD_BOOTLOC_BUG
-@@ -275,6 +317,9 @@
+@@ -275,6 +317,9 @@ static struct cfi_fixup fixup_table[] =
*/
{ CFI_MFR_ANY, CFI_ID_ANY, fixup_use_erase_chip, NULL },
{ CFI_MFR_ATMEL, AT49BV6416, fixup_use_atmel_lock, NULL },
--- a/drivers/mtd/chips/Kconfig
+++ b/drivers/mtd/chips/Kconfig
-@@ -196,6 +196,14 @@
+@@ -196,6 +196,14 @@ config MTD_CFI_AMDSTD
provides support for one of those command sets, used on chips
including the AMD Am29LV320.
#define PM49FL002 0x006D
#define PM49FL004 0x006E
#define PM49FL008 0x006A
-@@ -1248,6 +1252,54 @@
+@@ -1248,6 +1252,54 @@ static const struct amd_flash_info jedec
ERASEINFO(0x02000,2),
ERASEINFO(0x04000,1),
}
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
-@@ -55,6 +55,11 @@
+@@ -55,6 +55,11 @@ config MTD_ROOTFS_SPLIT
depends on MTD_PARTITIONS
default y
depends on MTD_PARTITIONS
--- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile
-@@ -8,6 +8,7 @@
+@@ -8,6 +8,7 @@ mtd-y := mtdcore.o mtdsuper.o
mtd-$(CONFIG_MTD_PARTITIONS) += mtdpart.o
obj-$(CONFIG_MTD_CONCAT) += mtdconcat.o
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
-@@ -72,6 +72,7 @@
+@@ -72,6 +72,7 @@ obj-$(CONFIG_PATA_BF54X) += pata_bf54x.o
obj-$(CONFIG_PATA_PLATFORM) += pata_platform.o
obj-$(CONFIG_PATA_OF_PLATFORM) += pata_of_platform.o
obj-$(CONFIG_PATA_ICSIDE) += pata_icside.o
# Should be last but one libata driver
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
-@@ -568,6 +568,15 @@
+@@ -568,6 +568,15 @@ config PATA_RADISYS
If unsure, say N.
#define AMBA_ISR_PASS_LIMIT 256
-@@ -80,9 +79,9 @@
+@@ -80,9 +79,9 @@ static void pl010_stop_tx(struct uart_po
struct uart_amba_port *uap = (struct uart_amba_port *)port;
unsigned int cr;
}
static void pl010_start_tx(struct uart_port *port)
-@@ -90,9 +89,9 @@
+@@ -90,9 +89,9 @@ static void pl010_start_tx(struct uart_p
struct uart_amba_port *uap = (struct uart_amba_port *)port;
unsigned int cr;
}
static void pl010_stop_rx(struct uart_port *port)
-@@ -100,9 +99,9 @@
+@@ -100,9 +99,9 @@ static void pl010_stop_rx(struct uart_po
struct uart_amba_port *uap = (struct uart_amba_port *)port;
unsigned int cr;
}
static void pl010_enable_ms(struct uart_port *port)
-@@ -110,9 +109,9 @@
+@@ -110,9 +109,9 @@ static void pl010_enable_ms(struct uart_
struct uart_amba_port *uap = (struct uart_amba_port *)port;
unsigned int cr;
}
static void pl010_rx_chars(struct uart_amba_port *uap)
-@@ -120,9 +119,9 @@
+@@ -120,9 +119,9 @@ static void pl010_rx_chars(struct uart_a
struct tty_struct *tty = uap->port.info->port.tty;
unsigned int status, ch, flag, rsr, max_count = 256;
flag = TTY_NORMAL;
uap->port.icount.rx++;
-@@ -131,9 +130,9 @@
+@@ -131,9 +130,9 @@ static void pl010_rx_chars(struct uart_a
* Note that the error handling code is
* out of the main execution path
*/
if (rsr & UART01x_RSR_BE) {
rsr &= ~(UART01x_RSR_FE | UART01x_RSR_PE);
-@@ -163,7 +162,7 @@
+@@ -163,7 +162,7 @@ static void pl010_rx_chars(struct uart_a
uart_insert_char(&uap->port, rsr, UART01x_RSR_OE, ch, flag);
ignore_char:
}
spin_unlock(&uap->port.lock);
tty_flip_buffer_push(tty);
-@@ -176,7 +175,7 @@
+@@ -176,7 +175,7 @@ static void pl010_tx_chars(struct uart_a
int count;
if (uap->port.x_char) {
uap->port.icount.tx++;
uap->port.x_char = 0;
return;
-@@ -188,7 +187,7 @@
+@@ -188,7 +187,7 @@ static void pl010_tx_chars(struct uart_a
count = uap->port.fifosize >> 1;
do {
xmit->tail = (xmit->tail + 1) & (UART_XMIT_SIZE - 1);
uap->port.icount.tx++;
if (uart_circ_empty(xmit))
-@@ -206,9 +205,9 @@
+@@ -206,9 +205,9 @@ static void pl010_modem_status(struct ua
{
unsigned int status, delta;
delta = status ^ uap->old_status;
uap->old_status = status;
-@@ -236,7 +235,7 @@
+@@ -236,7 +235,7 @@ static irqreturn_t pl010_int(int irq, vo
spin_lock(&uap->port.lock);
if (status) {
do {
if (status & (UART010_IIR_RTIS | UART010_IIR_RIS))
-@@ -249,7 +248,7 @@
+@@ -249,7 +248,7 @@ static irqreturn_t pl010_int(int irq, vo
if (pass_counter-- == 0)
break;
} while (status & (UART010_IIR_RTIS | UART010_IIR_RIS |
UART010_IIR_TIS));
handled = 1;
-@@ -263,7 +262,7 @@
+@@ -263,7 +262,7 @@ static irqreturn_t pl010_int(int irq, vo
static unsigned int pl010_tx_empty(struct uart_port *port)
{
struct uart_amba_port *uap = (struct uart_amba_port *)port;
return status & UART01x_FR_BUSY ? 0 : TIOCSER_TEMT;
}
-@@ -273,7 +272,7 @@
+@@ -273,7 +272,7 @@ static unsigned int pl010_get_mctrl(stru
unsigned int result = 0;
unsigned int status;
if (status & UART01x_FR_DCD)
result |= TIOCM_CAR;
if (status & UART01x_FR_DSR)
-@@ -299,12 +298,12 @@
+@@ -299,12 +298,12 @@ static void pl010_break_ctl(struct uart_
unsigned int lcr_h;
spin_lock_irqsave(&uap->port.lock, flags);
spin_unlock_irqrestore(&uap->port.lock, flags);
}
-@@ -332,12 +331,12 @@
+@@ -332,12 +331,12 @@ static int pl010_startup(struct uart_por
/*
* initialise the old status of the modem signals
*/
uap->port.membase + UART010_CR);
return 0;
-@@ -360,10 +359,10 @@
+@@ -360,10 +359,10 @@ static void pl010_shutdown(struct uart_p
/*
* disable all interrupts, disable the port
*/
~(UART01x_LCRH_BRK | UART01x_LCRH_FEN),
uap->port.membase + UART010_LCRH);
-@@ -385,7 +384,7 @@
+@@ -385,7 +384,7 @@ pl010_set_termios(struct uart_port *port
/*
* Ask the core to calculate the divisor for us.
*/
quot = uart_get_divisor(port, baud);
switch (termios->c_cflag & CSIZE) {
-@@ -448,25 +447,25 @@
+@@ -448,25 +447,25 @@ pl010_set_termios(struct uart_port *port
uap->port.ignore_status_mask |= UART_DUMMY_RSR_RX;
/* first, disable everything */
spin_unlock_irqrestore(&uap->port.lock, flags);
}
-@@ -538,7 +537,7 @@
+@@ -538,7 +537,7 @@ static struct uart_ops amba_pl010_pops =
.verify_port = pl010_verify_port,
};
#ifdef CONFIG_SERIAL_AMBA_PL010_CONSOLE
-@@ -548,10 +547,10 @@
+@@ -548,10 +547,10 @@ static void pl010_console_putchar(struct
unsigned int status;
do {
}
static void
-@@ -565,8 +564,8 @@
+@@ -565,8 +564,8 @@ pl010_console_write(struct console *co,
/*
* First save the CR then disable the interrupts
*/
uart_console_write(&uap->port, s, count, pl010_console_putchar);
-@@ -575,10 +574,10 @@
+@@ -575,10 +574,10 @@ pl010_console_write(struct console *co,
* and restore the TCR
*/
do {
clk_disable(uap->clk);
}
-@@ -587,9 +586,9 @@
+@@ -587,9 +586,9 @@ static void __init
pl010_console_get_options(struct uart_amba_port *uap, int *baud,
int *parity, int *bits)
{
*parity = 'n';
if (lcr_h & UART01x_LCRH_PEN) {
-@@ -604,8 +603,8 @@
+@@ -604,8 +603,8 @@ pl010_console_get_options(struct uart_am
else
*bits = 8;
*baud = uap->port.uartclk / (16 * (quot + 1));
}
}
-@@ -623,7 +622,7 @@
+@@ -623,7 +622,7 @@ static int __init pl010_console_setup(st
* if so, search for the first available port that does have
* console support.
*/
co->index = 0;
uap = amba_ports[co->index];
if (!uap)
-@@ -641,7 +640,7 @@
+@@ -641,7 +640,7 @@ static int __init pl010_console_setup(st
static struct uart_driver amba_reg;
static struct console amba_console = {
.write = pl010_console_write,
.device = uart_console_device,
.setup = pl010_console_setup,
-@@ -657,11 +656,11 @@
+@@ -657,11 +656,11 @@ static struct console amba_console = {
static struct uart_driver amba_reg = {
.owner = THIS_MODULE,
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
-@@ -285,10 +285,25 @@
+@@ -285,10 +285,25 @@ config SERIAL_AMBA_PL010
help
This selects the ARM(R) AMBA(R) PrimeCell PL010 UART. If you have
an Integrator/AP or Integrator/PP2 platform, or if you have a
--- a/drivers/pci/Kconfig
+++ b/drivers/pci/Kconfig
-@@ -42,6 +42,12 @@
+@@ -42,6 +42,12 @@ config PCI_DEBUG
When in doubt, say N.
/* The Mellanox Tavor device gives false positive parity errors
* Mark this device with a broken_parity_status, to allow
* PCI scanning code to "skip" this now blacklisted device.
-@@ -1554,6 +1555,7 @@
+@@ -1554,6 +1555,7 @@ static void __devinit fixup_rev1_53c810(
}
}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810);
static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, struct pci_fixup *end)
{
-@@ -1634,6 +1636,7 @@
+@@ -1634,6 +1636,7 @@ void pci_fixup_device(enum pci_fixup_pas
}
EXPORT_SYMBOL(pci_fixup_device);
/* Enable 1k I/O space granularity on the Intel P64H2 */
static void __devinit quirk_p64h2_1k_io(struct pci_dev *dev)
{
-@@ -2007,3 +2010,4 @@
+@@ -2007,3 +2010,4 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_AT
quirk_msi_intx_disable_bug);
#endif /* CONFIG_PCI_MSI */
--- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c
-@@ -43,13 +43,17 @@
+@@ -43,13 +43,17 @@ static void gpio_led_set(struct led_clas
container_of(led_cdev, struct gpio_led_data, cdev);
int level;
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
-@@ -653,6 +653,18 @@
+@@ -653,6 +653,18 @@ config RC32434_WDT
To compile this driver as a module, choose M here: the
module will be called rc32434_wdt.
depends on SGI_HAS_INDYDOG
--- a/drivers/watchdog/Makefile
+++ b/drivers/watchdog/Makefile
-@@ -102,6 +102,7 @@
+@@ -102,6 +102,7 @@ obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o
obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
--- a/drivers/usb/host/adm5120-drv.c
+++ b/drivers/usb/host/adm5120-drv.c
-@@ -174,7 +174,6 @@
+@@ -174,7 +174,6 @@ static const struct hc_driver adm5120_hc
*/
.hub_status_data = admhc_hub_status_data,
.hub_control = admhc_hub_control,
static int
--- a/drivers/usb/host/adm5120-pm.c
+++ b/drivers/usb/host/adm5120-pm.c
-@@ -432,13 +432,17 @@
+@@ -432,13 +432,17 @@ static inline int admhc_rh_resume(struct
static int admhc_root_hub_state_changes(struct admhcd *ahcd, int changed,
int any_connected)
{
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -577,6 +577,13 @@
+@@ -577,6 +577,13 @@ core-$(CONFIG_TOSHIBA_RBTX4927) += arch/
#
core-$(CONFIG_TOSHIBA_RBTX4938) += arch/mips/txx9/rbtx4938/
+#define MACH_AR71XX_RB_411 2 /* MikroTik RouterBOARD 411/411A/411AH */
+#define MACH_AR71XX_RB_433 3 /* MikroTik RouterBOARD 433/433AH */
+#define MACH_AR71XX_RB_450 4 /* MikroTik RouterBOARD 450 */
-+#define MACH_AR71XX_RB_493 5 /* Mikrotik RouterBOARD 493/493AH */
++#define MACH_AR71XX_RB_493 5 /* MikroTik RouterBOARD 493 */
+
#define CL_SIZE COMMAND_LINE_SIZE
extern char *system_type;
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -22,6 +22,23 @@
+@@ -22,6 +22,23 @@ choice
config MACH_ALCHEMY
bool "Alchemy processor based machines"
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ obj-$(CONFIG_PCI_VR41XX) += ops-vr41xx.o
obj-$(CONFIG_MARKEINS) += ops-emma2rh.o pci-emma2rh.o fixup-emma2rh.o
obj-$(CONFIG_PCI_TX4927) += ops-tx4927.o
obj-$(CONFIG_BCM47XX) += pci-bcm47xx.o
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
-@@ -81,6 +81,12 @@
+@@ -81,6 +81,12 @@ config USB_EHCI_BIG_ENDIAN_DESC
depends on USB_EHCI_HCD && (440EPX || ARCH_IXP4XX)
default y
config USB_EHCI_FSL
bool "Support for Freescale on-chip EHCI USB controller"
depends on USB_EHCI_HCD && FSL_SOC
-@@ -152,6 +158,12 @@
+@@ -152,6 +158,12 @@ config USB_OHCI_HCD
To compile this driver as a module, choose M here: the
module will be called ohci-hcd.
depends on USB_OHCI_HCD && (STB03xxx || PPC_MPC52xx)
--- a/drivers/usb/host/ehci-hcd.c
+++ b/drivers/usb/host/ehci-hcd.c
-@@ -1040,6 +1040,11 @@
+@@ -1040,6 +1040,11 @@ MODULE_LICENSE ("GPL");
#define PLATFORM_DRIVER ixp4xx_ehci_driver
#endif
#error "missing bus glue for ehci-hcd"
--- a/drivers/usb/host/ohci.h
+++ b/drivers/usb/host/ohci.h
-@@ -549,6 +549,11 @@
+@@ -549,6 +549,11 @@ static inline struct usb_hcd *ohci_to_hc
#define writel_be(val, addr) out_be32((__force unsigned *)addr, val)
#endif
{
--- a/drivers/usb/host/ohci-hcd.c
+++ b/drivers/usb/host/ohci-hcd.c
-@@ -1078,6 +1078,11 @@
+@@ -1078,6 +1078,11 @@ MODULE_LICENSE ("GPL");
#define SM501_OHCI_DRIVER ohci_hcd_sm501_driver
#endif
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -53,6 +53,13 @@
+@@ -53,6 +53,13 @@ if SPI_MASTER
comment "SPI Master Controller Drivers"
depends on (ARCH_AT91 || AVR32)
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
-@@ -11,6 +11,7 @@
+@@ -11,6 +11,7 @@ endif
obj-$(CONFIG_SPI_MASTER) += spi.o
# SPI master controller drivers (bus)
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
-@@ -2015,6 +2015,8 @@
+@@ -2015,6 +2015,8 @@ config ACENIC_OMIT_TIGON_I
The safe and default value for this is N.
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
-@@ -704,6 +704,13 @@
+@@ -704,6 +704,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
-@@ -102,6 +102,7 @@
+@@ -102,6 +102,7 @@ obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o
obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
-@@ -467,6 +467,10 @@
+@@ -467,6 +467,10 @@ static struct flash_info __devinitdata m
{ "at26df161a", 0x1f4601, 64 * 1024, 32, SECT_4K, },
{ "at26df321", 0x1f4701, 64 * 1024, 64, SECT_4K, },
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -77,6 +77,11 @@
+@@ -77,6 +77,11 @@ config MVSWITCH_PHY
---help---
Currently supports the Marvell 88E6060 switch.
depends on PHYLIB=y
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
-@@ -15,6 +15,7 @@
+@@ -15,6 +15,7 @@ obj-$(CONFIG_ICPLUS_PHY) += icplus.o
obj-$(CONFIG_ADM6996_PHY) += adm6996.o
obj-$(CONFIG_MVSWITCH_PHY) += mvswitch.o
obj-$(CONFIG_REALTEK_PHY) += realtek.o
--- a/drivers/mtd/redboot.c
+++ b/drivers/mtd/redboot.c
-@@ -60,31 +60,32 @@
+@@ -60,31 +60,32 @@ static int parse_redboot_partitions(stru
static char nullstring[] = "unallocated";
#endif
printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
master->name, offset);
-@@ -156,6 +157,11 @@
+@@ -156,6 +157,11 @@ static int parse_redboot_partitions(stru
}
if (i == numslots) {
/* Didn't find it */
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
-@@ -406,4 +406,8 @@
+@@ -406,4 +406,8 @@ config MTD_NAND_FSL_UPM
Enables support for NAND Flash chips wired onto Freescale PowerPC
processor localbus with User-Programmable Machine support.
endif # MTD_NAND
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
-@@ -29,6 +29,7 @@
+@@ -29,6 +29,7 @@ obj-$(CONFIG_MTD_NAND_BASLER_EXCITE) +=
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/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -158,6 +158,7 @@
+@@ -158,6 +158,7 @@ endif
#
libs-$(CONFIG_ARC) += arch/mips/fw/arc/
libs-$(CONFIG_CFE) += arch/mips/fw/cfe/
libs-$(CONFIG_SIBYTE_CFE) += arch/mips/sibyte/cfe/
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -782,6 +782,9 @@
+@@ -782,6 +782,9 @@ config MIPS_NILE4
config MIPS_DISABLE_OBSOLETE_IDE
bool
--- a/drivers/net/ag71xx/ag71xx_phy.c
+++ b/drivers/net/ag71xx/ag71xx_phy.c
-@@ -171,12 +171,8 @@
+@@ -171,12 +171,8 @@ static void ag71xx_phy_link_adjust(struc
}
}
+
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
-@@ -83,6 +83,7 @@
+@@ -83,6 +83,7 @@ obj-$(CONFIG_GPIO_TXX9) += gpio_txx9.o
obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -615,6 +615,7 @@
+@@ -615,6 +615,7 @@ config WR_PPMC
endchoice
source "arch/mips/au1000/Kconfig"
source "arch/mips/basler/excite/Kconfig"
source "arch/mips/jazz/Kconfig"
-@@ -788,6 +789,9 @@
+@@ -788,6 +789,9 @@ config MYLOADER
config SYNC_R4K
bool
extern void check_wait(void);
extern asmlinkage void r4k_wait(void);
-@@ -1484,6 +1485,8 @@
+@@ -1484,6 +1485,8 @@ void __cpuinit per_cpu_trap_init(void)
*/
if (cpu_has_mips_r2) {
cp0_compare_irq = (read_c0_intctl() >> 29) & 7;
cp0_perfcount_irq = -1;
--- a/include/asm-mips/time.h
+++ b/include/asm-mips/time.h
-@@ -53,6 +53,7 @@
+@@ -53,6 +53,7 @@ extern int (*perf_irq)(void);
#ifdef CONFIG_CEVT_R4K
extern int mips_clockevent_init(void);
extern unsigned int __weak get_c0_compare_int(void);
* The SMTC Kernel for the 34K, 1004K, et. al. replaces several
* of these routines with SMTC-specific variants.
*/
-@@ -30,6 +46,7 @@
+@@ -30,6 +46,7 @@ static int mips_next_event(unsigned long
cnt = read_c0_count();
cnt += delta;
write_c0_compare(cnt);
res = ((int)(read_c0_count() - cnt) > 0) ? -ETIME : 0;
return res;
}
-@@ -99,22 +116,6 @@
+@@ -99,22 +116,6 @@ static int c0_compare_int_pending(void)
return (read_c0_cause() >> cp0_compare_irq) & 0x100;
}
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -59,6 +59,18 @@
+@@ -59,6 +59,18 @@ config BCM47XX
help
Support for BCM47XX based boards
config MIPS_COBALT
bool "Cobalt Server"
select CEVT_R4K
-@@ -598,6 +610,7 @@
+@@ -598,6 +610,7 @@ config WR_PPMC
endchoice
source "arch/mips/jazz/Kconfig"
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -276,6 +276,13 @@
+@@ -276,6 +276,13 @@ libs-$(CONFIG_MIPS_XXS1500) += arch/mips
load-$(CONFIG_MIPS_XXS1500) += 0xffffffff80100000
#
--- a/drivers/mtd/devices/Kconfig
+++ b/drivers/mtd/devices/Kconfig
-@@ -83,6 +83,10 @@
+@@ -83,6 +83,10 @@ config M25PXX_USE_FAST_READ
help
This option enables FAST_READ access supported by ST M25Pxx.
help
--- a/drivers/mtd/devices/Makefile
+++ b/drivers/mtd/devices/Makefile
-@@ -16,3 +16,4 @@
+@@ -16,3 +16,4 @@ obj-$(CONFIG_MTD_LART) += lart.o
obj-$(CONFIG_MTD_BLOCK2MTD) += block2mtd.o
obj-$(CONFIG_MTD_DATAFLASH) += mtd_dataflash.o
obj-$(CONFIG_MTD_M25P80) += m25p80.o
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
-@@ -704,6 +704,12 @@
+@@ -704,6 +704,12 @@ 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
-@@ -102,6 +102,7 @@
+@@ -102,6 +102,7 @@ obj-$(CONFIG_WDT_RM9K_GPI) += rm9k_wdt.o
obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
obj-$(CONFIG_TXX9_WDT) += txx9wdt.o
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
-@@ -359,6 +359,12 @@
+@@ -359,6 +359,12 @@ config AX88796_93CX6
help
Select this if your platform comes with an external 93CX6 eeprom.
depends on PPC_PMAC && PPC32
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
-@@ -195,6 +195,7 @@
+@@ -195,6 +195,7 @@ obj-$(CONFIG_EQUALIZER) += eql.o
obj-$(CONFIG_KORINA) += korina.o
obj-$(CONFIG_MIPS_JAZZ_SONIC) += jazzsonic.o
obj-$(CONFIG_MIPS_AU1X00_ENET) += au1000_eth.o
--- a/drivers/net/ar2313/ar2313.c
+++ b/drivers/net/ar2313/ar2313.c
-@@ -291,7 +291,7 @@
+@@ -291,7 +291,7 @@ int __init ar2313_probe(struct platform_
sp->mii_bus.write = mdiobus_write;
sp->mii_bus.reset = mdiobus_reset;
sp->mii_bus.name = "ar2313_eth_mii";
--- a/drivers/mtd/redboot.c
+++ b/drivers/mtd/redboot.c
-@@ -60,31 +60,32 @@
+@@ -60,31 +60,32 @@ static int parse_redboot_partitions(stru
static char nullstring[] = "unallocated";
#endif
printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
master->name, offset);
-@@ -156,6 +157,11 @@
+@@ -156,6 +157,11 @@ static int parse_redboot_partitions(stru
}
if (i == numslots) {
/* Didn't find it */
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -3983,8 +3983,8 @@
+@@ -3984,8 +3984,8 @@ int register_netdevice(struct net_device
/* Fix illegal SG+CSUM combinations. */
if ((dev->features & NETIF_F_SG) &&
!(dev->features & NETIF_F_ALL_CSUM)) {
dev->features &= ~NETIF_F_SG;
}
-@@ -3997,9 +3997,9 @@
+@@ -3998,9 +3998,9 @@ int register_netdevice(struct net_device
}
if (dev->features & NETIF_F_UFO) {
if (!(dev->features & NETIF_F_HW_CSUM)) {
--- a/drivers/net/ar2313/ar2313.c
+++ b/drivers/net/ar2313/ar2313.c
-@@ -953,9 +953,9 @@
+@@ -953,9 +953,9 @@ static int ar2313_rx_int(struct net_devi
((status >> DMA_RX_LEN_SHIFT) & 0x3fff) - CRC_LEN);
dev->stats.rx_bytes += skb->len;
skb_new->dev = dev;
/* 16 bit align */
-@@ -1370,6 +1370,8 @@
+@@ -1370,6 +1370,8 @@ static int mdiobus_probe (struct net_dev
return PTR_ERR(phydev);
}
| SUPPORTED_10baseT_Full
--- a/drivers/net/ar2313/ar2313.h
+++ b/drivers/net/ar2313/ar2313.h
-@@ -107,6 +107,8 @@
+@@ -107,6 +107,8 @@ typedef struct {
*/
struct ar2313_private {
struct net_device *dev;
extern void check_wait(void);
extern asmlinkage void r4k_wait(void);
-@@ -1484,6 +1485,8 @@
+@@ -1484,6 +1485,8 @@ void __cpuinit per_cpu_trap_init(void)
*/
if (cpu_has_mips_r2) {
cp0_compare_irq = (read_c0_intctl() >> 29) & 7;
cp0_perfcount_irq = -1;
--- a/include/asm-mips/time.h
+++ b/include/asm-mips/time.h
-@@ -53,6 +53,7 @@
+@@ -53,6 +53,7 @@ extern int (*perf_irq)(void);
#ifdef CONFIG_CEVT_R4K
extern int mips_clockevent_init(void);
extern unsigned int __weak get_c0_compare_int(void);
{
--- a/arch/mips/atheros/board.c
+++ b/arch/mips/atheros/board.c
-@@ -205,6 +205,11 @@
+@@ -205,6 +205,11 @@ void (*board_time_init)(void);
void __init plat_time_init(void) {
board_time_init();
}
* The SMTC Kernel for the 34K, 1004K, et. al. replaces several
* of these routines with SMTC-specific variants.
*/
-@@ -30,6 +46,7 @@
+@@ -30,6 +46,7 @@ static int mips_next_event(unsigned long
cnt = read_c0_count();
cnt += delta;
write_c0_compare(cnt);
res = ((int)(read_c0_count() - cnt) > 0) ? -ETIME : 0;
return res;
}
-@@ -99,22 +116,6 @@
+@@ -99,22 +116,6 @@ static int c0_compare_int_pending(void)
return (read_c0_cause() >> cp0_compare_irq) & 0x100;
}
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -1348,6 +1348,71 @@
+@@ -1348,6 +1348,71 @@ config CRAMFS
If unsure, say N.
depends on BLOCK
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -74,6 +74,7 @@
+@@ -74,6 +74,7 @@ obj-$(CONFIG_JBD) += jbd/
obj-$(CONFIG_JBD2) += jbd2/
obj-$(CONFIG_EXT2_FS) += ext2/
obj-$(CONFIG_CRAMFS) += cramfs/
#include <linux/initrd.h>
#include <linux/string.h>
-@@ -37,6 +38,7 @@
+@@ -37,6 +38,7 @@ static int __init crd_load(int in_fd, in
* numbers could not be found.
*
* We currently check for the following magic numbers:
* minix
* ext2
* romfs
-@@ -51,6 +53,7 @@
+@@ -51,6 +53,7 @@ identify_ramdisk_image(int fd, int start
struct ext2_super_block *ext2sb;
struct romfs_super_block *romfsb;
struct cramfs_super *cramfsb;
int nblocks = -1;
unsigned char *buf;
-@@ -62,6 +65,7 @@
+@@ -62,6 +65,7 @@ identify_ramdisk_image(int fd, int start
ext2sb = (struct ext2_super_block *) buf;
romfsb = (struct romfs_super_block *) buf;
cramfsb = (struct cramfs_super *) buf;
memset(buf, 0xe5, size);
/*
-@@ -99,6 +103,15 @@
+@@ -99,6 +103,15 @@ identify_ramdisk_image(int fd, int start
goto done;
}
+}
--- a/lib/Makefile
+++ b/lib/Makefile
-@@ -19,7 +19,7 @@
+@@ -19,7 +19,7 @@ lib-$(CONFIG_SMP) += cpumask.o
lib-y += kobject.o kref.o klist.o
obj-y += bcd.o div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
static void squashfs_put_super(struct super_block *);
static int squashfs_statfs(struct dentry *, struct kstatfs *);
static int squashfs_symlink_readpage(struct file *file, struct page *page);
-@@ -64,7 +81,11 @@
+@@ -64,7 +81,11 @@ static int squashfs_get_sb(struct file_s
const char *, void *, struct vfsmount *);
static struct file_system_type squashfs_fs_type = {
.owner = THIS_MODULE,
-@@ -249,6 +270,15 @@
+@@ -249,6 +270,15 @@ SQSH_EXTERN unsigned int squashfs_read_d
if (compressed) {
int zlib_err;
stream.next_in = c_buffer;
stream.avail_in = c_byte;
stream.next_out = buffer;
-@@ -263,7 +293,7 @@
+@@ -263,7 +293,7 @@ SQSH_EXTERN unsigned int squashfs_read_d
bytes = 0;
} else
bytes = stream.total_out;
up(&msblk->read_data_mutex);
}
-@@ -2045,15 +2075,19 @@
+@@ -2045,15 +2075,19 @@ static int __init init_squashfs_fs(void)
printk(KERN_INFO "squashfs: version 3.0 (2006/03/15) "
"Phillip Lougher\n");
destroy_inodecache();
}
-@@ -2064,7 +2098,9 @@
+@@ -2064,7 +2098,9 @@ out:
static void __exit exit_squashfs_fs(void)
{
--- a/Makefile
+++ b/Makefile
-@@ -549,6 +549,9 @@
+@@ -549,6 +549,9 @@ endif
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
CHECKFLAGS += $(NOSTDINC_FLAGS)
#include "squashfs.h"
-@@ -2125,7 +2126,7 @@
+@@ -2125,7 +2126,7 @@ static void squashfs_destroy_inode(struc
}
--- a/include/asm-mips/system.h
+++ b/include/asm-mips/system.h
-@@ -185,7 +185,7 @@
+@@ -185,7 +185,7 @@ extern __u64 __xchg_u64_unsupported_on_3
if something tries to do an invalid xchg(). */
extern void __xchg_called_with_bad_pointer(void);
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 *);
-@@ -321,12 +322,19 @@
+@@ -321,12 +322,19 @@ struct mtd_info *cfi_cmdset_0002(struct
if (extp->MajorVersion != '1' ||
(extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
#include <linux/buffer_head.h>
#include <linux/mutex.h>
#include <linux/mount.h>
-@@ -232,10 +233,11 @@
+@@ -232,10 +233,11 @@ static void block2mtd_free_device(struct
/* FIXME: ensure that mtd->size % erase_size == 0 */
char *name;
if (!devname)
-@@ -273,17 +275,17 @@
+@@ -273,17 +275,17 @@ static struct block2mtd_dev *add_device(
mutex_init(&dev->write_mutex);
dev->mtd.erasesize = erase_size;
dev->mtd.writesize = 1;
dev->mtd.type = MTD_RAM;
-@@ -296,14 +298,17 @@
+@@ -296,14 +298,17 @@ static struct block2mtd_dev *add_device(
dev->mtd.priv = dev;
dev->mtd.owner = THIS_MODULE;
return dev;
devinit_err:
-@@ -376,9 +381,9 @@
+@@ -376,9 +381,9 @@ static char block2mtd_paramline[80 + 12]
static int block2mtd_setup2(const char *val)
{
char *name;
size_t erase_size = PAGE_SIZE;
int i, ret;
-@@ -389,7 +394,7 @@
+@@ -389,7 +394,7 @@ static int block2mtd_setup2(const char *
strcpy(str, val);
kill_final_newline(str);
token[i] = strsep(&str, ",");
if (str)
-@@ -408,8 +413,10 @@
+@@ -408,8 +413,10 @@ static int block2mtd_setup2(const char *
parse_err("illegal erase size");
}
}
return 0;
}
-@@ -443,7 +450,7 @@
+@@ -443,7 +450,7 @@ static int block2mtd_setup(const char *v
module_param_call(block2mtd, block2mtd_setup, NULL, NULL, 0200);
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
-@@ -45,6 +45,16 @@
+@@ -45,6 +45,16 @@ config MTD_PARTITIONS
devices. Partitioning on NFTL 'devices' is a different - that's the
'normal' form of partitioning used on a block device.
/* Our partition linked list */
static LIST_HEAD(mtd_partitions);
-@@ -37,7 +39,7 @@
+@@ -37,7 +39,7 @@ struct mtd_part {
* the pointer to that structure with this macro.
*/
#define PART(x) ((struct mtd_part *)(x))
/*
* MTD methods which simply translate the effective address and pass through
-@@ -489,6 +491,148 @@
+@@ -489,6 +491,148 @@ out_register:
return slave;
}
/*
* This function, given a master MTD object and a partition table, creates
* and registers slave MTD objects which are bound to the master according to
-@@ -502,14 +646,29 @@
+@@ -502,14 +646,29 @@ int add_mtd_partitions(struct mtd_info *
{
struct mtd_part *slave;
u_int32_t cur_offset = 0;
cur_offset = slave->offset + slave->mtd.size;
}
-@@ -517,6 +676,32 @@
+@@ -517,6 +676,32 @@ int add_mtd_partitions(struct mtd_info *
}
EXPORT_SYMBOL(add_mtd_partitions);
--- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c
-@@ -29,6 +29,8 @@
+@@ -29,6 +29,8 @@ struct block2mtd_dev {
struct block_device *blkdev;
struct mtd_info mtd;
struct mutex write_mutex;
};
-@@ -81,6 +83,12 @@
+@@ -81,6 +83,12 @@ static int block2mtd_erase(struct mtd_in
size_t len = instr->len;
int err;
instr->state = MTD_ERASING;
mutex_lock(&dev->write_mutex);
err = _block2mtd_erase(dev, from, len);
-@@ -93,6 +101,10 @@
+@@ -93,6 +101,10 @@ static int block2mtd_erase(struct mtd_in
instr->state = MTD_ERASE_DONE;
mtd_erase_callback(instr);
return err;
}
-@@ -104,10 +116,14 @@
+@@ -104,10 +116,14 @@ static int block2mtd_read(struct mtd_inf
struct page *page;
int index = from >> PAGE_SHIFT;
int offset = from & (PAGE_SIZE-1);
if (from + len > mtd->size)
len = mtd->size - from;
-@@ -122,10 +138,14 @@
+@@ -122,10 +138,14 @@ static int block2mtd_read(struct mtd_inf
len = len - cpylen;
page = page_read(dev->blkdev->bd_inode->i_mapping, index);
memcpy(buf, page_address(page) + offset, cpylen);
page_cache_release(page);
-@@ -136,7 +156,10 @@
+@@ -136,7 +156,10 @@ static int block2mtd_read(struct mtd_inf
offset = 0;
index++;
}
}
-@@ -188,12 +211,22 @@
+@@ -188,12 +211,22 @@ static int block2mtd_write(struct mtd_in
size_t *retlen, const u_char *buf)
{
struct block2mtd_dev *dev = mtd->priv;
if (to + len > mtd->size)
len = mtd->size - to;
-@@ -202,6 +235,9 @@
+@@ -202,6 +235,9 @@ static int block2mtd_write(struct mtd_in
mutex_unlock(&dev->write_mutex);
if (err > 0)
err = 0;
return err;
}
-@@ -210,7 +246,12 @@
+@@ -210,7 +246,12 @@ static int block2mtd_write(struct mtd_in
static void block2mtd_sync(struct mtd_info *mtd)
{
struct block2mtd_dev *dev = mtd->priv;
return;
}
-@@ -231,31 +272,22 @@
+@@ -231,31 +272,22 @@ static void block2mtd_free_device(struct
kfree(dev);
}
if (devt) {
bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
}
-@@ -263,17 +295,96 @@
+@@ -263,17 +295,96 @@ static struct block2mtd_dev *add_device(
#endif
if (IS_ERR(bdev)) {
if (!mtdname)
mtdname = devname;
-@@ -297,6 +408,7 @@
+@@ -297,6 +408,7 @@ static struct block2mtd_dev *add_device(
dev->mtd.read = block2mtd_read;
dev->mtd.priv = dev;
dev->mtd.owner = THIS_MODULE;
#include <asm/uaccess.h>
-@@ -771,6 +772,13 @@
+@@ -771,6 +772,13 @@ static int mtd_ioctl(struct inode *inode
file->f_pos = 0;
break;
}
ret = -ENOTTY;
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
-@@ -96,6 +96,7 @@
+@@ -96,6 +96,7 @@ struct mtd_oob_ops {
uint8_t *oobbuf;
};
struct mtd_info {
u_char type;
u_int32_t flags;
-@@ -211,6 +212,9 @@
+@@ -211,6 +212,9 @@ struct mtd_info {
struct module *owner;
int usecount;
struct mtd_partition {
char *name; /* identifier string */
u_int32_t size; /* partition size */
-@@ -41,6 +42,7 @@
+@@ -41,6 +42,7 @@ struct mtd_partition {
u_int32_t mask_flags; /* master MTD flags to mask out for this partition */
struct nand_ecclayout *ecclayout; /* out of band layout for this partition (NAND only)*/
struct mtd_info **mtdp; /* pointer to store the MTD object */
};
#define MTDPART_OFS_NXTBLK (-2)
-@@ -50,6 +52,7 @@
+@@ -50,6 +52,7 @@ struct mtd_partition {
int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
int del_mtd_partitions(struct mtd_info *);
* Functions dealing with the various ways of partitioning the space
--- a/include/mtd/mtd-abi.h
+++ b/include/mtd/mtd-abi.h
-@@ -93,6 +93,7 @@
+@@ -93,6 +93,7 @@ struct otp_info {
#define ECCGETLAYOUT _IOR('M', 17, struct nand_ecclayout)
#define ECCGETSTATS _IOR('M', 18, struct mtd_ecc_stats)
#define MTDFILEMODE _IO('M', 19)
--- a/drivers/mtd/redboot.c
+++ b/drivers/mtd/redboot.c
-@@ -249,14 +249,21 @@
+@@ -249,14 +249,21 @@ static int parse_redboot_partitions(stru
#endif
names += strlen(names)+1;
struct fis_image_desc {
unsigned char name[16]; // Null terminated name
uint32_t flash_base; // Address within FLASH of image
-@@ -41,6 +43,7 @@
+@@ -41,6 +43,7 @@ static int parse_redboot_partitions(stru
struct mtd_partition **pparts,
unsigned long fis_origin)
{
int nrparts = 0;
struct fis_image_desc *buf;
struct mtd_partition *parts;
-@@ -209,14 +212,14 @@
+@@ -209,14 +212,14 @@ static int parse_redboot_partitions(stru
}
}
#endif
#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
if (nulllen > 0) {
strcpy(nullname, nullstring);
-@@ -235,6 +238,8 @@
+@@ -235,6 +238,8 @@ static int parse_redboot_partitions(stru
}
#endif
for ( ; i<nrparts; i++) {
parts[i].size = fl->img->size;
parts[i].offset = fl->img->flash_base;
parts[i].name = names;
-@@ -268,6 +273,14 @@
+@@ -268,6 +273,14 @@ static int parse_redboot_partitions(stru
fl = fl->next;
kfree(tmp_fl);
}
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
-@@ -578,6 +578,7 @@
+@@ -578,6 +578,7 @@ struct platform_nand_chip {
int chip_delay;
unsigned int options;
const char **part_probe_types;
--- a/drivers/mtd/nand/plat_nand.c
+++ b/drivers/mtd/nand/plat_nand.c
-@@ -71,7 +71,18 @@
+@@ -71,7 +71,18 @@ static int __init plat_nand_probe(struct
platform_set_drvdata(pdev, data);
/* Scan to find existance of the device */
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -757,6 +757,27 @@
+@@ -757,6 +757,27 @@ config NETFILTER_XT_MATCH_STATE
To compile it as a module, choose M here. If unsure, say N.
depends on NETFILTER_XTABLES
--- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile
-@@ -78,6 +78,7 @@
+@@ -78,6 +78,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_RATEEST)
obj-$(CONFIG_NETFILTER_XT_MATCH_REALM) += xt_realm.o
obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o
+}
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
-@@ -206,6 +206,14 @@
+@@ -206,6 +206,14 @@ destroy_conntrack(struct nf_conntrack *n
* too. */
nf_ct_remove_expectations(ct);
BUG_ON(hlist_unhashed(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnode));
--- a/net/netfilter/nf_conntrack_standalone.c
+++ b/net/netfilter/nf_conntrack_standalone.c
-@@ -162,7 +162,12 @@
+@@ -162,7 +162,12 @@ static int ct_seq_show(struct seq_file *
return -ENOSPC;
#endif
return 0;
--- a/include/net/netfilter/nf_conntrack.h
+++ b/include/net/netfilter/nf_conntrack.h
-@@ -118,6 +118,22 @@
+@@ -118,6 +118,22 @@ struct nf_conn
u_int32_t secmark;
#endif
--- a/include/linux/netfilter/xt_layer7.h
+++ b/include/linux/netfilter/xt_layer7.h
-@@ -8,6 +8,7 @@
+@@ -8,6 +8,7 @@ struct xt_layer7_info {
char protocol[MAX_PROTOCOL_LEN];
char pattern[MAX_PATTERN_LEN];
u_int8_t invert;
#endif /* _XT_LAYER7_H */
--- a/net/netfilter/xt_layer7.c
+++ b/net/netfilter/xt_layer7.c
-@@ -297,34 +297,36 @@
+@@ -297,34 +297,36 @@ static int match_no_append(struct nf_con
}
/* add the new app data to the conntrack. Return number of bytes added. */
return length;
}
-@@ -411,7 +413,7 @@
+@@ -411,7 +413,7 @@ match(const struct sk_buff *skbin,
const struct xt_layer7_info * info = matchinfo;
enum ip_conntrack_info master_ctinfo, ctinfo;
struct nf_conn *master_conntrack, *conntrack;
unsigned int pattern_result, appdatalen;
regexp * comppattern;
-@@ -439,8 +441,8 @@
+@@ -439,8 +441,8 @@ match(const struct sk_buff *skbin,
master_conntrack = master_ct(master_conntrack);
/* if we've classified it or seen too many packets */
pattern_result = match_no_append(conntrack, master_conntrack,
ctinfo, master_ctinfo, info);
-@@ -473,6 +475,25 @@
+@@ -473,6 +475,25 @@ match(const struct sk_buff *skbin,
/* the return value gets checked later, when we're ready to use it */
comppattern = compile_and_cache(info->pattern, info->protocol);
+
--- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig
-@@ -57,6 +57,12 @@
+@@ -57,6 +57,12 @@ config IP_NF_IPTABLES
To compile it as a module, choose M here. If unsure, say N.
# The matches.
depends on IP_NF_IPTABLES
--- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile
-@@ -51,6 +51,8 @@
+@@ -51,6 +51,8 @@ obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn
obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
+module_exit(ipt_SET_fini);
--- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig
-@@ -412,5 +412,122 @@
+@@ -412,5 +412,122 @@ config IP_NF_ARP_MANGLE
Allows altering the ARP packet payload: source and destination
hardware and network addresses.
--- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile
-@@ -50,6 +50,7 @@
+@@ -50,6 +50,7 @@ obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o
obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o
obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_ipp2p.o
-@@ -63,6 +64,18 @@
+@@ -63,6 +64,18 @@ obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += i
obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o
obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o
+}
--- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig
-@@ -63,6 +63,22 @@
+@@ -63,6 +63,22 @@ config IP_NF_MATCH_IPP2P
help
Module for matching traffic of various Peer-to-Peer applications
depends on IP_NF_IPTABLES
--- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile
-@@ -51,6 +51,7 @@
+@@ -51,6 +51,7 @@ obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn
obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
obj-$(CONFIG_IP_NF_MATCH_SET) += ipt_set.o
+
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
-@@ -109,6 +109,129 @@
+@@ -109,6 +109,129 @@ config EQUALIZER
To compile this driver as a module, choose M here: the module
will be called eql. If unsure, say N.
select CRC32
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
-@@ -144,6 +144,7 @@
+@@ -144,6 +144,7 @@ obj-$(CONFIG_SLHC) += slhc.o
obj-$(CONFIG_XEN_NETDEV_FRONTEND) += xen-netfront.o
obj-$(CONFIG_DUMMY) += dummy.o
+#endif /* _IP6T_IMQ_H */
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
-@@ -302,6 +302,10 @@
+@@ -302,6 +302,10 @@ struct sk_buff {
struct nf_conntrack *nfct;
struct sk_buff *nfct_reasm;
#endif
#ifdef CONFIG_BRIDGE_NETFILTER
struct nf_bridge_info *nf_bridge;
#endif
-@@ -1642,6 +1646,10 @@
+@@ -1642,6 +1646,10 @@ static inline void __nf_copy(struct sk_b
dst->nfct_reasm = src->nfct_reasm;
nf_conntrack_get_reasm(src->nfct_reasm);
#endif
#include <linux/proc_fs.h>
#include <linux/seq_file.h>
#include <linux/stat.h>
-@@ -1624,7 +1627,11 @@
+@@ -1624,7 +1627,11 @@ int dev_hard_start_xmit(struct sk_buff *
struct netdev_queue *txq)
{
if (likely(!skb->next)) {
+MODULE_LICENSE("GPL");
--- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig
-@@ -145,6 +145,17 @@
+@@ -145,6 +145,17 @@ config IP_NF_FILTER
To compile it as a module, choose M here. If unsure, say N.
depends on IP_NF_FILTER
--- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile
-@@ -59,6 +59,7 @@
+@@ -59,6 +59,7 @@ obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_i
obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o
obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o
+MODULE_LICENSE("GPL");
--- a/net/ipv6/netfilter/Kconfig
+++ b/net/ipv6/netfilter/Kconfig
-@@ -179,6 +179,15 @@
+@@ -179,6 +179,15 @@ config IP6_NF_MANGLE
To compile it as a module, choose M here. If unsure, say N.
obj-$(CONFIG_IP6_NF_SECURITY) += ip6table_security.o
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
-@@ -188,6 +188,7 @@
+@@ -188,6 +188,7 @@ void __qdisc_run(struct Qdisc *q)
clear_bit(__QDISC_STATE_RUNNING, &q->state);
}
+#define xt_request_find_match xt_request_find_match_lo
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -296,6 +296,14 @@
+@@ -296,6 +296,14 @@ config NETFILTER_XTABLES
# alphabetically ordered list of targets
config NETFILTER_XT_TARGET_CLASSIFY
tristate '"CLASSIFY" target support'
depends on NETFILTER_XTABLES
-@@ -325,6 +333,14 @@
+@@ -325,6 +333,14 @@ config NETFILTER_XT_TARGET_CONNMARK
<file:Documentation/kbuild/modules.txt>. The module will be called
ipt_CONNMARK.ko. If unsure, say `N'.
config NETFILTER_XT_TARGET_DSCP
tristate '"DSCP" and "TOS" target support'
depends on NETFILTER_XTABLES
-@@ -661,6 +677,14 @@
+@@ -661,6 +677,14 @@ config NETFILTER_XT_MATCH_POLICY
To compile it as a module, choose M here. If unsure, say N.
depends on NETFILTER_XTABLES
--- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile
-@@ -51,6 +51,8 @@
+@@ -51,6 +51,8 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK
obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o
obj-$(CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP) += xt_TCPOPTSTRIP.o
obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) += xt_TRACE.o
# matches
obj-$(CONFIG_NETFILTER_XT_MATCH_COMMENT) += xt_comment.o
-@@ -84,3 +86,4 @@
+@@ -84,3 +86,4 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_STRING)
obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS) += xt_tcpmss.o
obj-$(CONFIG_NETFILTER_XT_MATCH_TIME) += xt_time.o
obj-$(CONFIG_NETFILTER_XT_MATCH_U32) += xt_u32.o
+MODULE_ALIAS("ipt_portscan");
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
-@@ -1555,6 +1555,8 @@
+@@ -1555,6 +1555,8 @@ __u32 secure_tcp_sequence_number(__be32
return seq;
}
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -457,6 +457,23 @@
+@@ -457,6 +457,23 @@ config NETFILTER_XT_TARGET_CONNSECMARK
To compile it as a module, choose M here. If unsure, say N.
depends on NETFILTER_XTABLES && (IPV6 || IPV6=n)
--- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile
-@@ -48,6 +48,7 @@
+@@ -48,6 +48,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NFQUEUE
obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK) += xt_NOTRACK.o
obj-$(CONFIG_NETFILTER_XT_TARGET_RATEEST) += xt_RATEEST.o
obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -165,7 +165,7 @@
+@@ -165,7 +165,7 @@ config NF_CONNTRACK_FTP
config NF_CONNTRACK_H323
tristate "H.323 protocol support"
depends on NETFILTER_ADVANCED
help
H.323 is a VoIP signalling protocol from ITU-T. As one of the most
-@@ -476,7 +476,7 @@
+@@ -476,7 +476,7 @@ config NETFILTER_XT_TARGET_TARPIT
config NETFILTER_XT_TARGET_TCPMSS
tristate '"TCPMSS" target support'
+#endif /* _NETFILTER_MIME_H */
--- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile
-@@ -23,6 +23,7 @@
+@@ -23,6 +23,7 @@ obj-$(CONFIG_NF_NAT_AMANDA) += nf_nat_am
obj-$(CONFIG_NF_NAT_FTP) += nf_nat_ftp.o
obj-$(CONFIG_NF_NAT_H323) += nf_nat_h323.o
obj-$(CONFIG_NF_NAT_IRC) += nf_nat_irc.o
obj-$(CONFIG_NF_NAT_SNMP_BASIC) += nf_nat_snmp_basic.o
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -278,6 +278,16 @@
+@@ -278,6 +278,16 @@ config NF_CONNTRACK_TFTP
To compile it as a module, choose M here. If unsure, say N.
depends on NF_CONNTRACK
--- a/net/netfilter/Makefile
+++ b/net/netfilter/Makefile
-@@ -33,6 +33,7 @@
+@@ -33,6 +33,7 @@ obj-$(CONFIG_NF_CONNTRACK_PPTP) += nf_co
obj-$(CONFIG_NF_CONNTRACK_SANE) += nf_conntrack_sane.o
obj-$(CONFIG_NF_CONNTRACK_SIP) += nf_conntrack_sip.o
obj-$(CONFIG_NF_CONNTRACK_TFTP) += nf_conntrack_tftp.o
obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o
--- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig
-@@ -303,6 +303,11 @@
+@@ -303,6 +303,11 @@ config NF_NAT_IRC
depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT
default NF_NAT && NF_CONNTRACK_IRC
--- a/include/linux/pkt_sched.h
+++ b/include/linux/pkt_sched.h
-@@ -173,8 +173,37 @@
+@@ -173,8 +173,37 @@ struct tc_sfq_xstats
*
* The only reason for this is efficiency, it is possible
* to change these parameters in compile time.
enum
--- a/net/sched/Kconfig
+++ b/net/sched/Kconfig
-@@ -128,6 +128,37 @@
+@@ -128,6 +128,37 @@ config NET_SCH_SFQ
To compile this code as a module, choose M here: the
module will be called sch_sfq.
---help---
--- a/net/sched/Makefile
+++ b/net/sched/Makefile
-@@ -23,6 +23,7 @@
+@@ -23,6 +23,7 @@ obj-$(CONFIG_NET_SCH_GRED) += sch_gred.o
obj-$(CONFIG_NET_SCH_INGRESS) += sch_ingress.o
obj-$(CONFIG_NET_SCH_DSMARK) += sch_dsmark.o
obj-$(CONFIG_NET_SCH_SFQ) += sch_sfq.o
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -577,6 +577,9 @@
+@@ -577,6 +577,9 @@ core-$(CONFIG_TOSHIBA_RBTX4927) += arch/
#
core-$(CONFIG_TOSHIBA_RBTX4938) += arch/mips/txx9/rbtx4938/
--- a/fs/jffs2/build.c
+++ b/fs/jffs2/build.c
-@@ -111,6 +111,17 @@
+@@ -111,6 +111,17 @@ static int jffs2_build_filesystem(struct
dbg_fsbuild("scanned flash completely\n");
jffs2_dbg_dump_block_lists_nolock(c);
/* Now scan the directory tree, increasing nlink according to every dirent found. */
--- a/fs/jffs2/scan.c
+++ b/fs/jffs2/scan.c
-@@ -72,7 +72,7 @@
+@@ -72,7 +72,7 @@ static int file_dirty(struct jffs2_sb_in
return ret;
if ((ret = jffs2_scan_dirty_space(c, jeb, jeb->free_size)))
return ret;
think it's recoverable now. */
jeb->dirty_size += jeb->wasted_size;
c->dirty_size += jeb->wasted_size;
-@@ -144,8 +144,11 @@
+@@ -144,8 +144,11 @@ int jffs2_scan_medium(struct jffs2_sb_in
/* reset summary info for next eraseblock scan */
jffs2_sum_reset_collected(s);
if (ret < 0)
goto out;
-@@ -400,7 +403,7 @@
+@@ -400,7 +403,7 @@ static int jffs2_scan_xref_node(struct j
if (!ref)
return -ENOMEM;
* and AFTER xattr_ref is marked as a dead xref,
* ref->xid is used to store 32bit xid, xd is not used
* ref->ino is used to store 32bit inode-number, ic is not used
-@@ -473,7 +476,7 @@
+@@ -473,7 +476,7 @@ static int jffs2_scan_eraseblock (struct
struct jffs2_sum_marker *sm;
void *sumptr = NULL;
uint32_t sumlen;
if (!buf_size) {
/* XIP case. Just look, point at the summary if it's there */
sm = (void *)buf + c->sector_size - sizeof(*sm);
-@@ -489,9 +492,9 @@
+@@ -489,9 +492,9 @@ static int jffs2_scan_eraseblock (struct
buf_len = sizeof(*sm);
/* Read as much as we want into the _end_ of the preallocated buffer */
if (err)
return err;
-@@ -510,9 +513,9 @@
+@@ -510,9 +513,9 @@ static int jffs2_scan_eraseblock (struct
}
if (buf_len < sumlen) {
/* Need to read more so that the entire summary node is present */
if (err)
return err;
}
-@@ -525,7 +528,7 @@
+@@ -525,7 +528,7 @@ static int jffs2_scan_eraseblock (struct
if (buf_size && sumlen > buf_size)
kfree(sumptr);
If it returns positive, that's a block classification
(i.e. BLK_STATE_xxx) so return that too.
If it returns zero, fall through to full scan. */
-@@ -546,6 +549,17 @@
+@@ -546,6 +549,17 @@ static int jffs2_scan_eraseblock (struct
return err;
}
/* We temporarily use 'ofs' as a pointer into the buffer/jeb */
ofs = 0;
-@@ -671,7 +685,7 @@
+@@ -671,7 +685,7 @@ scan_more:
scan_end = buf_len;
goto more_empty;
}
/* See how much more there is to read in this eraseblock... */
buf_len = min_t(uint32_t, buf_size, jeb->offset + c->sector_size - ofs);
if (!buf_len) {
-@@ -907,7 +921,7 @@
+@@ -907,7 +921,7 @@ scan_more:
D1(printk(KERN_DEBUG "Block at 0x%08x: free 0x%08x, dirty 0x%08x, unchecked 0x%08x, used 0x%08x, wasted 0x%08x\n",
jeb->offset,jeb->free_size, jeb->dirty_size, jeb->unchecked_size, jeb->used_size, jeb->wasted_size));
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
-@@ -1519,7 +1519,7 @@
+@@ -1519,7 +1519,7 @@ static const struct rtl_cfg_info {
.hw_start = rtl_hw_start_8169,
.region = 1,
.align = 0,
RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
.napi_event = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow,
.msi = 0
-@@ -1528,7 +1528,7 @@
+@@ -1528,7 +1528,7 @@ static const struct rtl_cfg_info {
.hw_start = rtl_hw_start_8168,
.region = 2,
.align = 8,
TxErr | TxOK | RxOK | RxErr,
.napi_event = TxErr | TxOK | RxOK | RxOverflow,
.msi = RTL_FEATURE_MSI
-@@ -1537,7 +1537,7 @@
+@@ -1537,7 +1537,7 @@ static const struct rtl_cfg_info {
.hw_start = rtl_hw_start_8101,
.region = 2,
.align = 8,
RxFIFOOver | TxErr | TxOK | RxOK | RxErr,
.napi_event = RxFIFOOver | TxErr | TxOK | RxOK | RxOverflow,
.msi = RTL_FEATURE_MSI
-@@ -2873,10 +2873,12 @@
+@@ -2873,10 +2873,12 @@ static irqreturn_t rtl8169_interrupt(int
goto out;
}
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -1430,6 +1430,9 @@
+@@ -1430,6 +1430,9 @@ config VXFS_FS
To compile this as a module, choose M here: the module will be
called freevxfs. If unsure, say N.
depends on BLOCK
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -78,6 +78,7 @@
+@@ -78,6 +78,7 @@ obj-$(CONFIG_SQUASHFS) += squashfs/
obj-y += ramfs/
obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
obj-$(CONFIG_CODA_FS) += coda/
--- a/fs/mini_fo/main.c
+++ b/fs/mini_fo/main.c
-@@ -79,6 +79,7 @@
+@@ -79,6 +79,7 @@ mini_fo_tri_interpose(dentry_t *hidden_d
* of the new inode's fields
*/
/*
* original: inode = iget(sb, hidden_inode->i_ino);
*/
-@@ -87,6 +88,13 @@
+@@ -87,6 +88,13 @@ mini_fo_tri_interpose(dentry_t *hidden_d
err = -EACCES; /* should be impossible??? */
goto out;
}
/*
* interpose the inode if not already interposed
-@@ -184,9 +192,9 @@
+@@ -184,9 +192,9 @@ mini_fo_parse_options(super_block_t *sb,
hidden_root = ERR_PTR(err);
goto out;
}
} else if(!strncmp("sto=", options, 4)) {
/* parse the storage dir */
-@@ -204,9 +212,9 @@
+@@ -204,9 +212,9 @@ mini_fo_parse_options(super_block_t *sb,
hidden_root2 = ERR_PTR(err);
goto out;
}
/* validate storage dir, this is done in
--- a/fs/mini_fo/mini_fo.h
+++ b/fs/mini_fo/mini_fo.h
-@@ -302,6 +302,10 @@
+@@ -302,6 +302,10 @@ extern int mini_fo_tri_interpose(dentry_
extern int mini_fo_cp_cont(dentry_t *tgt_dentry, struct vfsmount *tgt_mnt,
dentry_t *src_dentry, struct vfsmount *src_mnt);
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
extern int mini_fo_create(inode_t *dir, dentry_t *dentry, int mode, struct nameidata *nd);
-@@ -501,6 +505,29 @@
+@@ -501,6 +505,29 @@ static inline void double_unlock(struct
#endif /* if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0) */
#endif /* __KERNEL__ */
*/
--- a/fs/mini_fo/super.c
+++ b/fs/mini_fo/super.c
-@@ -262,10 +262,31 @@
+@@ -262,10 +262,31 @@ mini_fo_umount_begin(super_block_t *sb)
}
#endif
#endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
--- a/fs/mini_fo/aux.c
+++ b/fs/mini_fo/aux.c
-@@ -164,11 +164,11 @@
+@@ -164,11 +164,11 @@ dentry_t *bpath_walk(super_block_t *sb,
err = vfs_path_lookup(mnt->mnt_root, mnt, bpath+1, 0, &nd);
/* validate */
--- a/fs/mini_fo/meta.c
+++ b/fs/mini_fo/meta.c
-@@ -442,6 +442,11 @@
+@@ -442,6 +442,11 @@ int meta_write_d_entry(dentry_t *dentry,
S_IRUSR | S_IWUSR);
#endif
}
/* open META-file for writing */
meta_file = dentry_open(meta_dentry, meta_mnt, 0x1);
if(!meta_file || IS_ERR(meta_file)) {
-@@ -535,6 +540,11 @@
+@@ -535,6 +540,11 @@ int meta_write_r_entry(dentry_t *dentry,
meta_dentry, S_IRUSR | S_IWUSR);
#endif
}
/* open META-file for writing */
meta_file = dentry_open(meta_dentry, meta_mnt, 0x1);
if(!meta_file || IS_ERR(meta_file)) {
-@@ -671,14 +681,16 @@
+@@ -671,14 +681,16 @@ int meta_sync_d_list(dentry_t *dentry, i
}
}
dput(meta_dentry);
err = -1;
goto out;
-@@ -811,14 +823,16 @@
+@@ -811,14 +823,16 @@ int meta_sync_r_list(dentry_t *dentry, i
}
}
--- a/fs/mini_fo/super.c
+++ b/fs/mini_fo/super.c
-@@ -84,6 +84,7 @@
+@@ -84,6 +84,7 @@ mini_fo_write_inode(inode_t *inode, int
#endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
STATIC void
mini_fo_put_inode(inode_t *inode)
{
-@@ -99,6 +100,7 @@
+@@ -99,6 +100,7 @@ mini_fo_put_inode(inode_t *inode)
if (atomic_read(&inode->i_count) == 1)
inode->i_nlink = 0;
}
#if defined(FIST_DEBUG) || defined(FIST_FILTER_SCA)
-@@ -238,7 +240,7 @@
+@@ -238,7 +240,7 @@ mini_fo_clear_inode(inode_t *inode)
* dies.
*/
STATIC void
mini_fo_umount_begin(struct vfsmount *mnt, int flags)
{
struct vfsmount *hidden_mnt;
-@@ -290,7 +292,9 @@
+@@ -290,7 +292,9 @@ struct super_operations mini_fo_sops =
#if defined(FIST_DEBUG) || defined(FIST_FILTER_SCA)
write_inode: mini_fo_write_inode,
#endif /* defined(FIST_DEBUG) || defined(FIST_FILTER_SCA) */
--- a/fs/mini_fo/inode.c
+++ b/fs/mini_fo/inode.c
-@@ -439,7 +439,7 @@
+@@ -439,7 +439,7 @@ mini_fo_symlink(inode_t *dir, dentry_t *
int err=0;
dentry_t *hidden_sto_dentry;
dentry_t *hidden_sto_dir_dentry;
umode_t mode;
#endif
-@@ -466,7 +466,7 @@
+@@ -466,7 +466,7 @@ mini_fo_symlink(inode_t *dir, dentry_t *
down(&hidden_sto_dir_dentry->d_inode->i_sem);
#endif
mode = S_IALLUGO;
err = vfs_symlink(hidden_sto_dir_dentry->d_inode,
hidden_sto_dentry, symname, mode);
-@@ -1128,7 +1128,7 @@
+@@ -1128,7 +1128,7 @@ void mini_fo_put_link(struct dentry *den
#endif
STATIC int
mini_fo_permission(inode_t *inode, int mask, struct nameidata *nd)
#else
mini_fo_permission(inode_t *inode, int mask)
-@@ -1150,8 +1150,9 @@
+@@ -1150,8 +1150,9 @@ mini_fo_permission(inode_t *inode, int m
* if (err)
* goto out;
*/
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
-@@ -29,7 +29,8 @@
+@@ -29,7 +29,8 @@ u64 uevent_seqnum;
char uevent_helper[UEVENT_HELPER_PATH_LEN] = CONFIG_UEVENT_HELPER_PATH;
static DEFINE_SPINLOCK(sequence_lock);
#if defined(CONFIG_NET)
#endif
/* the strings here must match the enum in include/linux/kobject.h */
-@@ -42,6 +43,18 @@
+@@ -42,6 +43,18 @@ static const char *kobject_actions[] = {
[KOBJ_OFFLINE] = "offline",
};
/**
* kobject_action_type - translate action string to numeric type
*
-@@ -194,9 +207,7 @@
+@@ -194,9 +207,7 @@ int kobject_uevent_env(struct kobject *k
kobj->state_remove_uevent_sent = 1;
/* we will send an event, so request a new sequence number */
--- a/sound/core/Kconfig
+++ b/sound/core/Kconfig
-@@ -7,7 +7,7 @@
+@@ -7,7 +7,7 @@ config SND_PCM
select SND_TIMER
config SND_HWDEP
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -206,4 +206,8 @@
+@@ -206,4 +206,8 @@ config LEDS_TRIGGER_DEFAULT_ON
This allows LEDs to be initialised in the ON state.
If unsure, say Y.
endif # NEW_LEDS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -29,3 +29,4 @@
+@@ -29,3 +29,4 @@ obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledt
obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -77,6 +77,12 @@
+@@ -77,6 +77,12 @@ config LEDS_WRAP
help
This option enables support for the PCEngines WRAP programmable LEDs.
depends on LEDS_CLASS && ARCH_H1940
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -13,6 +13,7 @@
+@@ -13,6 +13,7 @@ obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c2
obj-$(CONFIG_LEDS_AMS_DELTA) += leds-ams-delta.o
obj-$(CONFIG_LEDS_NET48XX) += leds-net48xx.o
obj-$(CONFIG_LEDS_WRAP) += leds-wrap.o
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -216,4 +216,11 @@
+@@ -216,4 +216,11 @@ config LEDS_TRIGGER_MORSE
tristate "LED Morse Trigger"
depends on LEDS_TRIGGERS
endif # NEW_LEDS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -31,3 +31,4 @@
+@@ -31,3 +31,4 @@ obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += l
obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o
obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o
--- a/drivers/input/misc/Kconfig
+++ b/drivers/input/misc/Kconfig
-@@ -207,4 +207,20 @@
+@@ -207,4 +207,20 @@ config HP_SDC_RTC
Say Y here if you want to support the built-in real time clock
of the HP SDC controller.
endif
--- a/drivers/input/misc/Makefile
+++ b/drivers/input/misc/Makefile
-@@ -20,3 +20,4 @@
+@@ -20,3 +20,4 @@ obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.
obj-$(CONFIG_INPUT_UINPUT) += uinput.o
obj-$(CONFIG_INPUT_APANEL) += apanel.o
obj-$(CONFIG_INPUT_SGI_BTNS) += sgi_btns.o
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
-@@ -1010,6 +1010,13 @@
+@@ -1010,6 +1010,13 @@ config CS5535_GPIO
If compiled as a module, it will be called cs5535_gpio.
depends on CPU_VR41XX
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
-@@ -94,6 +94,7 @@
+@@ -94,6 +94,7 @@ obj-$(CONFIG_SCx200_GPIO) += scx200_gpio
obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o
obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o
obj-$(CONFIG_CS5535_GPIO) += cs5535_gpio.o
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -421,6 +421,7 @@
+@@ -421,6 +421,7 @@ config FS_POSIX_ACL
source "fs/xfs/Kconfig"
source "fs/gfs2/Kconfig"
tristate "OCFS2 file system support"
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -124,3 +124,4 @@
+@@ -124,3 +124,4 @@ obj-$(CONFIG_HPPFS) += hppfs/
obj-$(CONFIG_DEBUG_FS) += debugfs/
obj-$(CONFIG_OCFS2_FS) += ocfs2/
obj-$(CONFIG_GFS2_FS) += gfs2/
--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
-@@ -181,7 +181,13 @@
+@@ -181,7 +181,13 @@ static int yaffs_statfs(struct super_blo
#else
static int yaffs_statfs(struct super_block *sb, struct statfs *buf);
#endif
static void yaffs_put_inode(struct inode *inode);
static void yaffs_delete_inode(struct inode *);
-@@ -284,7 +290,9 @@
+@@ -284,7 +290,9 @@ static struct file_operations yaffs_dir_
static struct super_operations yaffs_super_ops = {
.statfs = yaffs_statfs,
.put_inode = yaffs_put_inode,
.put_super = yaffs_put_super,
.delete_inode = yaffs_delete_inode,
-@@ -844,11 +852,17 @@
+@@ -844,11 +852,17 @@ struct inode *yaffs_get_inode(struct sup
T(YAFFS_TRACE_OS,
(KERN_DEBUG "yaffs_get_inode for object %d\n", obj->objectId));
return inode;
}
-@@ -1427,6 +1441,39 @@
+@@ -1427,6 +1441,39 @@ static int yaffs_sync_fs(struct super_bl
}
static void yaffs_read_inode(struct inode *inode)
{
/* NB This is called as a side effect of other functions, but
-@@ -1448,6 +1495,7 @@
+@@ -1448,6 +1495,7 @@ static void yaffs_read_inode(struct inod
yaffs_GrossUnlock(dev);
}
--- a/fs/yaffs2/yaffs_fs.c
+++ b/fs/yaffs2/yaffs_fs.c
-@@ -76,6 +76,12 @@
+@@ -76,6 +76,12 @@ extern const char *yaffs_guts_c_version;
#endif
#if (LINUX_VERSION_CODE > KERNEL_VERSION(2,6,17))
#define WRITE_SIZE_STR "writesize"
#define WRITE_SIZE(mtd) (mtd)->writesize
-@@ -189,7 +195,9 @@
+@@ -189,7 +195,9 @@ static void yaffs_read_inode(struct inod
#endif
static void yaffs_delete_inode(struct inode *);
static void yaffs_clear_inode(struct inode *);
-@@ -293,7 +301,9 @@
+@@ -293,7 +301,9 @@ static struct super_operations yaffs_sup
#if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25))
.read_inode = yaffs_read_inode,
#endif
.put_super = yaffs_put_super,
.delete_inode = yaffs_delete_inode,
.clear_inode = yaffs_clear_inode,
-@@ -437,6 +447,7 @@
+@@ -437,6 +447,7 @@ static struct dentry *yaffs_lookup(struc
}
/* For now put inode is just for debugging
* Put inode is called when the inode **structure** is put.
*/
-@@ -447,6 +458,7 @@
+@@ -447,6 +458,7 @@ static void yaffs_put_inode(struct inode
atomic_read(&inode->i_count)));
}
/* clear is called to tell the fs to release any per-inode data it holds */
static void yaffs_clear_inode(struct inode *inode)
-@@ -2279,7 +2291,7 @@
+@@ -2279,7 +2291,7 @@ static int __init init_yaffs_fs(void)
/* Install the proc_fs entry */
my_proc_entry = create_proc_entry("yaffs",
S_IRUGO | S_IFREG,
if (my_proc_entry) {
my_proc_entry->write_proc = yaffs_proc_write;
-@@ -2325,7 +2337,7 @@
+@@ -2325,7 +2337,7 @@ static void __exit exit_yaffs_fs(void)
T(YAFFS_TRACE_ALWAYS, ("yaffs " __DATE__ " " __TIME__
" removing. \n"));
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -348,6 +348,50 @@
+@@ -348,6 +348,50 @@ int phy_ethtool_gset(struct phy_device *
}
EXPORT_SYMBOL(phy_ethtool_gset);
/**
* phy_mii_ioctl - generic PHY MII ioctl interface
* @phydev: the phy_device struct
-@@ -403,8 +447,8 @@
+@@ -403,8 +447,8 @@ int phy_mii_ioctl(struct phy_device *phy
}
phy_write(phydev, mii_data->reg_num, val);
&& val & BMCR_RESET
&& phydev->drv->config_init) {
phy_scan_fixups(phydev);
-@@ -524,7 +568,7 @@
+@@ -524,7 +568,7 @@ static void phy_force_reduction(struct p
int idx;
idx = phy_find_setting(phydev->speed, phydev->duplex);
idx = phy_find_valid(idx, phydev->supported);
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -434,6 +434,7 @@
+@@ -434,6 +434,7 @@ void phy_start_machine(struct phy_device
void phy_stop_machine(struct phy_device *phydev);
int phy_ethtool_sset(struct phy_device *phydev, struct ethtool_cmd *cmd);
int phy_ethtool_gset(struct phy_device *phydev, struct ethtool_cmd *cmd);
--- a/drivers/net/phy/mdio_bus.c
+++ b/drivers/net/phy/mdio_bus.c
-@@ -135,6 +135,9 @@
+@@ -135,6 +135,9 @@ static int mdio_bus_match(struct device
struct phy_device *phydev = to_phy_device(dev);
struct phy_driver *phydrv = to_phy_driver(drv);
}
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -339,6 +339,11 @@
+@@ -339,6 +339,11 @@ struct phy_driver {
u32 features;
u32 flags;
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -66,6 +66,11 @@
+@@ -66,6 +66,11 @@ config REALTEK_PHY
---help---
Supports the Realtek 821x PHY.
depends on PHYLIB=y
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
-@@ -12,6 +12,7 @@
+@@ -12,6 +12,7 @@ obj-$(CONFIG_SMSC_PHY) += smsc.o
obj-$(CONFIG_VITESSE_PHY) += vitesse.o
obj-$(CONFIG_BROADCOM_PHY) += broadcom.o
obj-$(CONFIG_ICPLUS_PHY) += icplus.o
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
-@@ -143,6 +143,18 @@
+@@ -143,6 +143,18 @@ int phy_scan_fixups(struct phy_device *p
}
EXPORT_SYMBOL(phy_scan_fixups);
struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id)
{
struct phy_device *dev;
-@@ -168,6 +180,8 @@
+@@ -168,6 +180,8 @@ struct phy_device* phy_device_create(str
dev->bus = bus;
dev->state = PHY_DOWN;
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -309,6 +309,17 @@
+@@ -309,6 +309,17 @@ struct phy_device {
void (*adjust_link)(struct net_device *dev);
void (*adjust_state)(struct net_device *dev);
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -613,6 +613,7 @@
+@@ -613,6 +613,7 @@ struct net_device
void *ax25_ptr; /* AX.25 specific data */
struct wireless_dev *ieee80211_ptr; /* IEEE 802.11 specific data,
assign before registering */
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -71,6 +71,12 @@
+@@ -71,6 +71,12 @@ config ADM6996_PHY
---help---
Currently supports the ADM6996F switch
depends on PHYLIB=y
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
-@@ -13,6 +13,7 @@
+@@ -13,6 +13,7 @@ obj-$(CONFIG_VITESSE_PHY) += vitesse.o
obj-$(CONFIG_BROADCOM_PHY) += broadcom.o
obj-$(CONFIG_ICPLUS_PHY) += icplus.o
obj-$(CONFIG_ADM6996_PHY) += adm6996.o
/**
* mdiobus_register - bring up all the PHYs on a given bus and attach them to bus
* @bus: target mii_bus
-@@ -85,6 +91,7 @@
+@@ -85,6 +91,7 @@ int mdiobus_register(struct mii_bus *bus
phydev->dev.parent = bus->dev;
phydev->dev.bus = &mdio_bus_type;
--- a/drivers/usb/serial/usb-serial.c
+++ b/drivers/usb/serial/usb-serial.c
-@@ -59,6 +59,7 @@
+@@ -59,6 +59,7 @@ static struct usb_driver usb_serial_driv
drivers depend on it.
*/
static int debug;
/* initially all NULL */
static struct usb_serial *serial_table[SERIAL_TTY_MINORS];
-@@ -835,7 +836,7 @@
+@@ -835,7 +836,7 @@ int usb_serial_probe(struct usb_interfac
dev_err(&interface->dev, "No free urbs available\n");
goto probe_error;
}
port->bulk_in_size = buffer_size;
port->bulk_in_endpointAddress = endpoint->bEndpointAddress;
port->bulk_in_buffer = kmalloc(buffer_size, GFP_KERNEL);
-@@ -1255,3 +1256,5 @@
+@@ -1255,3 +1256,5 @@ MODULE_LICENSE("GPL");
module_param(debug, bool, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(debug, "Debug enabled or not");
--- a/init/main.c
+++ b/init/main.c
-@@ -801,7 +801,7 @@
+@@ -801,7 +801,7 @@ static int noinline init_post(void)
numa_default_policy();
if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
#include <linux/types.h>
#ifdef __KERNEL__
-@@ -228,4 +232,6 @@
+@@ -228,4 +232,6 @@ struct itimerval {
*/
#define TIMER_ABSTIME 0x01
#ifdef __KERNEL__
#define DECLARE_BITMAP(name,bits) \
-@@ -161,6 +169,8 @@
+@@ -161,6 +169,8 @@ typedef unsigned long blkcnt_t;
#endif /* __KERNEL_STRICT_NAMES */
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
-@@ -93,6 +93,9 @@
+@@ -93,6 +93,9 @@ check-lxdialog := $(srctree)/$(src)/lxd
# we really need to do so. (Do not call gcc as part of make mrproper)
HOST_EXTRACFLAGS = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags)
HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
--- a/drivers/net/wireless/hostap/hostap_ap.c
+++ b/drivers/net/wireless/hostap/hostap_ap.c
-@@ -2397,13 +2397,13 @@
+@@ -2397,13 +2397,13 @@ int prism2_ap_get_sta_qual(local_info_t
addr[count].sa_family = ARPHRD_ETHER;
memcpy(addr[count].sa_data, sta->addr, ETH_ALEN);
if (sta->last_rx_silence == 0)
qual[count].updated = sta->last_rx_updated;
sta->last_rx_updated = IW_QUAL_DBM;
-@@ -2469,13 +2469,13 @@
+@@ -2469,13 +2469,13 @@ int prism2_ap_translate_scan(struct net_
memset(&iwe, 0, sizeof(iwe));
iwe.cmd = IWEVQUAL;
if (sta->last_rx_silence == 0)
#endif /* HOSTAP_CONFIG_H */
--- a/drivers/net/wireless/hostap/hostap.h
+++ b/drivers/net/wireless/hostap/hostap.h
-@@ -90,6 +90,7 @@
+@@ -90,6 +90,7 @@ extern const struct iw_handler_def hosta
extern const struct ethtool_ops prism2_ethtool_ops;
int hostap_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
#endif /* HOSTAP_H */
--- a/drivers/net/wireless/hostap/hostap_hw.c
+++ b/drivers/net/wireless/hostap/hostap_hw.c
-@@ -933,6 +933,7 @@
+@@ -933,6 +933,7 @@ static int hfa384x_set_rid(struct net_de
prism2_hw_reset(dev);
}
--- a/drivers/net/wireless/hostap/hostap_info.c
+++ b/drivers/net/wireless/hostap/hostap_info.c
-@@ -434,6 +434,11 @@
+@@ -434,6 +434,11 @@ static void handle_info_queue_linkstatus
}
/* Get BSSID if we have a valid AP address */
netif_carrier_on(local->ddev);
--- a/drivers/net/wireless/hostap/hostap_ioctl.c
+++ b/drivers/net/wireless/hostap/hostap_ioctl.c
-@@ -1502,23 +1502,20 @@
+@@ -1502,23 +1502,20 @@ static int prism2_txpower_hfa386x_to_dBm
val = 255;
tmp = val;
return (unsigned char) tmp;
}
-@@ -4083,3 +4080,35 @@
+@@ -4083,3 +4080,35 @@ int hostap_ioctl(struct net_device *dev,
return ret;
}
--- a/include/linux/stddef.h
+++ b/include/linux/stddef.h
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ enum {
false = 0,
true = 1
};
#undef offsetof
#ifdef __compiler_offsetof
-@@ -23,6 +24,5 @@
+@@ -23,6 +24,5 @@ enum {
#else
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
#endif
+MODULE_LICENSE("GPL v2");
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -100,6 +100,19 @@
+@@ -100,6 +100,19 @@ config SPI_BUTTERFLY
inexpensive battery powered microcontroller evaluation board.
This same cable can be used to flash new firmware.
depends on ARCH_IMX && EXPERIMENTAL
--- a/drivers/spi/Makefile
+++ b/drivers/spi/Makefile
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_BFIN) += spi_bfin5xx.
obj-$(CONFIG_SPI_BITBANG) += spi_bitbang.o
obj-$(CONFIG_SPI_AU1550) += au1550_spi.o
obj-$(CONFIG_SPI_BUTTERFLY) += spi_butterfly.o
obj-$(CONFIG_SPI_PXA2XX) += pxa2xx_spi.o
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -3854,6 +3854,11 @@
+@@ -3854,6 +3854,11 @@ L: cbe-oss-dev@ozlabs.org
W: http://www.ibm.com/developerworks/power/cell/
S: Supported
+module_exit(gpiommc_modexit);
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
-@@ -180,3 +180,28 @@
+@@ -180,3 +180,28 @@ config MMC_TMIO
help
This provides support for the SD/MMC cell found in TC6393XB,
T7L66XB and also ipaq ASIC3
+ if configfs is available.
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
-@@ -22,4 +22,5 @@
+@@ -22,4 +22,5 @@ obj-$(CONFIG_MMC_SPI) += mmc_spi.o
obj-$(CONFIG_MMC_S3C) += s3cmci.o
obj-$(CONFIG_MMC_SDRICOH_CS) += sdricoh_cs.o
obj-$(CONFIG_MMC_TMIO) += tmio_mmc.o
+be done automatically.
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -1833,6 +1833,11 @@
+@@ -1833,6 +1833,11 @@ L: gigaset307x-common@lists.sourceforge.
W: http://gigaset307x.sourceforge.net/
S: Maintained
--- a/drivers/mmc/host/gpiommc.c
+++ b/drivers/mmc/host/gpiommc.c
-@@ -143,6 +143,8 @@
+@@ -143,6 +143,8 @@ struct gpiommc_configfs_device {
struct platform_device *pdev;
/* The configuration */
struct gpiommc_platform_data pdata;
};
#define GPIO_INVALID -1
-@@ -233,6 +235,8 @@
+@@ -233,6 +235,8 @@ static ssize_t gpiommc_config_attr_show(
unsigned int gpio;
int err = 0;
if (attr == &gpiommc_attr_DI) {
gpio = dev->pdata.pins.gpio_di;
if (gpio == GPIO_INVALID)
-@@ -293,6 +297,8 @@
+@@ -293,6 +297,8 @@ static ssize_t gpiommc_config_attr_show(
WARN_ON(1);
err = -ENOSYS;
out:
return err ? err : count;
}
-@@ -352,6 +358,8 @@
+@@ -352,6 +358,8 @@ static ssize_t gpiommc_config_attr_store
int err = -EINVAL;
unsigned long data;
if (attr == &gpiommc_attr_register) {
err = strict_strtoul(page, 10, &data);
if (err)
-@@ -477,6 +485,8 @@
+@@ -477,6 +485,8 @@ static ssize_t gpiommc_config_attr_store
WARN_ON(1);
err = -ENOSYS;
out:
return err ? err : count;
}
-@@ -513,6 +523,7 @@
+@@ -513,6 +523,7 @@ static struct config_item *gpiommc_make_
if (!dev)
return NULL;
--- a/include/linux/netfilter/xt_sctp.h
+++ b/include/linux/netfilter/xt_sctp.h
-@@ -37,54 +37,68 @@
+@@ -37,54 +37,68 @@ struct xt_sctp_info {
#define SCTP_CHUNKMAP_SET(chunkmap, type) \
do { \
-#endif
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
-@@ -53,7 +53,7 @@
+@@ -53,7 +53,7 @@ $(addprefix $(obj)/,$(zlib) cuboot-c2k.o
$(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader))
src-libfdt := fdt.c fdt_ro.c fdt_wip.c fdt_sw.c fdt_rw.c fdt_strerror.c
gunzip_util.c elf_util.c $(zlib) devtree.c oflib.c ofconsole.c \
--- a/arch/powerpc/kernel/prom_init_check.sh
+++ b/arch/powerpc/kernel/prom_init_check.sh
-@@ -48,20 +48,6 @@
+@@ -48,20 +48,6 @@ do
fi
done
-#endif
--- a/arch/powerpc/lib/Makefile
+++ b/arch/powerpc/lib/Makefile
-@@ -8,7 +8,7 @@
+@@ -8,7 +8,7 @@ endif
obj-y := string.o alloc.o \
checksum_$(CONFIG_WORD_SIZE).o
obj-$(CONFIG_PPC64) += copypage_64.o copyuser_64.o \
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
-@@ -90,8 +90,6 @@
+@@ -90,8 +90,6 @@ endif
else
KBUILD_CFLAGS += $(call cc-option,-mtune=power4)
endif
struct xt_string_info
{
u_int16_t from_offset;
-@@ -16,15 +11,7 @@
+@@ -16,15 +11,7 @@ struct xt_string_info
char algo[XT_STRING_MAX_ALGO_NAME_SIZE];
char pattern[XT_STRING_MAX_PATTERN_SIZE];
u_int8_t patlen;
struct ts_config __attribute__((aligned(8))) *config;
--- a/net/netfilter/xt_string.c
+++ b/net/netfilter/xt_string.c
-@@ -29,16 +29,12 @@
+@@ -29,16 +29,12 @@ string_mt(const struct sk_buff *skb, con
{
const struct xt_string_info *conf = matchinfo;
struct ts_state state;
}
#define STRING_TEXT_PRIV(m) ((struct xt_string_info *)(m))
-@@ -50,7 +46,6 @@
+@@ -50,7 +46,6 @@ string_mt_check(const char *tablename, c
{
struct xt_string_info *conf = matchinfo;
struct ts_config *ts_conf;
/* Damn, can't handle this case properly with iptables... */
if (conf->from_offset > conf->to_offset)
-@@ -59,15 +54,8 @@
+@@ -59,15 +54,8 @@ string_mt_check(const char *tablename, c
return false;
if (conf->patlen > XT_STRING_MAX_PATTERN_SIZE)
return false;
if (IS_ERR(ts_conf))
return false;
-@@ -84,17 +72,6 @@
+@@ -84,17 +72,6 @@ static void string_mt_destroy(const stru
static struct xt_match string_mt_reg[] __read_mostly = {
{
.name = "string",
.family = AF_INET,
.checkentry = string_mt_check,
.match = string_mt,
-@@ -104,17 +81,6 @@
+@@ -104,17 +81,6 @@ static struct xt_match string_mt_reg[] _
},
{
.name = "string",
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
-@@ -669,3 +669,6 @@
+@@ -669,3 +669,6 @@ config CRYPTO_LZO
source "drivers/crypto/Kconfig"
endif # if CRYPTO
+
--- a/crypto/Makefile
+++ b/crypto/Makefile
-@@ -72,6 +72,8 @@
+@@ -72,6 +72,8 @@ obj-$(CONFIG_CRYPTO_LZO) += lzo.o
obj-$(CONFIG_CRYPTO_TEST) += tcrypt.o
* All of these routines try to estimate how many bits of randomness a
* particular randomness source. They do this by keeping track of the
* first and second order deltas of the event timings.
-@@ -668,6 +678,61 @@
+@@ -668,6 +678,61 @@ void add_disk_randomness(struct gendisk
}
#endif
/*********************************************************************
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
-@@ -139,6 +139,7 @@
+@@ -139,6 +139,7 @@ asmlinkage long sys_dup(unsigned int fil
}
return ret;
}
struct rand_pool_info {
int entropy_count;
int buf_size;
-@@ -48,6 +73,10 @@
+@@ -48,6 +73,10 @@ extern void add_input_randomness(unsigne
unsigned int value);
extern void add_interrupt_randomness(int irq);
--- a/arch/arm/mach-ixp4xx/gateway7001-setup.c
+++ b/arch/arm/mach-ixp4xx/gateway7001-setup.c
-@@ -76,9 +76,35 @@
+@@ -76,9 +76,35 @@ static struct platform_device gateway700
.resource = &gateway7001_uart_resource,
};
static void __init gateway7001_init(void)
--- a/arch/arm/mach-ixp4xx/wg302v2-setup.c
+++ b/arch/arm/mach-ixp4xx/wg302v2-setup.c
-@@ -77,9 +77,26 @@
+@@ -77,9 +77,26 @@ static struct platform_device wg302v2_ua
.resource = &wg302v2_uart_resource,
};
--- a/arch/arm/configs/ixp4xx_defconfig
+++ b/arch/arm/configs/ixp4xx_defconfig
-@@ -155,6 +155,7 @@
+@@ -155,6 +155,7 @@ CONFIG_MACH_AVILA=y
CONFIG_MACH_LOFT=y
CONFIG_ARCH_ADI_COYOTE=y
CONFIG_MACH_GATEWAY7001=y
CONFIG_MACH_IXDPG425=y
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -49,6 +49,14 @@
+@@ -49,6 +49,14 @@ config MACH_GATEWAY7001
7001 Access Point. For more information on this platform,
see http://openwrt.org
select PCI
--- a/arch/arm/mach-ixp4xx/Makefile
+++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -14,6 +14,7 @@
+@@ -14,6 +14,7 @@ obj-pci-$(CONFIG_MACH_NSLU2) += nslu2-p
obj-pci-$(CONFIG_MACH_NAS100D) += nas100d-pci.o
obj-pci-$(CONFIG_MACH_DSMG600) += dsmg600-pci.o
obj-pci-$(CONFIG_MACH_GATEWAY7001) += gateway7001-pci.o
obj-pci-$(CONFIG_MACH_WG302V2) += wg302v2-pci.o
obj-pci-$(CONFIG_MACH_FSG) += fsg-pci.o
-@@ -28,6 +29,7 @@
+@@ -28,6 +29,7 @@ obj-$(CONFIG_MACH_NSLU2) += nslu2-setup.
obj-$(CONFIG_MACH_NAS100D) += nas100d-setup.o
obj-$(CONFIG_MACH_DSMG600) += dsmg600-setup.o
obj-$(CONFIG_MACH_GATEWAY7001) += gateway7001-setup.o
--- a/arch/arm/configs/ixp4xx_defconfig
+++ b/arch/arm/configs/ixp4xx_defconfig
-@@ -157,6 +157,8 @@
+@@ -157,6 +157,8 @@ CONFIG_ARCH_ADI_COYOTE=y
CONFIG_MACH_GATEWAY7001=y
CONFIG_MACH_WG302V1=y
CONFIG_MACH_WG302V2=y
CONFIG_MACH_IXDP465=y
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -65,6 +65,22 @@
+@@ -65,6 +65,22 @@ config MACH_WG302V2
WG302 v2 or WAG302 v2 Access Points. For more information
on this platform, see http://openwrt.org
help
--- a/arch/arm/mach-ixp4xx/Makefile
+++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -17,6 +17,7 @@
+@@ -17,6 +17,7 @@ obj-pci-$(CONFIG_MACH_GATEWAY7001) += ga
obj-pci-$(CONFIG_MACH_WG302V1) += wg302v1-pci.o
obj-pci-$(CONFIG_MACH_WG302V2) += wg302v2-pci.o
obj-pci-$(CONFIG_MACH_FSG) += fsg-pci.o
obj-y += common.o
-@@ -32,6 +33,7 @@
+@@ -32,6 +33,7 @@ obj-$(CONFIG_MACH_GATEWAY7001) += gatewa
obj-$(CONFIG_MACH_WG302V1) += wg302v1-setup.o
obj-$(CONFIG_MACH_WG302V2) += wg302v2-setup.o
obj-$(CONFIG_MACH_FSG) += fsg-setup.o
+MACHINE_END
--- a/arch/arm/mach-ixp4xx/include/mach/uncompress.h
+++ b/arch/arm/mach-ixp4xx/include/mach/uncompress.h
-@@ -41,7 +41,8 @@
+@@ -41,7 +41,8 @@ static __inline__ void __arch_decomp_set
* Some boards are using UART2 as console
*/
if (machine_is_adi_coyote() || machine_is_gtwx5715() ||
--- a/arch/arm/mach-ixp4xx/pronghorn-setup.c
+++ b/arch/arm/mach-ixp4xx/pronghorn-setup.c
-@@ -51,31 +51,31 @@
+@@ -51,31 +51,31 @@ static struct platform_device pronghorn_
static struct resource pronghorn_uart_resources [] = {
{
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -81,6 +81,14 @@
+@@ -81,6 +81,14 @@ config MACH_PRONGHORN
config MACH_PRONGHORNMETRO
def_bool MACH_PRONGHORN
config ARCH_IXDP425
bool "IXDP425"
help
-@@ -163,7 +171,7 @@
+@@ -163,7 +171,7 @@ config MACH_FSG
#
config CPU_IXP46X
bool
config CPU_IXP43X
--- a/arch/arm/mach-ixp4xx/Makefile
+++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -18,6 +18,7 @@
+@@ -18,6 +18,7 @@ obj-pci-$(CONFIG_MACH_WG302V1) += wg302
obj-pci-$(CONFIG_MACH_WG302V2) += wg302v2-pci.o
obj-pci-$(CONFIG_MACH_FSG) += fsg-pci.o
obj-pci-$(CONFIG_MACH_PRONGHORN) += pronghorn-pci.o
obj-y += common.o
-@@ -34,6 +35,7 @@
+@@ -34,6 +35,7 @@ obj-$(CONFIG_MACH_WG302V1) += wg302v1-se
obj-$(CONFIG_MACH_WG302V2) += wg302v2-setup.o
obj-$(CONFIG_MACH_FSG) += fsg-setup.o
obj-$(CONFIG_MACH_PRONGHORN) += pronghorn-setup.o
struct fis_image_desc {
unsigned char name[16]; // Null terminated name
uint32_t flash_base; // Address within FLASH of image
-@@ -30,7 +32,8 @@
+@@ -30,7 +32,8 @@ struct fis_list {
struct fis_list *next;
};
module_param(directory, int, 0);
static inline int redboot_checksum(struct fis_image_desc *img)
-@@ -59,6 +62,8 @@
+@@ -59,6 +62,8 @@ static int parse_redboot_partitions(stru
#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
static char nullstring[] = "unallocated";
#endif
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -89,6 +89,14 @@
+@@ -89,6 +89,14 @@ config MACH_SIDEWINDER
Engineering Sidewinder board. For more information on this
platform, see http://www.adiengineering.com
help
--- a/arch/arm/mach-ixp4xx/Makefile
+++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -19,6 +19,7 @@
+@@ -19,6 +19,7 @@ obj-pci-$(CONFIG_MACH_WG302V2) += wg302
obj-pci-$(CONFIG_MACH_FSG) += fsg-pci.o
obj-pci-$(CONFIG_MACH_PRONGHORN) += pronghorn-pci.o
obj-pci-$(CONFIG_MACH_SIDEWINDER) += sidewinder-pci.o
obj-y += common.o
-@@ -36,6 +37,7 @@
+@@ -36,6 +37,7 @@ obj-$(CONFIG_MACH_WG302V2) += wg302v2-se
obj-$(CONFIG_MACH_FSG) += fsg-setup.o
obj-$(CONFIG_MACH_PRONGHORN) += pronghorn-setup.o
obj-$(CONFIG_MACH_SIDEWINDER) += sidewinder-setup.o
+MACHINE_END
--- a/arch/arm/mach-ixp4xx/ixdp425-pci.c
+++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c
-@@ -66,7 +66,8 @@
+@@ -66,7 +66,8 @@ struct hw_pci ixdp425_pci __initdata = {
int __init ixdp425_pci_init(void)
{
if (machine_is_ixdp425() || machine_is_ixcdp1100() ||
}
--- a/arch/arm/tools/mach-types
+++ b/arch/arm/tools/mach-types
-@@ -1273,7 +1273,7 @@
+@@ -1273,7 +1273,7 @@ oiab MACH_OIAB OIAB 1269
smdk6400 MACH_SMDK6400 SMDK6400 1270
nokia_n800 MACH_NOKIA_N800 NOKIA_N800 1271
greenphone MACH_GREENPHONE GREENPHONE 1272
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -97,6 +97,14 @@
+@@ -97,6 +97,14 @@ config MACH_COMPEX
WP18 or NP18A boards. For more information on this
platform, see http://www.compex.com.sg/home/OEM/product_ap.htm
help
--- a/arch/arm/mach-ixp4xx/Makefile
+++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -20,6 +20,7 @@
+@@ -20,6 +20,7 @@ obj-pci-$(CONFIG_MACH_FSG) += fsg-pci.o
obj-pci-$(CONFIG_MACH_PRONGHORN) += pronghorn-pci.o
obj-pci-$(CONFIG_MACH_SIDEWINDER) += sidewinder-pci.o
obj-pci-$(CONFIG_MACH_COMPEX) += ixdp425-pci.o
obj-y += common.o
-@@ -38,6 +39,7 @@
+@@ -38,6 +39,7 @@ obj-$(CONFIG_MACH_FSG) += fsg-setup.o
obj-$(CONFIG_MACH_PRONGHORN) += pronghorn-setup.o
obj-$(CONFIG_MACH_SIDEWINDER) += sidewinder-setup.o
obj-$(CONFIG_MACH_COMPEX) += compex-setup.o
+#endif
--- a/arch/arm/mach-ixp4xx/include/mach/uncompress.h
+++ b/arch/arm/mach-ixp4xx/include/mach/uncompress.h
-@@ -42,7 +42,7 @@
+@@ -42,7 +42,7 @@ static __inline__ void __arch_decomp_set
*/
if (machine_is_adi_coyote() || machine_is_gtwx5715() ||
machine_is_gateway7001() || machine_is_wg302v2() ||
--- a/arch/arm/mach-ixp4xx/wrt300nv2-setup.c
+++ b/arch/arm/mach-ixp4xx/wrt300nv2-setup.c
-@@ -76,9 +76,36 @@
+@@ -76,9 +76,36 @@ static struct platform_device wrt300nv2_
.resource = &wrt300nv2_uart_resource,
};
+#endif
--- a/arch/arm/mach-ixp4xx/ixdp425-pci.c
+++ b/arch/arm/mach-ixp4xx/ixdp425-pci.c
-@@ -67,7 +67,7 @@
+@@ -67,7 +67,7 @@ int __init ixdp425_pci_init(void)
{
if (machine_is_ixdp425() || machine_is_ixcdp1100() ||
machine_is_ixdp465() || machine_is_kixrp435() ||
}
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -105,6 +105,14 @@
+@@ -105,6 +105,14 @@ config MACH_WRT300NV2
WRT300N v2 router. For more information on this
platform, see http://openwrt.org
help
--- a/arch/arm/mach-ixp4xx/Makefile
+++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -21,6 +21,7 @@
+@@ -21,6 +21,7 @@ obj-pci-$(CONFIG_MACH_PRONGHORN) += pron
obj-pci-$(CONFIG_MACH_SIDEWINDER) += sidewinder-pci.o
obj-pci-$(CONFIG_MACH_COMPEX) += ixdp425-pci.o
obj-pci-$(CONFIG_MACH_WRT300NV2) += wrt300nv2-pci.o
obj-y += common.o
-@@ -40,6 +41,7 @@
+@@ -40,6 +41,7 @@ obj-$(CONFIG_MACH_PRONGHORN) += pronghor
obj-$(CONFIG_MACH_SIDEWINDER) += sidewinder-setup.o
obj-$(CONFIG_MACH_COMPEX) += compex-setup.o
obj-$(CONFIG_MACH_WRT300NV2) += wrt300nv2-setup.o
--- a/arch/arm/mach-ixp4xx/ap1000-setup.c
+++ b/arch/arm/mach-ixp4xx/ap1000-setup.c
-@@ -90,9 +90,37 @@
+@@ -90,9 +90,37 @@ static struct platform_device ap1000_uar
.resource = ap1000_uart_resources
};
--- a/arch/arm/mach-ixp4xx/wg302v1-setup.c
+++ b/arch/arm/mach-ixp4xx/wg302v1-setup.c
-@@ -115,6 +115,36 @@
+@@ -115,6 +115,36 @@ static struct platform_device *wg302v1_d
&wg302v1_eth[0],
};
static void __init wg302v1_init(void)
{
ixp4xx_sys_init();
-@@ -133,6 +163,7 @@
+@@ -133,6 +163,7 @@ MACHINE_START(WG302V1, "Netgear WG302 v1
/* Maintainer: Imre Kaloz <kaloz@openwrt.org> */
.phys_io = IXP4XX_PERIPHERAL_BASE_PHYS,
.io_pg_offst = ((IXP4XX_PERIPHERAL_BASE_VIRT) >> 18) & 0xfffc,
--- a/arch/arm/mach-ixp4xx/coyote-setup.c
+++ b/arch/arm/mach-ixp4xx/coyote-setup.c
-@@ -73,9 +73,37 @@
+@@ -73,9 +73,37 @@ static struct platform_device coyote_uar
.resource = &coyote_uart_resource,
};
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -158,6 +158,14 @@
+@@ -158,6 +158,14 @@ config ARCH_PRPMC1100
PrPCM1100 Processor Mezanine Module. For more information on
this platform, see <file:Documentation/arm/IXP4xx>.
prompt "NAS100D"
--- a/arch/arm/mach-ixp4xx/Makefile
+++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -22,6 +22,7 @@
+@@ -22,6 +22,7 @@ obj-pci-$(CONFIG_MACH_SIDEWINDER) += sid
obj-pci-$(CONFIG_MACH_COMPEX) += ixdp425-pci.o
obj-pci-$(CONFIG_MACH_WRT300NV2) += wrt300nv2-pci.o
obj-pci-$(CONFIG_MACH_AP1000) += ixdp425-pci.o
obj-y += common.o
-@@ -42,6 +43,7 @@
+@@ -42,6 +43,7 @@ obj-$(CONFIG_MACH_SIDEWINDER) += sidewin
obj-$(CONFIG_MACH_COMPEX) += compex-setup.o
obj-$(CONFIG_MACH_WRT300NV2) += wrt300nv2-setup.o
obj-$(CONFIG_MACH_AP1000) += ap1000-setup.o
+subsys_initcall(tw5334_pci_init);
--- a/arch/arm/mach-ixp4xx/include/mach/uncompress.h
+++ b/arch/arm/mach-ixp4xx/include/mach/uncompress.h
-@@ -42,7 +42,8 @@
+@@ -42,7 +42,8 @@ static __inline__ void __arch_decomp_set
*/
if (machine_is_adi_coyote() || machine_is_gtwx5715() ||
machine_is_gateway7001() || machine_is_wg302v2() ||
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -25,6 +25,14 @@
+@@ -25,6 +25,14 @@ config MACH_AVILA
Avila Network Platform. For more information on this platform,
see <file:Documentation/arm/IXP4xx>.
config MACH_LOFT
bool "Loft"
depends on MACH_AVILA
-@@ -208,7 +216,7 @@
+@@ -208,7 +216,7 @@ config CPU_IXP46X
config CPU_IXP43X
bool
config MACH_GTWX5715
--- a/arch/arm/mach-ixp4xx/Makefile
+++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -7,6 +7,7 @@
+@@ -7,6 +7,7 @@ obj-pci-n :=
obj-pci-$(CONFIG_ARCH_IXDP4XX) += ixdp425-pci.o
obj-pci-$(CONFIG_MACH_AVILA) += avila-pci.o
obj-pci-$(CONFIG_MACH_IXDPG425) += ixdpg425-pci.o
obj-pci-$(CONFIG_ARCH_ADI_COYOTE) += coyote-pci.o
obj-pci-$(CONFIG_MACH_GTWX5715) += gtwx5715-pci.o
-@@ -28,6 +29,7 @@
+@@ -28,6 +29,7 @@ obj-y += common.o
obj-$(CONFIG_ARCH_IXDP4XX) += ixdp425-setup.o
obj-$(CONFIG_MACH_AVILA) += avila-setup.o
struct cambria_board_info {
unsigned char *model;
-@@ -105,6 +106,43 @@
+@@ -105,6 +106,43 @@ static struct platform_device cambria_ua
.resource = &cambria_uart_resource,
};
static struct resource cambria_pata_resources[] = {
{
.flags = IORESOURCE_MEM
-@@ -287,6 +325,19 @@
+@@ -287,6 +325,19 @@ static void __init cambria_gw23xx_setup(
#ifdef CONFIG_SENSORS_EEPROM
static void __init cambria_gw2350_setup(void)
{
platform_device_register(&cambria_npec_device);
platform_device_register(&cambria_npea_device);
-@@ -294,10 +345,26 @@
+@@ -294,10 +345,26 @@ static void __init cambria_gw2350_setup(
platform_device_register(&cambria_usb1_device);
platform_device_register(&cambria_gpio_leds_device);
--- a/arch/arm/mach-ixp4xx/cambria-setup.c
+++ b/arch/arm/mach-ixp4xx/cambria-setup.c
-@@ -214,6 +214,21 @@
+@@ -214,6 +214,21 @@ static struct platform_device cambria_gp
.dev.platform_data = &cambria_gpio_leds_data,
};
static struct latch_led cambria_latch_leds[] = {
{
-@@ -337,6 +352,11 @@
+@@ -337,6 +352,11 @@ static void __init cambria_gw2350_setup(
cambria_optional_uart_data[1].membase = (void __iomem *)ioremap(0x53FF0000, 0x0fff);
cambria_optional_uart_data[1].irq = IRQ_IXP4XX_GPIO4;
platform_device_register(&cambria_optional_uart);
platform_device_register(&cambria_npec_device);
platform_device_register(&cambria_npea_device);
-@@ -363,6 +383,10 @@
+@@ -363,6 +383,10 @@ static void __init cambria_gw2358_setup(
cambria_optional_uart_data[1].membase = (void __iomem *)ioremap(0x53F80000, 0x0fff);
cambria_optional_uart_data[1].irq = IRQ_IXP4XX_GPIO4;
--- a/arch/arm/mach-ixp4xx/ixp4xx_npe.c
+++ b/arch/arm/mach-ixp4xx/ixp4xx_npe.c
-@@ -592,6 +592,8 @@
+@@ -592,6 +592,8 @@ int npe_load_firmware(struct npe *npe, c
npe_reset(npe);
#endif
--- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c
-@@ -165,14 +165,15 @@
+@@ -165,14 +165,15 @@ struct port {
struct net_device *netdev;
struct napi_struct napi;
struct net_device_stats stat;
};
/* NPE message structure */
-@@ -316,12 +317,13 @@
+@@ -316,12 +317,13 @@ static void mdio_write(struct net_device
spin_unlock_irqrestore(&mdio_lock, flags);
}
while (cycles < MAX_MII_RESET_RETRIES) {
if (!(mdio_read(dev, phy_id, MII_BMCR) & BMCR_RESET)) {
-@@ -335,12 +337,12 @@
+@@ -335,12 +337,12 @@ static void phy_reset(struct net_device
cycles++;
}
__raw_writel(DEFAULT_TX_CNTRL0 & ~TX_CNTRL0_HALFDUPLEX,
&port->regs->tx_control[0]);
else
-@@ -348,7 +350,7 @@
+@@ -348,7 +350,7 @@ static void eth_set_duplex(struct port *
&port->regs->tx_control[0]);
}
static void phy_check_media(struct port *port, int init)
{
if (mii_check_media(&port->mii, 1, init))
-@@ -367,7 +369,63 @@
+@@ -367,7 +369,63 @@ static void phy_check_media(struct port
}
}
}
static void mdio_thread(struct work_struct *work)
{
-@@ -791,9 +849,12 @@
+@@ -791,9 +849,12 @@ static int eth_ioctl(struct net_device *
if (!netif_running(dev))
return -EINVAL;
return err;
}
-@@ -946,7 +1007,8 @@
+@@ -946,7 +1007,8 @@ static int eth_open(struct net_device *d
}
}
memset(&msg, 0, sizeof(msg));
msg.cmd = NPE_VLAN_SETRXQOSENTRY;
-@@ -1106,10 +1168,8 @@
+@@ -1106,10 +1168,8 @@ static int eth_close(struct net_device *
printk(KERN_CRIT "%s: unable to disable loopback\n",
dev->name);
if (!ports_open)
qmgr_disable_irq(TXDONE_QUEUE);
-@@ -1119,6 +1179,42 @@
+@@ -1119,6 +1179,42 @@ static int eth_close(struct net_device *
return 0;
}
static int __devinit eth_init_one(struct platform_device *pdev)
{
struct port *port;
-@@ -1191,20 +1287,7 @@
+@@ -1191,20 +1287,7 @@ static int __devinit eth_init_one(struct
__raw_writel(DEFAULT_CORE_CNTRL, &port->regs->core_control);
udelay(50);
return 0;
--- a/arch/arm/mach-ixp4xx/include/mach/platform.h
+++ b/arch/arm/mach-ixp4xx/include/mach/platform.h
-@@ -95,12 +95,15 @@
+@@ -95,12 +95,15 @@ struct sys_timer;
#define IXP4XX_ETH_NPEB 0x10
#define IXP4XX_ETH_NPEC 0x20
--- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c
-@@ -322,8 +322,12 @@
+@@ -322,8 +322,12 @@ static void phy_reset(struct net_device
struct port *port = netdev_priv(dev);
int phy_id = port->mii[idx].phy_id;
int cycles = 0;
while (cycles < MAX_MII_RESET_RETRIES) {
if (!(mdio_read(dev, phy_id, MII_BMCR) & BMCR_RESET)) {
-@@ -331,13 +335,23 @@
+@@ -331,13 +335,23 @@ static void phy_reset(struct net_device
printk(KERN_DEBUG "%s: phy_reset() took %i cycles\n",
dev->name, cycles);
#endif
--- a/arch/arm/mach-ixp4xx/ixp4xx_npe.c
+++ b/arch/arm/mach-ixp4xx/ixp4xx_npe.c
-@@ -575,8 +575,8 @@
+@@ -575,8 +575,8 @@ int npe_load_firmware(struct npe *npe, c
for (i = 0; i < image->size; i++)
image->data[i] = swab32(image->data[i]);
"IXP42x\n");
goto err;
}
-@@ -598,7 +598,7 @@
+@@ -598,7 +598,7 @@ int npe_load_firmware(struct npe *npe, c
"revision 0x%X:%X\n", (image->id >> 16) & 0xFF,
(image->id >> 8) & 0xFF, image->id & 0xFF);
#include <mach/npe.h>
#include <mach/qmgr.h>
-@@ -1337,12 +1338,16 @@
+@@ -1337,12 +1338,16 @@ static struct platform_driver drv = {
static int __init eth_init_module(void)
{
return platform_driver_register(&drv);
--- a/arch/arm/mach-ixp4xx/include/mach/cpu.h
+++ b/arch/arm/mach-ixp4xx/include/mach/cpu.h
-@@ -34,6 +34,8 @@
+@@ -34,6 +34,8 @@ static inline u32 ixp4xx_read_feature_bi
val &= ~IXP4XX_FEATURE_RESERVED;
if (!cpu_is_ixp46x())
val &= ~IXP4XX_FEATURE_IXP46X_ONLY;
--- a/drivers/net/wan/Kconfig
+++ b/drivers/net/wan/Kconfig
-@@ -333,6 +333,15 @@
+@@ -333,6 +333,15 @@ config DSCC4_PCI_RST
Say Y if your card supports this feature.
---help---
--- a/drivers/net/wan/Makefile
+++ b/drivers/net/wan/Makefile
-@@ -41,6 +41,7 @@
+@@ -41,6 +41,7 @@ obj-$(CONFIG_C101) += c101.o
obj-$(CONFIG_WANXL) += wanxl.o
obj-$(CONFIG_PCI200SYN) += pci200syn.o
obj-$(CONFIG_PC300TOO) += pc300too.o
/* Addresses to scan */
static const unsigned short normal_i2c[] = { 0x50, 0x51, 0x52, 0x53, 0x54,
-@@ -35,25 +37,7 @@
+@@ -35,25 +37,7 @@ static const unsigned short normal_i2c[]
/* Insmod parameters */
I2C_CLIENT_INSMOD_1(eeprom);
static void eeprom_update_client(struct i2c_client *client, u8 slice)
{
-@@ -178,6 +162,7 @@
+@@ -178,6 +162,7 @@ static int eeprom_probe(struct i2c_clien
i2c_set_clientdata(client, data);
mutex_init(&data->update_lock);
data->nature = UNKNOWN;
/* Detect the Vaio nature of EEPROMs.
We use the "PCG-" or "VGN-" prefix as the signature. */
-@@ -202,6 +187,9 @@
+@@ -202,6 +187,9 @@ static int eeprom_probe(struct i2c_clien
if (err)
goto exit_kfree;
return 0;
exit_kfree:
-@@ -236,6 +224,41 @@
+@@ -236,6 +224,41 @@ static struct i2c_driver eeprom_driver =
.address_data = &addr_data,
};
+#endif /* _LINUX_EEPROM_H */
--- a/include/linux/notifier.h
+++ b/include/linux/notifier.h
-@@ -256,5 +256,8 @@
+@@ -256,5 +256,8 @@ extern struct blocking_notifier_head reb
#define VT_UPDATE 0x0004 /* A bigger update occurred */
#define VT_PREWRITE 0x0005 /* A char is about to be written to the console */
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -125,6 +125,12 @@
+@@ -125,6 +125,12 @@ config LEDS_GPIO
outputs. To be useful the particular board must have LEDs
and they must be connected to the GPIO lines.
+MODULE_LICENSE("GPL");
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -19,6 +19,7 @@
+@@ -19,6 +19,7 @@ obj-$(CONFIG_LEDS_COBALT_QUBE) += leds-
obj-$(CONFIG_LEDS_COBALT_RAQ) += leds-cobalt-raq.o
obj-$(CONFIG_LEDS_PCA9532) += leds-pca9532.o
obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
obj-$(CONFIG_LEDS_HP6XX) += leds-hp6xx.o
--- a/include/linux/leds.h
+++ b/include/linux/leds.h
-@@ -148,5 +148,18 @@
+@@ -148,5 +148,18 @@ struct gpio_led_platform_data {
unsigned long *delay_off);
};
--- a/arch/arm/mach-ixp4xx/avila-setup.c
+++ b/arch/arm/mach-ixp4xx/avila-setup.c
-@@ -132,6 +132,31 @@
+@@ -132,6 +132,31 @@ static struct platform_device avila_pata
.resource = avila_pata_resources,
};
static struct platform_device *avila_devices[] __initdata = {
&avila_i2c_gpio,
&avila_flash,
-@@ -159,6 +184,8 @@
+@@ -159,6 +184,8 @@ static void __init avila_init(void)
platform_device_register(&avila_pata);
static struct flash_platform_data avila_flash_data = {
.map_name = "cfi_probe",
.width = 2,
-@@ -163,10 +178,160 @@
+@@ -163,10 +178,160 @@ static struct platform_device *avila_dev
&avila_uart
};
avila_flash_resource.start = IXP4XX_EXP_BUS_BASE(0);
avila_flash_resource.end =
IXP4XX_EXP_BUS_BASE(0) + ixp4xx_exp_bus_size - 1;
-@@ -184,9 +349,28 @@
+@@ -184,9 +349,28 @@ static void __init avila_init(void)
platform_device_register(&avila_pata);
#include <linux/i2c-gpio.h>
#include <asm/types.h>
-@@ -172,6 +173,72 @@
+@@ -172,6 +173,72 @@ static struct platform_device avila_npec
.dev.platform_data = &avila_npec_data,
};
static struct platform_device *avila_devices[] __initdata = {
&avila_i2c_gpio,
&avila_flash,
-@@ -182,6 +249,8 @@
+@@ -182,6 +249,8 @@ static void __init avila_gw23xx_setup(vo
{
platform_device_register(&avila_npeb_device);
platform_device_register(&avila_npec_device);
}
#ifdef CONFIG_SENSORS_EEPROM
-@@ -189,6 +258,8 @@
+@@ -189,6 +258,8 @@ static void __init avila_gw2342_setup(vo
{
platform_device_register(&avila_npeb_device);
platform_device_register(&avila_npec_device);
}
static void __init avila_gw2345_setup(void)
-@@ -199,22 +270,30 @@
+@@ -199,22 +270,30 @@ static void __init avila_gw2345_setup(vo
avila_npec_data.phy = 5; /* port 5 of the KS8995 switch */
platform_device_register(&avila_npec_device);
}
static void __init avila_gw2355_setup(void)
-@@ -225,11 +304,29 @@
+@@ -225,11 +304,29 @@ static void __init avila_gw2355_setup(vo
avila_npec_data.phy = 16;
platform_device_register(&avila_npec_device);
--- a/arch/arm/mach-ixp4xx/avila-setup.c
+++ b/arch/arm/mach-ixp4xx/avila-setup.c
-@@ -239,10 +239,28 @@
+@@ -239,10 +239,28 @@ static struct platform_device avila_latc
.dev.platform_data = &avila_latch_leds_data,
};
--- a/arch/arm/mach-ixp4xx/avila-setup.c
+++ b/arch/arm/mach-ixp4xx/avila-setup.c
-@@ -294,6 +294,7 @@
+@@ -294,6 +294,7 @@ static void __init avila_gw2345_setup(vo
static void __init avila_gw2347_setup(void)
{
platform_device_register(&avila_npeb_device);
avila_gpio_leds[0].gpio = AVILA_GW23X7_LED_USER_GPIO;
-@@ -338,6 +339,7 @@
+@@ -338,6 +339,7 @@ static void __init avila_gw2355_setup(vo
static void __init avila_gw2357_setup(void)
{
avila_gpio_leds[0].gpio = AVILA_GW23X7_LED_USER_GPIO;
--- a/drivers/net/arm/ixp4xx_eth.c
+++ b/drivers/net/arm/ixp4xx_eth.c
-@@ -348,6 +348,14 @@
+@@ -348,6 +348,14 @@ static void phy_reset(struct net_device
return;
}
bmcr |= (BMCR_ANENABLE | BMCR_ANRESTART);
--- a/arch/arm/mach-ixp4xx/include/mach/platform.h
+++ b/arch/arm/mach-ixp4xx/include/mach/platform.h
-@@ -104,6 +104,8 @@
+@@ -104,6 +104,8 @@ struct eth_plat_info {
u8 txreadyq;
u8 hwaddr[6];
u32 phy_mask;
#include <asm/types.h>
#include <asm/setup.h>
#include <asm/memory.h>
-@@ -121,9 +123,41 @@
+@@ -121,9 +123,41 @@ static struct platform_device gtwx5715_f
.resource = >wx5715_flash_resource,
};
--- a/arch/arm/mach-ixp4xx/gtwx5715-setup.c
+++ b/arch/arm/mach-ixp4xx/gtwx5715-setup.c
-@@ -154,10 +154,37 @@
+@@ -154,10 +154,37 @@ static struct platform_device gtwx5715_s
},
};
dev->xfer_shift = ATA_SHIFT_PIO;
dev->flags |= ATA_DFLAG_PIO;
}
-@@ -48,6 +89,7 @@
+@@ -48,6 +89,7 @@ static unsigned int ixp4xx_mmio_data_xfe
unsigned int i;
unsigned int words = buflen >> 1;
u16 *buf16 = (u16 *) buf;
struct ata_port *ap = dev->link->ap;
void __iomem *mmio = ap->ioaddr.data_addr;
struct ixp4xx_pata_data *data = ap->host->dev->platform_data;
-@@ -55,8 +97,34 @@
+@@ -55,8 +97,34 @@ static unsigned int ixp4xx_mmio_data_xfe
/* set the expansion bus in 16bit mode and restore
* 8 bit mode after the transaction.
*/
/* Transfer multiple of 2 bytes */
if (rw == READ)
-@@ -81,8 +149,24 @@
+@@ -81,8 +149,24 @@ static unsigned int ixp4xx_mmio_data_xfe
words++;
}
--- a/arch/arm/common/dmabounce.c
+++ b/arch/arm/common/dmabounce.c
-@@ -117,6 +117,10 @@
+@@ -117,6 +117,10 @@ alloc_safe_buffer(struct dmabounce_devic
} else if (size <= device_info->large.size) {
pool = &device_info->large;
} else {
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -244,6 +244,11 @@
+@@ -244,6 +244,11 @@ config DMABOUNCE
default y
depends on PCI