--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -18,6 +18,21 @@
+@@ -18,6 +18,21 @@ choice
prompt "System type"
default SGI_IP22
config MACH_ALCHEMY
bool "Alchemy processor based machines"
-@@ -687,6 +702,7 @@
+@@ -687,6 +702,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
-@@ -586,5 +586,9 @@
+@@ -586,5 +586,9 @@ config MTD_PLATRAM
This selection automatically selects the map_ram driver.
--- a/drivers/mtd/maps/Makefile
+++ b/drivers/mtd/maps/Makefile
-@@ -44,6 +44,7 @@
+@@ -44,6 +44,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
-@@ -613,6 +613,10 @@
+@@ -613,6 +613,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
-@@ -186,6 +186,7 @@
+@@ -186,6 +186,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
-@@ -48,3 +48,4 @@
+@@ -48,3 +48,4 @@ obj-$(CONFIG_TOSHIBA_RBTX4938) += fixup-
obj-$(CONFIG_VICTOR_MPC30X) += fixup-mpc30x.o
obj-$(CONFIG_ZAO_CAPCELLA) += fixup-capcella.o
obj-$(CONFIG_WR_PPMC) += fixup-wrppmc.o
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -207,4 +207,12 @@
+@@ -207,4 +207,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
-@@ -30,3 +30,4 @@
+@@ -30,3 +30,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
-@@ -174,6 +174,22 @@
+@@ -174,6 +174,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 *);
-@@ -243,6 +250,41 @@
+@@ -243,6 +250,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
-@@ -278,6 +320,9 @@
+@@ -278,6 +320,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
-@@ -1173,6 +1177,54 @@
+@@ -1173,6 +1177,54 @@ static const struct amd_flash_info jedec
ERASEINFO(0x02000,2),
ERASEINFO(0x04000,1),
}
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
-@@ -57,6 +57,11 @@
+@@ -57,6 +57,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
-@@ -566,6 +566,15 @@
+@@ -566,6 +566,15 @@ config PATA_RADISYS
If unsure, say N.
#define AMBA_ISR_PASS_LIMIT 256
-@@ -82,9 +81,9 @@
+@@ -82,9 +81,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)
-@@ -92,9 +91,9 @@
+@@ -92,9 +91,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)
-@@ -102,9 +101,9 @@
+@@ -102,9 +101,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)
-@@ -112,9 +111,9 @@
+@@ -112,9 +111,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)
-@@ -122,9 +121,9 @@
+@@ -122,9 +121,9 @@ static void pl010_rx_chars(struct uart_a
struct tty_struct *tty = uap->port.info->tty;
unsigned int status, ch, flag, rsr, max_count = 256;
flag = TTY_NORMAL;
uap->port.icount.rx++;
-@@ -133,9 +132,9 @@
+@@ -133,9 +132,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);
-@@ -165,7 +164,7 @@
+@@ -165,7 +164,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);
-@@ -178,7 +177,7 @@
+@@ -178,7 +177,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;
-@@ -190,7 +189,7 @@
+@@ -190,7 +189,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))
-@@ -208,9 +207,9 @@
+@@ -208,9 +207,9 @@ static void pl010_modem_status(struct ua
{
unsigned int status, delta;
delta = status ^ uap->old_status;
uap->old_status = status;
-@@ -238,7 +237,7 @@
+@@ -238,7 +237,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))
-@@ -251,7 +250,7 @@
+@@ -251,7 +250,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;
-@@ -265,7 +264,7 @@
+@@ -265,7 +264,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;
}
-@@ -275,7 +274,7 @@
+@@ -275,7 +274,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)
-@@ -301,12 +300,12 @@
+@@ -301,12 +300,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);
}
-@@ -334,12 +333,12 @@
+@@ -334,12 +333,12 @@ static int pl010_startup(struct uart_por
/*
* initialise the old status of the modem signals
*/
uap->port.membase + UART010_CR);
return 0;
-@@ -362,10 +361,10 @@
+@@ -362,10 +361,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);
-@@ -387,7 +386,7 @@
+@@ -387,7 +386,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) {
-@@ -450,25 +449,25 @@
+@@ -450,25 +449,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);
}
-@@ -540,7 +539,7 @@
+@@ -540,7 +539,7 @@ static struct uart_ops amba_pl010_pops =
.verify_port = pl010_verify_port,
};
#ifdef CONFIG_SERIAL_AMBA_PL010_CONSOLE
-@@ -550,10 +549,10 @@
+@@ -550,10 +549,10 @@ static void pl010_console_putchar(struct
unsigned int status;
do {
}
static void
-@@ -567,8 +566,8 @@
+@@ -567,8 +566,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);
-@@ -577,10 +576,10 @@
+@@ -577,10 +576,10 @@ pl010_console_write(struct console *co,
* and restore the TCR
*/
do {
clk_disable(uap->clk);
}
-@@ -589,9 +588,9 @@
+@@ -589,9 +588,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) {
-@@ -606,8 +605,8 @@
+@@ -606,8 +605,8 @@ pl010_console_get_options(struct uart_am
else
*bits = 8;
*baud = uap->port.uartclk / (16 * (quot + 1));
}
}
-@@ -625,7 +624,7 @@
+@@ -625,7 +624,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)
-@@ -643,7 +642,7 @@
+@@ -643,7 +642,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,
-@@ -659,11 +658,11 @@
+@@ -659,11 +658,11 @@ static struct console amba_console = {
static struct uart_driver amba_reg = {
.owner = THIS_MODULE,
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
-@@ -287,10 +287,25 @@
+@@ -287,10 +287,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.
-@@ -1495,6 +1496,7 @@
+@@ -1495,6 +1496,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)
{
-@@ -1561,6 +1563,7 @@
+@@ -1561,6 +1563,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)
{
-@@ -1934,3 +1937,4 @@
+@@ -1934,3 +1937,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
-@@ -632,6 +632,18 @@
+@@ -632,6 +632,18 @@ config SBC_EPX_C3_WATCHDOG
# MIPS Architecture
depends on SGI_HAS_INDYDOG
--- a/drivers/watchdog/Makefile
+++ b/drivers/watchdog/Makefile
-@@ -91,6 +91,7 @@
+@@ -91,6 +91,7 @@ obj-$(CONFIG_SBC_EPX_C3_WATCHDOG) += sbc
# M68KNOMMU Architecture
# MIPS Architecture
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -18,6 +18,23 @@
+@@ -18,6 +18,23 @@ choice
prompt "System type"
default SGI_IP22
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
-@@ -1188,9 +1188,22 @@
+@@ -1188,9 +1188,22 @@ void *set_except_vector(int n, void *add
exception_handlers[n] = handler;
if (n == 0 && cpu_has_divec) {
}
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -167,6 +167,13 @@
+@@ -167,6 +167,13 @@ libs-$(CONFIG_SIBYTE_CFE) += arch/mips/s
#
#
core-$(CONFIG_MACH_JAZZ) += arch/mips/jazz/
--- a/include/asm-mips/page.h
+++ b/include/asm-mips/page.h
-@@ -182,8 +182,10 @@
+@@ -182,8 +182,10 @@ typedef struct { unsigned long pgprot; }
#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
--- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig
-@@ -174,6 +174,12 @@
+@@ -174,6 +174,12 @@ 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
obj-$(CONFIG_MTD_CHAR) += mtdchar.o
--- a/drivers/mtd/maps/physmap.c
+++ b/drivers/mtd/maps/physmap.c
-@@ -87,7 +87,8 @@
+@@ -87,7 +87,8 @@ static int physmap_flash_remove(struct p
static const char *rom_probe_types[] = { "cfi_probe", "jedec_probe", "map_rom", NULL };
#ifdef CONFIG_MTD_PARTITIONS
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
-@@ -960,6 +960,15 @@
+@@ -960,6 +960,15 @@ config MWAVE
To compile this driver as a module, choose M here: the
module will be called mwave.
depends on SCx200
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
-@@ -91,6 +91,7 @@
+@@ -91,6 +91,7 @@ obj-$(CONFIG_COBALT_LCD) += lcd.o
obj-$(CONFIG_PPDEV) += ppdev.o
obj-$(CONFIG_NWBUTTON) += nwbutton.o
obj-$(CONFIG_NWFLASH) += nwflash.o
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
-@@ -100,5 +100,7 @@
+@@ -100,5 +100,7 @@ source "drivers/auxdisplay/Kconfig"
source "drivers/uio/Kconfig"
endmenu
--- a/drivers/Makefile
+++ b/drivers/Makefile
-@@ -92,5 +92,6 @@
+@@ -92,5 +92,6 @@ obj-$(CONFIG_DCA) += dca/
obj-$(CONFIG_HID) += hid/
obj-$(CONFIG_PPC_PS3) += ps3/
obj-$(CONFIG_OF) += of/
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
-@@ -1867,7 +1867,7 @@
+@@ -1867,7 +1867,7 @@ config SC92031
config CPMAC
tristate "TI AR7 CPMAC Ethernet support (EXPERIMENTAL)"
struct ar7_bin_rec {
unsigned int checksum;
unsigned int length;
-@@ -47,7 +51,8 @@
+@@ -47,7 +51,8 @@ static int create_mtd_partitions(struct
unsigned long origin)
{
struct ar7_bin_rec header;
unsigned int pre_size = master->erasesize, post_size = 0;
unsigned int root_offset = ROOT_OFFSET;
-@@ -66,7 +71,7 @@
+@@ -66,7 +71,7 @@ static int create_mtd_partitions(struct
do { /* Try 10 blocks starting from master->erasesize */
offset = pre_size;
master->read(master, offset,
if (!strncmp((char *)&header, "TIENV0.8", 8))
ar7_parts[1].offset = pre_size;
if (header.checksum == LOADER_MAGIC1)
-@@ -88,7 +93,7 @@
+@@ -88,7 +93,7 @@ static int create_mtd_partitions(struct
while (header.length) {
offset += sizeof(header) + header.length;
master->read(master, offset, sizeof(header),
}
root_offset = offset + sizeof(header) + 4;
break;
-@@ -96,10 +101,10 @@
+@@ -96,10 +101,10 @@ static int create_mtd_partitions(struct
while (header.length) {
offset += sizeof(header) + header.length;
master->read(master, offset, sizeof(header),
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
-@@ -266,6 +266,13 @@
+@@ -266,6 +266,13 @@ static const struct serial8250_config ua
.fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
.flags = UART_CAP_FIFO,
},
};
#if defined (CONFIG_SERIAL_8250_AU1X00)
-@@ -2524,7 +2531,11 @@
+@@ -2524,7 +2531,11 @@ static void serial8250_console_putchar(s
{
struct uart_8250_port *up = (struct uart_8250_port *)port;
--- a/drivers/net/cpmac.c
+++ b/drivers/net/cpmac.c
-@@ -627,7 +627,7 @@
+@@ -627,7 +627,7 @@ static void cpmac_end_xmit(struct net_de
dev_kfree_skb_irq(desc->skb);
desc->skb = NULL;
#ifdef CONFIG_NETDEVICES_MULTIQUEUE
netif_wake_subqueue(dev, queue);
#else
if (netif_queue_stopped(dev))
-@@ -638,7 +638,7 @@
+@@ -638,7 +638,7 @@ static void cpmac_end_xmit(struct net_de
printk(KERN_WARNING
"%s: end_xmit: spurious interrupt\n", dev->name);
#ifdef CONFIG_NETDEVICES_MULTIQUEUE
netif_wake_subqueue(dev, queue);
#else
if (netif_queue_stopped(dev))
-@@ -1124,7 +1124,7 @@
+@@ -1124,7 +1124,7 @@ static int external_switch;
static int __devinit cpmac_probe(struct platform_device *pdev)
{
char *mdio_bus_id = "0";
struct resource *mem;
struct cpmac_priv *priv;
-@@ -1152,7 +1152,11 @@
+@@ -1152,7 +1152,11 @@ static int __devinit cpmac_probe(struct
}
}
if (!dev) {
printk(KERN_ERR "cpmac: Unable to allocate net_device\n");
-@@ -1179,7 +1183,9 @@
+@@ -1179,7 +1183,9 @@ static int __devinit cpmac_probe(struct
dev->set_multicast_list = cpmac_set_multicast_list;
dev->tx_timeout = cpmac_tx_timeout;
dev->ethtool_ops = &cpmac_ethtool_ops;
--- a/drivers/net/cpmac.c
+++ b/drivers/net/cpmac.c
-@@ -948,7 +948,8 @@
+@@ -948,7 +948,8 @@ static void cpmac_adjust_link(struct net
int new_state = 0;
spin_lock(&priv->lock);
netif_start_queue(dev);
if (priv->phy->duplex != priv->oldduplex) {
new_state = 1;
-@@ -960,11 +961,11 @@
+@@ -960,11 +961,11 @@ static void cpmac_adjust_link(struct net
priv->oldspeed = priv->phy->speed;
}
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -597,6 +597,13 @@
+@@ -597,6 +597,13 @@ core-$(CONFIG_TOSHIBA_RBTX4938) += arch/
cflags-$(CONFIG_TOSHIBA_RBTX4938) += -Iinclude/asm-mips/mach-tx49xx
load-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000
#define MACH_NEC_MARKEINS 0 /* NEC EMMA2RH Mark-eins */
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -21,6 +21,24 @@
+@@ -21,6 +21,24 @@ choice
config MACH_ALCHEMY
bool "Alchemy processor based machines"
config BASLER_EXCITE
bool "Basler eXcite smart camera"
select CEVT_R4K
-@@ -687,6 +705,7 @@
+@@ -687,6 +705,7 @@ config WR_PPMC
endchoice
--- a/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -15,6 +15,7 @@
+@@ -15,6 +15,7 @@ obj-$(CONFIG_MIPS_TX3927) += ops-tx3927.
obj-$(CONFIG_PCI_VR41XX) += ops-vr41xx.o pci-vr41xx.o
obj-$(CONFIG_NEC_CMBVR4133) += fixup-vr4133.o
obj-$(CONFIG_MARKEINS) += ops-emma2rh.o pci-emma2rh.o fixup-emma2rh.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
-@@ -1034,6 +1034,11 @@
+@@ -1034,6 +1034,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
-@@ -538,6 +538,11 @@
+@@ -538,6 +538,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
-@@ -1057,6 +1057,11 @@
+@@ -1057,6 +1057,11 @@ MODULE_LICENSE ("GPL");
#define SM501_OHCI_DRIVER ohci_hcd_sm501_driver
#endif
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -52,6 +52,13 @@
+@@ -52,6 +52,13 @@ config SPI_MASTER
comment "SPI Master Controller Drivers"
depends on SPI_MASTER
depends on (ARCH_AT91 || AVR32) && SPI_MASTER
--- 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
-@@ -2060,6 +2060,8 @@
+@@ -2060,6 +2060,8 @@ config ACENIC_OMIT_TIGON_I
The safe and default value for this is N.
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
-@@ -683,6 +683,13 @@
+@@ -683,6 +683,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
-@@ -97,6 +97,7 @@
+@@ -97,6 +97,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
-@@ -455,6 +455,10 @@
+@@ -455,6 +455,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
-@@ -76,6 +76,11 @@
+@@ -82,6 +82,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,5 +15,6 @@
+@@ -16,5 +16,6 @@ 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
-@@ -62,31 +62,32 @@
+@@ -62,31 +62,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);
-@@ -158,6 +159,11 @@
+@@ -158,6 +159,11 @@ static int parse_redboot_partitions(stru
}
if (i == numslots) {
/* Didn't find it */
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
-@@ -386,4 +386,8 @@
+@@ -386,4 +386,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_CM_X270) += cmx27
obj-$(CONFIG_MTD_NAND_BASLER_EXCITE) += excite_nandflash.o
obj-$(CONFIG_MTD_NAND_PXA3xx) += pxa3xx_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
-@@ -874,6 +874,9 @@
+@@ -874,6 +874,9 @@ config MIPS_NILE4
config MIPS_DISABLE_OBSOLETE_IDE
bool
+
--- a/arch/mips/kernel/Makefile
+++ b/arch/mips/kernel/Makefile
-@@ -86,6 +86,7 @@
+@@ -86,6 +86,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
-@@ -880,6 +880,9 @@
+@@ -880,6 +880,9 @@ config MYLOADER
config SYNC_R4K
bool
extern asmlinkage void handle_int(void);
extern asmlinkage void handle_tlbm(void);
-@@ -1464,6 +1465,8 @@
+@@ -1464,6 +1465,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);
static int mips_next_event(unsigned long delta,
struct clock_event_device *evt)
{
-@@ -28,6 +44,7 @@
+@@ -28,6 +44,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;
#ifdef CONFIG_MIPS_MT_SMTC
evpe(vpflags);
-@@ -187,7 +204,7 @@
+@@ -187,7 +204,7 @@ static int c0_compare_int_usable(void)
*/
if (c0_compare_int_pending()) {
write_c0_compare(read_c0_count());
if (c0_compare_int_pending())
return 0;
}
-@@ -196,7 +213,7 @@
+@@ -196,7 +213,7 @@ static int c0_compare_int_usable(void)
cnt = read_c0_count();
cnt += delta;
write_c0_compare(cnt);
if ((int)(read_c0_count() - cnt) < 0)
break;
/* increase delta if the timer was already expired */
-@@ -205,11 +222,12 @@
+@@ -205,11 +222,12 @@ static int c0_compare_int_usable(void)
while ((int)(read_c0_count() - cnt) <= 0)
; /* Wait for expiry */
--- 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
-@@ -687,6 +699,7 @@
+@@ -687,6 +699,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
-@@ -84,6 +84,10 @@
+@@ -84,6 +84,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
-@@ -17,3 +17,4 @@
+@@ -17,3 +17,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
-@@ -683,6 +683,12 @@
+@@ -683,6 +683,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
-@@ -97,6 +97,7 @@
+@@ -97,6 +97,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
-@@ -367,6 +367,12 @@
+@@ -367,6 +367,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
-@@ -194,6 +194,7 @@
+@@ -194,6 +194,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
-@@ -62,31 +62,32 @@
+@@ -62,31 +62,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);
-@@ -158,6 +159,11 @@
+@@ -158,6 +159,11 @@ static int parse_redboot_partitions(stru
}
if (i == numslots) {
/* Didn't find it */
--- a/net/core/dev.c
+++ b/net/core/dev.c
-@@ -3786,8 +3786,8 @@
+@@ -3786,8 +3786,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;
}
-@@ -3800,9 +3800,9 @@
+@@ -3800,9 +3800,9 @@ int register_netdevice(struct net_device
}
if (dev->features & NETIF_F_UFO) {
if (!(dev->features & NETIF_F_HW_CSUM)) {
--- a/arch/mips/kernel/cevt-r4k.c
+++ b/arch/mips/kernel/cevt-r4k.c
-@@ -205,6 +205,7 @@
+@@ -205,6 +205,7 @@ static int c0_compare_int_usable(void)
while ((int)(read_c0_count() - cnt) <= 0)
; /* Wait for expiry */
extern asmlinkage void handle_int(void);
extern asmlinkage void handle_tlbm(void);
-@@ -1464,6 +1465,8 @@
+@@ -1464,6 +1465,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 @@
+@@ -265,6 +265,11 @@ void (*board_time_init)(void);
void __init plat_time_init(void) {
board_time_init();
}
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -1395,6 +1395,71 @@
+@@ -1395,6 +1395,71 @@ config CRAMFS
If unsure, say N.
depends on BLOCK
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -73,6 +73,7 @@
+@@ -73,6 +73,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>
-@@ -39,6 +40,7 @@
+@@ -39,6 +40,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
-@@ -53,6 +55,7 @@
+@@ -53,6 +55,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;
-@@ -64,6 +67,7 @@
+@@ -64,6 +67,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);
/*
-@@ -101,6 +105,15 @@
+@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start
goto done;
}
+}
--- a/lib/Makefile
+++ b/lib/Makefile
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ lib-$(CONFIG_SMP) += cpumask.o
lib-y += kobject.o kref.o klist.o
obj-y += 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
-@@ -537,6 +537,9 @@
+@@ -537,6 +537,9 @@ endif
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
CHECKFLAGS += $(NOSTDINC_FLAGS)
#include <linux/squashfs_fs_sb.h>
#include <linux/squashfs_fs_i.h>
#include <linux/buffer_head.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 *);
-@@ -324,12 +325,19 @@
+@@ -324,12 +325,19 @@ struct mtd_info *cfi_cmdset_0002(struct
if (extp->MajorVersion != '1' ||
(extp->MinorVersion < '0' || extp->MinorVersion > '4')) {
--- a/drivers/mtd/chips/cfi_cmdset_0001.c
+++ b/drivers/mtd/chips/cfi_cmdset_0001.c
-@@ -1010,7 +1010,7 @@
+@@ -1010,7 +1010,7 @@ static void __xipram xip_enable(struct m
static int __xipram xip_wait_for_operation(
struct map_info *map, struct flchip *chip,
{
struct cfi_private *cfi = map->fldrv_priv;
struct cfi_pri_intelext *cfip = cfi->cmdset_priv;
-@@ -1019,7 +1019,7 @@
+@@ -1019,7 +1019,7 @@ static int __xipram xip_wait_for_operati
flstate_t oldstate, newstate;
start = xip_currtime();
if (usec == 0)
usec = 500000;
done = 0;
-@@ -1129,8 +1129,8 @@
+@@ -1129,8 +1129,8 @@ static int __xipram xip_wait_for_operati
#define XIP_INVAL_CACHED_RANGE(map, from, size) \
INVALIDATE_CACHED_RANGE(map, from, size)
#else
-@@ -1142,65 +1142,65 @@
+@@ -1142,65 +1142,65 @@ static int __xipram xip_wait_for_operati
static int inval_cache_and_wait_for_operation(
struct map_info *map, struct flchip *chip,
unsigned long cmd_adr, unsigned long inval_adr, int inval_len,
/* Done and happy. */
chip->state = FL_STATUS;
return 0;
-@@ -1209,7 +1209,8 @@
+@@ -1209,7 +1209,8 @@ static int inval_cache_and_wait_for_oper
#endif
#define WAIT_TIMEOUT(map, chip, adr, udelay) \
static int do_point_onechip (struct map_info *map, struct flchip *chip, loff_t adr, size_t len)
-@@ -1443,7 +1444,7 @@
+@@ -1443,7 +1444,7 @@ static int __xipram do_write_oneword(str
ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
adr, map_bankwidth(map),
if (ret) {
xip_enable(map, chip, adr);
printk(KERN_ERR "%s: word write error (status timeout)\n", map->name);
-@@ -1683,7 +1684,7 @@
+@@ -1683,7 +1684,7 @@ static int __xipram do_write_buffer(stru
ret = INVAL_CACHE_AND_WAIT(map, chip, cmd_adr,
initial_adr, initial_len,
if (ret) {
map_write(map, CMD(0x70), cmd_adr);
chip->state = FL_STATUS;
-@@ -1818,7 +1819,7 @@
+@@ -1818,7 +1819,7 @@ static int __xipram do_erase_oneblock(st
ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
adr, len,
#include <linux/buffer_head.h>
#include <linux/mutex.h>
#include <linux/mount.h>
-@@ -237,10 +238,11 @@
+@@ -237,10 +238,11 @@ static void block2mtd_free_device(struct
/* FIXME: ensure that mtd->size % erase_size == 0 */
if (!devname)
return NULL;
-@@ -279,14 +281,18 @@
+@@ -279,14 +281,18 @@ static struct block2mtd_dev *add_device(
/* Setup the MTD structure */
/* make the name contain the block device in */
dev->mtd.erasesize = erase_size;
dev->mtd.writesize = 1;
dev->mtd.type = MTD_RAM;
-@@ -299,14 +305,17 @@
+@@ -299,14 +305,17 @@ static struct block2mtd_dev *add_device(
dev->mtd.priv = dev;
dev->mtd.owner = THIS_MODULE;
return dev;
devinit_err:
-@@ -379,9 +388,9 @@
+@@ -379,9 +388,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;
-@@ -392,7 +401,7 @@
+@@ -392,7 +401,7 @@ static int block2mtd_setup2(const char *
strcpy(str, val);
kill_final_newline(str);
token[i] = strsep(&str, ",");
if (str)
-@@ -411,8 +420,10 @@
+@@ -411,8 +420,10 @@ static int block2mtd_setup2(const char *
parse_err("illegal erase size");
}
}
return 0;
}
-@@ -446,7 +457,7 @@
+@@ -446,7 +457,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
-@@ -47,6 +47,16 @@
+@@ -47,6 +47,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);
-@@ -39,7 +41,7 @@
+@@ -39,7 +41,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
-@@ -322,6 +324,316 @@
+@@ -322,6 +324,316 @@ int del_mtd_partitions(struct mtd_info *
return 0;
}
/*
* 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
-@@ -334,171 +646,31 @@
+@@ -334,171 +646,31 @@ int add_mtd_partitions(struct mtd_info *
int nbparts)
{
struct mtd_part *slave;
}
}
-@@ -574,6 +746,32 @@
+@@ -574,6 +746,32 @@ int parse_mtd_partitions(struct mtd_info
return ret;
}
EXPORT_SYMBOL_GPL(deregister_mtd_parser);
--- a/drivers/mtd/devices/block2mtd.c
+++ b/drivers/mtd/devices/block2mtd.c
-@@ -34,6 +34,8 @@
+@@ -34,6 +34,8 @@ struct block2mtd_dev {
struct block_device *blkdev;
struct mtd_info mtd;
struct mutex write_mutex;
};
-@@ -86,6 +88,12 @@
+@@ -86,6 +88,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);
-@@ -98,6 +106,10 @@
+@@ -98,6 +106,10 @@ static int block2mtd_erase(struct mtd_in
instr->state = MTD_ERASE_DONE;
mtd_erase_callback(instr);
return err;
}
-@@ -109,10 +121,14 @@
+@@ -109,10 +121,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;
-@@ -127,10 +143,14 @@
+@@ -127,10 +143,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);
-@@ -141,7 +161,10 @@
+@@ -141,7 +161,10 @@ static int block2mtd_read(struct mtd_inf
offset = 0;
index++;
}
}
-@@ -193,12 +216,22 @@
+@@ -193,12 +216,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;
-@@ -207,6 +240,9 @@
+@@ -207,6 +240,9 @@ static int block2mtd_write(struct mtd_in
mutex_unlock(&dev->write_mutex);
if (err > 0)
err = 0;
return err;
}
-@@ -215,51 +251,29 @@
+@@ -215,51 +251,29 @@ static int block2mtd_write(struct mtd_in
static void block2mtd_sync(struct mtd_info *mtd)
{
struct block2mtd_dev *dev = mtd->priv;
if (devt) {
bdev = open_by_devnum(devt, FMODE_WRITE | FMODE_READ);
}
-@@ -267,17 +281,96 @@
+@@ -267,17 +281,96 @@ static struct block2mtd_dev *add_device(
#endif
if (IS_ERR(bdev)) {
/* Setup the MTD structure */
/* make the name contain the block device in */
-@@ -304,6 +397,7 @@
+@@ -304,6 +397,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>
-@@ -756,6 +757,13 @@
+@@ -756,6 +757,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
-@@ -98,6 +98,7 @@
+@@ -98,6 +98,7 @@ struct mtd_oob_ops {
uint8_t *oobbuf;
};
struct mtd_info {
u_char type;
u_int32_t flags;
-@@ -213,6 +214,9 @@
+@@ -213,6 +214,9 @@ struct mtd_info {
struct module *owner;
int usecount;
struct mtd_partition {
char *name; /* identifier string */
u_int32_t size; /* partition size */
-@@ -43,6 +44,7 @@
+@@ -43,6 +44,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)
-@@ -52,6 +54,7 @@
+@@ -52,6 +54,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
-@@ -95,6 +95,7 @@
+@@ -95,6 +95,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
-@@ -251,14 +251,21 @@
+@@ -251,14 +251,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
-@@ -43,6 +45,7 @@
+@@ -43,6 +45,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;
-@@ -211,14 +214,14 @@
+@@ -211,14 +214,14 @@ static int parse_redboot_partitions(stru
}
}
#endif
#ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
if (nulllen > 0) {
strcpy(nullname, nullstring);
-@@ -237,6 +240,8 @@
+@@ -237,6 +240,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;
-@@ -270,6 +275,14 @@
+@@ -270,6 +275,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
-@@ -573,6 +573,7 @@
+@@ -573,6 +573,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
-@@ -749,6 +749,27 @@
+@@ -749,6 +749,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
-@@ -205,6 +205,14 @@
+@@ -205,6 +205,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
-@@ -174,7 +174,12 @@
+@@ -174,7 +174,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
-@@ -124,6 +124,22 @@
+@@ -124,6 +124,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
-@@ -50,6 +50,8 @@
+@@ -50,6 +50,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
-@@ -401,5 +401,122 @@
+@@ -401,5 +401,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
-@@ -49,6 +49,7 @@
+@@ -49,6 +49,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
-@@ -62,6 +63,18 @@
+@@ -62,6 +63,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
-@@ -50,6 +50,7 @@
+@@ -50,6 +50,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
-@@ -117,6 +117,129 @@
+@@ -117,6 +117,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
-@@ -142,6 +142,7 @@
+@@ -142,6 +142,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
-@@ -300,6 +300,10 @@
+@@ -300,6 +300,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
-@@ -1633,6 +1637,10 @@
+@@ -1633,6 +1637,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>
-@@ -1569,7 +1572,11 @@
+@@ -1569,7 +1572,11 @@ static int dev_gso_segment(struct sk_buf
int dev_hard_start_xmit(struct sk_buff *skb, struct net_device *dev)
{
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
-@@ -58,6 +58,7 @@
+@@ -58,6 +58,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.
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
-@@ -203,6 +203,7 @@
+@@ -203,6 +203,7 @@ void __qdisc_run(struct net_device *dev)
clear_bit(__LINK_STATE_QDISC_RUNNING, &dev->state);
}
+#define xt_request_find_match xt_request_find_match_lo
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -288,6 +288,14 @@
+@@ -288,6 +288,14 @@ config NETFILTER_XTABLES
# alphabetically ordered list of targets
config NETFILTER_XT_TARGET_CLASSIFY
tristate '"CLASSIFY" target support'
depends on NETFILTER_XTABLES
-@@ -317,6 +325,14 @@
+@@ -317,6 +325,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
-@@ -653,6 +669,14 @@
+@@ -653,6 +669,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
-@@ -1554,6 +1554,8 @@
+@@ -1554,6 +1554,8 @@ __u32 secure_tcp_sequence_number(__be32
return seq;
}
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -449,6 +449,23 @@
+@@ -449,6 +449,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
-@@ -157,7 +157,7 @@
+@@ -157,7 +157,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
-@@ -468,7 +468,7 @@
+@@ -468,7 +468,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
-@@ -270,6 +270,16 @@
+@@ -270,6 +270,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
-@@ -304,6 +304,11 @@
+@@ -304,6 +304,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
-@@ -162,8 +162,37 @@
+@@ -162,8 +162,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
-@@ -597,6 +597,9 @@
+@@ -597,6 +597,9 @@ core-$(CONFIG_TOSHIBA_RBTX4938) += arch/
cflags-$(CONFIG_TOSHIBA_RBTX4938) += -Iinclude/asm-mips/mach-tx49xx
load-$(CONFIG_TOSHIBA_RBTX4938) += 0xffffffff80100000
--- 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
-@@ -1539,7 +1539,7 @@
+@@ -1539,7 +1539,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
-@@ -1548,7 +1548,7 @@
+@@ -1548,7 +1548,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
-@@ -1557,7 +1557,7 @@
+@@ -1557,7 +1557,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
-@@ -2905,10 +2905,12 @@
+@@ -2905,10 +2905,12 @@ static irqreturn_t rtl8169_interrupt(int
break;
}
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -1477,6 +1477,9 @@
+@@ -1477,6 +1477,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
-@@ -77,6 +77,7 @@
+@@ -77,6 +77,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/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
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ config SND_PCM
depends on SND
config SND_HWDEP
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -190,4 +190,8 @@
+@@ -190,4 +190,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
-@@ -27,3 +27,4 @@
+@@ -27,3 +27,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
-@@ -200,4 +200,11 @@
+@@ -200,4 +200,11 @@ config LEDS_TRIGGER_MORSE
tristate "LED Morse Trigger"
depends on LEDS_TRIGGERS
endif # NEW_LEDS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -29,3 +29,4 @@
+@@ -29,3 +29,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
-@@ -197,4 +197,20 @@
+@@ -197,4 +197,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
-@@ -19,3 +19,4 @@
+@@ -19,3 +19,4 @@ obj-$(CONFIG_INPUT_YEALINK) += yealink.
obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o
obj-$(CONFIG_INPUT_UINPUT) += uinput.o
obj-$(CONFIG_INPUT_APANEL) += apanel.o
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
-@@ -1002,6 +1002,13 @@
+@@ -1002,6 +1002,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
-@@ -95,6 +95,7 @@
+@@ -95,6 +95,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
-@@ -121,3 +121,4 @@
+@@ -121,3 +121,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
-@@ -65,6 +65,11 @@
+@@ -65,6 +65,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,20 @@
+@@ -309,6 +309,20 @@ 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
-@@ -70,6 +70,12 @@
+@@ -70,6 +70,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
-@@ -58,6 +58,7 @@
+@@ -58,6 +58,7 @@ static struct usb_driver usb_serial_driv
drivers depend on it.
*/
static int debug;
static struct usb_serial *serial_table[SERIAL_TTY_MINORS]; /* initially all NULL */
static DEFINE_MUTEX(table_lock);
-@@ -814,7 +815,7 @@
+@@ -814,7 +815,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);
-@@ -1228,3 +1229,5 @@
+@@ -1228,3 +1229,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
-@@ -803,7 +803,7 @@
+@@ -803,7 +803,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;
-@@ -2468,13 +2468,13 @@
+@@ -2468,13 +2468,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
-@@ -89,6 +89,7 @@
+@@ -89,6 +89,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
-@@ -1500,23 +1500,20 @@
+@@ -1500,23 +1500,20 @@ static int prism2_txpower_hfa386x_to_dBm
val = 255;
tmp = val;
return (unsigned char) tmp;
}
-@@ -4076,3 +4073,35 @@
+@@ -4076,3 +4073,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
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
-@@ -65,6 +65,7 @@
+@@ -65,6 +65,7 @@ config CRYPTO_NULL
config CRYPTO_CRYPTD
tristate "Software async crypto daemon"
select CRYPTO_BLKCIPHER
select CRYPTO_MANAGER
help
This is a generic software asynchronous crypto daemon that
-@@ -212,7 +213,7 @@
+@@ -212,7 +213,7 @@ comment "Digest"
config CRYPTO_CRC32C
tristate "CRC32c CRC algorithm"
select LIBCRC32C
help
Castagnoli, et al Cyclic Redundancy-Check Algorithm. Used
-@@ -241,6 +242,57 @@
+@@ -241,6 +242,57 @@ config CRYPTO_MICHAEL_MIC
should not be used for other purposes because of the weakness
of the algorithm.
config CRYPTO_SHA1
tristate "SHA1 digest algorithm"
select CRYPTO_ALGAPI
-@@ -614,6 +666,15 @@
+@@ -614,6 +666,15 @@ config CRYPTO_LZO
help
This is the LZO algorithm.
endif # if CRYPTO
--- a/crypto/Makefile
+++ b/crypto/Makefile
-@@ -19,6 +19,7 @@
+@@ -19,6 +19,7 @@ obj-$(CONFIG_CRYPTO_BLKCIPHER) += crypto
obj-$(CONFIG_CRYPTO_SEQIV) += seqiv.o
crypto_hash-objs := hash.o
obj-$(CONFIG_CRYPTO_HASH) += crypto_hash.o
obj-$(CONFIG_CRYPTO_MANAGER) += cryptomgr.o
-@@ -27,6 +28,10 @@
+@@ -27,6 +28,10 @@ obj-$(CONFIG_CRYPTO_XCBC) += xcbc.o
obj-$(CONFIG_CRYPTO_NULL) += crypto_null.o
obj-$(CONFIG_CRYPTO_MD4) += md4.o
obj-$(CONFIG_CRYPTO_MD5) += md5.o
obj-$(CONFIG_CRYPTO_SHA1) += sha1_generic.o
obj-$(CONFIG_CRYPTO_SHA256) += sha256_generic.o
obj-$(CONFIG_CRYPTO_SHA512) += sha512_generic.o
-@@ -64,7 +69,7 @@
+@@ -64,7 +69,7 @@ obj-$(CONFIG_CRYPTO_MICHAEL_MIC) += mich
obj-$(CONFIG_CRYPTO_CRC32C) += crc32c.o
obj-$(CONFIG_CRYPTO_AUTHENC) += authenc.o
obj-$(CONFIG_CRYPTO_LZO) += lzo.o
+MODULE_DESCRIPTION("Asynchronous cryptographic hash type");
--- a/crypto/api.c
+++ b/crypto/api.c
-@@ -235,8 +235,12 @@
+@@ -235,8 +235,12 @@ static int crypto_init_ops(struct crypto
return crypto_init_cipher_ops(tfm);
case CRYPTO_ALG_TYPE_DIGEST:
static const u32 camellia_sp1110[256] = {
0x70707000,0x82828200,0x2c2c2c00,0xececec00,
-@@ -335,20 +337,6 @@
+@@ -335,20 +337,6 @@ static const u32 camellia_sp4404[256] =
/*
* macros
*/
#define ROLDQ(ll, lr, rl, rr, w0, w1, bits) \
do { \
w0 = ll; \
-@@ -383,7 +371,7 @@
+@@ -383,7 +371,7 @@ static const u32 camellia_sp4404[256] =
^ camellia_sp3033[(u8)(il >> 8)] \
^ camellia_sp4404[(u8)(il )]; \
yl ^= yr; \
yr ^= yl; \
} while(0)
-@@ -405,7 +393,7 @@
+@@ -405,7 +393,7 @@ static void camellia_setup_tail(u32 *sub
subL[7] ^= subL[1]; subR[7] ^= subR[1];
subL[1] ^= subR[1] & ~subR[9];
dw = subL[1] & subL[9],
/* round 8 */
subL[11] ^= subL[1]; subR[11] ^= subR[1];
/* round 10 */
-@@ -414,7 +402,7 @@
+@@ -414,7 +402,7 @@ static void camellia_setup_tail(u32 *sub
subL[15] ^= subL[1]; subR[15] ^= subR[1];
subL[1] ^= subR[1] & ~subR[17];
dw = subL[1] & subL[17],
/* round 14 */
subL[19] ^= subL[1]; subR[19] ^= subR[1];
/* round 16 */
-@@ -430,7 +418,7 @@
+@@ -430,7 +418,7 @@ static void camellia_setup_tail(u32 *sub
} else {
subL[1] ^= subR[1] & ~subR[25];
dw = subL[1] & subL[25],
/* round 20 */
subL[27] ^= subL[1]; subR[27] ^= subR[1];
/* round 22 */
-@@ -450,7 +438,7 @@
+@@ -450,7 +438,7 @@ static void camellia_setup_tail(u32 *sub
subL[26] ^= kw4l; subR[26] ^= kw4r;
kw4l ^= kw4r & ~subR[24];
dw = kw4l & subL[24],
}
/* round 17 */
subL[22] ^= kw4l; subR[22] ^= kw4r;
-@@ -460,7 +448,7 @@
+@@ -460,7 +448,7 @@ static void camellia_setup_tail(u32 *sub
subL[18] ^= kw4l; subR[18] ^= kw4r;
kw4l ^= kw4r & ~subR[16];
dw = kw4l & subL[16],
/* round 11 */
subL[14] ^= kw4l; subR[14] ^= kw4r;
/* round 9 */
-@@ -469,7 +457,7 @@
+@@ -469,7 +457,7 @@ static void camellia_setup_tail(u32 *sub
subL[10] ^= kw4l; subR[10] ^= kw4r;
kw4l ^= kw4r & ~subR[8];
dw = kw4l & subL[8],
/* round 5 */
subL[6] ^= kw4l; subR[6] ^= kw4r;
/* round 3 */
-@@ -494,7 +482,7 @@
+@@ -494,7 +482,7 @@ static void camellia_setup_tail(u32 *sub
SUBKEY_R(6) = subR[5] ^ subR[7];
tl = subL[10] ^ (subR[10] & ~subR[8]);
dw = tl & subL[8], /* FL(kl1) */
SUBKEY_L(7) = subL[6] ^ tl; /* round 6 */
SUBKEY_R(7) = subR[6] ^ tr;
SUBKEY_L(8) = subL[8]; /* FL(kl1) */
-@@ -503,7 +491,7 @@
+@@ -503,7 +491,7 @@ static void camellia_setup_tail(u32 *sub
SUBKEY_R(9) = subR[9];
tl = subL[7] ^ (subR[7] & ~subR[9]);
dw = tl & subL[9], /* FLinv(kl2) */
SUBKEY_L(10) = tl ^ subL[11]; /* round 7 */
SUBKEY_R(10) = tr ^ subR[11];
SUBKEY_L(11) = subL[10] ^ subL[12]; /* round 8 */
-@@ -516,7 +504,7 @@
+@@ -516,7 +504,7 @@ static void camellia_setup_tail(u32 *sub
SUBKEY_R(14) = subR[13] ^ subR[15];
tl = subL[18] ^ (subR[18] & ~subR[16]);
dw = tl & subL[16], /* FL(kl3) */
SUBKEY_L(15) = subL[14] ^ tl; /* round 12 */
SUBKEY_R(15) = subR[14] ^ tr;
SUBKEY_L(16) = subL[16]; /* FL(kl3) */
-@@ -525,7 +513,7 @@
+@@ -525,7 +513,7 @@ static void camellia_setup_tail(u32 *sub
SUBKEY_R(17) = subR[17];
tl = subL[15] ^ (subR[15] & ~subR[17]);
dw = tl & subL[17], /* FLinv(kl4) */
SUBKEY_L(18) = tl ^ subL[19]; /* round 13 */
SUBKEY_R(18) = tr ^ subR[19];
SUBKEY_L(19) = subL[18] ^ subL[20]; /* round 14 */
-@@ -544,7 +532,7 @@
+@@ -544,7 +532,7 @@ static void camellia_setup_tail(u32 *sub
} else {
tl = subL[26] ^ (subR[26] & ~subR[24]);
dw = tl & subL[24], /* FL(kl5) */
SUBKEY_L(23) = subL[22] ^ tl; /* round 18 */
SUBKEY_R(23) = subR[22] ^ tr;
SUBKEY_L(24) = subL[24]; /* FL(kl5) */
-@@ -553,7 +541,7 @@
+@@ -553,7 +541,7 @@ static void camellia_setup_tail(u32 *sub
SUBKEY_R(25) = subR[25];
tl = subL[23] ^ (subR[23] & ~subR[25]);
dw = tl & subL[25], /* FLinv(kl6) */
SUBKEY_L(26) = tl ^ subL[27]; /* round 19 */
SUBKEY_R(26) = tr ^ subR[27];
SUBKEY_L(27) = subL[26] ^ subL[28]; /* round 20 */
-@@ -573,17 +561,17 @@
+@@ -573,17 +561,17 @@ static void camellia_setup_tail(u32 *sub
/* apply the inverse of the last half of P-function */
i = 2;
do {
SUBKEY_R(i + 5) = SUBKEY_L(i + 5) ^ dw; SUBKEY_L(i + 5) = dw;
i += 8;
} while (i < max);
-@@ -599,10 +587,10 @@
+@@ -599,10 +587,10 @@ static void camellia_setup128(const unsi
/**
* k == kll || klr || krl || krr (|| is concatenation)
*/
/* generate KL dependent subkeys */
/* kw1 */
-@@ -707,14 +695,14 @@
+@@ -707,14 +695,14 @@ static void camellia_setup256(const unsi
* key = (kll || klr || krl || krr || krll || krlr || krrl || krrr)
* (|| is concatenation)
*/
/* generate KL dependent subkeys */
/* kw1 */
-@@ -870,13 +858,13 @@
+@@ -870,13 +858,13 @@ static void camellia_setup192(const unsi
t0 &= ll; \
t2 |= rr; \
rl ^= t2; \
} while(0)
#define CAMELLIA_ROUNDSM(xl, xr, kl, kr, yl, yr, il, ir) \
-@@ -892,7 +880,7 @@
+@@ -892,7 +880,7 @@ static void camellia_setup192(const unsi
il ^= kl; \
ir ^= il ^ kr; \
yl ^= ir; \
#define CHKSUM_DIGEST_SIZE 4
struct chksum_ctx {
-@@ -27,7 +30,7 @@
+@@ -27,7 +30,7 @@ struct chksum_ctx {
};
/*
* crc using table.
*/
-@@ -67,11 +70,11 @@
+@@ -67,11 +70,11 @@ static void chksum_update(struct crypto_
static void chksum_final(struct crypto_tfm *tfm, u8 *out)
{
struct chksum_ctx *mctx = crypto_tfm_ctx(tfm);
{
struct chksum_ctx *mctx = crypto_tfm_ctx(tfm);
-@@ -79,14 +82,14 @@
+@@ -79,14 +82,14 @@ static int crc32c_cra_init(struct crypto
return 0;
}
.cra_u = {
.digest = {
.dia_digestsize= CHKSUM_DIGEST_SIZE,
-@@ -98,14 +101,125 @@
+@@ -98,14 +101,125 @@ static struct crypto_alg alg = {
}
};
#include <linux/err.h>
#include <linux/init.h>
#include <linux/kernel.h>
-@@ -45,6 +46,13 @@
+@@ -45,6 +46,13 @@ struct cryptd_blkcipher_request_ctx {
crypto_completion_t complete;
};
static inline struct cryptd_state *cryptd_get_state(struct crypto_tfm *tfm)
{
-@@ -82,10 +90,8 @@
+@@ -82,10 +90,8 @@ static void cryptd_blkcipher_crypt(struc
rctx = ablkcipher_request_ctx(req);
desc.tfm = child;
desc.info = req->info;
-@@ -95,8 +101,9 @@
+@@ -95,8 +101,9 @@ static void cryptd_blkcipher_crypt(struc
req->base.complete = rctx->complete;
local_bh_enable();
}
-@@ -261,6 +268,240 @@
+@@ -261,6 +268,240 @@ out_put_alg:
return inst;
}
static struct cryptd_state state;
static struct crypto_instance *cryptd_alloc(struct rtattr **tb)
-@@ -274,6 +515,8 @@
+@@ -274,6 +515,8 @@ static struct crypto_instance *cryptd_al
switch (algt->type & algt->mask & CRYPTO_ALG_TYPE_MASK) {
case CRYPTO_ALG_TYPE_BLKCIPHER:
return cryptd_alloc_blkcipher(tb, &state);
#include <crypto/scatterwalk.h>
#include <linux/mm.h>
#include <linux/errno.h>
-@@ -141,7 +142,7 @@
+@@ -141,7 +142,7 @@ int crypto_init_digest_ops(struct crypto
struct hash_tfm *ops = &tfm->crt_hash;
struct digest_alg *dalg = &tfm->__crt_alg->cra_digest;
return -EINVAL;
ops->init = init;
-@@ -157,3 +158,83 @@
+@@ -157,3 +158,83 @@ int crypto_init_digest_ops(struct crypto
void crypto_exit_digest_ops(struct crypto_tfm *tfm)
{
}
#include <linux/errno.h>
#include <linux/kernel.h>
#include <linux/module.h>
-@@ -59,24 +60,107 @@
+@@ -59,24 +60,107 @@ static int hash_setkey(struct crypto_has
return alg->setkey(crt, key, keylen);
}
static void crypto_hash_show(struct seq_file *m, struct crypto_alg *alg)
--- a/crypto/hmac.c
+++ b/crypto/hmac.c
-@@ -226,6 +226,7 @@
+@@ -226,6 +226,7 @@ static struct crypto_instance *hmac_allo
struct crypto_instance *inst;
struct crypto_alg *alg;
int err;
err = crypto_check_attr_type(tb, CRYPTO_ALG_TYPE_HASH);
if (err)
-@@ -236,6 +237,13 @@
+@@ -236,6 +237,13 @@ static struct crypto_instance *hmac_allo
if (IS_ERR(alg))
return ERR_CAST(alg);
inst = crypto_alloc_instance("hmac", alg);
if (IS_ERR(inst))
goto out_put_alg;
-@@ -246,14 +254,10 @@
+@@ -246,14 +254,10 @@ static struct crypto_instance *hmac_allo
inst->alg.cra_alignmask = alg->cra_alignmask;
inst->alg.cra_type = &crypto_hash_type;
inst->alg.cra_init = hmac_init_tfm;
--- a/crypto/internal.h
+++ b/crypto/internal.h
-@@ -86,6 +86,7 @@
+@@ -86,6 +86,7 @@ struct crypto_alg *__crypto_alg_lookup(c
struct crypto_alg *crypto_alg_mod_lookup(const char *name, u32 type, u32 mask);
int crypto_init_digest_ops(struct crypto_tfm *tfm);
#define IDX2 32400
#define IDX3 1
#define IDX4 8193
-@@ -83,7 +76,8 @@
+@@ -83,7 +76,8 @@ static char *check[] = {
"blowfish", "twofish", "serpent", "sha384", "sha512", "md4", "aes",
"cast6", "arc4", "michael_mic", "deflate", "crc32c", "tea", "xtea",
"khazad", "wp512", "wp384", "wp256", "tnepres", "xeta", "fcrypt",
};
static void hexdump(unsigned char *buf, unsigned int len)
-@@ -110,22 +104,30 @@
+@@ -110,22 +104,30 @@ static void test_hash(char *algo, struct
unsigned int i, j, k, temp;
struct scatterlist sg[8];
char result[64];
for (i = 0; i < tcount; i++) {
printk("test %u:\n", i + 1);
-@@ -139,8 +141,9 @@
+@@ -139,8 +141,9 @@ static void test_hash(char *algo, struct
sg_init_one(&sg[0], hash_buff, template[i].psize);
if (template[i].ksize) {
if (ret) {
printk("setkey() failed ret=%d\n", ret);
kfree(hash_buff);
-@@ -148,17 +151,30 @@
+@@ -148,17 +151,30 @@ static void test_hash(char *algo, struct
}
}
"fail" : "pass");
kfree(hash_buff);
}
-@@ -187,8 +203,9 @@
+@@ -187,8 +203,9 @@ static void test_hash(char *algo, struct
}
if (template[i].ksize) {
if (ret) {
printk("setkey() failed ret=%d\n", ret);
-@@ -196,29 +213,44 @@
+@@ -196,29 +213,44 @@ static void test_hash(char *algo, struct
}
}
char *q;
struct crypto_aead *tfm;
char *key;
-@@ -344,13 +376,12 @@
+@@ -344,13 +376,12 @@ static void test_aead(char *algo, int en
goto next_one;
}
next_one:
if (!template[i].key)
kfree(key);
-@@ -360,7 +391,6 @@
+@@ -360,7 +391,6 @@ next_one:
}
printk(KERN_INFO "\ntesting %s %s across pages (chunking)\n", algo, e);
memset(axbuf, 0, XBUFSIZE);
for (i = 0, j = 0; i < tcount; i++) {
-@@ -388,6 +418,7 @@
+@@ -388,6 +418,7 @@ next_one:
goto out;
}
sg_init_table(sg, template[i].np);
for (k = 0, temp = 0; k < template[i].np; k++) {
memcpy(&xbuf[IDX[k]],
-@@ -450,7 +481,7 @@
+@@ -450,7 +481,7 @@ next_one:
for (k = 0, temp = 0; k < template[i].np; k++) {
printk(KERN_INFO "page %u\n", k);
hexdump(q, template[i].tap[k]);
printk(KERN_INFO "%s\n",
memcmp(q, template[i].result + temp,
-@@ -459,8 +490,15 @@
+@@ -459,8 +490,15 @@ next_one:
0 : authsize)) ?
"fail" : "pass");
}
}
}
-@@ -473,7 +511,7 @@
+@@ -473,7 +511,7 @@ out:
static void test_cipher(char *algo, int enc,
struct cipher_testvec *template, unsigned int tcount)
{
char *q;
struct crypto_ablkcipher *tfm;
struct ablkcipher_request *req;
-@@ -569,19 +607,17 @@
+@@ -569,19 +607,17 @@ static void test_cipher(char *algo, int
goto out;
}
j = 0;
for (i = 0; i < tcount; i++) {
-@@ -596,6 +632,7 @@
+@@ -596,6 +632,7 @@ static void test_cipher(char *algo, int
printk("test %u (%d bit key):\n",
j, template[i].klen * 8);
crypto_ablkcipher_clear_flags(tfm, ~0);
if (template[i].wk)
crypto_ablkcipher_set_flags(
-@@ -649,14 +686,21 @@
+@@ -649,14 +686,21 @@ static void test_cipher(char *algo, int
temp = 0;
for (k = 0; k < template[i].np; k++) {
printk("page %u\n", k);
}
}
}
-@@ -1172,6 +1216,14 @@
+@@ -1172,6 +1216,14 @@ static void do_test(void)
test_cipher("ecb(des3_ede)", DECRYPT, des3_ede_dec_tv_template,
DES3_EDE_DEC_TEST_VECTORS);
test_hash("md4", md4_tv_template, MD4_TEST_VECTORS);
test_hash("sha224", sha224_tv_template, SHA224_TEST_VECTORS);
-@@ -1382,6 +1434,14 @@
+@@ -1382,6 +1434,14 @@ static void do_test(void)
DES3_EDE_ENC_TEST_VECTORS);
test_cipher("ecb(des3_ede)", DECRYPT, des3_ede_dec_tv_template,
DES3_EDE_DEC_TEST_VECTORS);
break;
case 5:
-@@ -1550,7 +1610,7 @@
+@@ -1550,7 +1610,7 @@ static void do_test(void)
case 29:
test_hash("tgr128", tgr128_tv_template, TGR128_TEST_VECTORS);
break;
case 30:
test_cipher("ecb(xeta)", ENCRYPT, xeta_enc_tv_template,
XETA_ENC_TEST_VECTORS);
-@@ -1615,6 +1675,22 @@
+@@ -1615,6 +1675,22 @@ static void do_test(void)
CTS_MODE_DEC_TEST_VECTORS);
break;
case 100:
test_hash("hmac(md5)", hmac_md5_tv_template,
HMAC_MD5_TEST_VECTORS);
-@@ -1650,6 +1726,16 @@
+@@ -1650,6 +1726,16 @@ static void do_test(void)
XCBC_AES_TEST_VECTORS);
break;
case 200:
test_cipher_speed("ecb(aes)", ENCRYPT, sec, NULL, 0,
speed_template_16_24_32);
-@@ -1788,6 +1874,22 @@
+@@ -1788,6 +1874,22 @@ static void do_test(void)
test_hash_speed("sha224", sec, generic_hash_speed_template);
if (mode > 300 && mode < 400) break;
*/
#ifndef _CRYPTO_TCRYPT_H
#define _CRYPTO_TCRYPT_H
-@@ -168,6 +162,271 @@
+@@ -168,6 +162,271 @@ static struct hash_testvec md5_tv_templa
.digest = "\x57\xed\xf4\xa2\x2b\xe3\xc9\x55"
"\xac\x49\xda\x2e\x21\x07\xb6\x7a",
}
};
/*
-@@ -817,6 +1076,168 @@
+@@ -817,6 +1076,168 @@ static struct hash_testvec hmac_md5_tv_t
};
/*
* HMAC-SHA1 test vectors from RFC2202
*/
#define HMAC_SHA1_TEST_VECTORS 7
-@@ -1442,6 +1863,8 @@
+@@ -1442,6 +1863,8 @@ static struct hash_testvec hmac_sha512_t
#define DES_CBC_DEC_TEST_VECTORS 4
#define DES3_EDE_ENC_TEST_VECTORS 3
#define DES3_EDE_DEC_TEST_VECTORS 3
static struct cipher_testvec des_enc_tv_template[] = {
{ /* From Applied Cryptography */
-@@ -1680,9 +2103,6 @@
+@@ -1680,9 +2103,6 @@ static struct cipher_testvec des_cbc_dec
},
};
static struct cipher_testvec des3_ede_enc_tv_template[] = {
{ /* These are from openssl */
.key = "\x01\x23\x45\x67\x89\xab\xcd\xef"
-@@ -1745,6 +2165,94 @@
+@@ -1745,6 +2165,94 @@ static struct cipher_testvec des3_ede_de
},
};
*/
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
-@@ -174,4 +174,30 @@
+@@ -174,4 +174,30 @@ config CRYPTO_DEV_HIFN_795X_RNG
Select this option if you want to enable the random number generator
on the HIFN 795x crypto adapters.
endif # CRYPTO_HW
--- a/drivers/crypto/Makefile
+++ b/drivers/crypto/Makefile
-@@ -2,3 +2,5 @@
+@@ -2,3 +2,5 @@ obj-$(CONFIG_CRYPTO_DEV_PADLOCK_AES) +=
obj-$(CONFIG_CRYPTO_DEV_PADLOCK_SHA) += padlock-sha.o
obj-$(CONFIG_CRYPTO_DEV_GEODE) += geode-aes.o
obj-$(CONFIG_CRYPTO_DEV_HIFN_795X) += hifn_795x.o
#include <linux/crypto.h>
#include <linux/hw_random.h>
#include <linux/ktime.h>
-@@ -369,7 +368,9 @@
+@@ -369,7 +368,9 @@ static atomic_t hifn_dev_number;
#define HIFN_D_DST_RSIZE 80*4
#define HIFN_D_RES_RSIZE 24*4
#define AES_MIN_KEY_SIZE 16
#define AES_MAX_KEY_SIZE 32
-@@ -535,10 +536,10 @@
+@@ -535,10 +536,10 @@ struct hifn_crypt_command
*/
struct hifn_mac_command
{
};
#define HIFN_MAC_CMD_ALG_MASK 0x0001
-@@ -564,10 +565,10 @@
+@@ -564,10 +565,10 @@ struct hifn_mac_command
struct hifn_comp_command
{
};
#define HIFN_COMP_CMD_SRCLEN_M 0xc000
-@@ -583,10 +584,10 @@
+@@ -583,10 +584,10 @@ struct hifn_comp_command
struct hifn_base_result
{
};
#define HIFN_BASE_RES_DSTOVERRUN 0x0200 /* destination overrun */
-@@ -597,8 +598,8 @@
+@@ -597,8 +598,8 @@ struct hifn_base_result
struct hifn_comp_result
{
};
#define HIFN_COMP_RES_LCB_M 0xff00 /* longitudinal check byte */
-@@ -609,8 +610,8 @@
+@@ -609,8 +610,8 @@ struct hifn_comp_result
struct hifn_mac_result
{
/* followed by 0, 6, 8, or 10 u16's of the MAC, then crypt */
};
-@@ -619,8 +620,8 @@
+@@ -619,8 +620,8 @@ struct hifn_mac_result
struct hifn_crypt_result
{
};
#define HIFN_CRYPT_RES_SRC_NOTZERO 0x0001 /* source expired */
-@@ -686,12 +687,12 @@
+@@ -686,12 +687,12 @@ static inline u32 hifn_read_1(struct hif
static inline void hifn_write_0(struct hifn_device *dev, u32 reg, u32 val)
{
}
static void hifn_wait_puc(struct hifn_device *dev)
-@@ -894,7 +895,7 @@
+@@ -894,7 +895,7 @@ static int hifn_enable_crypto(struct hif
char *offtbl = NULL;
int i;
if (pci2id[i].pci_vendor == dev->pdev->vendor &&
pci2id[i].pci_prod == dev->pdev->device) {
offtbl = pci2id[i].card_id;
-@@ -1037,14 +1038,14 @@
+@@ -1037,14 +1038,14 @@ static void hifn_init_registers(struct h
hifn_write_0(dev, HIFN_0_PUIER, HIFN_PUIER_DSTOVER);
/* write all 4 ring address registers */
mdelay(2);
#if 0
-@@ -1166,109 +1167,15 @@
+@@ -1166,109 +1167,15 @@ static int hifn_setup_crypto_command(str
return cmd_len;
}
buf_pos = buf = dma->command_bufs[dma->cmdi];
mask = 0;
-@@ -1370,16 +1277,113 @@
+@@ -1370,16 +1277,113 @@ static int hifn_setup_dma(struct hifn_de
hifn_write_1(dev, HIFN_1_DMA_CSR, HIFN_DMACSR_C_CTRL_ENA);
dev->flags |= HIFN_FLAG_CMD_BUSY;
}
static int ablkcipher_walk_init(struct ablkcipher_walk *w,
int num, gfp_t gfp_flags)
{
-@@ -1431,7 +1435,7 @@
+@@ -1431,7 +1435,7 @@ static int ablkcipher_add(void *daddr, u
return -EINVAL;
while (size) {
saddr = kmap_atomic(sg_page(src), KM_SOFTIRQ1);
memcpy(daddr, saddr + src->offset, copy);
-@@ -1458,10 +1462,6 @@
+@@ -1458,10 +1462,6 @@ static int ablkcipher_add(void *daddr, u
static int ablkcipher_walk(struct ablkcipher_request *req,
struct ablkcipher_walk *w)
{
struct scatterlist *src, *dst, *t;
void *daddr;
unsigned int nbytes = req->nbytes, offset, copy, diff;
-@@ -1477,16 +1477,14 @@
+@@ -1477,16 +1477,14 @@ static int ablkcipher_walk(struct ablkci
dst = &req->dst[idx];
dprintk("\n%s: slen: %u, dlen: %u, soff: %u, doff: %u, offset: %u, "
unsigned dlen = PAGE_SIZE;
t = &w->cache[idx];
-@@ -1498,8 +1496,8 @@
+@@ -1498,8 +1496,8 @@ static int ablkcipher_walk(struct ablkci
idx += err;
if (dlen < nbytes) {
/*
-@@ -1507,7 +1505,7 @@
+@@ -1507,7 +1505,7 @@ static int ablkcipher_walk(struct ablkci
* to put there additional blocksized chunk,
* so we mark that page as containing only
* blocksize aligned chunks:
* and increase number of bytes to be processed
* in next chunk:
* nbytes += diff;
-@@ -1544,7 +1542,7 @@
+@@ -1544,7 +1542,7 @@ static int ablkcipher_walk(struct ablkci
kunmap_atomic(daddr, KM_SOFTIRQ0);
} else {
idx++;
}
-@@ -1563,14 +1561,10 @@
+@@ -1563,14 +1561,10 @@ static int hifn_setup_session(struct abl
struct hifn_context *ctx = crypto_tfm_ctx(req->base.tfm);
struct hifn_device *dev = ctx->dev;
struct page *spage, *dpage;
if (ctx->iv && !ctx->ivsize && ctx->mode != ACRYPTO_MODE_ECB)
goto err_out_exit;
-@@ -1578,17 +1572,14 @@
+@@ -1578,17 +1572,14 @@ static int hifn_setup_session(struct abl
ctx->walk.flags = 0;
while (nbytes) {
idx++;
}
-@@ -1602,7 +1593,10 @@
+@@ -1602,7 +1593,10 @@ static int hifn_setup_session(struct abl
idx = 0;
sg_num = ablkcipher_walk(req, &ctx->walk);
atomic_set(&ctx->sg_num, sg_num);
spin_lock_irqsave(&dev->lock, flags);
-@@ -1640,7 +1634,7 @@
+@@ -1640,7 +1634,7 @@ static int hifn_setup_session(struct abl
if (err)
goto err_out;
}
dev->active = HIFN_DEFAULT_ACTIVE_NUM;
-@@ -1651,7 +1645,7 @@
+@@ -1651,7 +1645,7 @@ static int hifn_setup_session(struct abl
err_out:
spin_unlock_irqrestore(&dev->lock, flags);
err_out_exit:
dprintk("%s: iv: %p [%d], key: %p [%d], mode: %u, op: %u, "
"type: %u, err: %d.\n",
dev->name, ctx->iv, ctx->ivsize,
-@@ -1745,8 +1739,7 @@
+@@ -1745,8 +1739,7 @@ static int ablkcipher_get(void *saddr, u
return -EINVAL;
while (size) {
daddr = kmap_atomic(sg_page(dst), KM_IRQ0);
memcpy(daddr + dst->offset + offset, saddr, copy);
-@@ -1803,7 +1796,7 @@
+@@ -1803,7 +1796,7 @@ static void hifn_process_ready(struct ab
sg_page(dst), dst->length, nbytes);
if (!t->length) {
idx++;
continue;
}
-@@ -2202,9 +2195,9 @@
+@@ -2202,9 +2195,9 @@ static int hifn_setup_crypto(struct ablk
return err;
if (dev->started < HIFN_QUEUE_LENGTH && dev->queue.qlen)
}
/*
-@@ -2364,7 +2357,7 @@
+@@ -2364,7 +2357,7 @@ static struct hifn_alg_template hifn_alg
* 3DES ECB, CBC, CFB and OFB modes.
*/
{
.ablkcipher = {
.min_keysize = HIFN_3DES_KEY_LENGTH,
.max_keysize = HIFN_3DES_KEY_LENGTH,
-@@ -2374,7 +2367,7 @@
+@@ -2374,7 +2367,7 @@ static struct hifn_alg_template hifn_alg
},
},
{
.ablkcipher = {
.min_keysize = HIFN_3DES_KEY_LENGTH,
.max_keysize = HIFN_3DES_KEY_LENGTH,
-@@ -2384,8 +2377,9 @@
+@@ -2384,8 +2377,9 @@ static struct hifn_alg_template hifn_alg
},
},
{
.min_keysize = HIFN_3DES_KEY_LENGTH,
.max_keysize = HIFN_3DES_KEY_LENGTH,
.setkey = hifn_setkey,
-@@ -2394,7 +2388,7 @@
+@@ -2394,7 +2388,7 @@ static struct hifn_alg_template hifn_alg
},
},
{
.ablkcipher = {
.min_keysize = HIFN_3DES_KEY_LENGTH,
.max_keysize = HIFN_3DES_KEY_LENGTH,
-@@ -2408,7 +2402,7 @@
+@@ -2408,7 +2402,7 @@ static struct hifn_alg_template hifn_alg
* DES ECB, CBC, CFB and OFB modes.
*/
{
.ablkcipher = {
.min_keysize = HIFN_DES_KEY_LENGTH,
.max_keysize = HIFN_DES_KEY_LENGTH,
-@@ -2418,7 +2412,7 @@
+@@ -2418,7 +2412,7 @@ static struct hifn_alg_template hifn_alg
},
},
{
.ablkcipher = {
.min_keysize = HIFN_DES_KEY_LENGTH,
.max_keysize = HIFN_DES_KEY_LENGTH,
-@@ -2428,8 +2422,9 @@
+@@ -2428,8 +2422,9 @@ static struct hifn_alg_template hifn_alg
},
},
{
.min_keysize = HIFN_DES_KEY_LENGTH,
.max_keysize = HIFN_DES_KEY_LENGTH,
.setkey = hifn_setkey,
-@@ -2438,7 +2433,7 @@
+@@ -2438,7 +2433,7 @@ static struct hifn_alg_template hifn_alg
},
},
{
.ablkcipher = {
.min_keysize = HIFN_DES_KEY_LENGTH,
.max_keysize = HIFN_DES_KEY_LENGTH,
-@@ -2452,7 +2447,7 @@
+@@ -2452,7 +2447,7 @@ static struct hifn_alg_template hifn_alg
* AES ECB, CBC, CFB and OFB modes.
*/
{
.ablkcipher = {
.min_keysize = AES_MIN_KEY_SIZE,
.max_keysize = AES_MAX_KEY_SIZE,
-@@ -2462,8 +2457,9 @@
+@@ -2462,8 +2457,9 @@ static struct hifn_alg_template hifn_alg
},
},
{
.min_keysize = AES_MIN_KEY_SIZE,
.max_keysize = AES_MAX_KEY_SIZE,
.setkey = hifn_setkey,
-@@ -2472,7 +2468,7 @@
+@@ -2472,7 +2468,7 @@ static struct hifn_alg_template hifn_alg
},
},
{
.ablkcipher = {
.min_keysize = AES_MIN_KEY_SIZE,
.max_keysize = AES_MAX_KEY_SIZE,
-@@ -2482,7 +2478,7 @@
+@@ -2482,7 +2478,7 @@ static struct hifn_alg_template hifn_alg
},
},
{
.ablkcipher = {
.min_keysize = AES_MIN_KEY_SIZE,
.max_keysize = AES_MAX_KEY_SIZE,
-@@ -2514,15 +2510,14 @@
+@@ -2514,15 +2510,14 @@ static int hifn_alg_alloc(struct hifn_de
return -ENOMEM;
snprintf(alg->alg.cra_name, CRYPTO_MAX_ALG_NAME, "%s", t->name);
+
--- a/drivers/crypto/padlock-aes.c
+++ b/drivers/crypto/padlock-aes.c
-@@ -411,12 +411,12 @@
+@@ -411,12 +411,12 @@ static int __init padlock_init(void)
int ret;
if (!cpu_has_xcrypt) {
--- a/drivers/crypto/padlock-sha.c
+++ b/drivers/crypto/padlock-sha.c
-@@ -263,12 +263,12 @@
+@@ -263,12 +263,12 @@ static int __init padlock_init(void)
int rc = -ENODEV;
if (!cpu_has_phe) {
#define CRYPTO_ALG_TYPE_BLKCIPHER_MASK 0x0000000c
#define CRYPTO_ALG_LARVAL 0x00000010
-@@ -102,6 +104,7 @@
+@@ -102,6 +104,7 @@ struct crypto_async_request;
struct crypto_aead;
struct crypto_blkcipher;
struct crypto_hash;
struct crypto_tfm;
struct crypto_type;
struct aead_givcrypt_request;
-@@ -131,6 +134,16 @@
+@@ -131,6 +134,16 @@ struct ablkcipher_request {
void *__ctx[] CRYPTO_MINALIGN_ATTR;
};
/**
* struct aead_request - AEAD request
* @base: Common attributes for async crypto requests
-@@ -195,6 +208,17 @@
+@@ -195,6 +208,17 @@ struct ablkcipher_alg {
unsigned int ivsize;
};
struct aead_alg {
int (*setkey)(struct crypto_aead *tfm, const u8 *key,
unsigned int keylen);
-@@ -272,6 +296,7 @@
+@@ -272,6 +296,7 @@ struct compress_alg {
#define cra_cipher cra_u.cipher
#define cra_digest cra_u.digest
#define cra_hash cra_u.hash
#define cra_compress cra_u.compress
struct crypto_alg {
-@@ -298,6 +323,7 @@
+@@ -298,6 +323,7 @@ struct crypto_alg {
struct cipher_alg cipher;
struct digest_alg digest;
struct hash_alg hash;
struct compress_alg compress;
} cra_u;
-@@ -383,6 +409,18 @@
+@@ -383,6 +409,18 @@ struct hash_tfm {
unsigned int digestsize;
};
struct compress_tfm {
int (*cot_compress)(struct crypto_tfm *tfm,
const u8 *src, unsigned int slen,
-@@ -397,6 +435,7 @@
+@@ -397,6 +435,7 @@ struct compress_tfm {
#define crt_blkcipher crt_u.blkcipher
#define crt_cipher crt_u.cipher
#define crt_hash crt_u.hash
#define crt_compress crt_u.compress
struct crypto_tfm {
-@@ -409,6 +448,7 @@
+@@ -409,6 +448,7 @@ struct crypto_tfm {
struct blkcipher_tfm blkcipher;
struct cipher_tfm cipher;
struct hash_tfm hash;
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
-@@ -237,6 +237,7 @@
+@@ -237,6 +237,7 @@ obj-$(CONFIG_USB_CATC) += usb/
obj-$(CONFIG_USB_KAWETH) += usb/
obj-$(CONFIG_USB_PEGASUS) += usb/
obj-$(CONFIG_USB_RTL8150) += usb/
--- a/drivers/net/usb/Kconfig
+++ b/drivers/net/usb/Kconfig
-@@ -154,6 +154,16 @@
+@@ -154,6 +154,16 @@ config USB_NET_AX8817X
This driver creates an interface named "ethX", where X depends on
what other networking devices you have in use.
tristate "CDC Ethernet support (smart devices such as cable modems)"
--- a/drivers/net/usb/Makefile
+++ b/drivers/net/usb/Makefile
-@@ -6,6 +6,7 @@
+@@ -6,6 +6,7 @@ obj-$(CONFIG_USB_CATC) += catc.o
obj-$(CONFIG_USB_KAWETH) += kaweth.o
obj-$(CONFIG_USB_PEGASUS) += pegasus.o
obj-$(CONFIG_USB_RTL8150) += rtl8150.o
+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 SPI_MASTER && 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
-@@ -3795,6 +3795,11 @@
+@@ -3795,6 +3795,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
-@@ -130,3 +130,27 @@
+@@ -130,3 +130,27 @@ config MMC_SPI
If unsure, or if your system has no SPI master driver, say N.
+ if configfs is available.
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
-@@ -17,4 +17,4 @@
+@@ -17,4 +17,4 @@ obj-$(CONFIG_MMC_OMAP) += omap.o
obj-$(CONFIG_MMC_AT91) += at91_mci.o
obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o
obj-$(CONFIG_MMC_SPI) += mmc_spi.o
+be done automatically.
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -1818,6 +1818,11 @@
+@@ -1818,6 +1818,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/asm-ppc/io.h
+++ b/include/asm-ppc/io.h
-@@ -413,11 +413,21 @@
+@@ -413,11 +413,21 @@ static inline unsigned int ioread16(void
return readw(addr);
}
static inline void iowrite8(u8 val, void __iomem *addr)
{
writeb(val, addr);
-@@ -428,11 +438,21 @@
+@@ -428,11 +438,21 @@ static inline void iowrite16(u16 val, vo
writew(val, addr);
}
#
# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
#
-@@ -1384,6 +1384,7 @@
+@@ -1384,6 +1384,7 @@ olip8 MACH_OLIP8 OLIP8 1378
ghi270hg MACH_GHI270HG GHI270HG 1379
davinci_dm6467_evm MACH_DAVINCI_DM6467_EVM DAVINCI_DM6467_EVM 1380
davinci_dm355_evm MACH_DAVINCI_DM350_EVM DAVINCI_DM350_EVM 1381
blackriver MACH_BLACKRIVER BLACKRIVER 1383
sandgate_wp MACH_SANDGATEWP SANDGATEWP 1384
cdotbwsg MACH_CDOTBWSG CDOTBWSG 1385
-@@ -1463,7 +1464,7 @@
+@@ -1463,7 +1464,7 @@ artemis MACH_ARTEMIS ARTEMIS 1462
htctitan MACH_HTCTITAN HTCTITAN 1463
qranium MACH_QRANIUM QRANIUM 1464
adx_wsc2 MACH_ADX_WSC2 ADX_WSC2 1465
bboard MACH_BBOARD BBOARD 1467
cambria MACH_CAMBRIA CAMBRIA 1468
mt7xxx MACH_MT7XXX MT7XXX 1469
-@@ -1647,7 +1648,7 @@
+@@ -1647,7 +1648,7 @@ badger MACH_BADGER BADGER 1648
trizeps4wl MACH_TRIZEPS4WL TRIZEPS4WL 1649
trizeps5 MACH_TRIZEPS5 TRIZEPS5 1650
marlin MACH_MARLIN MARLIN 1651
hpipaq214 MACH_HPIPAQ214 HPIPAQ214 1653
at572d940dcm MACH_AT572D940DCM AT572D940DCM 1654
ne1board MACH_NE1BOARD NE1BOARD 1655
-@@ -1720,3 +1721,84 @@
+@@ -1720,3 +1721,84 @@ htc_kaiser MACH_HTC_KAISER HTC_KAISER
lg_ks20 MACH_LG_KS20 LG_KS20 1725
hhgps MACH_HHGPS HHGPS 1726
nokia_n810_wimax MACH_NOKIA_N810_WIMAX NOKIA_N810_WIMAX 1727
--- 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
-@@ -51,7 +51,7 @@
+@@ -51,7 +51,7 @@ $(addprefix $(obj)/,$(zlib) gunzip_util.
$(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
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ endif
ifeq ($(CONFIG_PPC_MERGE),y)
obj-y := string.o alloc.o \
checksum_$(CONFIG_WORD_SIZE).o
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
-@@ -96,8 +96,6 @@
+@@ -96,8 +96,6 @@ endif
else
KBUILD_CFLAGS += $(call cc-option,-mtune=power4)
endif
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
-@@ -678,3 +678,6 @@
+@@ -678,3 +678,6 @@ config CRYPTO_PRNG
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_PRNG) += prng.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.
-@@ -667,6 +677,61 @@
+@@ -667,6 +677,61 @@ void add_disk_randomness(struct gendisk
}
#endif
/*********************************************************************
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
-@@ -191,6 +191,7 @@
+@@ -191,6 +191,7 @@ asmlinkage long sys_dup(unsigned int fil
ret = dupfd(file, 0, 0);
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/Documentation/gpio.txt
+++ b/Documentation/gpio.txt
-@@ -347,15 +347,12 @@
+@@ -347,15 +347,12 @@ necessarily be nonportable.
Dynamic definition of GPIOs is not currently standard; for example, as
a side effect of configuring an add-on board with some GPIO expanders.
As a debugging aid, if debugfs is available a /sys/kernel/debug/gpio file
will be found there. That will list all the controllers registered through
-@@ -439,4 +436,120 @@
+@@ -439,4 +436,120 @@ becomes available. That may mean the de
calls for that GPIO can work. One way to address such dependencies is for
such gpio_chip controllers to provide setup() and teardown() callbacks to
board specific code; those board specific callbacks would register devices
+suitable for documenting as part of a board support package.
--- a/arch/arm/plat-omap/gpio.c
+++ b/arch/arm/plat-omap/gpio.c
-@@ -1488,6 +1488,9 @@
+@@ -1488,6 +1488,9 @@ static int __init _omap_gpio_init(void)
bank->chip.set = gpio_set;
if (bank_is_mpuio(bank)) {
bank->chip.label = "mpuio";
bank->chip.label = "gpio";
--- a/arch/avr32/mach-at32ap/pio.c
+++ b/arch/avr32/mach-at32ap/pio.c
-@@ -358,6 +358,8 @@
+@@ -358,6 +358,8 @@ static int __init pio_probe(struct platf
pio->chip.label = pio->name;
pio->chip.base = pdev->id * 32;
pio->chip.ngpio = 32;
pio->chip.get = gpio_get;
--- a/drivers/gpio/Kconfig
+++ b/drivers/gpio/Kconfig
-@@ -23,6 +23,21 @@
+@@ -23,6 +23,21 @@ config DEBUG_GPIO
slower. The diagnostics help catch the type of setup errors
that are most common when setting up new platforms or boards.
/* Optional implementation infrastructure for GPIO interfaces.
-@@ -44,6 +47,8 @@
+@@ -44,6 +47,8 @@ struct gpio_desc {
#define FLAG_REQUESTED 0
#define FLAG_IS_OUT 1
#define FLAG_RESERVED 2
#ifdef CONFIG_DEBUG_FS
const char *label;
-@@ -151,6 +156,486 @@
+@@ -151,6 +156,486 @@ err:
return ret;
}
/**
* gpiochip_add() - register a gpio_chip
* @chip: the chip to register, with chip->base initialized
-@@ -160,6 +645,11 @@
+@@ -160,6 +645,11 @@ err:
* because the chip->base is invalid or already associated with a
* different chip. Otherwise it returns zero as a success code.
*
* If chip->base is negative, this requests dynamic assignment of
* a range of valid GPIOs.
*/
-@@ -182,7 +672,7 @@
+@@ -182,7 +672,7 @@ int gpiochip_add(struct gpio_chip *chip)
base = gpiochip_find_base(chip->ngpio);
if (base < 0) {
status = base;
}
chip->base = base;
}
-@@ -197,12 +687,23 @@
+@@ -197,12 +687,23 @@ int gpiochip_add(struct gpio_chip *chip)
if (status == 0) {
for (id = base; id < base + chip->ngpio; id++) {
gpio_desc[id].chip = chip;
fail:
/* failures here can mean systems won't boot... */
if (status)
-@@ -239,6 +740,10 @@
+@@ -239,6 +740,10 @@ int gpiochip_remove(struct gpio_chip *ch
}
spin_unlock_irqrestore(&gpio_lock, flags);
return status;
}
EXPORT_SYMBOL_GPL(gpiochip_remove);
-@@ -296,6 +801,8 @@
+@@ -296,6 +801,8 @@ void gpio_free(unsigned gpio)
return;
}
spin_lock_irqsave(&gpio_lock, flags);
desc = &gpio_desc[gpio];
-@@ -534,10 +1041,6 @@
+@@ -534,10 +1041,6 @@ EXPORT_SYMBOL_GPL(gpio_set_value_canslee
#ifdef CONFIG_DEBUG_FS
static void gpiolib_dbg_show(struct seq_file *s, struct gpio_chip *chip)
{
unsigned i;
-@@ -614,17 +1117,28 @@
+@@ -614,17 +1117,28 @@ static int gpiolib_show(struct seq_file
/* REVISIT this isn't locked against gpio_chip removal ... */
for (gpio = 0; gpio_is_valid(gpio); gpio++) {
chip->dbg_show(s, chip);
--- a/drivers/gpio/mcp23s08.c
+++ b/drivers/gpio/mcp23s08.c
-@@ -239,6 +239,7 @@
+@@ -239,6 +239,7 @@ static int mcp23s08_probe(struct spi_dev
mcp->chip.base = pdata->base;
mcp->chip.ngpio = 8;
mcp->chip.can_sleep = 1;
spi_set_drvdata(spi, mcp);
--- a/drivers/gpio/pca953x.c
+++ b/drivers/gpio/pca953x.c
-@@ -188,6 +188,7 @@
+@@ -188,6 +188,7 @@ static void pca953x_setup_gpio(struct pc
gc->base = chip->gpio_start;
gc->ngpio = gpios;
gc->label = chip->client->name;
--- a/drivers/gpio/pcf857x.c
+++ b/drivers/gpio/pcf857x.c
-@@ -175,6 +175,7 @@
+@@ -175,6 +175,7 @@ static int pcf857x_probe(struct i2c_clie
gpio->chip.base = pdata->gpio_base;
gpio->chip.can_sleep = 1;
/* NOTE: the OnSemi jlc1562b is also largely compatible with
--- a/drivers/i2c/chips/tps65010.c
+++ b/drivers/i2c/chips/tps65010.c
-@@ -636,6 +636,8 @@
+@@ -636,6 +636,8 @@ static int tps65010_probe(struct i2c_cli
tps->outmask = board->outmask;
tps->chip.label = client->name;
tps->chip.direction_output = tps65010_output;
--- a/drivers/mfd/htc-egpio.c
+++ b/drivers/mfd/htc-egpio.c
-@@ -318,6 +318,8 @@
+@@ -318,6 +318,8 @@ static int __init egpio_probe(struct pla
ei->chip[i].dev = &(pdev->dev);
chip = &(ei->chip[i].chip);
chip->label = "htc-egpio";
chip->direction_input = egpio_direction_input;
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
-@@ -32,6 +32,8 @@
+@@ -32,6 +32,8 @@ struct module;
/**
* struct gpio_chip - abstract a GPIO controller
* @label: for diagnostics
* @direction_input: configures signal "offset" as input, or returns error
* @get: returns value for signal "offset"; for output signals this
* returns either the value actually sensed, or zero
-@@ -59,6 +61,7 @@
+@@ -59,6 +61,7 @@ struct module;
*/
struct gpio_chip {
char *label;
struct module *owner;
int (*direction_input)(struct gpio_chip *chip,
-@@ -74,6 +77,7 @@
+@@ -74,6 +77,7 @@ struct gpio_chip {
int base;
u16 ngpio;
unsigned can_sleep:1;
};
extern const char *gpiochip_is_requested(struct gpio_chip *chip,
-@@ -108,7 +112,18 @@
+@@ -108,7 +112,18 @@ extern void __gpio_set_value(unsigned gp
extern int __gpio_cansleep(unsigned gpio);
static inline int gpio_is_valid(int number)
{
-@@ -137,6 +152,22 @@
+@@ -137,6 +152,22 @@ static inline void gpio_set_value_cansle
gpio_set_value(gpio, value);
}
#endif /* _ASM_GENERIC_GPIO_H */
--- a/include/linux/gpio.h
+++ b/include/linux/gpio.h
-@@ -79,6 +79,19 @@
+@@ -79,6 +79,19 @@ static inline void gpio_set_value_cansle
WARN_ON(1);
}
--- a/drivers/usb/serial/sierra.c
+++ b/drivers/usb/serial/sierra.c
-@@ -205,6 +205,7 @@
+@@ -205,6 +205,7 @@ static struct usb_device_id id_table []
{ USB_DEVICE(0x1199, 0x6832) }, /* Sierra Wireless MC8780*/
{ USB_DEVICE(0x1199, 0x6833) }, /* Sierra Wireless MC8781*/
{ USB_DEVICE(0x1199, 0x683B), .driver_info = DEVICE_1_PORT }, /* Sierra Wireless MC8785 Composite*/
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -78,6 +78,21 @@
+@@ -78,6 +78,21 @@ config MIPS_COBALT
select SYS_SUPPORTS_LITTLE_ENDIAN
select GENERIC_HARDIRQS_NO__DO_IRQ
config MACH_DECSTATION
bool "DECstations"
select BOOT_ELF32
-@@ -697,6 +712,7 @@
+@@ -697,6 +712,7 @@ source "arch/mips/sibyte/Kconfig"
source "arch/mips/tx4927/Kconfig"
source "arch/mips/tx4938/Kconfig"
source "arch/mips/vr41xx/Kconfig"
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -283,6 +283,13 @@
+@@ -283,6 +283,13 @@ cflags-$(CONFIG_MIPS_COBALT) += -Iinclud
load-$(CONFIG_MIPS_COBALT) += 0xffffffff80080000
#
extern char *system_type;
--- a/arch/mips/kernel/traps.c
+++ b/arch/mips/kernel/traps.c
-@@ -1464,6 +1464,7 @@
+@@ -1464,6 +1464,7 @@ 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/arch/mips/pci/Makefile
+++ b/arch/mips/pci/Makefile
-@@ -48,3 +48,4 @@
+@@ -48,3 +48,4 @@ obj-$(CONFIG_TOSHIBA_RBTX4938) += fixup-
obj-$(CONFIG_VICTOR_MPC30X) += fixup-mpc30x.o
obj-$(CONFIG_ZAO_CAPCELLA) += fixup-capcella.o
obj-$(CONFIG_WR_PPMC) += fixup-wrppmc.o
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
-@@ -114,6 +114,10 @@
+@@ -114,6 +114,10 @@ obj-$(CONFIG_PS3_FLASH) += ps3flash.o
obj-$(CONFIG_JS_RTC) += js-rtc.o
js-rtc-y = rtc.o
--- a/drivers/mtd/maps/Makefile
+++ b/drivers/mtd/maps/Makefile
-@@ -67,3 +67,4 @@
+@@ -67,3 +67,4 @@ obj-$(CONFIG_MTD_PLATRAM) += plat-ram.o
obj-$(CONFIG_MTD_OMAP_NOR) += omap_nor.o
obj-$(CONFIG_MTD_MTX1) += mtx-1_flash.o
obj-$(CONFIG_MTD_INTEL_VR_NOR) += intel_vr_nor.o
+obj-$(CONFIG_MTD_IFXMIPS) += ifxmips.o
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
-@@ -351,6 +351,12 @@
+@@ -351,6 +351,12 @@ config MACB
source "drivers/net/arm/Kconfig"
depends on ARM || MIPS || SUPERH
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
-@@ -1334,6 +1334,14 @@
+@@ -1334,6 +1334,14 @@ config SERIAL_OF_PLATFORM
Currently, only 8250 compatible ports are supported, but
others can easily be added.
depends on QUICC_ENGINE
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
-@@ -68,3 +68,4 @@
+@@ -68,3 +68,4 @@ obj-$(CONFIG_SERIAL_OF_PLATFORM) += of_s
obj-$(CONFIG_SERIAL_KS8695) += serial_ks8695.o
obj-$(CONFIG_KGDB_SERIAL_CONSOLE) += kgdboc.o
obj-$(CONFIG_SERIAL_QE) += ucc_uart.o
+obj-$(CONFIG_SERIAL_IFXMIPS) += ifxmips_asc.o
--- a/drivers/watchdog/Makefile
+++ b/drivers/watchdog/Makefile
-@@ -97,6 +97,7 @@
+@@ -97,6 +97,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/Makefile
+++ b/drivers/net/Makefile
-@@ -256,4 +256,4 @@
+@@ -256,4 +256,4 @@ obj-$(CONFIG_NETXEN_NIC) += netxen/
obj-$(CONFIG_NIU) += niu.o
obj-$(CONFIG_VIRTIO_NET) += virtio_net.o
obj-$(CONFIG_SFC) += sfc/
+obj-$(CONFIG_IFXMIPS_MII0) += ifxmips_mii0.o
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
-@@ -9,6 +9,9 @@
+@@ -9,6 +9,9 @@ menuconfig CRYPTO_HW
If you say N, all options in this submenu will be skipped and disabled.
if CRYPTO_HW
tristate "Support for VIA PadLock ACE"
--- a/drivers/crypto/Makefile
+++ b/drivers/crypto/Makefile
-@@ -4,3 +4,4 @@
+@@ -4,3 +4,4 @@ obj-$(CONFIG_CRYPTO_DEV_GEODE) += geode-
obj-$(CONFIG_CRYPTO_DEV_HIFN_795X) += hifn_795x.o
obj-$(CONFIG_CRYPTO_DEV_TALITOS) += talitos.o
obj-$(CONFIG_CRYPTO_DEV_IXP4XX) += ixp4xx_crypto.o
+obj-$(CONFIG_CRYPTO_DEV_IFXMIPS) += ifxdeu-aes.o ifxdeu-des.o ifxdeu-dma.o ifxdeu-generic.o ifxdeu-md5.o ifxdeu-sha1.o
--- a/drivers/usb/host/Kconfig
+++ b/drivers/usb/host/Kconfig
-@@ -305,3 +305,10 @@
+@@ -305,3 +305,10 @@ config SUPERH_ON_CHIP_R8A66597
help
This driver enables support for the on-chip R8A66597 in the
SH7366 and SH7723 processors.
+ Danube USB Host Controller
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -153,6 +153,12 @@
+@@ -153,6 +153,12 @@ config LEDS_CLEVO_MAIL
To compile this driver as a module, choose M here: the
module will be called leds-clevo-mail.
config LEDS_TRIGGERS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -22,6 +22,7 @@
+@@ -22,6 +22,7 @@ obj-$(CONFIG_LEDS_CM_X270)
obj-$(CONFIG_LEDS_CLEVO_MAIL) += leds-clevo-mail.o
obj-$(CONFIG_LEDS_HP6XX) += leds-hp6xx.o
obj-$(CONFIG_LEDS_FSG) += leds-fsg.o
obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
--- a/drivers/watchdog/Kconfig
+++ b/drivers/watchdog/Kconfig
-@@ -683,6 +683,12 @@
+@@ -683,6 +683,12 @@ config TXX9_WDT
help
Hardware driver for the built-in watchdog timer on TXx9 MIPS SoCs.
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -1041,7 +1041,9 @@
+@@ -1041,7 +1041,9 @@ static int __xipram do_write_oneword(str
int retry_cnt = 0;
adr += chip->start;
--- a/arch/mips/mm/cache.c
+++ b/arch/mips/mm/cache.c
-@@ -50,6 +50,8 @@
+@@ -50,6 +50,8 @@ void (*_dma_cache_wback)(unsigned long s
void (*_dma_cache_inv)(unsigned long start, unsigned long size);
EXPORT_SYMBOL(_dma_cache_wback_inv);
--- a/arch/arm/configs/ixp4xx_defconfig
+++ b/arch/arm/configs/ixp4xx_defconfig
-@@ -165,6 +165,7 @@
+@@ -165,6 +165,7 @@ CONFIG_ARCH_PRPMC1100=y
CONFIG_MACH_NAS100D=y
CONFIG_MACH_DSMG600=y
CONFIG_ARCH_IXDP4XX=y
CONFIG_CPU_IXP46X=y
CONFIG_CPU_IXP43X=y
CONFIG_MACH_GTWX5715=y
-@@ -770,7 +771,7 @@
+@@ -770,7 +771,7 @@ CONFIG_ATA=y
# CONFIG_SATA_SIL24 is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VITESSE is not set
# CONFIG_SATA_INIC162X is not set
# CONFIG_PATA_ALI is not set
-@@ -1143,7 +1144,7 @@
+@@ -1143,7 +1144,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
# CONFIG_SENSORS_VT8231 is not set
# CONFIG_SENSORS_W83791D is not set
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
-@@ -1334,8 +1335,8 @@
+@@ -1334,8 +1335,8 @@ CONFIG_LEDS_CLASS=y
#
# LED drivers
#
#
# LED Triggers
-@@ -1367,7 +1368,7 @@
+@@ -1367,7 +1368,7 @@ CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_DRV_DS1672 is not set
# CONFIG_RTC_DRV_MAX6900 is not set
# CONFIG_RTC_DRV_RS5C372 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
--- a/arch/arm/mach-ixp4xx/Kconfig
+++ b/arch/arm/mach-ixp4xx/Kconfig
-@@ -125,6 +125,15 @@
+@@ -125,6 +125,15 @@ config ARCH_IXDP4XX
depends on ARCH_IXDP425 || MACH_IXDP465 || MACH_KIXRP435
default y
#
--- a/arch/arm/mach-ixp4xx/Makefile
+++ b/arch/arm/mach-ixp4xx/Makefile
-@@ -15,6 +15,7 @@
+@@ -15,6 +15,7 @@ obj-pci-$(CONFIG_MACH_NAS100D) += nas10
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-y += common.o
-@@ -28,6 +29,7 @@
+@@ -28,6 +29,7 @@ obj-$(CONFIG_MACH_NAS100D) += nas100d-se
obj-$(CONFIG_MACH_DSMG600) += dsmg600-setup.o
obj-$(CONFIG_MACH_GATEWAY7001) += gateway7001-setup.o
obj-$(CONFIG_MACH_WG302V2) += wg302v2-setup.o
--- 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/include/asm-arm/arch-ixp4xx/uncompress.h
+++ b/include/asm-arm/arch-ixp4xx/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
-@@ -32,7 +34,8 @@
+@@ -32,7 +34,8 @@ struct fis_list {
struct fis_list *next;
};
module_param(directory, int, 0);
static inline int redboot_checksum(struct fis_image_desc *img)
-@@ -61,6 +64,8 @@
+@@ -61,6 +64,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
-@@ -1276,7 +1276,7 @@
+@@ -1276,7 +1276,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/include/asm-arm/arch-ixp4xx/uncompress.h
+++ b/include/asm-arm/arch-ixp4xx/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/include/asm-arm/arch-ixp4xx/uncompress.h
+++ b/include/asm-arm/arch-ixp4xx/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)
{
-@@ -792,9 +850,12 @@
+@@ -792,9 +850,12 @@ static int eth_ioctl(struct net_device *
if (!netif_running(dev))
return -EINVAL;
return err;
}
-@@ -947,7 +1008,8 @@
+@@ -947,7 +1008,8 @@ static int eth_open(struct net_device *d
}
}
memset(&msg, 0, sizeof(msg));
msg.cmd = NPE_VLAN_SETRXQOSENTRY;
-@@ -1107,10 +1169,8 @@
+@@ -1107,10 +1169,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);
-@@ -1120,6 +1180,42 @@
+@@ -1120,6 +1180,42 @@ static int eth_close(struct net_device *
return 0;
}
static int __devinit eth_init_one(struct platform_device *pdev)
{
struct port *port;
-@@ -1192,20 +1288,7 @@
+@@ -1192,20 +1288,7 @@ static int __devinit eth_init_one(struct
__raw_writel(DEFAULT_CORE_CNTRL, &port->regs->core_control);
udelay(50);
return 0;
--- a/include/asm-arm/arch-ixp4xx/platform.h
+++ b/include/asm-arm/arch-ixp4xx/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 <asm/arch/npe.h>
#include <asm/arch/qmgr.h>
-@@ -1338,12 +1339,16 @@
+@@ -1338,12 +1339,16 @@ static struct platform_driver drv = {
static int __init eth_init_module(void)
{
return platform_driver_register(&drv);
--- a/include/asm-arm/arch-ixp4xx/cpu.h
+++ b/include/asm-arm/arch-ixp4xx/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
-@@ -336,6 +336,15 @@
+@@ -336,6 +336,15 @@ config DSCC4_PCI_RST
Say Y if your card supports this feature.
---help---
--- a/drivers/net/wan/Makefile
+++ b/drivers/net/wan/Makefile
-@@ -42,6 +42,7 @@
+@@ -42,6 +42,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,
-@@ -41,26 +43,7 @@
+@@ -41,26 +43,7 @@ static const unsigned short normal_i2c[]
/* Insmod parameters */
I2C_CLIENT_INSMOD_1(eeprom);
static int eeprom_attach_adapter(struct i2c_adapter *adapter);
static int eeprom_detect(struct i2c_adapter *adapter, int address, int kind);
-@@ -197,6 +180,7 @@
+@@ -197,6 +180,7 @@ static int eeprom_detect(struct i2c_adap
data->valid = 0;
mutex_init(&data->update_lock);
data->nature = UNKNOWN;
/* Tell the I2C layer a new client has arrived */
if ((err = i2c_attach_client(new_client)))
-@@ -224,6 +208,9 @@
+@@ -224,6 +208,9 @@ static int eeprom_detect(struct i2c_adap
if (err)
goto exit_detach;
return 0;
exit_detach:
-@@ -249,6 +236,41 @@
+@@ -249,6 +236,41 @@ static int eeprom_detach_client(struct i
return 0;
}
+#endif /* _LINUX_EEPROM_H */
--- a/include/linux/notifier.h
+++ b/include/linux/notifier.h
-@@ -253,5 +253,8 @@
+@@ -253,5 +253,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
-@@ -117,6 +117,12 @@
+@@ -117,6 +117,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
-@@ -18,6 +18,7 @@
+@@ -18,6 +18,7 @@ obj-$(CONFIG_LEDS_H1940) += leds-h1940.
obj-$(CONFIG_LEDS_COBALT_QUBE) += leds-cobalt-qube.o
obj-$(CONFIG_LEDS_COBALT_RAQ) += leds-cobalt-raq.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
-@@ -134,5 +134,18 @@
+@@ -134,5 +134,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/include/asm-arm/arch-ixp4xx/platform.h
+++ b/include/asm-arm/arch-ixp4xx/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
-Index: linux-2.6.26.5/arch/arm/mach-ixp4xx/Kconfig
-===================================================================
---- linux-2.6.26.5.orig/arch/arm/mach-ixp4xx/Kconfig 2008-10-22 22:31:30.000000000 +0100
-+++ linux-2.6.26.5/arch/arm/mach-ixp4xx/Kconfig 2008-10-22 22:40:55.000000000 +0100
+--- a/arch/arm/mach-ixp4xx/Kconfig
++++ b/arch/arm/mach-ixp4xx/Kconfig
@@ -97,6 +97,14 @@ config MACH_SIDEWINDER
Engineering Sidewinder board. For more information on this
platform, see http://www.adiengineering.com
config MACH_COMPEX
bool "Compex WP18 / NP18A"
select PCI
-Index: linux-2.6.26.5/arch/arm/mach-ixp4xx/Makefile
-===================================================================
---- linux-2.6.26.5.orig/arch/arm/mach-ixp4xx/Makefile 2008-10-22 22:31:37.000000000 +0100
-+++ linux-2.6.26.5/arch/arm/mach-ixp4xx/Makefile 2008-10-22 22:49:38.000000000 +0100
+--- a/arch/arm/mach-ixp4xx/Makefile
++++ b/arch/arm/mach-ixp4xx/Makefile
@@ -24,6 +24,7 @@ obj-pci-$(CONFIG_MACH_COMPEX) += ixdp42
obj-pci-$(CONFIG_MACH_WRT300NV2) += wrt300nv2-pci.o
obj-pci-$(CONFIG_MACH_AP1000) += ixdp425-pci.o
obj-$(CONFIG_PCI) += $(obj-pci-$(CONFIG_PCI)) common-pci.o
obj-$(CONFIG_IXP4XX_QMGR) += ixp4xx_qmgr.o
-Index: linux-2.6.26.5/arch/arm/mach-ixp4xx/usr8200-pci.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.26.5/arch/arm/mach-ixp4xx/usr8200-pci.c 2008-10-22 23:37:56.000000000 +0100
+--- /dev/null
++++ b/arch/arm/mach-ixp4xx/usr8200-pci.c
@@ -0,0 +1,78 @@
+/*
+ * arch/arch/mach-ixp4xx/usr8200-pci.c
+}
+
+subsys_initcall(usr8200_pci_init);
-Index: linux-2.6.26.5/arch/arm/mach-ixp4xx/usr8200-setup.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-2.6.26.5/arch/arm/mach-ixp4xx/usr8200-setup.c 2008-10-22 23:41:48.000000000 +0100
+--- /dev/null
++++ b/arch/arm/mach-ixp4xx/usr8200-setup.c
@@ -0,0 +1,187 @@
+/*
+ * arch/arm/mach-ixp4xx/usr8200-setup.c
+ .boot_params = 0x0100,
+ .init_machine = usr8200_init,
+MACHINE_END
-Index: linux-2.6.26.5/include/asm-arm/arch-ixp4xx/uncompress.h
-===================================================================
---- linux-2.6.26.5.orig/include/asm-arm/arch-ixp4xx/uncompress.h 2008-10-22 23:27:33.000000000 +0100
-+++ linux-2.6.26.5/include/asm-arm/arch-ixp4xx/uncompress.h 2008-10-22 23:28:09.000000000 +0100
+--- a/include/asm-arm/arch-ixp4xx/uncompress.h
++++ b/include/asm-arm/arch-ixp4xx/uncompress.h
@@ -43,7 +43,7 @@ static __inline__ void __arch_decomp_set
if (machine_is_adi_coyote() || machine_is_gtwx5715() ||
machine_is_gateway7001() || machine_is_wg302v2() ||
--- a/arch/ppc/platforms/4xx/Kconfig
+++ b/arch/ppc/platforms/4xx/Kconfig
-@@ -53,6 +53,12 @@
+@@ -53,6 +53,12 @@ config WALNUT
help
This option enables support for the IBM PPC405GP evaluation board.
config XILINX_ML300
bool "Xilinx-ML300"
select XILINX_VIRTEX_II_PRO
-@@ -184,7 +190,7 @@
+@@ -184,7 +190,7 @@ config BOOKE
config IBM_OCP
bool
default y
config IBM_EMAC4
-@@ -194,7 +200,7 @@
+@@ -194,7 +200,7 @@ config IBM_EMAC4
config BIOS_FIXUP
bool
default y
# OAK doesn't exist but wanted to keep this around for any future 403GCX boards
-@@ -205,7 +211,7 @@
+@@ -205,7 +211,7 @@ config 403GCX
config 405EP
bool
config 405GP
--- a/arch/ppc/platforms/4xx/Makefile
+++ b/arch/ppc/platforms/4xx/Makefile
-@@ -14,6 +14,7 @@
+@@ -14,6 +14,7 @@ obj-$(CONFIG_REDWOOD_6) += redwood6.o
obj-$(CONFIG_SYCAMORE) += sycamore.o
obj-$(CONFIG_TAISHAN) += taishan.o
obj-$(CONFIG_WALNUT) += walnut.o
--- a/drivers/ide/Kconfig
+++ b/drivers/ide/Kconfig
-@@ -928,6 +928,14 @@
+@@ -928,6 +928,14 @@ config BLK_DEV_MPC8xx_IDE
If unsure, say N.
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -2691,12 +2691,10 @@
+@@ -2691,12 +2691,10 @@ L: libertas-dev@lists.infradead.org
S: Maintained
MARVELL MV643XX ETHERNET DRIVER
P: Petr Vandrovec
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
-@@ -84,6 +84,11 @@
+@@ -84,6 +84,11 @@ config STACKTRACE_SUPPORT
bool
default y
config LOCKDEP_SUPPORT
bool
default y
-@@ -347,6 +352,16 @@
+@@ -347,6 +352,16 @@ config ARCH_L7200
If you have any questions or comments about the Linux kernel port
to this board, send e-mail to <sjhill@cotw.com>.
config ARCH_KS8695
bool "Micrel/Kendin KS8695"
select GENERIC_GPIO
-@@ -365,6 +380,24 @@
+@@ -365,6 +380,24 @@ config ARCH_NS9XXX
<http://www.digi.com/products/microprocessors/index.jsp>
config ARCH_MXC
bool "Freescale MXC/iMX-based"
select ARCH_MTD_XIP
-@@ -381,7 +414,8 @@
+@@ -381,7 +414,8 @@ config ARCH_ORION5X
select PLAT_ORION
help
Support for the following Marvell Orion 5x series SoCs:
config ARCH_PNX4008
bool "Philips Nexperia PNX4008 Mobile"
-@@ -502,6 +536,10 @@
+@@ -502,6 +536,10 @@ source "arch/arm/mach-ixp2000/Kconfig"
source "arch/arm/mach-ixp23xx/Kconfig"
source "arch/arm/mach-pxa/Kconfig"
source "arch/arm/mach-sa1100/Kconfig"
-@@ -514,6 +552,8 @@
+@@ -514,6 +552,8 @@ source "arch/arm/mach-omap2/Kconfig"
source "arch/arm/mach-orion5x/Kconfig"
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
-@@ -135,11 +135,14 @@
+@@ -135,11 +135,14 @@ endif
machine-$(CONFIG_ARCH_NETX) := netx
machine-$(CONFIG_ARCH_NS9XXX) := ns9xxx
machine-$(CONFIG_ARCH_DAVINCI) := davinci
# This is what happens if you forget the IOCS16 line.
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
-@@ -623,8 +623,8 @@
+@@ -623,8 +623,8 @@ proc_types:
b __armv4_mmu_cache_off
b __armv4_mmu_cache_flush
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
-@@ -21,6 +21,7 @@
+@@ -21,6 +21,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_ZONE_DMA=y
CONFIG_VECTORS_BASE=0xffff0000
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-@@ -40,24 +41,24 @@
+@@ -40,24 +41,24 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
-@@ -73,20 +74,25 @@
+@@ -73,20 +74,25 @@ CONFIG_TIMERFD=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set
-@@ -111,7 +117,6 @@
+@@ -111,7 +117,6 @@ CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_CLASSIC_RCU=y
#
# System Type
-@@ -160,6 +165,7 @@
+@@ -160,6 +165,7 @@ CONFIG_MACH_RD88F5182=y
CONFIG_MACH_KUROBOX_PRO=y
CONFIG_MACH_DNS323=y
CONFIG_MACH_TS209=y
#
# Boot options
-@@ -168,6 +174,7 @@
+@@ -168,6 +174,7 @@ CONFIG_MACH_TS209=y
#
# Power management
#
#
# Processor Type
-@@ -177,8 +184,9 @@
+@@ -177,8 +184,9 @@ CONFIG_CPU_FEROCEON=y
CONFIG_CPU_FEROCEON_OLD_ID=y
CONFIG_CPU_32v5=y
CONFIG_CPU_ABRT_EV5T=y
CONFIG_CPU_TLB_V4WBI=y
CONFIG_CPU_CP15=y
CONFIG_CPU_CP15_MMU=y
-@@ -189,7 +197,6 @@
+@@ -189,7 +197,6 @@ CONFIG_CPU_CP15_MMU=y
CONFIG_ARM_THUMB=y
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_CPU_DCACHE_DISABLE is not set
# CONFIG_OUTER_CACHE is not set
#
-@@ -199,6 +206,7 @@
+@@ -199,6 +206,7 @@ CONFIG_PCI=y
CONFIG_PCI_SYSCALL=y
# CONFIG_ARCH_SUPPORTS_MSI is not set
CONFIG_PCI_LEGACY=y
# CONFIG_PCCARD is not set
#
-@@ -221,6 +229,7 @@
+@@ -221,6 +229,7 @@ CONFIG_FLATMEM=y
CONFIG_FLAT_NODE_MEM_MAP=y
# CONFIG_SPARSEMEM_STATIC is not set
# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
CONFIG_SPLIT_PTLOCK_CPUS=4096
# CONFIG_RESOURCES_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1
-@@ -238,7 +247,6 @@
+@@ -238,7 +247,6 @@ CONFIG_ZBOOT_ROM_BSS=0x0
CONFIG_CMDLINE=""
# CONFIG_XIP_KERNEL is not set
# CONFIG_KEXEC is not set
#
# Floating point emulation
-@@ -311,8 +319,6 @@
+@@ -311,8 +319,6 @@ CONFIG_TCP_CONG_CUBIC=y
CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_TCP_MD5SIG is not set
# CONFIG_IPV6 is not set
# CONFIG_NETWORK_SECMARK is not set
# CONFIG_NETFILTER is not set
# CONFIG_IP_DCCP is not set
-@@ -335,6 +341,7 @@
+@@ -335,6 +341,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# Network testing
#
CONFIG_NET_PKTGEN=m
# CONFIG_HAMRADIO is not set
# CONFIG_CAN is not set
# CONFIG_IRDA is not set
-@@ -362,6 +369,8 @@
+@@ -362,6 +369,8 @@ CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_FW_LOADER=y
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
CONFIG_MTD=y
-@@ -371,6 +380,7 @@
+@@ -371,6 +380,7 @@ CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set
#
# User Modules And Translation Layers
-@@ -378,9 +388,8 @@
+@@ -378,9 +388,8 @@ CONFIG_MTD_CMDLINE_PARTS=y
CONFIG_MTD_CHAR=y
CONFIG_MTD_BLKDEVS=y
CONFIG_MTD_BLOCK=y
# CONFIG_INFTL is not set
# CONFIG_RFD_FTL is not set
# CONFIG_SSFDC is not set
-@@ -405,12 +414,12 @@
+@@ -405,12 +414,12 @@ CONFIG_MTD_MAP_BANK_WIDTH_4=y
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
CONFIG_MTD_CFI_I1=y
CONFIG_MTD_CFI_I2=y
CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_RAM is not set
# CONFIG_MTD_ROM is not set
-@@ -481,6 +490,9 @@
+@@ -481,6 +490,9 @@ CONFIG_MISC_DEVICES=y
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set
#
# SCSI device support
-@@ -542,6 +554,7 @@
+@@ -542,6 +554,7 @@ CONFIG_SCSI_LOWLEVEL=y
# CONFIG_SCSI_IPS is not set
# CONFIG_SCSI_INITIO is not set
# CONFIG_SCSI_INIA100 is not set
# CONFIG_SCSI_STEX is not set
# CONFIG_SCSI_SYM53C8XX_2 is not set
# CONFIG_SCSI_IPR is not set
-@@ -556,7 +569,10 @@
+@@ -556,7 +569,10 @@ CONFIG_SCSI_LOWLEVEL=y
# CONFIG_SCSI_SRP is not set
CONFIG_ATA=y
# CONFIG_ATA_NONSTANDARD is not set
# CONFIG_SATA_SVW is not set
# CONFIG_ATA_PIIX is not set
CONFIG_SATA_MV=y
-@@ -566,7 +582,6 @@
+@@ -566,7 +582,6 @@ CONFIG_SATA_MV=y
# CONFIG_SATA_PROMISE is not set
# CONFIG_SATA_SX4 is not set
# CONFIG_SATA_SIL is not set
# CONFIG_SATA_SIS is not set
# CONFIG_SATA_ULI is not set
# CONFIG_SATA_VIA is not set
-@@ -611,6 +626,7 @@
+@@ -611,6 +626,7 @@ CONFIG_SATA_MV=y
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
# CONFIG_PATA_PLATFORM is not set
# CONFIG_MD is not set
# CONFIG_FUSION is not set
-@@ -652,7 +668,7 @@
+@@ -652,7 +668,7 @@ CONFIG_NET_PCI=y
# CONFIG_B44 is not set
# CONFIG_FORCEDETH is not set
# CONFIG_EEPRO100 is not set
# CONFIG_FEALNX is not set
# CONFIG_NATSEMI is not set
# CONFIG_NE2K_PCI is not set
-@@ -668,9 +684,7 @@
+@@ -668,9 +684,7 @@ CONFIG_E100=y
CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
# CONFIG_E1000E is not set
# CONFIG_E1000E_ENABLED is not set
# CONFIG_IP1000 is not set
-@@ -680,27 +694,15 @@
+@@ -680,27 +694,15 @@ CONFIG_E1000_NAPI=y
# CONFIG_YELLOWFIN is not set
# CONFIG_R8169 is not set
# CONFIG_SIS190 is not set
# CONFIG_TR is not set
#
-@@ -708,6 +710,7 @@
+@@ -708,6 +710,7 @@ CONFIG_NETDEV_10000=y
#
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
#
# USB Network Adapters
-@@ -738,12 +741,9 @@
+@@ -738,12 +741,9 @@ CONFIG_INPUT=y
#
# Userland interfaces
#
# CONFIG_INPUT_EVBUG is not set
#
-@@ -765,10 +765,8 @@
+@@ -765,10 +765,8 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
#
# Character devices
#
# CONFIG_SERIAL_NONSTANDARD is not set
# CONFIG_NOZOMI is not set
-@@ -777,7 +775,7 @@
+@@ -777,7 +775,7 @@ CONFIG_HW_CONSOLE=y
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=2
# CONFIG_SERIAL_8250_EXTENDED is not set
-@@ -792,7 +790,7 @@
+@@ -792,7 +790,7 @@ CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=16
# CONFIG_IPMI_HANDLER is not set
# CONFIG_NVRAM is not set
# CONFIG_R3964 is not set
# CONFIG_APPLICOM is not set
-@@ -804,13 +802,6 @@
+@@ -804,13 +802,6 @@ CONFIG_I2C_BOARDINFO=y
CONFIG_I2C_CHARDEV=y
#
# I2C Hardware Bus support
#
# CONFIG_I2C_ALI1535 is not set
-@@ -837,6 +828,7 @@
+@@ -837,6 +828,7 @@ CONFIG_I2C_CHARDEV=y
# CONFIG_I2C_VIA is not set
# CONFIG_I2C_VIAPRO is not set
# CONFIG_I2C_VOODOO3 is not set
CONFIG_I2C_MV64XXX=y
#
-@@ -847,19 +839,13 @@
+@@ -847,19 +839,13 @@ CONFIG_I2C_MV64XXX=y
# CONFIG_SENSORS_PCF8574 is not set
# CONFIG_PCF8575 is not set
# CONFIG_SENSORS_PCF8591 is not set
# CONFIG_W1 is not set
# CONFIG_POWER_SUPPLY is not set
CONFIG_HWMON=y
-@@ -872,6 +858,7 @@
+@@ -872,6 +858,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_ADM1031 is not set
# CONFIG_SENSORS_ADM9240 is not set
# CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_I5K_AMB is not set
-@@ -901,6 +888,7 @@
+@@ -901,6 +888,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_SMSC47M1 is not set
# CONFIG_SENSORS_SMSC47M192 is not set
# CONFIG_SENSORS_SMSC47B397 is not set
# CONFIG_SENSORS_THMC50 is not set
# CONFIG_SENSORS_VIA686A is not set
# CONFIG_SENSORS_VT1211 is not set
-@@ -910,6 +898,7 @@
+@@ -910,6 +898,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_W83792D is not set
# CONFIG_SENSORS_W83793 is not set
# CONFIG_SENSORS_W83L785TS is not set
# CONFIG_SENSORS_W83627HF is not set
# CONFIG_SENSORS_W83627EHF is not set
# CONFIG_HWMON_DEBUG_CHIP is not set
-@@ -925,14 +914,24 @@
+@@ -925,14 +914,24 @@ CONFIG_SSB_POSSIBLE=y
# Multifunction device drivers
#
# CONFIG_MFD_SM501 is not set
#
# Graphics support
-@@ -949,12 +948,6 @@
+@@ -949,12 +948,6 @@ CONFIG_DAB=y
# CONFIG_DISPLAY_SUPPORT is not set
#
# Sound
#
# CONFIG_SOUND is not set
-@@ -985,14 +978,18 @@
+@@ -985,14 +978,18 @@ CONFIG_USB_DEVICEFS=y
CONFIG_USB_DEVICE_CLASS=y
# CONFIG_USB_DYNAMIC_MINORS is not set
# CONFIG_USB_OTG is not set
# CONFIG_USB_OHCI_HCD is not set
# CONFIG_USB_UHCI_HCD is not set
# CONFIG_USB_SL811_HCD is not set
-@@ -1003,6 +1000,7 @@
+@@ -1003,6 +1000,7 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y
#
# CONFIG_USB_ACM is not set
CONFIG_USB_PRINTER=y
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-@@ -1022,7 +1020,9 @@
+@@ -1022,7 +1020,9 @@ CONFIG_USB_STORAGE_SDDR09=y
CONFIG_USB_STORAGE_SDDR55=y
CONFIG_USB_STORAGE_JUMPSHOT=y
# CONFIG_USB_STORAGE_ALAUDA is not set
# CONFIG_USB_LIBUSUAL is not set
#
-@@ -1060,6 +1060,7 @@
+@@ -1060,6 +1060,7 @@ CONFIG_USB_STORAGE_JUMPSHOT=y
# CONFIG_USB_TRANCEVIBRATOR is not set
# CONFIG_USB_IOWARRIOR is not set
# CONFIG_USB_TEST is not set
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
CONFIG_NEW_LEDS=y
-@@ -1076,6 +1077,7 @@
+@@ -1076,6 +1077,7 @@ CONFIG_LEDS_CLASS=y
CONFIG_LEDS_TRIGGERS=y
CONFIG_LEDS_TRIGGER_TIMER=y
CONFIG_LEDS_TRIGGER_HEARTBEAT=y
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
CONFIG_RTC_HCTOSYS=y
-@@ -1105,6 +1107,7 @@
+@@ -1105,6 +1107,7 @@ CONFIG_RTC_DRV_RS5C372=y
# CONFIG_RTC_DRV_PCF8583 is not set
CONFIG_RTC_DRV_M41T80=y
# CONFIG_RTC_DRV_M41T80_WDT is not set
#
# SPI RTC drivers
-@@ -1125,6 +1128,7 @@
+@@ -1125,6 +1128,7 @@ CONFIG_RTC_DRV_M41T80=y
#
# on-CPU RTC drivers
#
#
# File systems
-@@ -1140,14 +1144,11 @@
+@@ -1140,14 +1144,11 @@ CONFIG_JBD=y
# CONFIG_JFS_FS is not set
# CONFIG_FS_POSIX_ACL is not set
# CONFIG_XFS_FS is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
-@@ -1155,8 +1156,8 @@
+@@ -1155,8 +1156,8 @@ CONFIG_DNOTIFY=y
#
# CD-ROM/DVD Filesystems
#
# CONFIG_ZISOFS is not set
CONFIG_UDF_FS=m
CONFIG_UDF_NLS=y
-@@ -1205,8 +1206,10 @@
+@@ -1205,8 +1206,10 @@ CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
CONFIG_CRAMFS=y
# CONFIG_VXFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
-@@ -1214,7 +1217,6 @@
+@@ -1214,7 +1217,6 @@ CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
# CONFIG_NFS_V3_ACL is not set
# CONFIG_NFS_V4 is not set
# CONFIG_NFSD is not set
CONFIG_ROOT_NFS=y
CONFIG_LOCKD=y
-@@ -1241,14 +1243,13 @@
+@@ -1241,14 +1243,13 @@ CONFIG_PARTITION_ADVANCED=y
# CONFIG_MAC_PARTITION is not set
CONFIG_MSDOS_PARTITION=y
CONFIG_BSD_DISKLABEL=y
# CONFIG_KARMA_PARTITION is not set
# CONFIG_EFI_PARTITION is not set
# CONFIG_SYSV68_PARTITION is not set
-@@ -1300,15 +1301,48 @@
+@@ -1300,15 +1301,48 @@ CONFIG_NLS_ISO8859_2=y
# CONFIG_PRINTK_TIME is not set
CONFIG_ENABLE_WARN_DEPRECATED=y
CONFIG_ENABLE_MUST_CHECK=y
#
# Security options
-@@ -1317,50 +1351,79 @@
+@@ -1317,50 +1351,79 @@ CONFIG_DEBUG_USER=y
# CONFIG_SECURITY is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_CRYPTO=y
# CONFIG_CRYPTO_LZO is not set
CONFIG_CRYPTO_HW=y
# CONFIG_CRYPTO_DEV_HIFN_795X is not set
-@@ -1369,12 +1432,14 @@
+@@ -1369,12 +1432,14 @@ CONFIG_CRYPTO_HW=y
# Library routines
#
CONFIG_BITREVERSE=y
CONFIG_PLIST=y
--- a/arch/arm/kernel/stacktrace.c
+++ b/arch/arm/kernel/stacktrace.c
-@@ -36,6 +36,7 @@
+@@ -36,6 +36,7 @@ EXPORT_SYMBOL(walk_stackframe);
#ifdef CONFIG_STACKTRACE
struct stack_trace_data {
struct stack_trace *trace;
unsigned int skip;
};
-@@ -43,27 +44,52 @@
+@@ -43,27 +44,52 @@ static int save_trace(struct stackframe
{
struct stack_trace_data *data = d;
struct stack_trace *trace = data->trace;
.text
/*
-@@ -55,11 +47,12 @@
+@@ -55,11 +47,12 @@ ENTRY(memmove)
stmfd sp!, {r5 - r8}
blt 5f
CALGN( add pc, r4, ip )
PLD( pld [r1, #-4] )
-@@ -138,8 +131,7 @@
+@@ -138,8 +131,7 @@ ENTRY(memmove)
subs r2, r2, #28
blt 14f
CALGN( bcc 15f )
--- a/arch/arm/lib/memset.S
+++ b/arch/arm/lib/memset.S
-@@ -39,6 +39,9 @@
+@@ -39,6 +39,9 @@ ENTRY(memset)
mov r3, r1
cmp r2, #16
blt 4f
/*
* We need an extra register for this loop - save the return address and
* use the LR
-@@ -64,6 +67,49 @@
+@@ -64,6 +67,49 @@ ENTRY(memset)
stmneia r0!, {r1, r3, ip, lr}
ldr lr, [sp], #4
tst r2, #4
--- a/arch/arm/lib/memzero.S
+++ b/arch/arm/lib/memzero.S
-@@ -39,6 +39,9 @@
+@@ -39,6 +39,9 @@ ENTRY(__memzero)
*/
cmp r1, #16 @ 1 we can skip this chunk if we
blt 4f @ 1 have < 16 bytes
/*
* We need an extra register for this loop - save the return address and
* use the LR
-@@ -64,6 +67,47 @@
+@@ -64,6 +67,47 @@ ENTRY(__memzero)
stmneia r0!, {r2, r3, ip, lr} @ 4
ldr lr, [sp], #4 @ 1
+}
--- a/arch/arm/mach-orion5x/Kconfig
+++ b/arch/arm/mach-orion5x/Kconfig
-@@ -44,6 +44,36 @@
+@@ -44,6 +44,36 @@ config MACH_LINKSTATION_PRO
Buffalo Linkstation Pro/Live platform. Both v1 and
v2 devices are supported.
static int __init orion5x_cpu_win_can_remap(int win)
{
-@@ -87,16 +88,22 @@
+@@ -87,16 +88,22 @@ static int __init orion5x_cpu_win_can_re
static void __init setup_cpu_win(int win, u32 base, u32 size,
u8 target, u8 attr, int remap)
{
}
}
-@@ -109,11 +116,11 @@
+@@ -109,11 +116,11 @@ void __init orion5x_setup_cpu_mbus_bridg
* First, disable and clear windows.
*/
for (i = 0; i < 8; i++) {
}
}
-@@ -128,6 +135,7 @@
+@@ -128,6 +135,7 @@ void __init orion5x_setup_cpu_mbus_bridg
TARGET_PCIE, ATTR_PCIE_MEM, -1);
setup_cpu_win(3, ORION5X_PCI_MEM_PHYS_BASE, ORION5X_PCI_MEM_SIZE,
TARGET_PCI, ATTR_PCI_MEM, -1);
/*
* Setup MBUS dram target info.
-@@ -147,8 +155,8 @@
+@@ -147,8 +155,8 @@ void __init orion5x_setup_cpu_mbus_bridg
w = &orion5x_mbus_dram_info.cs[cs++];
w->cs_index = i;
w->mbus_attr = 0xf & ~(1 << i);
}
}
orion5x_mbus_dram_info.num_cs = cs;
-@@ -156,25 +164,30 @@
+@@ -156,25 +164,30 @@ void __init orion5x_setup_cpu_mbus_bridg
void __init orion5x_setup_dev_boot_win(u32 base, u32 size)
{
}
--- a/arch/arm/mach-orion5x/common.c
+++ b/arch/arm/mach-orion5x/common.c
-@@ -39,25 +39,22 @@
+@@ -39,25 +39,22 @@ static struct map_desc orion5x_io_desc[]
.virtual = ORION5X_REGS_VIRT_BASE,
.pfn = __phys_to_pfn(ORION5X_REGS_PHYS_BASE),
.length = ORION5X_REGS_SIZE,
},
};
-@@ -66,101 +63,32 @@
+@@ -66,101 +63,32 @@ void __init orion5x_map_io(void)
iotable_init(orion5x_io_desc, ARRAY_SIZE(orion5x_io_desc));
}
static struct platform_device orion5x_ehci0 = {
.name = "orion-ehci",
.id = 0,
-@@ -173,6 +101,27 @@
+@@ -173,6 +101,27 @@ static struct platform_device orion5x_eh
.num_resources = ARRAY_SIZE(orion5x_ehci0_resources),
};
static struct platform_device orion5x_ehci1 = {
.name = "orion-ehci",
.id = 1,
-@@ -185,11 +134,15 @@
+@@ -185,11 +134,15 @@ static struct platform_device orion5x_eh
.num_resources = ARRAY_SIZE(orion5x_ehci1_resources),
};
struct mv643xx_eth_shared_platform_data orion5x_eth_shared_data = {
.dram = &orion5x_mbus_dram_info,
.t_clk = ORION5X_TCLK,
-@@ -219,7 +172,7 @@
+@@ -219,7 +172,7 @@ static struct resource orion5x_eth_resou
.start = IRQ_ORION5X_ETH_SUM,
.end = IRQ_ORION5X_ETH_SUM,
.flags = IORESOURCE_IRQ,
};
static struct platform_device orion5x_eth = {
-@@ -238,11 +191,10 @@
+@@ -238,11 +191,10 @@ void __init orion5x_eth_init(struct mv64
platform_device_register(&orion5x_eth);
}
static struct mv64xxx_i2c_pdata orion5x_i2c_pdata = {
.freq_m = 8, /* assumes 166 MHz TCLK */
.freq_n = 3,
-@@ -251,16 +203,15 @@
+@@ -251,16 +203,15 @@ static struct mv64xxx_i2c_pdata orion5x_
static struct resource orion5x_i2c_resources[] = {
{
},
};
-@@ -270,36 +221,41 @@
+@@ -270,36 +221,41 @@ static struct platform_device orion5x_i2
.num_resources = ARRAY_SIZE(orion5x_i2c_resources),
.resource = orion5x_i2c_resources,
.dev = {
};
void __init orion5x_sata_init(struct mv_sata_platform_data *sata_data)
-@@ -309,23 +265,111 @@
+@@ -309,23 +265,111 @@ void __init orion5x_sata_init(struct mv_
platform_device_register(&orion5x_sata);
}
/*
* Identify device ID and rev from PCIe configuration header space '0'.
*/
-@@ -350,8 +394,10 @@
+@@ -350,8 +394,10 @@ static void __init orion5x_id(u32 *dev,
} else if (*dev == MV88F5181_DEV_ID) {
if (*rev == MV88F5181_REV_B1) {
*dev_name = "MV88F5181-Rev-B1";
}
} else {
*dev_name = "Device-Unknown";
-@@ -370,15 +416,6 @@
+@@ -370,15 +416,6 @@ void __init orion5x_init(void)
* Setup Orion address map
*/
orion5x_setup_cpu_mbus_bridge();
void orion5x_map_io(void);
void orion5x_init_irq(void);
void orion5x_init(void);
-@@ -23,13 +25,19 @@
+@@ -23,13 +25,19 @@ void orion5x_setup_dev1_win(u32 base, u3
void orion5x_setup_dev2_win(u32 base, u32 size);
void orion5x_setup_pcie_wa_win(u32 base, u32 size);
void orion5x_pcie_id(u32 *dev, u32 *rev);
int orion5x_pci_sys_setup(int nr, struct pci_sys_data *sys);
-@@ -40,26 +48,9 @@
+@@ -40,26 +48,9 @@ int orion5x_pci_map_irq(struct pci_dev *
* Valid GPIO pins according to MPP setup, used by machine-setup.
* (/mach-orion/gpio.c).
*/
/*****************************************************************************
* DB-88F5281 on board devices
-@@ -86,7 +87,7 @@
+@@ -86,7 +87,7 @@ static struct platform_device db88f5281_
.name = "physmap-flash",
.id = 0,
.dev = {
},
.num_resources = 1,
.resource = &db88f5281_boot_flash_resource,
-@@ -110,7 +111,7 @@
+@@ -110,7 +111,7 @@ static struct platform_device db88f5281_
.name = "physmap-flash",
.id = 1,
.dev = {
},
.num_resources = 1,
.resource = &db88f5281_nor_flash_resource,
-@@ -125,18 +126,15 @@
+@@ -125,18 +126,15 @@ static struct mtd_partition db88f5281_na
.name = "kernel",
.offset = 0,
.size = SZ_2M,
.name = "recovery",
.offset = (SZ_16M + SZ_8M),
.size = SZ_8M,
-@@ -288,7 +286,6 @@
+@@ -288,7 +286,6 @@ subsys_initcall(db88f5281_pci_init);
****************************************************************************/
static struct mv643xx_eth_platform_data db88f5281_eth_data = {
.phy_addr = 8,
};
/*****************************************************************************
-@@ -301,11 +298,28 @@
+@@ -301,11 +298,28 @@ static struct i2c_board_info __initdata
/*****************************************************************************
* General Setup
****************************************************************************/
};
static void __init db88f5281_init(void)
-@@ -315,39 +329,31 @@
+@@ -315,39 +329,31 @@ static void __init db88f5281_init(void)
*/
orion5x_init();
#define DNS323_GPIO_LED_RIGHT_AMBER 1
#define DNS323_GPIO_LED_LEFT_AMBER 2
-@@ -52,8 +53,6 @@
+@@ -52,8 +53,6 @@ static int __init dns323_pci_map_irq(str
if (irq != -1)
return irq;
return -1;
}
-@@ -81,7 +80,6 @@
+@@ -81,7 +80,6 @@ subsys_initcall(dns323_pci_init);
static struct mv643xx_eth_platform_data dns323_eth_data = {
.phy_addr = 8,
};
/****************************************************************************
-@@ -119,7 +117,7 @@
+@@ -119,7 +117,7 @@ static struct mtd_partition dns323_parti
.name = "u-boot",
.size = 0x00030000,
.offset = 0x007d0000,
};
static struct physmap_flash_data dns323_nor_flash_data = {
-@@ -137,7 +135,9 @@
+@@ -137,7 +135,9 @@ static struct resource dns323_nor_flash_
static struct platform_device dns323_nor_flash = {
.name = "physmap-flash",
.id = 0,
.resource = &dns323_nor_flash_resource,
.num_resources = 1,
};
-@@ -170,7 +170,9 @@
+@@ -170,7 +170,9 @@ static struct gpio_led_platform_data dns
static struct platform_device dns323_gpio_leds = {
.name = "leds-gpio",
.id = -1,
};
/****************************************************************************
-@@ -183,35 +185,53 @@
+@@ -183,35 +185,53 @@ static struct gpio_keys_button dns323_bu
.gpio = DNS323_GPIO_KEY_RESET,
.desc = "Reset Button",
.active_low = 1,
};
/*
-@@ -225,17 +245,15 @@
+@@ -225,17 +245,15 @@ static struct platform_device *dns323_pl
static struct i2c_board_info __initdata dns323_i2c_devices[] = {
{
I2C_BOARD_INFO("g760a", 0x3e),
};
/* DNS-323 specific power off method */
-@@ -250,62 +268,35 @@
+@@ -250,62 +268,35 @@ static void __init dns323_init(void)
/* Setup basic Orion functions. Need to be called early. */
orion5x_init();
/* Warning: D-Link uses a wrong mach-type (=526) in their bootloader */
--- a/arch/arm/mach-orion5x/gpio.c
+++ b/arch/arm/mach-orion5x/gpio.c
-@@ -24,9 +24,12 @@
+@@ -24,9 +24,12 @@ static DEFINE_SPINLOCK(gpio_lock);
static unsigned long gpio_valid[BITS_TO_LONGS(GPIO_MAX)];
static const char *gpio_label[GPIO_MAX]; /* non null for allocated GPIOs */
}
/*
-@@ -93,10 +96,10 @@
+@@ -93,10 +96,10 @@ int gpio_get_value(unsigned pin)
{
int val, mask = 1 << pin;
return val & mask;
}
-@@ -188,39 +191,39 @@
+@@ -188,39 +191,39 @@ void gpio_display(void)
printk("GPIO, free\n");
} else {
printk("GPIO, used by %s, ", gpio_label[i]);
}
--- a/arch/arm/mach-orion5x/irq.c
+++ b/arch/arm/mach-orion5x/irq.c
-@@ -82,7 +82,7 @@
+@@ -82,7 +82,7 @@ static int orion5x_gpio_set_irq_type(u32
int pin = irq_to_gpio(irq);
struct irq_desc *desc;
printk(KERN_ERR "orion5x_gpio_set_irq_type failed "
"(irq %d, pin %d).\n", irq, pin);
return -EINVAL;
-@@ -117,7 +117,7 @@
+@@ -117,7 +117,7 @@ static int orion5x_gpio_set_irq_type(u32
/*
* set initial polarity based on current input level
*/
& (1 << pin))
orion5x_setbits(GPIO_IN_POL, (1 << pin)); /* falling */
else
-@@ -149,8 +149,8 @@
+@@ -149,8 +149,8 @@ static void orion5x_gpio_irq_handler(uns
BUG_ON(irq < IRQ_ORION5X_GPIO_0_7 || irq > IRQ_ORION5X_GPIO_24_31);
offs = (irq - IRQ_ORION5X_GPIO_0_7) * 8;
for (pin = offs; pin < offs + 8; pin++) {
if (cause & (1 << pin)) {
-@@ -158,9 +158,9 @@
+@@ -158,9 +158,9 @@ static void orion5x_gpio_irq_handler(uns
desc = irq_desc + irq;
if ((desc->status & IRQ_TYPE_SENSE_MASK) == IRQT_BOTHEDGE) {
/* Swap polarity (race with GPIO line) */
}
desc_handle_irq(irq, desc);
}
-@@ -175,9 +175,9 @@
+@@ -175,9 +175,9 @@ static void __init orion5x_init_gpio_irq
/*
* Mask and clear GPIO IRQ interrupts
*/
/*****************************************************************************
* KUROBOX-PRO Info
-@@ -53,13 +56,11 @@
+@@ -53,13 +56,11 @@ static struct mtd_partition kurobox_pro_
.name = "uImage",
.offset = 0,
.size = SZ_4M,
.name = "extra",
.offset = SZ_4M + SZ_64M,
.size = SZ_256M - (SZ_4M + SZ_64M),
-@@ -132,8 +133,6 @@
+@@ -132,8 +133,6 @@ static int __init kurobox_pro_pci_map_ir
/*
* PCI isn't used on the Kuro
*/
return -1;
}
-@@ -161,7 +160,6 @@
+@@ -161,7 +160,6 @@ subsys_initcall(kurobox_pro_pci_init);
static struct mv643xx_eth_platform_data kurobox_pro_eth_data = {
.phy_addr = 8,
};
/*****************************************************************************
-@@ -175,12 +173,169 @@
+@@ -175,12 +173,169 @@ static struct i2c_board_info __initdata
* SATA
****************************************************************************/
static struct mv_sata_platform_data kurobox_pro_sata_data = {
static void __init kurobox_pro_init(void)
{
-@@ -189,46 +344,32 @@
+@@ -189,46 +344,32 @@ static void __init kurobox_pro_init(void
*/
orion5x_init();
+MACHINE_END
--- a/arch/arm/mach-orion5x/pci.c
+++ b/arch/arm/mach-orion5x/pci.c
-@@ -152,6 +152,8 @@
+@@ -152,6 +152,8 @@ static int __init pcie_setup(struct pci_
if (dev == MV88F5181_DEV_ID || dev == MV88F5182_DEV_ID) {
printk(KERN_NOTICE "Applying Orion-1/Orion-NAS PCIe config "
"read transaction workaround\n");
pcie_ops.read = pcie_rd_conf_wa;
}
-@@ -240,13 +242,13 @@
+@@ -240,13 +242,13 @@ static int __init pcie_setup(struct pci_
* PCI Address Decode Windows registers
*/
#define PCI_BAR_SIZE_DDR_CS(n) (((n) == 0) ? ORION5X_PCI_REG(0xc08) : \
#define PCI_BAR_ENABLE ORION5X_PCI_REG(0xc3c)
#define PCI_ADDR_DECODE_CTRL ORION5X_PCI_REG(0xd3c)
-@@ -266,7 +268,7 @@
+@@ -266,7 +268,7 @@ static DEFINE_SPINLOCK(orion5x_pci_lock)
static int orion5x_pci_local_bus_nr(void)
{
return((conf & PCI_P2P_BUS_MASK) >> PCI_P2P_BUS_OFFS);
}
-@@ -276,11 +278,11 @@
+@@ -276,11 +278,11 @@ static int orion5x_pci_hw_rd_conf(int bu
unsigned long flags;
spin_lock_irqsave(&orion5x_pci_lock, flags);
if (size == 1)
*val = (*val >> (8*(where & 0x3))) & 0xff;
-@@ -300,9 +302,9 @@
+@@ -300,9 +302,9 @@ static int orion5x_pci_hw_wr_conf(int bu
spin_lock_irqsave(&orion5x_pci_lock, flags);
if (size == 4) {
__raw_writel(val, PCI_CONF_DATA);
-@@ -353,9 +355,9 @@
+@@ -353,9 +355,9 @@ static struct pci_ops pci_ops = {
static void __init orion5x_pci_set_bus_nr(int nr)
{
/*
* PCI-X mode
*/
-@@ -372,7 +374,7 @@
+@@ -372,7 +374,7 @@ static void __init orion5x_pci_set_bus_n
*/
p2p &= ~PCI_P2P_BUS_MASK;
p2p |= (nr << PCI_P2P_BUS_OFFS);
}
}
-@@ -399,7 +401,7 @@
+@@ -399,7 +401,7 @@ static void __init orion5x_setup_pci_win
* First, disable windows.
*/
win_enable = 0xffffffff;
/*
* Setup windows for DDR banks.
-@@ -425,10 +427,10 @@
+@@ -425,10 +427,10 @@ static void __init orion5x_setup_pci_win
*/
reg = PCI_CONF_REG_BAR_HI_CS(cs->cs_index);
orion5x_pci_hw_wr_conf(bus, 0, func, reg, 4, 0);
/*
* Enable decode window for this chip select.
-@@ -439,7 +441,7 @@
+@@ -439,7 +441,7 @@ static void __init orion5x_setup_pci_win
/*
* Re-enable decode windows.
*/
/*****************************************************************************
* RD-88F5182 Info
-@@ -125,6 +126,7 @@
+@@ -125,6 +126,7 @@ static int __init rd88f5182_dbgled_init(
leds_event = rd88f5182_dbgled_event;
}
return 0;
}
-@@ -220,7 +222,6 @@
+@@ -220,7 +222,6 @@ subsys_initcall(rd88f5182_pci_init);
static struct mv643xx_eth_platform_data rd88f5182_eth_data = {
.phy_addr = 8,
};
/*****************************************************************************
-@@ -234,15 +235,34 @@
+@@ -234,15 +235,34 @@ static struct i2c_board_info __initdata
* Sata
****************************************************************************/
static struct mv_sata_platform_data rd88f5182_sata_data = {
};
static void __init rd88f5182_init(void)
-@@ -252,35 +272,9 @@
+@@ -252,35 +272,9 @@ static void __init rd88f5182_init(void)
*/
orion5x_init();
* MPP[20] PCI Clock to MV88F5182
* MPP[21] PCI Clock to mini PCI CON11
* MPP[22] USB 0 over current indication
-@@ -289,16 +283,23 @@
+@@ -289,16 +283,23 @@ static void __init rd88f5182_init(void)
* MPP[25] USB 0 over current enable
*/
};
/*****************************************************************************
-@@ -164,12 +168,12 @@
+@@ -164,12 +168,12 @@ static int __init qnap_ts209_pci_map_irq
}
static struct hw_pci qnap_ts209_pci __initdata = {
};
static int __init qnap_ts209_pci_init(void)
-@@ -183,96 +187,6 @@
+@@ -183,96 +187,6 @@ static int __init qnap_ts209_pci_init(vo
subsys_initcall(qnap_ts209_pci_init);
/*****************************************************************************
* RTC S35390A on I2C bus
****************************************************************************/
-@@ -280,7 +194,7 @@
+@@ -280,7 +194,7 @@ static void __init ts209_find_mac_addr(v
static struct i2c_board_info __initdata qnap_ts209_i2c_rtc = {
I2C_BOARD_INFO("s35390a", 0x30),
};
/****************************************************************************
-@@ -297,70 +211,63 @@
+@@ -297,70 +211,63 @@ static struct gpio_keys_button qnap_ts20
.gpio = QNAP_TS209_GPIO_KEY_MEDIA,
.desc = "USB Copy Button",
.active_low = 1,
static void __init qnap_ts209_init(void)
{
/*
-@@ -368,51 +275,33 @@
+@@ -368,51 +275,33 @@ static void __init qnap_ts209_init(void)
*/
orion5x_init();
/* Get RTC IRQ and register the chip */
if (gpio_request(TS209_RTC_GPIO, "rtc") == 0) {
-@@ -425,14 +314,12 @@
+@@ -425,14 +314,12 @@ static void __init qnap_ts209_init(void)
pr_warning("qnap_ts209_init: failed to get RTC IRQ\n");
i2c_register_board_info(0, &qnap_ts209_i2c_rtc, 1);
+MACHINE_END
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
-@@ -365,7 +365,7 @@
+@@ -365,7 +365,7 @@ config CPU_XSC3
# Feroceon
config CPU_FEROCEON
bool
default y
select CPU_32v5
select CPU_ABRT_EV5T
-@@ -373,7 +373,7 @@
+@@ -373,7 +373,7 @@ config CPU_FEROCEON
select CPU_CACHE_VIVT
select CPU_CP15_MMU
select CPU_COPY_FEROCEON if MMU
config CPU_FEROCEON_OLD_ID
bool "Accept early Feroceon cores with an ARM926 ID"
-@@ -551,6 +551,11 @@
+@@ -551,6 +551,11 @@ config CPU_TLB_V4WBI
ARM Architecture Version 4 TLB with writeback cache and invalidate
instruction cache entry.
config CPU_TLB_V6
bool
-@@ -709,6 +714,14 @@
+@@ -709,6 +714,14 @@ config OUTER_CACHE
bool
default n
depends on REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PB1176
--- a/arch/arm/mm/Makefile
+++ b/arch/arm/mm/Makefile
-@@ -46,6 +46,7 @@
+@@ -46,6 +46,7 @@ obj-$(CONFIG_CPU_TLB_V3) += tlb-v3.o
obj-$(CONFIG_CPU_TLB_V4WT) += tlb-v4.o
obj-$(CONFIG_CPU_TLB_V4WB) += tlb-v4wb.o
obj-$(CONFIG_CPU_TLB_V4WBI) += tlb-v4wbi.o
obj-$(CONFIG_CPU_TLB_V6) += tlb-v6.o
obj-$(CONFIG_CPU_TLB_V7) += tlb-v7.o
-@@ -73,4 +74,5 @@
+@@ -73,4 +74,5 @@ obj-$(CONFIG_CPU_FEROCEON) += proc-feroc
obj-$(CONFIG_CPU_V6) += proc-v6.o
obj-$(CONFIG_CPU_V7) += proc-v7.o
mov pc, lr
/*
-@@ -59,6 +79,13 @@
+@@ -59,6 +79,13 @@ ENTRY(cpu_feroceon_proc_fin)
mov ip, #PSR_F_BIT | PSR_I_BIT | SVC_MODE
msr cpsr_c, ip
bl feroceon_flush_kern_cache_all
mrc p15, 0, r0, c1, c0, 0 @ ctrl register
bic r0, r0, #0x1000 @ ...i............
bic r0, r0, #0x000e @ ............wca.
-@@ -117,11 +144,19 @@
+@@ -117,11 +144,19 @@ ENTRY(feroceon_flush_user_cache_all)
*/
ENTRY(feroceon_flush_kern_cache_all)
mov r2, #VM_EXEC
mcrne p15, 0, ip, c7, c5, 0 @ invalidate I cache
mcrne p15, 0, ip, c7, c10, 4 @ drain WB
mov pc, lr
-@@ -138,7 +173,6 @@
+@@ -138,7 +173,6 @@ __flush_whole_cache:
*/
.align 5
ENTRY(feroceon_flush_user_cache_range)
sub r3, r1, r0 @ calculate total size
cmp r3, #CACHE_DLIMIT
bgt __flush_whole_cache
-@@ -152,6 +186,7 @@
+@@ -152,6 +186,7 @@ ENTRY(feroceon_flush_user_cache_range)
cmp r0, r1
blo 1b
tst r2, #VM_EXEC
mcrne p15, 0, ip, c7, c10, 4 @ drain WB
mov pc, lr
-@@ -209,6 +244,20 @@
+@@ -209,6 +244,20 @@ ENTRY(feroceon_flush_kern_dcache_page)
mcr p15, 0, r0, c7, c10, 4 @ drain WB
mov pc, lr
/*
* dma_inv_range(start, end)
*
-@@ -225,10 +274,10 @@
+@@ -225,10 +274,10 @@ ENTRY(feroceon_flush_kern_dcache_page)
.align 5
ENTRY(feroceon_dma_inv_range)
tst r0, #CACHE_DLINESIZE - 1
1: mcr p15, 0, r0, c7, c6, 1 @ invalidate D entry
add r0, r0, #CACHE_DLINESIZE
cmp r0, r1
-@@ -236,6 +285,22 @@
+@@ -236,6 +285,22 @@ ENTRY(feroceon_dma_inv_range)
mcr p15, 0, r0, c7, c10, 4 @ drain WB
mov pc, lr
/*
* dma_clean_range(start, end)
*
-@@ -256,6 +321,19 @@
+@@ -256,6 +321,19 @@ ENTRY(feroceon_dma_clean_range)
mcr p15, 0, r0, c7, c10, 4 @ drain WB
mov pc, lr
/*
* dma_flush_range(start, end)
*
-@@ -274,6 +352,19 @@
+@@ -274,6 +352,19 @@ ENTRY(feroceon_dma_flush_range)
mcr p15, 0, r0, c7, c10, 4 @ drain WB
mov pc, lr
ENTRY(feroceon_cache_fns)
.long feroceon_flush_kern_cache_all
.long feroceon_flush_user_cache_all
-@@ -285,12 +376,33 @@
+@@ -285,12 +376,33 @@ ENTRY(feroceon_cache_fns)
.long feroceon_dma_clean_range
.long feroceon_dma_flush_range
mcr p15, 0, r0, c7, c10, 4 @ drain WB
mov pc, lr
-@@ -306,16 +418,25 @@
+@@ -306,16 +418,25 @@ ENTRY(cpu_feroceon_dcache_clean_area)
.align 5
ENTRY(cpu_feroceon_switch_mm)
#ifdef CONFIG_MMU
/*
* cpu_feroceon_set_pte_ext(ptep, pte, ext)
-@@ -345,6 +466,9 @@
+@@ -345,6 +466,9 @@ ENTRY(cpu_feroceon_set_pte_ext)
str r2, [r0] @ hardware version
mov r0, r0
mcr p15, 0, r0, c7, c10, 1 @ clean D entry
mcr p15, 0, r0, c7, c10, 4 @ drain WB
#endif
mov pc, lr
-@@ -414,6 +538,21 @@
+@@ -414,6 +538,21 @@ cpu_feroceon_name:
.asciz "Feroceon"
.size cpu_feroceon_name, . - cpu_feroceon_name
.align
.section ".proc.info.init", #alloc, #execinstr
-@@ -421,15 +560,15 @@
+@@ -421,15 +560,15 @@ cpu_feroceon_name:
#ifdef CONFIG_CPU_FEROCEON_OLD_ID
.type __feroceon_old_id_proc_info,#object
__feroceon_old_id_proc_info:
PMD_BIT4 | \
PMD_SECT_AP_WRITE | \
PMD_SECT_AP_READ
-@@ -445,17 +584,17 @@
+@@ -445,17 +584,17 @@ __feroceon_old_id_proc_info:
.size __feroceon_old_id_proc_info, . - __feroceon_old_id_proc_info
#endif
PMD_BIT4 | \
PMD_SECT_AP_WRITE | \
PMD_SECT_AP_READ
-@@ -463,9 +602,59 @@
+@@ -463,9 +602,59 @@ __feroceon_proc_info:
.long cpu_arch_name
.long cpu_elf_name
.long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP
+ .size __88fr131_proc_info, . - __88fr131_proc_info
--- a/arch/arm/plat-orion/irq.c
+++ b/arch/arm/plat-orion/irq.c
-@@ -36,8 +36,8 @@
+@@ -36,8 +36,8 @@ static void orion_irq_unmask(u32 irq)
static struct irq_chip orion_irq_chip = {
.name = "orion_irq",
.unmask = orion_irq_unmask,
};
-@@ -59,6 +59,7 @@
+@@ -59,6 +59,7 @@ void __init orion_irq_init(unsigned int
set_irq_chip(irq, &orion_irq_chip);
set_irq_chip_data(irq, maskaddr);
set_irq_handler(irq, handle_level_irq);
#define PCIE_STAT_OFF 0x1a04
#define PCIE_STAT_DEV_OFFS 20
#define PCIE_STAT_DEV_MASK 0x1f
-@@ -62,6 +63,11 @@
+@@ -62,6 +63,11 @@ int orion_pcie_link_up(void __iomem *bas
return !(readl(base + PCIE_STAT_OFF) & PCIE_STAT_LINK_DOWN);
}
u32 stat = readl(base + PCIE_STAT_OFF);
--- a/arch/arm/plat-orion/time.c
+++ b/arch/arm/plat-orion/time.c
-@@ -74,7 +74,7 @@
+@@ -74,7 +74,7 @@ orion_clkevt_next_event(unsigned long de
/*
* Clear and enable clockevent timer interrupt.
*/
u = readl(BRIDGE_MASK);
u |= BRIDGE_INT_TIMER1;
-@@ -138,7 +138,7 @@
+@@ -138,7 +138,7 @@ orion_clkevt_mode(enum clock_event_mode
/*
* ACK pending timer interrupt.
*/
}
local_irq_restore(flags);
-@@ -159,7 +159,7 @@
+@@ -159,7 +159,7 @@ static irqreturn_t orion_timer_interrupt
/*
* ACK timer interrupt and call event handler.
*/
u16 byte_cnt; /* Descriptor buffer byte count */
u16 buf_size; /* Buffer size */
u32 cmd_sts; /* Descriptor command status */
-@@ -441,7 +180,7 @@
+@@ -441,7 +180,7 @@ struct eth_rx_desc {
u32 buf_ptr; /* Descriptor buffer pointer */
};
u16 byte_cnt; /* buffer byte count */
u16 l4i_chk; /* CPU provided TCP checksum */
u32 cmd_sts; /* Command/status field */
-@@ -449,7 +188,7 @@
+@@ -449,7 +188,7 @@ struct eth_tx_desc {
u32 buf_ptr; /* pointer to buffer for this descriptor*/
};
#elif defined(__LITTLE_ENDIAN)
u32 cmd_sts; /* Descriptor command status */
u16 buf_size; /* Buffer size */
u16 byte_cnt; /* Descriptor buffer byte count */
-@@ -457,7 +196,7 @@
+@@ -457,7 +196,7 @@ struct eth_rx_desc {
u32 next_desc_ptr; /* Next descriptor pointer */
};
u32 cmd_sts; /* Command/status field */
u16 l4i_chk; /* CPU provided TCP checksum */
u16 byte_cnt; /* buffer byte count */
-@@ -468,18 +207,59 @@
+@@ -468,18 +207,59 @@ struct eth_tx_desc {
#error One of __BIG_ENDIAN or __LITTLE_ENDIAN must be defined
#endif
u64 good_octets_received;
u32 bad_octets_received;
u32 internal_mac_transmit_err;
-@@ -512,461 +292,282 @@
+@@ -512,461 +292,282 @@ struct mv643xx_mib_counters {
u32 late_collision;
};
stats->rx_errors++;
dev_kfree_skb_irq(skb);
-@@ -975,668 +576,120 @@
+@@ -975,668 +576,120 @@ static int mv643xx_eth_receive_queue(str
* The -4 is for the CRC in the trailer of the
* received packet
*/
desc->l4i_chk = 0;
desc->byte_cnt = this_frag->size;
desc->buf_ptr = dma_map_page(NULL, this_frag->page,
-@@ -1651,37 +704,28 @@
+@@ -1651,37 +704,28 @@ static inline __be16 sum16_as_be(__sum16
return (__force __be16)sum;
}
}
desc->byte_cnt = length;
-@@ -1690,13 +734,13 @@
+@@ -1690,13 +734,13 @@ static void eth_tx_submit_descs_for_skb(
if (skb->ip_summed == CHECKSUM_PARTIAL) {
BUG_ON(skb->protocol != htons(ETH_P_IP));
desc->l4i_chk = ntohs(sum16_as_be(udp_hdr(skb)->check));
break;
case IPPROTO_TCP:
-@@ -1707,7 +751,7 @@
+@@ -1707,7 +751,7 @@ static void eth_tx_submit_descs_for_skb(
}
} else {
/* Errata BTS #50, IHL must be 5 if no HW checksum */
desc->l4i_chk = 0;
}
-@@ -1717,1649 +761,1818 @@
+@@ -1717,1649 +761,1818 @@ static void eth_tx_submit_descs_for_skb(
/* ensure all descriptors are written before poking hardware */
wmb();
static inline void __iomem *
__arch_ioremap(unsigned long paddr, size_t size, unsigned int mtype)
-@@ -53,15 +52,12 @@
+@@ -53,15 +52,12 @@ static inline void __iomem *__io(unsigne
/*****************************************************************************
* Helpers to access Orion registers
****************************************************************************/
#define v4wb_tlb_flags (TLB_WB | TLB_DCLEAN | \
TLB_V4_I_FULL | TLB_V4_D_FULL | \
TLB_V4_D_PAGE)
-@@ -245,12 +264,14 @@
+@@ -245,12 +264,14 @@ extern struct cpu_tlb_fns cpu_tlb;
#define possible_tlb_flags (v3_possible_flags | \
v4_possible_flags | \
v4wbi_possible_flags | \
v4wb_always_flags & \
v6wbi_always_flags)
-@@ -417,6 +438,11 @@
+@@ -417,6 +438,11 @@ static inline void flush_pmd_entry(pmd_t
if (tlb_flag(TLB_DCLEAN))
asm("mcr p15, 0, %0, c7, c10, 1 @ flush_pmd"
: : "r" (pmd) : "cc");
if (tlb_flag(TLB_WB))
dsb();
}
-@@ -428,6 +454,10 @@
+@@ -428,6 +454,10 @@ static inline void clean_pmd_entry(pmd_t
if (tlb_flag(TLB_DCLEAN))
asm("mcr p15, 0, %0, c7, c10, 1 @ flush_pmd"
: : "r" (pmd) : "cc");
--- a/arch/arm/kernel/setup.c
+++ b/arch/arm/kernel/setup.c
-@@ -719,7 +719,7 @@
+@@ -719,7 +719,7 @@ __tagtable(ATAG_REVISION, parse_tag_revi
static int __init parse_tag_cmdline(const struct tag *tag)
{
--- a/drivers/mtd/chips/cfi_cmdset_0002.c
+++ b/drivers/mtd/chips/cfi_cmdset_0002.c
-@@ -323,8 +323,9 @@
+@@ -323,8 +323,9 @@ struct mtd_info *cfi_cmdset_0002(struct
return NULL;
}
--- a/arch/arm/mach-orion5x/Kconfig
+++ b/arch/arm/mach-orion5x/Kconfig
-@@ -74,6 +74,12 @@
+@@ -74,6 +74,12 @@ config MACH_MSS2
Say 'Y' here if you want your kernel to support the
Maxtor Shared Storage II platform.
endif
--- a/arch/arm/mach-orion5x/Makefile
+++ b/arch/arm/mach-orion5x/Makefile
-@@ -10,3 +10,4 @@
+@@ -10,3 +10,4 @@ obj-$(CONFIG_MACH_WRT350N_V2) += wrt350n
obj-$(CONFIG_MACH_TS78XX) += ts78xx-setup.o
obj-$(CONFIG_MACH_MV2120) += mv2120-setup.o
obj-$(CONFIG_MACH_MSS2) += mss2-setup.o
+MACHINE_END
--- a/arch/arm/configs/orion5x_defconfig
+++ b/arch/arm/configs/orion5x_defconfig
-@@ -166,6 +166,7 @@
+@@ -166,6 +166,7 @@ CONFIG_MACH_KUROBOX_PRO=y
CONFIG_MACH_DNS323=y
CONFIG_MACH_TS209=y
CONFIG_MACH_LINKSTATION_PRO=y
--- a/arch/arm/mach-orion5x/wrt350n-v2-setup.c
+++ b/arch/arm/mach-orion5x/wrt350n-v2-setup.c
-@@ -56,19 +56,11 @@
+@@ -56,19 +56,11 @@ static struct mtd_partition wrt350n_v2_n
{
.name = "kernel",
.offset = 0x00000000,
static __initdata struct of_device_id kilauea_of_bus[] = {
{ .compatible = "ibm,plb4", },
-@@ -46,6 +48,13 @@
+@@ -46,6 +48,13 @@ static int __init kilauea_probe(void)
ppc_pci_flags = PPC_PCI_REASSIGN_ALL_RSRC;
--- a/arch/um/Makefile-i386
+++ b/arch/um/Makefile-i386
-@@ -35,7 +35,7 @@
+@@ -35,7 +35,7 @@ cflags-y += -ffreestanding
# Disable unit-at-a-time mode on pre-gcc-4.0 compilers, it makes gcc use
# a lot more stack due to the lack of sharing of stacklots. Also, gcc
# 4.3.0 needs -funit-at-a-time for extern inline functions.