--- 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 @@
+@@ -76,6 +76,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 @@
+@@ -15,5 +15,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 @@
+@@ -3783,8 +3783,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 @@
+@@ -3797,9 +3797,9 @@ int register_netdevice(struct net_device
}
if (dev->features & NETIF_F_UFO) {
if (!(dev->features & NETIF_F_HW_CSUM)) {
--- a/drivers/net/ar2313/ar2313.c
+++ b/drivers/net/ar2313/ar2313.c
-@@ -953,9 +953,9 @@
+@@ -953,9 +953,9 @@ static int ar2313_rx_int(struct net_devi
((status >> DMA_RX_LEN_SHIFT) & 0x3fff) - CRC_LEN);
dev->stats.rx_bytes += skb->len;
skb_new->dev = dev;
/* 16 bit align */
-@@ -1370,6 +1370,8 @@
+@@ -1385,6 +1385,8 @@ static int mdiobus_probe (struct net_dev
return PTR_ERR(phydev);
}
| SUPPORTED_10baseT_Full
--- a/drivers/net/ar2313/ar2313.h
+++ b/drivers/net/ar2313/ar2313.h
-@@ -107,6 +107,8 @@
+@@ -107,6 +107,8 @@ typedef struct {
*/
struct ar2313_private {
struct net_device *dev;
--- 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/arch/mips/au1000/Kconfig
+++ b/arch/mips/au1000/Kconfig
-@@ -135,3 +135,4 @@
+@@ -135,3 +135,4 @@ config SOC_AU1X00
select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_APM_EMULATION
select SYS_SUPPORTS_KGDB
static struct resource mtx1_wdt_res[] = {
[0] = {
.start = 15,
-@@ -62,11 +85,13 @@
+@@ -62,11 +85,13 @@ static struct platform_device mtx1_gpio_
static struct platform_device *mtx1_devs[] = {
&mtx1_gpio_leds,
* ########################################################################
*
* This program is free software; you can distribute it and/or modify it
-@@ -835,6 +838,10 @@
+@@ -835,6 +838,10 @@ static int au1000_init(struct net_device
control = MAC_RX_ENABLE | MAC_TX_ENABLE;
#ifndef CONFIG_CPU_LITTLE_ENDIAN
--- a/arch/mips/au1000/mtx-1/init.c
+++ b/arch/mips/au1000/mtx-1/init.c
-@@ -54,7 +54,7 @@
+@@ -54,7 +54,7 @@ void __init prom_init(void)
prom_argv = (char **) fw_arg1;
prom_envp = (char **) fw_arg2;
--- a/drivers/mtd/maps/mtx-1_flash.c
+++ b/drivers/mtd/maps/mtx-1_flash.c
-@@ -28,7 +28,7 @@
+@@ -28,7 +28,7 @@ static struct map_info mtx1_map = {
static struct mtd_partition mtx1_partitions[] = {
{
--- a/drivers/net/au1000_eth.c
+++ b/drivers/net/au1000_eth.c
-@@ -1306,9 +1306,12 @@
+@@ -1306,9 +1306,12 @@ static void set_rx_mode(struct net_devic
}
}
--- a/include/asm-mips/mach-au1x00/au1000.h
+++ b/include/asm-mips/mach-au1x00/au1000.h
-@@ -623,6 +623,7 @@
+@@ -623,6 +623,7 @@ enum soc_au1500_ints {
AU1000_RTC_MATCH1_INT,
AU1000_RTC_MATCH2_INT,
AU1500_PCI_ERR_INT,
--- a/arch/mips/au1000/common/gpio.c
+++ b/arch/mips/au1000/common/gpio.c
-@@ -66,7 +66,8 @@
+@@ -66,7 +66,8 @@ static int au1xxx_gpio2_direction_input(
static int au1xxx_gpio2_direction_output(unsigned gpio, int value)
{
gpio -= AU1XXX_GPIO_BASE;
return 0;
}
-@@ -95,6 +96,7 @@
+@@ -95,6 +96,7 @@ static int au1xxx_gpio1_direction_input(
static int au1xxx_gpio1_direction_output(unsigned gpio, int value)
{
gpio1->trioutclr = (0x01 & gpio);
--- a/Documentation/serial/driver
+++ b/Documentation/serial/driver
-@@ -186,6 +186,17 @@
+@@ -186,6 +186,17 @@ hardware.
Locking: port_sem taken.
Interrupts: caller dependent.
bits. Update read_status_mask and ignore_status_mask to indicate
--- a/arch/avr32/Kconfig
+++ b/arch/avr32/Kconfig
-@@ -47,6 +47,9 @@
+@@ -47,6 +47,9 @@ config RWSEM_GENERIC_SPINLOCK
config GENERIC_TIME
def_bool y
config RWSEM_XCHGADD_ALGORITHM
def_bool n
-@@ -70,6 +73,8 @@
+@@ -70,6 +73,8 @@ source "init/Kconfig"
menu "System Type and features"
config SUBARCH_AVR32B
bool
config MMU
-@@ -83,6 +88,7 @@
+@@ -83,6 +88,7 @@ config PLATFORM_AT32AP
select MMU
select PERFORMANCE_COUNTERS
select HAVE_GPIO_LIB
#
# CPU types
-@@ -117,6 +123,9 @@
+@@ -117,6 +123,9 @@ endchoice
if BOARD_ATSTK1000
source "arch/avr32/boards/atstk1000/Kconfig"
endif
choice
prompt "Boot loader type"
-@@ -142,6 +151,9 @@
+@@ -142,6 +151,9 @@ config PHYS_OFFSET
source "kernel/Kconfig.preempt"
config HAVE_ARCH_BOOTMEM_NODE
def_bool n
-@@ -180,6 +192,10 @@
+@@ -180,6 +192,10 @@ config NMI_DEBUGGING
be dumped to the console when a Non-Maskable Interrupt
happens.
# FPU emulation goes here
source "kernel/Kconfig.hz"
-@@ -196,6 +212,11 @@
+@@ -196,6 +212,11 @@ endmenu
menu "Power management options"
source "drivers/cpufreq/Kconfig"
--- a/arch/avr32/Makefile
+++ b/arch/avr32/Makefile
-@@ -32,6 +32,7 @@
+@@ -32,6 +32,7 @@ core-$(CONFIG_LOADER_U_BOOT) += arch/av
core-y += arch/avr32/kernel/
core-y += arch/avr32/mm/
drivers-$(CONFIG_OPROFILE) += arch/avr32/oprofile/
/* Initialized by bootloader-specific startup code. */
struct tag *bootloader_tags __initdata;
-@@ -37,11 +44,16 @@
+@@ -37,11 +44,16 @@ static struct eth_platform_data __initda
static struct spi_board_info spi0_board_info[] __initdata = {
{
.modalias = "mtd_dataflash",
/*
* The next two functions should go away as the boot loader is
* supposed to initialize the macb address registers with a valid
-@@ -124,6 +136,7 @@
+@@ -124,6 +136,7 @@ static struct platform_device ngw_gpio_l
}
};
static struct i2c_gpio_platform_data i2c_gpio_data = {
.sda_pin = GPIO_PIN_PA(6),
.scl_pin = GPIO_PIN_PA(7),
-@@ -139,6 +152,7 @@
+@@ -139,6 +152,7 @@ static struct platform_device i2c_gpio_d
.platform_data = &i2c_gpio_data,
},
};
static int __init atngw100_init(void)
{
-@@ -157,6 +171,7 @@
+@@ -157,6 +171,7 @@ static int __init atngw100_init(void)
set_hw_addr(at32_add_device_eth(1, ð_data[1]));
at32_add_device_spi(0, spi0_board_info, ARRAY_SIZE(spi0_board_info));
at32_add_device_usba(0, NULL);
for (i = 0; i < ARRAY_SIZE(ngw_leds); i++) {
-@@ -165,11 +180,15 @@
+@@ -165,11 +180,15 @@ static int __init atngw100_init(void)
}
platform_device_register(&ngw_gpio_leds);
}
--- a/arch/avr32/boards/atstk1000/Kconfig
+++ b/arch/avr32/boards/atstk1000/Kconfig
-@@ -18,6 +18,10 @@
+@@ -18,6 +18,10 @@ config BOARD_ATSTK1004
bool "ATSTK1004"
select CPU_AT32AP7002
endchoice
-@@ -102,4 +106,60 @@
+@@ -102,4 +106,60 @@ config BOARD_ATSTK1000_EXTDAC
depends on !BOARD_ATSTK100X_SW1_CUSTOM && !BOARD_ATSTK100X_SW3_CUSTOM
default y
endif # stk 1000
--- a/arch/avr32/boards/atstk1000/Makefile
+++ b/arch/avr32/boards/atstk1000/Makefile
-@@ -2,3 +2,4 @@
+@@ -2,3 +2,4 @@ obj-y += setup.o flash.o
obj-$(CONFIG_BOARD_ATSTK1002) += atstk1002.o
obj-$(CONFIG_BOARD_ATSTK1003) += atstk1003.o
obj-$(CONFIG_BOARD_ATSTK1004) += atstk1004.o
struct eth_addr {
u8 addr[6];
-@@ -83,6 +157,19 @@
+@@ -83,6 +157,19 @@ static struct spi_board_info spi1_board_
} };
#endif
/*
* The next two functions should go away as the boot loader is
* supposed to initialize the macb address registers with a valid
-@@ -212,6 +299,12 @@
+@@ -212,6 +299,12 @@ static int __init atstk1002_init(void)
at32_add_system_devices();
#ifdef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
at32_add_device_usart(1);
#else
-@@ -228,16 +321,30 @@
+@@ -228,16 +321,30 @@ static int __init atstk1002_init(void)
#ifdef CONFIG_BOARD_ATSTK100X_SPI1
at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info));
#endif
#ifdef CONFIG_BOARD_ATSTK1000_EXTDAC
static struct at73c213_board_info at73c213_data = {
.ssc_id = 0,
-@@ -59,6 +66,19 @@
+@@ -59,6 +66,19 @@ static struct spi_board_info spi1_board_
} };
#endif
#ifdef CONFIG_BOARD_ATSTK1000_EXTDAC
static void __init atstk1003_setup_extdac(void)
{
-@@ -147,12 +167,22 @@
+@@ -147,12 +167,22 @@ static int __init atstk1003_init(void)
at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info));
#endif
#ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
#ifdef CONFIG_BOARD_ATSTK1000_EXTDAC
static struct at73c213_board_info at73c213_data = {
.ssc_id = 0,
-@@ -130,14 +137,23 @@
+@@ -130,14 +137,23 @@ static int __init atstk1004_init(void)
at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info));
#endif
#ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
#
CONFIG_AVR32=y
CONFIG_GENERIC_GPIO=y
-@@ -13,10 +13,10 @@
+@@ -13,10 +13,10 @@ CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_BUG=y
-@@ -37,17 +37,15 @@
+@@ -37,17 +37,15 @@ CONFIG_POSIX_MQUEUE=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_BSD_PROCESS_ACCT_V3=y
# CONFIG_TASKSTATS is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-@@ -61,11 +59,13 @@
+@@ -61,11 +59,13 @@ CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
-@@ -73,6 +73,14 @@
+@@ -73,6 +73,14 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
-@@ -101,10 +109,15 @@
+@@ -101,10 +109,15 @@ CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_SUBARCH_AVR32B=y
CONFIG_MMU=y
CONFIG_PERFORMANCE_COUNTERS=y
-@@ -113,6 +126,7 @@
+@@ -113,6 +126,7 @@ CONFIG_CPU_AT32AP700X=y
CONFIG_CPU_AT32AP7000=y
# CONFIG_BOARD_ATSTK1000 is not set
CONFIG_BOARD_ATNGW100=y
CONFIG_LOADER_U_BOOT=y
#
-@@ -121,6 +135,7 @@
+@@ -121,6 +135,7 @@ CONFIG_LOADER_U_BOOT=y
# CONFIG_AP700X_32_BIT_SMC is not set
CONFIG_AP700X_16_BIT_SMC=y
# CONFIG_AP700X_8_BIT_SMC is not set
CONFIG_LOAD_ADDRESS=0x10000000
CONFIG_ENTRY_ADDRESS=0x90000000
CONFIG_PHYS_OFFSET=0x10000000
-@@ -146,16 +161,26 @@
+@@ -146,16 +161,26 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
# CONFIG_OWNERSHIP_TRACE is not set
#
# CPU Frequency scaling
-@@ -164,9 +189,9 @@
+@@ -164,9 +189,9 @@ CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
-@@ -202,6 +227,7 @@
+@@ -202,6 +227,7 @@ CONFIG_XFRM=y
CONFIG_XFRM_USER=y
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
CONFIG_NET_KEY=y
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
-@@ -260,82 +286,33 @@
+@@ -260,82 +286,33 @@ CONFIG_IPV6_SIT=y
# CONFIG_NETWORK_SECMARK is not set
CONFIG_NETFILTER=y
# CONFIG_NETFILTER_DEBUG is not set
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_TARGET_LOG=m
-@@ -343,54 +320,25 @@
+@@ -343,54 +320,25 @@ CONFIG_IP_NF_TARGET_LOG=m
CONFIG_NF_NAT=m
CONFIG_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=m
# CONFIG_IP_DCCP is not set
# CONFIG_IP_SCTP is not set
# CONFIG_TIPC is not set
-@@ -407,7 +355,6 @@
+@@ -407,7 +355,6 @@ CONFIG_LLC=m
# CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set
#
# Network testing
-@@ -415,6 +362,7 @@
+@@ -415,6 +362,7 @@ CONFIG_NET_CLS_ROUTE=y
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_TCPPROBE is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
-@@ -531,11 +479,18 @@
+@@ -531,11 +479,18 @@ CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
#
# SCSI device support
-@@ -568,11 +523,13 @@
+@@ -568,11 +523,13 @@ CONFIG_PHYLIB=y
# CONFIG_SMSC_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
-@@ -599,7 +556,6 @@
+@@ -599,7 +556,6 @@ CONFIG_PPPOE=m
# CONFIG_PPPOL2TP is not set
# CONFIG_SLIP is not set
CONFIG_SLHC=m
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
-@@ -633,6 +589,7 @@
+@@ -633,6 +589,7 @@ CONFIG_SLHC=m
#
CONFIG_SERIAL_ATMEL=y
CONFIG_SERIAL_ATMEL_CONSOLE=y
# CONFIG_SERIAL_ATMEL_TTYAT is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
-@@ -640,8 +597,6 @@
+@@ -640,8 +597,6 @@ CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_R3964 is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
-@@ -659,6 +614,7 @@
+@@ -659,6 +614,7 @@ CONFIG_I2C_ALGOBIT=m
#
# I2C Hardware Bus support
#
CONFIG_I2C_GPIO=m
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
-@@ -669,13 +625,12 @@
+@@ -669,13 +625,12 @@ CONFIG_I2C_GPIO=m
#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_I2C_DEBUG_CORE is not set
-@@ -702,9 +657,27 @@
+@@ -702,9 +657,27 @@ CONFIG_SPI_ATMEL=y
# CONFIG_SPI_AT25 is not set
CONFIG_SPI_SPIDEV=m
# CONFIG_SPI_TLE62X0 is not set
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
-@@ -757,10 +730,6 @@
+@@ -757,10 +730,6 @@ CONFIG_USB_SUPPORT=y
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
# CONFIG_USB_GADGET_DEBUG_FILES is not set
-@@ -787,21 +756,24 @@
+@@ -787,21 +756,24 @@ CONFIG_USB_FILE_STORAGE=m
# CONFIG_USB_FILE_STORAGE_TEST is not set
CONFIG_USB_G_SERIAL=m
# CONFIG_USB_MIDI_GADGET is not set
CONFIG_NEW_LEDS=y
CONFIG_LEDS_CLASS=y
-@@ -844,19 +816,22 @@
+@@ -844,19 +816,22 @@ CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_V3020 is not set
-@@ -874,25 +849,23 @@
+@@ -874,25 +849,23 @@ CONFIG_RTC_DRV_AT32AP700X=y
#
# File systems
#
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=m
-@@ -923,7 +896,7 @@
+@@ -923,7 +896,7 @@ CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLB_PAGE is not set
#
# Miscellaneous filesystems
-@@ -948,8 +921,10 @@
+@@ -948,8 +921,10 @@ CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
-@@ -1030,11 +1005,6 @@
+@@ -1030,11 +1005,6 @@ CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=m
# CONFIG_DLM is not set
#
# Kernel hacking
-@@ -1053,6 +1023,7 @@
+@@ -1053,6 +1023,7 @@ CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
-@@ -1069,9 +1040,10 @@
+@@ -1069,9 +1040,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
CONFIG_FRAME_POINTER=y
# CONFIG_LKDTM is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_SAMPLES is not set
-@@ -1084,7 +1056,9 @@
+@@ -1084,7 +1056,9 @@ CONFIG_FRAME_POINTER=y
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_HMAC=y
-@@ -1103,6 +1077,9 @@
+@@ -1103,6 +1077,9 @@ CONFIG_CRYPTO_CBC=y
CONFIG_CRYPTO_PCBC=m
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_XTS is not set
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_DES=y
# CONFIG_CRYPTO_FCRYPT is not set
-@@ -1117,12 +1094,14 @@
+@@ -1117,12 +1094,14 @@ CONFIG_CRYPTO_ARC4=m
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_SEED is not set
CONFIG_CRYPTO_HW=y
#
-@@ -1137,10 +1116,7 @@
+@@ -1137,10 +1116,7 @@ CONFIG_CRC7=m
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
#
CONFIG_AVR32=y
CONFIG_GENERIC_GPIO=y
-@@ -13,10 +13,10 @@
+@@ -13,10 +13,10 @@ CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_BUG=y
-@@ -36,15 +36,15 @@
+@@ -36,15 +36,15 @@ CONFIG_SYSVIPC_SYSCTL=y
CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-@@ -58,11 +58,13 @@
+@@ -58,11 +58,13 @@ CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
-@@ -70,6 +72,14 @@
+@@ -70,6 +72,14 @@ CONFIG_SLUB_DEBUG=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
-@@ -98,10 +108,15 @@
+@@ -98,10 +108,15 @@ CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_SUBARCH_AVR32B=y
CONFIG_MMU=y
CONFIG_PERFORMANCE_COUNTERS=y
-@@ -113,12 +128,16 @@
+@@ -113,12 +128,16 @@ CONFIG_BOARD_ATSTK1000=y
CONFIG_BOARD_ATSTK1002=y
# CONFIG_BOARD_ATSTK1003 is not set
# CONFIG_BOARD_ATSTK1004 is not set
CONFIG_LOADER_U_BOOT=y
#
-@@ -127,6 +146,7 @@
+@@ -127,6 +146,7 @@ CONFIG_LOADER_U_BOOT=y
# CONFIG_AP700X_32_BIT_SMC is not set
CONFIG_AP700X_16_BIT_SMC=y
# CONFIG_AP700X_8_BIT_SMC is not set
CONFIG_LOAD_ADDRESS=0x10000000
CONFIG_ENTRY_ADDRESS=0x90000000
CONFIG_PHYS_OFFSET=0x10000000
-@@ -152,16 +172,26 @@
+@@ -152,16 +172,26 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
# CONFIG_OWNERSHIP_TRACE is not set
#
# CPU Frequency scaling
-@@ -170,9 +200,9 @@
+@@ -170,9 +200,9 @@ CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
-@@ -208,6 +238,7 @@
+@@ -208,6 +238,7 @@ CONFIG_XFRM=y
CONFIG_XFRM_USER=m
# CONFIG_XFRM_SUB_POLICY is not set
# CONFIG_XFRM_MIGRATE is not set
CONFIG_NET_KEY=m
# CONFIG_NET_KEY_MIGRATE is not set
CONFIG_INET=y
-@@ -279,6 +310,7 @@
+@@ -279,6 +310,7 @@ CONFIG_LLC=m
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_TCPPROBE is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
-@@ -395,13 +427,18 @@
+@@ -395,13 +427,18 @@ CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
#
# SCSI device support
-@@ -444,6 +481,7 @@
+@@ -444,6 +481,7 @@ CONFIG_SCSI_WAIT_SCAN=m
# CONFIG_SCSI_LOWLEVEL is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_PATA_AT32=m
# CONFIG_PATA_PLATFORM is not set
# CONFIG_MD is not set
-@@ -469,11 +507,13 @@
+@@ -469,11 +507,13 @@ CONFIG_PHYLIB=y
# CONFIG_SMSC_PHY is not set
# CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set
# CONFIG_IBM_NEW_EMAC_ZMII is not set
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
-@@ -500,7 +540,6 @@
+@@ -500,7 +540,6 @@ CONFIG_PPP_BSDCOMP=m
# CONFIG_PPPOL2TP is not set
# CONFIG_SLIP is not set
CONFIG_SLHC=m
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
-@@ -568,6 +607,7 @@
+@@ -568,6 +607,7 @@ CONFIG_MOUSE_GPIO=m
#
CONFIG_SERIAL_ATMEL=y
CONFIG_SERIAL_ATMEL_CONSOLE=y
# CONFIG_SERIAL_ATMEL_TTYAT is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
-@@ -575,8 +615,6 @@
+@@ -575,8 +615,6 @@ CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_R3964 is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
-@@ -594,6 +632,7 @@
+@@ -594,6 +632,7 @@ CONFIG_I2C_ALGOBIT=m
#
# I2C Hardware Bus support
#
CONFIG_I2C_GPIO=m
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
-@@ -604,13 +643,12 @@
+@@ -604,13 +643,12 @@ CONFIG_I2C_GPIO=m
#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_I2C_DEBUG_CORE is not set
-@@ -637,9 +675,27 @@
+@@ -637,9 +675,27 @@ CONFIG_SPI_ATMEL=y
# CONFIG_SPI_AT25 is not set
CONFIG_SPI_SPIDEV=m
# CONFIG_SPI_TLE62X0 is not set
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
-@@ -732,12 +788,18 @@
+@@ -732,12 +788,18 @@ CONFIG_SND_PCM_OSS_PLUGINS=y
#
# Generic devices
#
# SPI devices
#
CONFIG_SND_AT73C213=m
-@@ -753,9 +815,14 @@
+@@ -753,9 +815,14 @@ CONFIG_SND_AT73C213_TARGET_BITRATE=48000
#
#
# CONFIG_HID_SUPPORT is not set
CONFIG_USB_SUPPORT=y
# CONFIG_USB_ARCH_HAS_HCD is not set
-@@ -765,10 +832,6 @@
+@@ -765,10 +832,6 @@ CONFIG_USB_SUPPORT=y
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
# CONFIG_USB_GADGET_DEBUG_FILES is not set
-@@ -796,27 +859,31 @@
+@@ -796,27 +859,31 @@ CONFIG_USB_FILE_STORAGE=m
# CONFIG_USB_FILE_STORAGE_TEST is not set
CONFIG_USB_G_SERIAL=m
# CONFIG_USB_MIDI_GADGET is not set
CONFIG_LEDS_GPIO=m
#
-@@ -853,19 +920,22 @@
+@@ -853,19 +920,22 @@ CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_V3020 is not set
-@@ -883,13 +953,13 @@
+@@ -883,13 +953,13 @@ CONFIG_RTC_DRV_AT32AP700X=y
#
# File systems
#
# CONFIG_JBD_DEBUG is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
-@@ -897,12 +967,10 @@
+@@ -897,12 +967,10 @@ CONFIG_JBD=m
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=m
-@@ -933,7 +1001,7 @@
+@@ -933,7 +1001,7 @@ CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLB_PAGE is not set
#
# Miscellaneous filesystems
-@@ -957,8 +1025,10 @@
+@@ -957,8 +1025,10 @@ CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
CONFIG_NETWORK_FILESYSTEMS=y
-@@ -1028,11 +1098,6 @@
+@@ -1028,11 +1098,6 @@ CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=m
# CONFIG_DLM is not set
#
# Kernel hacking
-@@ -1051,6 +1116,7 @@
+@@ -1051,6 +1116,7 @@ CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_SLUB_DEBUG_ON is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
-@@ -1067,9 +1133,10 @@
+@@ -1067,9 +1133,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
CONFIG_FRAME_POINTER=y
# CONFIG_LKDTM is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_SAMPLES is not set
-@@ -1082,7 +1149,9 @@
+@@ -1082,7 +1149,9 @@ CONFIG_FORCED_INLINING=y
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
CONFIG_CRYPTO=y
CONFIG_CRYPTO_ALGAPI=m
CONFIG_CRYPTO_HASH=m
CONFIG_CRYPTO_MANAGER=m
CONFIG_CRYPTO_HMAC=m
-@@ -1101,6 +1170,9 @@
+@@ -1101,6 +1170,9 @@ CONFIG_CRYPTO_CBC=m
# CONFIG_CRYPTO_PCBC is not set
# CONFIG_CRYPTO_LRW is not set
# CONFIG_CRYPTO_XTS is not set
# CONFIG_CRYPTO_CRYPTD is not set
CONFIG_CRYPTO_DES=m
# CONFIG_CRYPTO_FCRYPT is not set
-@@ -1115,12 +1187,14 @@
+@@ -1115,12 +1187,14 @@ CONFIG_CRYPTO_DES=m
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_ANUBIS is not set
# CONFIG_CRYPTO_SEED is not set
# CONFIG_CRYPTO_HW is not set
#
-@@ -1135,6 +1209,7 @@
+@@ -1135,6 +1209,7 @@ CONFIG_CRC7=m
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
#
CONFIG_AVR32=y
CONFIG_GENERIC_GPIO=y
-@@ -13,10 +13,10 @@
+@@ -13,10 +13,10 @@ CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_BUG=y
-@@ -39,17 +39,15 @@
+@@ -39,17 +39,15 @@ CONFIG_BSD_PROCESS_ACCT_V3=y
CONFIG_TASKSTATS=y
CONFIG_TASK_DELAY_ACCT=y
# CONFIG_TASK_XACCT is not set
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE=""
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
-@@ -63,11 +61,13 @@
+@@ -63,11 +61,13 @@ CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
-@@ -75,6 +75,14 @@
+@@ -75,6 +75,14 @@ CONFIG_VM_EVENT_COUNTERS=y
# CONFIG_SLAB is not set
CONFIG_SLUB=y
# CONFIG_SLOB is not set
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
-@@ -103,10 +111,15 @@
+@@ -103,10 +111,15 @@ CONFIG_IOSCHED_CFQ=y
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_SUBARCH_AVR32B=y
CONFIG_MMU=y
CONFIG_PERFORMANCE_COUNTERS=y
-@@ -118,12 +131,16 @@
+@@ -118,12 +131,16 @@ CONFIG_BOARD_ATSTK1000=y
# CONFIG_BOARD_ATSTK1002 is not set
CONFIG_BOARD_ATSTK1003=y
# CONFIG_BOARD_ATSTK1004 is not set
CONFIG_LOADER_U_BOOT=y
#
-@@ -132,6 +149,7 @@
+@@ -132,6 +149,7 @@ CONFIG_LOADER_U_BOOT=y
# CONFIG_AP700X_32_BIT_SMC is not set
CONFIG_AP700X_16_BIT_SMC=y
# CONFIG_AP700X_8_BIT_SMC is not set
CONFIG_LOAD_ADDRESS=0x10000000
CONFIG_ENTRY_ADDRESS=0x90000000
CONFIG_PHYS_OFFSET=0x10000000
-@@ -157,16 +175,26 @@
+@@ -157,16 +175,26 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
# CONFIG_OWNERSHIP_TRACE is not set
#
# CPU Frequency scaling
-@@ -175,9 +203,9 @@
+@@ -175,9 +203,9 @@ CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_TABLE=y
# CONFIG_CPU_FREQ_DEBUG is not set
# CONFIG_CPU_FREQ_STAT is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
-@@ -260,6 +288,7 @@
+@@ -260,6 +288,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_NET_PKTGEN is not set
# CONFIG_NET_TCPPROBE is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
-@@ -376,13 +405,18 @@
+@@ -376,13 +405,18 @@ CONFIG_BLK_DEV_NBD=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=4096
#
# SCSI device support
-@@ -427,6 +461,7 @@
+@@ -427,6 +461,7 @@ CONFIG_SCSI_LOWLEVEL=y
# CONFIG_SCSI_DEBUG is not set
CONFIG_ATA=m
# CONFIG_ATA_NONSTANDARD is not set
CONFIG_PATA_AT32=m
# CONFIG_PATA_PLATFORM is not set
# CONFIG_MD is not set
-@@ -460,7 +495,6 @@
+@@ -460,7 +495,6 @@ CONFIG_PPP_BSDCOMP=m
# CONFIG_PPPOL2TP is not set
# CONFIG_SLIP is not set
CONFIG_SLHC=m
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
# CONFIG_NET_POLL_CONTROLLER is not set
-@@ -528,6 +562,7 @@
+@@ -528,6 +562,7 @@ CONFIG_MOUSE_GPIO=m
#
CONFIG_SERIAL_ATMEL=y
CONFIG_SERIAL_ATMEL_CONSOLE=y
# CONFIG_SERIAL_ATMEL_TTYAT is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
-@@ -535,8 +570,6 @@
+@@ -535,8 +570,6 @@ CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_R3964 is not set
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
-@@ -554,6 +587,7 @@
+@@ -554,6 +587,7 @@ CONFIG_I2C_ALGOBIT=m
#
# I2C Hardware Bus support
#
CONFIG_I2C_GPIO=m
# CONFIG_I2C_OCORES is not set
# CONFIG_I2C_PARPORT_LIGHT is not set
-@@ -564,13 +598,12 @@
+@@ -564,13 +598,12 @@ CONFIG_I2C_GPIO=m
#
# Miscellaneous I2C Chip support
#
# CONFIG_SENSORS_MAX6875 is not set
# CONFIG_SENSORS_TSL2550 is not set
# CONFIG_I2C_DEBUG_CORE is not set
-@@ -597,9 +630,27 @@
+@@ -597,9 +630,27 @@ CONFIG_SPI_ATMEL=y
# CONFIG_SPI_AT25 is not set
CONFIG_SPI_SPIDEV=m
# CONFIG_SPI_TLE62X0 is not set
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
-@@ -665,12 +716,18 @@
+@@ -665,12 +716,18 @@ CONFIG_SND_VERBOSE_PROCFS=y
#
# Generic devices
#
# SPI devices
#
CONFIG_SND_AT73C213=m
-@@ -686,9 +743,14 @@
+@@ -686,9 +743,14 @@ CONFIG_SND_AT73C213_TARGET_BITRATE=48000
#
#
# CONFIG_HID_SUPPORT is not set
CONFIG_USB_SUPPORT=y
# CONFIG_USB_ARCH_HAS_HCD is not set
-@@ -698,10 +760,6 @@
+@@ -698,10 +760,6 @@ CONFIG_USB_SUPPORT=y
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG is not set
# CONFIG_USB_GADGET_DEBUG_FILES is not set
-@@ -729,27 +787,31 @@
+@@ -729,27 +787,31 @@ CONFIG_USB_FILE_STORAGE=m
# CONFIG_USB_FILE_STORAGE_TEST is not set
CONFIG_USB_G_SERIAL=m
# CONFIG_USB_MIDI_GADGET is not set
CONFIG_LEDS_GPIO=y
#
-@@ -786,19 +848,22 @@
+@@ -786,19 +848,22 @@ CONFIG_RTC_INTF_DEV=y
# CONFIG_RTC_DRV_PCF8563 is not set
# CONFIG_RTC_DRV_PCF8583 is not set
# CONFIG_RTC_DRV_M41T80 is not set
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_V3020 is not set
-@@ -816,13 +881,13 @@
+@@ -816,13 +881,13 @@ CONFIG_UIO=m
#
# File systems
#
# CONFIG_JBD_DEBUG is not set
# CONFIG_REISERFS_FS is not set
# CONFIG_JFS_FS is not set
-@@ -830,12 +895,10 @@
+@@ -830,12 +895,10 @@ CONFIG_JBD=m
# CONFIG_XFS_FS is not set
# CONFIG_GFS2_FS is not set
# CONFIG_OCFS2_FS is not set
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
CONFIG_FUSE_FS=m
-@@ -866,7 +929,7 @@
+@@ -866,7 +929,7 @@ CONFIG_SYSFS=y
CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLB_PAGE is not set
#
# Miscellaneous filesystems
-@@ -891,8 +954,10 @@
+@@ -891,8 +954,10 @@ CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_SYSV_FS is not set
# CONFIG_UFS_FS is not set
# CONFIG_NETWORK_FILESYSTEMS is not set
-@@ -943,11 +1008,6 @@
+@@ -943,11 +1008,6 @@ CONFIG_NLS_ISO8859_1=m
# CONFIG_NLS_KOI8_U is not set
CONFIG_NLS_UTF8=m
# CONFIG_DLM is not set
#
# Kernel hacking
-@@ -965,6 +1025,7 @@
+@@ -965,6 +1025,7 @@ CONFIG_DETECT_SOFTLOCKUP=y
CONFIG_SCHED_DEBUG=y
# CONFIG_SCHEDSTATS is not set
# CONFIG_TIMER_STATS is not set
# CONFIG_DEBUG_RT_MUTEXES is not set
# CONFIG_RT_MUTEX_TESTER is not set
# CONFIG_DEBUG_SPINLOCK is not set
-@@ -981,9 +1042,10 @@
+@@ -981,9 +1042,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
# CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set
CONFIG_FRAME_POINTER=y
# CONFIG_LKDTM is not set
# CONFIG_FAULT_INJECTION is not set
# CONFIG_SAMPLES is not set
-@@ -1009,6 +1071,7 @@
+@@ -1009,6 +1071,7 @@ CONFIG_CRC7=m
CONFIG_AUDIT_GENERIC=y
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
#
CONFIG_AVR32=y
CONFIG_GENERIC_GPIO=y
-@@ -13,10 +13,10 @@
+@@ -13,10 +13,10 @@ CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
CONFIG_GENERIC_TIME=y
CONFIG_GENERIC_HWEIGHT=y
CONFIG_GENERIC_CALIBRATE_DELAY=y
CONFIG_GENERIC_BUG=y
-@@ -34,15 +34,15 @@
+@@ -34,15 +34,15 @@ CONFIG_LOCALVERSION=""
# CONFIG_POSIX_MQUEUE is not set
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set
# CONFIG_BLK_DEV_INITRD is not set
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
CONFIG_SYSCTL=y
-@@ -54,24 +54,37 @@
+@@ -54,24 +54,37 @@ CONFIG_HOTPLUG=y
CONFIG_PRINTK=y
CONFIG_BUG=y
CONFIG_ELF_CORE=y
CONFIG_SUBARCH_AVR32B=y
CONFIG_MMU=y
CONFIG_PERFORMANCE_COUNTERS=y
-@@ -83,10 +96,14 @@
+@@ -83,10 +96,14 @@ CONFIG_BOARD_ATSTK1000=y
# CONFIG_BOARD_ATSTK1002 is not set
# CONFIG_BOARD_ATSTK1003 is not set
CONFIG_BOARD_ATSTK1004=y
CONFIG_LOADER_U_BOOT=y
#
-@@ -95,6 +112,7 @@
+@@ -95,6 +112,7 @@ CONFIG_LOADER_U_BOOT=y
# CONFIG_AP700X_32_BIT_SMC is not set
CONFIG_AP700X_16_BIT_SMC=y
# CONFIG_AP700X_8_BIT_SMC is not set
CONFIG_LOAD_ADDRESS=0x10000000
CONFIG_ENTRY_ADDRESS=0x90000000
CONFIG_PHYS_OFFSET=0x10000000
-@@ -120,34 +138,26 @@
+@@ -120,34 +138,26 @@ CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_ZONE_DMA_FLAG=0
CONFIG_VIRT_TO_BUS=y
# CONFIG_OWNERSHIP_TRACE is not set
#
# Bus options
-@@ -222,6 +232,7 @@
+@@ -222,6 +232,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
#
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_BT is not set
# CONFIG_AF_RXRPC is not set
-@@ -321,6 +332,7 @@
+@@ -321,6 +332,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_UBI is not set
# CONFIG_PARPORT is not set
# CONFIG_MISC_DEVICES is not set
#
# SCSI device support
-@@ -358,6 +370,7 @@
+@@ -358,6 +370,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
#
CONFIG_SERIAL_ATMEL=y
CONFIG_SERIAL_ATMEL_CONSOLE=y
# CONFIG_SERIAL_ATMEL_TTYAT is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
-@@ -365,8 +378,6 @@
+@@ -365,8 +378,6 @@ CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
# CONFIG_R3964 is not set
# CONFIG_TCG_TPM is not set
# CONFIG_I2C is not set
-@@ -389,9 +400,24 @@
+@@ -389,9 +400,24 @@ CONFIG_SPI_ATMEL=y
# CONFIG_SPI_AT25 is not set
# CONFIG_SPI_SPIDEV is not set
# CONFIG_SPI_TLE62X0 is not set
CONFIG_WATCHDOG=y
# CONFIG_WATCHDOG_NOWAYOUT is not set
-@@ -471,10 +497,6 @@
+@@ -471,10 +497,6 @@ CONFIG_USB_SUPPORT=y
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
#
CONFIG_USB_GADGET=y
# CONFIG_USB_GADGET_DEBUG_FILES is not set
CONFIG_USB_GADGET_SELECTED=y
-@@ -499,7 +521,9 @@
+@@ -499,7 +521,9 @@ CONFIG_USB_ETH=y
# CONFIG_USB_FILE_STORAGE is not set
# CONFIG_USB_G_SERIAL is not set
# CONFIG_USB_MIDI_GADGET is not set
# CONFIG_NEW_LEDS is not set
CONFIG_RTC_LIB=y
CONFIG_RTC_CLASS=y
-@@ -519,15 +543,17 @@
+@@ -519,15 +543,17 @@ CONFIG_RTC_INTF_DEV=y
#
# SPI RTC drivers
#
# CONFIG_RTC_DRV_M48T86 is not set
# CONFIG_RTC_DRV_M48T59 is not set
# CONFIG_RTC_DRV_V3020 is not set
-@@ -545,9 +571,9 @@
+@@ -545,9 +571,9 @@ CONFIG_RTC_DRV_AT32AP700X=y
#
# File systems
#
# CONFIG_AUTOFS_FS is not set
# CONFIG_AUTOFS4_FS is not set
# CONFIG_FUSE_FS is not set
-@@ -580,7 +606,6 @@
+@@ -580,7 +606,6 @@ CONFIG_JFFS2_RTIME=y
# CONFIG_NETWORK_FILESYSTEMS is not set
# CONFIG_NLS is not set
# CONFIG_DLM is not set
#
# Kernel hacking
-@@ -616,6 +641,7 @@
+@@ -616,6 +641,7 @@ CONFIG_CRC32=y
# CONFIG_LIBCRC32C is not set
CONFIG_ZLIB_INFLATE=y
CONFIG_ZLIB_DEFLATE=y
+#endif /* __AVR32_DW_DMAC_H__ */
--- a/arch/avr32/kernel/Makefile
+++ b/arch/avr32/kernel/Makefile
-@@ -9,6 +9,7 @@
+@@ -9,6 +9,7 @@ obj-y += syscall_table.o syscall-stub
obj-y += setup.o traps.o semaphore.o ocd.o ptrace.o
obj-y += signal.o sys_avr32.o process.o time.o
obj-y += init_task.o switch_to.o cpu.o
obj-$(CONFIG_STACKTRACE) += stacktrace.o
--- a/arch/avr32/kernel/avr32_ksyms.c
+++ b/arch/avr32/kernel/avr32_ksyms.c
-@@ -29,7 +29,9 @@
+@@ -29,7 +29,9 @@ EXPORT_SYMBOL(__avr32_asr64);
*/
EXPORT_SYMBOL(memset);
EXPORT_SYMBOL(memcpy);
/*
* Userspace access stuff.
-@@ -41,6 +43,8 @@
+@@ -41,6 +43,8 @@ EXPORT_SYMBOL(strncpy_from_user);
EXPORT_SYMBOL(__strncpy_from_user);
EXPORT_SYMBOL(clear_user);
EXPORT_SYMBOL(__clear_user);
+EXPORT_SYMBOL(find_dma_controller);
--- a/arch/avr32/kernel/entry-avr32b.S
+++ b/arch/avr32/kernel/entry-avr32b.S
-@@ -74,50 +74,41 @@
+@@ -74,50 +74,41 @@ exception_vectors:
.align 2
bral do_dtlb_modified
/* Second level lookup */
ld.w r2, r3[r1 << 2]
-@@ -148,16 +139,55 @@
+@@ -148,16 +139,55 @@ pgtbl_lookup:
tlbmiss_restore
rete
system_call:
#ifdef CONFIG_PREEMPT
mask_interrupts
-@@ -266,18 +296,6 @@
+@@ -266,18 +296,6 @@ syscall_exit_work:
brcc syscall_exit_cont
rjmp enter_monitor_mode
/* This function expects to find offending PC in SYSREG_RAR_EX */
.type save_full_context_ex, @function
.align 2
-@@ -741,26 +759,6 @@
+@@ -741,26 +759,6 @@ irq_level\level:
.section .irq.text,"ax",@progbits
/*
* This file handles the architecture-dependent parts of process handling..
*/
-@@ -54,6 +54,8 @@
+@@ -54,6 +54,8 @@ void machine_halt(void)
void machine_power_off(void)
{
void machine_restart(char *cmd)
--- a/arch/avr32/kernel/setup.c
+++ b/arch/avr32/kernel/setup.c
-@@ -274,6 +274,8 @@
+@@ -274,6 +274,8 @@ static int __init early_parse_fbmem(char
printk(KERN_WARNING
"Failed to allocate framebuffer memory\n");
fbmem_size = 0;
--- a/arch/avr32/kernel/signal.c
+++ b/arch/avr32/kernel/signal.c
-@@ -93,6 +93,9 @@
+@@ -93,6 +93,9 @@ asmlinkage int sys_rt_sigreturn(struct p
if (restore_sigcontext(regs, &frame->uc.uc_mcontext))
goto badframe;
-device_initcall(init_timer_sysfs);
--- a/arch/avr32/kernel/vmlinux.lds.S
+++ b/arch/avr32/kernel/vmlinux.lds.S
-@@ -68,14 +68,6 @@
+@@ -68,14 +68,6 @@ SECTIONS
_evba = .;
_text = .;
*(.ex.text)
*(.irq.text)
KPROBES_TEXT
TEXT_TEXT
-@@ -107,6 +99,10 @@
+@@ -107,6 +99,10 @@ SECTIONS
*/
*(.data.init_task)
*(.data.cacheline_aligned)
--- a/arch/avr32/lib/io-readsb.S
+++ b/arch/avr32/lib/io-readsb.S
-@@ -41,7 +41,7 @@
+@@ -41,7 +41,7 @@ __raw_readsb:
2: sub r10, -4
reteq r12
brne 3b
--- a/arch/avr32/mach-at32ap/Kconfig
+++ b/arch/avr32/mach-at32ap/Kconfig
-@@ -26,6 +26,13 @@
+@@ -26,6 +26,13 @@ config AP700X_8_BIT_SMC
endchoice
#include <video/atmel_lcdc.h>
-@@ -91,25 +94,18 @@
+@@ -91,25 +94,18 @@ static struct clk devname##_##_name = {
static DEFINE_SPINLOCK(pm_lock);
div = PM_BFEXT(PLLDIV, control) + 1;
mul = PM_BFEXT(PLLMUL, control) + 1;
-@@ -120,6 +116,71 @@
+@@ -120,6 +116,71 @@ static unsigned long pll_get_rate(struct
return rate;
}
static unsigned long pll0_get_rate(struct clk *clk)
{
u32 control;
-@@ -129,6 +190,41 @@
+@@ -129,6 +190,41 @@ static unsigned long pll0_get_rate(struc
return pll_get_rate(clk, control);
}
static unsigned long pll1_get_rate(struct clk *clk)
{
u32 control;
-@@ -138,6 +234,49 @@
+@@ -138,6 +234,49 @@ static unsigned long pll1_get_rate(struc
return pll_get_rate(clk, control);
}
/*
* The AT32AP7000 has five primary clock sources: One 32kHz
* oscillator, two crystal oscillators and two PLLs.
-@@ -166,7 +305,10 @@
+@@ -166,7 +305,10 @@ static struct clk pll0 = {
};
static struct clk pll1 = {
.name = "pll1",
.parent = &osc0,
};
-@@ -534,6 +676,14 @@
+@@ -534,6 +676,14 @@ static struct clk hramc_clk = {
.users = 1,
.index = 3,
};
static struct resource smc0_resource[] = {
PBMEM(0xfff03400),
-@@ -605,19 +755,32 @@
+@@ -605,19 +755,32 @@ static inline void set_ebi_sfr_bits(u32
}
/* --------------------------------------------------------------------
/* --------------------------------------------------------------------
* PIO
-@@ -669,7 +832,8 @@
+@@ -669,7 +832,8 @@ void __init at32_add_system_devices(void
platform_device_register(&pdc_device);
platform_device_register(&dmaca0_device);
platform_device_register(&pio0_device);
platform_device_register(&pio1_device);
-@@ -679,6 +843,81 @@
+@@ -679,6 +843,81 @@ void __init at32_add_system_devices(void
}
/* --------------------------------------------------------------------
* USART
* -------------------------------------------------------------------- */
-@@ -951,7 +1190,8 @@
+@@ -951,7 +1190,8 @@ at32_add_device_spi(unsigned int id, str
switch (id) {
case 0:
pdev = &atmel_spi0_device;
select_peripheral(PA(1), PERIPH_A, 0); /* MOSI */
select_peripheral(PA(2), PERIPH_A, 0); /* SCK */
at32_spi_setup_slaves(0, b, n, spi0_pins);
-@@ -959,7 +1199,8 @@
+@@ -959,7 +1199,8 @@ at32_add_device_spi(unsigned int id, str
case 1:
pdev = &atmel_spi1_device;
select_peripheral(PB(1), PERIPH_B, 0); /* MOSI */
select_peripheral(PB(5), PERIPH_B, 0); /* SCK */
at32_spi_setup_slaves(1, b, n, spi1_pins);
-@@ -989,7 +1230,9 @@
+@@ -989,7 +1230,9 @@ static struct clk atmel_twi0_pclk = {
.index = 2,
};
{
struct platform_device *pdev;
-@@ -1009,6 +1252,9 @@
+@@ -1009,6 +1252,9 @@ struct platform_device *__init at32_add_
atmel_twi0_pclk.dev = &pdev->dev;
platform_device_add(pdev);
return pdev;
-@@ -1032,7 +1278,8 @@
+@@ -1032,7 +1278,8 @@ static struct clk atmel_mci0_pclk = {
.index = 9,
};
{
struct platform_device *pdev;
-@@ -1041,11 +1288,15 @@
+@@ -1041,11 +1288,15 @@ struct platform_device *__init at32_add_
pdev = platform_device_alloc("atmel_mci", id);
if (!pdev)
select_peripheral(PA(10), PERIPH_A, 0); /* CLK */
select_peripheral(PA(11), PERIPH_A, 0); /* CMD */
-@@ -1054,12 +1305,19 @@
+@@ -1054,12 +1305,19 @@ struct platform_device *__init at32_add_
select_peripheral(PA(14), PERIPH_A, 0); /* DATA2 */
select_peripheral(PA(15), PERIPH_A, 0); /* DATA3 */
platform_device_put(pdev);
return NULL;
}
-@@ -1097,7 +1355,8 @@
+@@ -1097,7 +1355,8 @@ static struct clk atmel_lcdfb0_pixclk =
struct platform_device *__init
at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data,
{
struct platform_device *pdev;
struct atmel_lcdfb_info *info;
-@@ -1124,37 +1383,77 @@
+@@ -1124,37 +1383,77 @@ at32_add_device_lcdc(unsigned int id, st
switch (id) {
case 0:
pdev = &atmel_lcdfb0_device;
clk_set_parent(&atmel_lcdfb0_pixclk, &pll0);
clk_set_rate(&atmel_lcdfb0_pixclk, clk_get_rate(&pll0));
-@@ -1351,9 +1650,39 @@
+@@ -1351,9 +1650,39 @@ static struct clk usba0_hclk = {
.index = 6,
};
struct platform_device *pdev;
if (id != 0)
-@@ -1367,13 +1696,20 @@
+@@ -1367,13 +1696,20 @@ at32_add_device_usba(unsigned int id, st
ARRAY_SIZE(usba0_resource)))
goto out_free_pdev;
usba0_pclk.dev = &pdev->dev;
usba0_hclk.dev = &pdev->dev;
-@@ -1526,6 +1862,58 @@
+@@ -1526,6 +1862,58 @@ fail:
#endif
/* --------------------------------------------------------------------
* AC97C
* -------------------------------------------------------------------- */
static struct resource atmel_ac97c0_resource[] __initdata = {
-@@ -1540,9 +1928,11 @@
+@@ -1540,9 +1928,11 @@ static struct clk atmel_ac97c0_pclk = {
.index = 10,
};
if (id != 0)
return NULL;
-@@ -1553,19 +1943,37 @@
+@@ -1553,19 +1943,37 @@ struct platform_device *__init at32_add_
if (platform_device_add_resources(pdev, atmel_ac97c0_resource,
ARRAY_SIZE(atmel_ac97c0_resource)))
platform_device_put(pdev);
return NULL;
}
-@@ -1683,6 +2091,7 @@
+@@ -1683,6 +2091,7 @@ struct clk *at32_clock_list[] = {
&hmatrix_clk,
&ebi_clk,
&hramc_clk,
&smc0_pclk,
&smc0_mck,
&pdc_hclk,
-@@ -1694,7 +2103,10 @@
+@@ -1694,7 +2103,10 @@ struct clk *at32_clock_list[] = {
&pio2_mck,
&pio3_mck,
&pio4_mck,
&atmel_usart0_usart,
&atmel_usart1_usart,
&atmel_usart2_usart,
-@@ -1730,16 +2142,7 @@
+@@ -1730,16 +2142,7 @@ struct clk *at32_clock_list[] = {
};
unsigned int at32_nr_clocks = ARRAY_SIZE(at32_clock_list);
{
u32 cpu_mask = 0, hsb_mask = 0, pba_mask = 0, pbb_mask = 0;
int i;
-@@ -1794,4 +2197,36 @@
+@@ -1794,4 +2197,36 @@ void __init at32_clock_init(void)
pm_writel(HSB_MASK, hsb_mask);
pm_writel(PBA_MASK, pba_mask);
pm_writel(PBB_MASK, pbb_mask);
+core_initcall(sram_init);
--- a/arch/avr32/mach-at32ap/cpufreq.c
+++ b/arch/avr32/mach-at32ap/cpufreq.c
-@@ -108,5 +108,4 @@
+@@ -108,5 +108,4 @@ static int __init at32_cpufreq_init(void
{
return cpufreq_register_driver(&at32_driver);
}
+late_initcall(gpio_dev_init);
--- a/arch/avr32/mach-at32ap/hsmc.c
+++ b/arch/avr32/mach-at32ap/hsmc.c
-@@ -278,4 +278,4 @@
+@@ -278,4 +278,4 @@ static int __init hsmc_init(void)
{
return platform_driver_register(&hsmc_driver);
}
};
extern struct platform_device at32_intc0_device;
-@@ -137,6 +142,74 @@
+@@ -137,6 +142,74 @@ fail:
panic("Interrupt controller initialization failed!\n");
}
+arch_initcall(pdc_init);
--- a/arch/avr32/mach-at32ap/pio.c
+++ b/arch/avr32/mach-at32ap/pio.c
-@@ -157,6 +157,82 @@
+@@ -157,6 +157,82 @@ fail:
dump_stack();
}
/*--------------------------------------------------------------------------*/
/* GPIO API */
-@@ -318,6 +394,8 @@
+@@ -318,6 +394,8 @@ static void pio_bank_show(struct seq_fil
const char *label;
label = gpiochip_is_requested(chip, i);
void show_mem(void)
{
int total = 0, reserved = 0, cached = 0;
-@@ -109,19 +110,9 @@
+@@ -109,19 +110,9 @@ void __init paging_init(void)
zero_page = alloc_bootmem_low_pages_node(NODE_DATA(0),
PAGE_SIZE);
cpu_sync_pipeline();
tlbehi = sysreg_read(TLBEHI);
-@@ -33,15 +33,17 @@
+@@ -33,15 +33,17 @@ void show_dtlb_entry(unsigned int index)
printk("%2u: %c %c %02x %05x %05x %o %o %c %c %c %c\n",
index,
sysreg_write(MMUCR, mmucr_save);
sysreg_write(TLBEHI, tlbehi_save);
-@@ -54,29 +56,33 @@
+@@ -54,29 +56,33 @@ void dump_dtlb(void)
unsigned int i;
printk("ID V G ASID VPN PFN AP SZ C B W D\n");
rp = 32 - fls(tlbar);
if (rp == 32) {
-@@ -84,30 +90,14 @@
+@@ -84,30 +90,14 @@ static inline void set_replacement_point
sysreg_write(TLBARLO, -1L);
}
}
void update_mmu_cache(struct vm_area_struct *vma,
-@@ -120,39 +110,40 @@
+@@ -120,39 +110,40 @@ void update_mmu_cache(struct vm_area_str
return;
local_irq_save(flags);
}
}
-@@ -190,17 +181,22 @@
+@@ -190,17 +181,22 @@ void flush_tlb_range(struct vm_area_stru
local_irq_save(flags);
size = (end - start + (PAGE_SIZE - 1)) >> PAGE_SHIFT;
if (mm != current->mm) {
saved_asid = get_asid();
set_asid(asid);
-@@ -218,33 +214,34 @@
+@@ -218,33 +214,34 @@ void flush_tlb_range(struct vm_area_stru
}
/*
}
void flush_tlb_mm(struct mm_struct *mm)
-@@ -280,7 +277,7 @@
+@@ -280,7 +277,7 @@ static void *tlb_start(struct seq_file *
{
static unsigned long tlb_index;
return NULL;
tlb_index = 0;
-@@ -291,7 +288,7 @@
+@@ -291,7 +288,7 @@ static void *tlb_next(struct seq_file *t
{
unsigned long *index = v;
return NULL;
++*pos;
-@@ -313,16 +310,16 @@
+@@ -313,16 +310,16 @@ static int tlb_show(struct seq_file *tlb
if (*index == 0)
seq_puts(tlb, "ID V G ASID VPN PFN AP SZ C B W D\n");
cpu_sync_pipeline();
tlbehi = sysreg_read(TLBEHI);
-@@ -334,16 +331,18 @@
+@@ -334,16 +331,18 @@ static int tlb_show(struct seq_file *tlb
local_irq_restore(flags);
seq_printf(tlb, "%2lu: %c %c %02x %05x %05x %o %o %c %c %c %c\n",
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
-@@ -706,7 +706,7 @@
+@@ -706,7 +706,7 @@ config NVRAM
config RTC
tristate "Enhanced Real Time Clock Support"
---help---
If you say Y here and create a character special file /dev/rtc with
major number 10 and minor number 135 using mknod ("man mknod"), you
-@@ -776,7 +776,7 @@
+@@ -776,7 +776,7 @@ config SGI_IP27_RTC
config GEN_RTC
tristate "Generic /dev/rtc emulation"
major number 10 and minor number 135 using mknod ("man mknod"), you
--- a/drivers/char/keyboard.c
+++ b/drivers/char/keyboard.c
-@@ -1033,7 +1033,8 @@
+@@ -1033,7 +1033,8 @@ DECLARE_TASKLET_DISABLED(keyboard_taskle
#if defined(CONFIG_X86) || defined(CONFIG_IA64) || defined(CONFIG_ALPHA) ||\
defined(CONFIG_MIPS) || defined(CONFIG_PPC) || defined(CONFIG_SPARC) ||\
defined(CONFIG_PARISC) || defined(CONFIG_SUPERH) ||\
+arch_initcall(tcb_clksrc_init);
--- a/drivers/i2c/busses/Kconfig
+++ b/drivers/i2c/busses/Kconfig
-@@ -88,6 +88,14 @@
+@@ -88,6 +88,14 @@ config I2C_AT91
to support combined I2C messages. Use the i2c-gpio driver
unless your system can cope with those limitations.
depends on SOC_AU1550 || SOC_AU1200
--- a/drivers/i2c/busses/Makefile
+++ b/drivers/i2c/busses/Makefile
-@@ -52,6 +52,7 @@
+@@ -52,6 +52,7 @@ obj-$(CONFIG_I2C_VIAPRO) += i2c-viapro.o
obj-$(CONFIG_I2C_VOODOO3) += i2c-voodoo3.o
obj-$(CONFIG_SCx200_ACB) += scx200_acb.o
obj-$(CONFIG_SCx200_I2C) += scx200_i2c.o
+#endif /* __ATMELTWI_H__ */
--- a/drivers/input/serio/Kconfig
+++ b/drivers/input/serio/Kconfig
-@@ -88,6 +88,17 @@
+@@ -88,6 +88,17 @@ config SERIO_RPCKBD
To compile this driver as a module, choose M here: the
module will be called rpckbd.
depends on ARM_AMBA
--- a/drivers/input/serio/Makefile
+++ b/drivers/input/serio/Makefile
-@@ -12,6 +12,7 @@
+@@ -12,6 +12,7 @@ obj-$(CONFIG_SERIO_CT82C710) += ct82c710
obj-$(CONFIG_SERIO_RPCKBD) += rpckbd.o
obj-$(CONFIG_SERIO_SA1111) += sa1111ps2.o
obj-$(CONFIG_SERIO_AMBAKMI) += ambakmi.o
+#endif /* _AT32PSIF_H */
--- a/drivers/misc/Kconfig
+++ b/drivers/misc/Kconfig
-@@ -22,6 +22,39 @@
+@@ -22,6 +22,39 @@ config ATMEL_PWM
purposes including software controlled power-efficent backlights
on LCD displays, motor control, and waveform generation.
depends on X86 && PCI && INPUT && EXPERIMENTAL
--- a/drivers/misc/Makefile
+++ b/drivers/misc/Makefile
-@@ -10,6 +10,7 @@
+@@ -10,6 +10,7 @@ obj-$(CONFIG_ACER_WMI) += acer-wmi.o
obj-$(CONFIG_ASUS_LAPTOP) += asus-laptop.o
obj-$(CONFIG_ATMEL_PWM) += atmel_pwm.o
obj-$(CONFIG_ATMEL_SSC) += atmel-ssc.o
+arch_initcall(tc_init);
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
-@@ -91,6 +91,16 @@
+@@ -91,6 +91,16 @@ config MMC_AT91
If unsure, say N.
depends on ARCH_IMX
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
-@@ -15,6 +15,7 @@
+@@ -15,6 +15,7 @@ obj-$(CONFIG_MMC_WBSD) += wbsd.o
obj-$(CONFIG_MMC_AU1X) += au1xmmc.o
obj-$(CONFIG_MMC_OMAP) += omap.o
obj-$(CONFIG_MMC_AT91) += at91_mci.o
+#endif /* __DRIVERS_MMC_ATMEL_MCI_H__ */
--- a/drivers/mtd/nand/Kconfig
+++ b/drivers/mtd/nand/Kconfig
-@@ -272,12 +272,54 @@
+@@ -272,12 +272,54 @@ config MTD_NAND_CS553X
If you say "m", the module will be called "cs553x_nand.ko".
tristate "Support for NAND Flash on CM-X270 modules"
--- a/drivers/mtd/nand/Makefile
+++ b/drivers/mtd/nand/Makefile
-@@ -24,7 +24,7 @@
+@@ -24,7 +24,7 @@ obj-$(CONFIG_MTD_NAND_TS7250) += ts7250
obj-$(CONFIG_MTD_NAND_NANDSIM) += nandsim.o
obj-$(CONFIG_MTD_NAND_CS553X) += cs553x_nand.o
obj-$(CONFIG_MTD_NAND_NDFC) += ndfc.o
+#endif
--- a/drivers/mtd/nand/bf5xx_nand.c
+++ b/drivers/mtd/nand/bf5xx_nand.c
-@@ -803,3 +803,4 @@
+@@ -803,3 +803,4 @@ module_exit(bf5xx_nand_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR(DRV_AUTHOR);
MODULE_DESCRIPTION(DRV_DESC);
+MODULE_ALIAS("platform:" DRV_NAME);
--- a/drivers/mtd/nand/ndfc.c
+++ b/drivers/mtd/nand/ndfc.c
-@@ -317,3 +317,5 @@
+@@ -317,3 +317,5 @@ module_exit(ndfc_nand_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Thomas Gleixner <tglx@linutronix.de>");
MODULE_DESCRIPTION("Platform driver for NDFC");
+MODULE_ALIAS("platform:ndfc-nand");
--- a/drivers/mtd/nand/orion_nand.c
+++ b/drivers/mtd/nand/orion_nand.c
-@@ -169,3 +169,4 @@
+@@ -169,3 +169,4 @@ module_exit(orion_nand_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Tzachi Perelstein");
MODULE_DESCRIPTION("NAND glue for Orion platforms");
+MODULE_ALIAS("platform:orion_nand");
--- a/drivers/mtd/nand/plat_nand.c
+++ b/drivers/mtd/nand/plat_nand.c
-@@ -161,3 +161,4 @@
+@@ -161,3 +161,4 @@ module_exit(plat_nand_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Vitaly Wool");
MODULE_DESCRIPTION("Simple generic NAND driver");
+MODULE_ALIAS("platform:gen_nand");
--- a/drivers/mtd/nand/s3c2410.c
+++ b/drivers/mtd/nand/s3c2410.c
-@@ -927,3 +927,6 @@
+@@ -927,3 +927,6 @@ module_exit(s3c2410_nand_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Ben Dooks <ben@simtec.co.uk>");
MODULE_DESCRIPTION("S3C24XX MTD NAND driver");
+MODULE_ALIAS("platform:s3c2440-nand");
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
-@@ -1277,8 +1277,45 @@
+@@ -1277,8 +1277,45 @@ static int __exit macb_remove(struct pla
return 0;
}
},
--- a/drivers/parport/Kconfig
+++ b/drivers/parport/Kconfig
-@@ -36,7 +36,7 @@
+@@ -36,7 +36,7 @@ if PARPORT
config PARPORT_PC
tristate "PC-style hardware"
depends on (!SPARC64 || PCI) && !SPARC32 && !M32R && !FRV && \
IBM PC compatible computers and some Alphas have PC-style
--- a/drivers/pcmcia/Kconfig
+++ b/drivers/pcmcia/Kconfig
-@@ -277,6 +277,13 @@
+@@ -277,6 +277,13 @@ config ELECTRA_CF
Say Y here to support the CompactFlash controller on the
PA Semi Electra eval board.
--- a/drivers/pcmcia/Makefile
+++ b/drivers/pcmcia/Makefile
-@@ -38,6 +38,7 @@
+@@ -38,6 +38,7 @@ obj-$(CONFIG_PCMCIA_VRC4173) += vrc417
obj-$(CONFIG_OMAP_CF) += omap_cf.o
obj-$(CONFIG_AT91_CF) += at91_cf.o
obj-$(CONFIG_ELECTRA_CF) += electra_cf.o
+MODULE_AUTHOR("Hans-Christian Egtvedt <hcegtvedt@atmel.com>");
--- a/drivers/rtc/rtc-at32ap700x.c
+++ b/drivers/rtc/rtc-at32ap700x.c
-@@ -262,6 +262,7 @@
+@@ -262,6 +262,7 @@ static int __init at32_rtc_probe(struct
}
platform_set_drvdata(pdev, rtc);
dev_info(&pdev->dev, "Atmel RTC for AT32AP700x at %08lx irq %ld\n",
(unsigned long)rtc->regs, rtc->irq);
-@@ -281,6 +282,8 @@
+@@ -281,6 +282,8 @@ static int __exit at32_rtc_remove(struct
{
struct rtc_at32ap700x *rtc = platform_get_drvdata(pdev);
rtc_device_unregister(rtc->rtc);
--- a/drivers/serial/atmel_serial.c
+++ b/drivers/serial/atmel_serial.c
-@@ -957,6 +957,20 @@
+@@ -957,6 +957,20 @@ static void atmel_shutdown(struct uart_p
}
/*
* Power / Clock management.
*/
static void atmel_serial_pm(struct uart_port *port, unsigned int state,
-@@ -1190,6 +1204,7 @@
+@@ -1190,6 +1204,7 @@ static struct uart_ops atmel_pops = {
.break_ctl = atmel_break_ctl,
.startup = atmel_startup,
.shutdown = atmel_shutdown,
.set_termios = atmel_set_termios,
.type = atmel_type,
.release_port = atmel_release_port,
-@@ -1440,6 +1455,15 @@
+@@ -1440,6 +1455,15 @@ static struct uart_driver atmel_uart = {
};
#ifdef CONFIG_PM
static int atmel_serial_suspend(struct platform_device *pdev,
pm_message_t state)
{
-@@ -1447,7 +1471,7 @@
+@@ -1447,7 +1471,7 @@ static int atmel_serial_suspend(struct p
struct atmel_uart_port *atmel_port = to_atmel_uart_port(port);
if (device_may_wakeup(&pdev->dev)
uart_suspend_port(&atmel_uart, port);
--- a/drivers/serial/serial_core.c
+++ b/drivers/serial/serial_core.c
-@@ -552,6 +552,8 @@
+@@ -552,6 +552,8 @@ static void uart_flush_buffer(struct tty
spin_lock_irqsave(&port->lock, flags);
uart_circ_clear(&state->info->xmit);
}
--- a/drivers/spi/atmel_spi.c
+++ b/drivers/spi/atmel_spi.c
-@@ -51,9 +51,7 @@
+@@ -51,9 +51,7 @@ struct atmel_spi {
u8 stopping;
struct list_head queue;
struct spi_transfer *current_transfer;
void *buffer;
dma_addr_t buffer_dma;
-@@ -133,48 +131,6 @@
+@@ -133,48 +131,6 @@ static void cs_deactivate(struct atmel_s
gpio_set_value(gpio, !active);
}
/*
* Submit next transfer for DMA.
* lock is held, spi irq is blocked
-@@ -184,78 +140,53 @@
+@@ -184,78 +140,53 @@ static void atmel_spi_next_xfer(struct s
{
struct atmel_spi *as = spi_master_get_devdata(master);
struct spi_transfer *xfer;
* transfer because we need to handle some difficult timing
* issues otherwise. If we wait for ENDTX in one transfer and
* then starts waiting for ENDRX in the next, it's difficult
-@@ -265,7 +196,17 @@
+@@ -265,7 +196,17 @@ static void atmel_spi_next_xfer(struct s
*
* It should be doable, though. Just not now...
*/
spi_writel(as, PTCR, SPI_BIT(TXTEN) | SPI_BIT(RXTEN));
}
-@@ -363,7 +304,6 @@
+@@ -363,7 +304,6 @@ atmel_spi_msg_done(struct spi_master *ma
spin_lock(&as->lock);
as->current_transfer = NULL;
/* continue if needed */
if (list_empty(&as->queue) || as->stopping)
-@@ -447,7 +387,7 @@
+@@ -447,7 +387,7 @@ atmel_spi_interrupt(int irq, void *dev_i
spi_writel(as, IDR, pending);
msg->actual_length += xfer->len;
if (!msg->is_dma_mapped)
-@@ -457,7 +397,7 @@
+@@ -457,7 +397,7 @@ atmel_spi_interrupt(int irq, void *dev_i
if (xfer->delay_usecs)
udelay(xfer->delay_usecs);
xfer->cs_change);
--- a/drivers/usb/gadget/Kconfig
+++ b/drivers/usb/gadget/Kconfig
-@@ -118,10 +118,10 @@
+@@ -118,10 +118,10 @@ config USB_AMD5536UDC
config USB_GADGET_ATMEL_USBA
boolean "Atmel USBA"
select USB_GADGET_DUALSPEED
#ifdef CONFIG_USB_GADGET_DEBUG_FS
#include <linux/debugfs.h>
-@@ -324,53 +326,28 @@
+@@ -324,53 +326,28 @@ static int vbus_is_present(struct usba_u
return 1;
}
static void next_fifo_transaction(struct usba_ep *ep, struct usba_request *req)
{
unsigned int transaction_len;
-@@ -387,7 +364,7 @@
+@@ -387,7 +364,7 @@ static void next_fifo_transaction(struct
ep->ep.name, req, transaction_len,
req->last_transaction ? ", done" : "");
usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
req->req.actual += transaction_len;
}
-@@ -476,7 +453,7 @@
+@@ -476,7 +453,7 @@ static void receive_data(struct usba_ep
bytecount = req->req.length - req->req.actual;
}
ep->fifo, bytecount);
req->req.actual += bytecount;
-@@ -1029,33 +1006,6 @@
+@@ -1029,33 +1006,6 @@ static const struct usb_gadget_ops usba_
.set_selfpowered = usba_udc_set_selfpowered,
};
static struct usb_endpoint_descriptor usba_ep0_desc = {
.bLength = USB_DT_ENDPOINT_SIZE,
.bDescriptorType = USB_DT_ENDPOINT,
-@@ -1074,7 +1024,6 @@
+@@ -1074,7 +1024,6 @@ static void nop_release(struct device *d
static struct usba_udc the_udc = {
.gadget = {
.ops = &usba_udc_ops,
.ep_list = LIST_HEAD_INIT(the_udc.gadget.ep_list),
.is_dualspeed = 1,
.name = "atmel_usba_udc",
-@@ -1231,7 +1180,7 @@
+@@ -1231,7 +1180,7 @@ static int do_test_mode(struct usba_udc
} else {
usba_ep_writel(ep, CTL_ENB, USBA_EPT_ENABLE);
usba_writel(udc, TST, USBA_TST_PKT_MODE);
sizeof(test_packet_buffer));
usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY);
dev_info(dev, "Entering Test_Packet mode...\n");
-@@ -1530,13 +1479,13 @@
+@@ -1530,13 +1479,13 @@ restart:
DBG(DBG_HW, "Packet length: %u\n", pkt_len);
if (pkt_len != sizeof(crq)) {
pr_warning("udc: Invalid packet length %u "
/* Free up one bank in the FIFO so that we can
* generate or receive a reply right away. */
-@@ -1688,6 +1637,7 @@
+@@ -1688,6 +1637,7 @@ static irqreturn_t usba_udc_irq(int irq,
DBG(DBG_INT, "irq, status=%#08x\n", status);
if (status & USBA_DET_SUSPEND) {
usba_writel(udc, INT_CLR, USBA_DET_SUSPEND);
DBG(DBG_BUS, "Suspend detected\n");
if (udc->gadget.speed != USB_SPEED_UNKNOWN
-@@ -1699,6 +1649,7 @@
+@@ -1699,6 +1649,7 @@ static irqreturn_t usba_udc_irq(int irq,
}
if (status & USBA_WAKE_UP) {
usba_writel(udc, INT_CLR, USBA_WAKE_UP);
DBG(DBG_BUS, "Wake Up CPU detected\n");
}
-@@ -1792,12 +1743,14 @@
+@@ -1792,12 +1743,14 @@ static irqreturn_t usba_vbus_irq(int irq
vbus = gpio_get_value(udc->vbus_pin);
if (vbus != udc->vbus_prev) {
if (vbus) {
spin_unlock(&udc->lock);
udc->driver->disconnect(&udc->gadget);
spin_lock(&udc->lock);
-@@ -1850,7 +1803,8 @@
+@@ -1850,7 +1803,8 @@ int usb_gadget_register_driver(struct us
/* If Vbus is present, enable the controller and wait for reset */
spin_lock_irqsave(&udc->lock, flags);
if (vbus_is_present(udc) && udc->vbus_prev == 0) {
usba_writel(udc, INT_ENB, USBA_END_OF_RESET);
}
spin_unlock_irqrestore(&udc->lock, flags);
-@@ -1883,7 +1837,8 @@
+@@ -1883,7 +1837,8 @@ int usb_gadget_unregister_driver(struct
spin_unlock_irqrestore(&udc->lock, flags);
/* This will also disable the DP pullup */
driver->unbind(&udc->gadget);
udc->gadget.dev.driver = NULL;
-@@ -1908,7 +1863,7 @@
+@@ -1908,7 +1863,7 @@ static int __init usba_udc_probe(struct
regs = platform_get_resource(pdev, IORESOURCE_MEM, CTRL_IOMEM_ID);
fifo = platform_get_resource(pdev, IORESOURCE_MEM, FIFO_IOMEM_ID);
return -ENXIO;
irq = platform_get_irq(pdev, 0);
-@@ -1953,19 +1908,48 @@
+@@ -1953,19 +1908,48 @@ static int __init usba_udc_probe(struct
/* Make sure we start from a clean slate */
clk_enable(pclk);
list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list);
}
-@@ -1984,7 +1968,7 @@
+@@ -1984,7 +1968,7 @@ static int __init usba_udc_probe(struct
goto err_device_add;
}
if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) {
udc->vbus_pin = pdata->vbus_pin;
-@@ -2004,7 +1988,7 @@
+@@ -2004,7 +1988,7 @@ static int __init usba_udc_probe(struct
}
usba_init_debugfs(udc);
usba_ep_init_debugfs(udc, &usba_ep[i]);
return 0;
-@@ -2012,6 +1996,8 @@
+@@ -2012,6 +1996,8 @@ static int __init usba_udc_probe(struct
err_device_add:
free_irq(irq, udc);
err_request_irq:
iounmap(udc->fifo);
err_map_fifo:
iounmap(udc->regs);
-@@ -2029,10 +2015,11 @@
+@@ -2029,10 +2015,11 @@ static int __exit usba_udc_remove(struct
{
struct usba_udc *udc;
int i;
usba_ep_cleanup_debugfs(&usba_ep[i]);
usba_cleanup_debugfs(udc);
-@@ -2040,6 +2027,7 @@
+@@ -2040,6 +2027,7 @@ static int __exit usba_udc_remove(struct
gpio_free(udc->vbus_pin);
free_irq(udc->irq, udc);
static inline void atmel_lcdfb_update_dma2d(struct atmel_lcdfb_info *sinfo,
struct fb_var_screeninfo *var)
-@@ -176,7 +178,7 @@
+@@ -176,7 +178,7 @@ static struct fb_fix_screeninfo atmel_lc
.type = FB_TYPE_PACKED_PIXELS,
.visual = FB_VISUAL_TRUECOLOR,
.xpanstep = 0,
.ywrapstep = 0,
.accel = FB_ACCEL_NONE,
};
-@@ -250,6 +252,8 @@
+@@ -250,6 +252,8 @@ static int atmel_lcdfb_alloc_video_memor
return -ENOMEM;
}
return 0;
}
-@@ -634,7 +638,6 @@
+@@ -634,7 +638,6 @@ static int __init atmel_lcdfb_init_fbinf
struct fb_info *info = sinfo->info;
int ret = 0;
info->var.activate |= FB_ACTIVATE_FORCE | FB_ACTIVATE_NOW;
dev_info(info->device,
-@@ -764,6 +767,11 @@
+@@ -764,6 +767,11 @@ static int __init atmel_lcdfb_probe(stru
info->screen_base = ioremap(info->fix.smem_start, info->fix.smem_len);
if (!info->screen_base)
goto release_intmem;
ret = atmel_lcdfb_alloc_video_memory(sinfo);
--- a/fs/fs-writeback.c
+++ b/fs/fs-writeback.c
-@@ -385,8 +385,6 @@
+@@ -385,8 +385,6 @@ __writeback_single_inode(struct inode *i
* WB_SYNC_HOLD is a hack for sys_sync(): reattach the inode to sb->s_dirty so
* that it can be located for waiting on in __writeback_single_inode().
*
* If `bdi' is non-zero then we're being asked to writeback a specific queue.
* This function assumes that the blockdev superblock's inodes are backed by
* a variety of queues, so all inodes are searched. For other superblocks,
-@@ -402,11 +400,12 @@
+@@ -402,11 +400,12 @@ __writeback_single_inode(struct inode *i
* on the writer throttling path, and we get decent balancing between many
* throttled threads: we don't want them all piling up on inode_sync_wait.
*/
if (!wbc->for_kupdate || list_empty(&sb->s_io))
queue_io(sb, wbc->older_than_this);
-@@ -485,8 +484,16 @@
+@@ -485,8 +484,16 @@ sync_sb_inodes(struct super_block *sb, s
if (!list_empty(&sb->s_more_io))
wbc->more_io = 1;
}
/*
* Start writeback of dirty pagecache data against all unlocked inodes.
-@@ -526,11 +533,8 @@
+@@ -526,11 +533,8 @@ restart:
* be unmounted by the time it is released.
*/
if (down_read_trylock(&sb->s_umount)) {
up_read(&sb->s_umount);
}
spin_lock(&sb_lock);
-@@ -568,9 +572,7 @@
+@@ -568,9 +572,7 @@ void sync_inodes_sb(struct super_block *
(inodes_stat.nr_inodes - inodes_stat.nr_unused) +
nr_dirty + nr_unstable;
wbc.nr_to_write += wbc.nr_to_write / 2; /* Bit more for luck */
/* Add basic devices: system manager, interrupt controller, portmuxes, etc. */
void at32_add_system_devices(void);
-@@ -36,11 +42,10 @@
+@@ -36,11 +42,10 @@ at32_add_device_spi(unsigned int id, str
struct atmel_lcdfb_info;
struct platform_device *
at32_add_device_lcdc(unsigned int id, struct atmel_lcdfb_info *data,
struct platform_device *
at32_add_device_usba(unsigned int id, struct usba_platform_data *data);
-@@ -68,9 +73,27 @@
+@@ -68,9 +73,27 @@ struct platform_device *at32_add_device_
struct platform_device *
at32_add_device_ssc(unsigned int id, unsigned int flags);
struct platform_device *at32_add_device_abdac(unsigned int id);
struct cf_platform_data {
-@@ -84,4 +107,20 @@
+@@ -84,4 +107,20 @@ struct platform_device *
at32_add_device_cf(unsigned int id, unsigned int extint,
struct cf_platform_data *data);
+#endif /* __ASM_AVR32_ARCH_PM_H */
--- a/include/asm-avr32/arch-at32ap/portmux.h
+++ b/include/asm-avr32/arch-at32ap/portmux.h
-@@ -26,4 +26,16 @@
+@@ -26,4 +26,16 @@ void at32_select_periph(unsigned int pin
void at32_select_gpio(unsigned int pin, unsigned long flags);
void at32_reserve_pin(unsigned int pin);
}
#define __pte_free_tlb(tlb,pte) \
-@@ -75,6 +89,10 @@
+@@ -75,6 +89,10 @@ do { \
tlb_remove_page((tlb), pte); \
} while (0)
#endif /* __ASM_AVR32_PGALLOC_H */
--- a/include/asm-avr32/pgtable.h
+++ b/include/asm-avr32/pgtable.h
-@@ -129,13 +129,6 @@
+@@ -129,13 +129,6 @@ extern struct page *empty_zero_page;
#define _PAGE_FLAGS_CACHE_MASK (_PAGE_CACHABLE | _PAGE_BUFFER | _PAGE_WT)
/* Flags that may be modified by software */
#define _PAGE_CHG_MASK (PTE_MASK | _PAGE_ACCESSED | _PAGE_DIRTY \
| _PAGE_FLAGS_CACHE_MASK)
-@@ -254,10 +247,14 @@
+@@ -254,10 +247,14 @@ static inline pte_t pte_mkyoung(pte_t pt
}
#define pmd_none(x) (!pmd_val(x))
/*
* Permanent address of a page. We don't support highmem, so this is
-@@ -295,19 +292,16 @@
+@@ -295,19 +292,16 @@ static inline pte_t pte_modify(pte_t pte
#define page_pte(page) page_pte_prot(page, __pgprot(0))
+#endif /* _ASM_SERIAL_H */
--- a/include/asm-avr32/thread_info.h
+++ b/include/asm-avr32/thread_info.h
-@@ -88,6 +88,7 @@
+@@ -88,6 +88,7 @@ static inline struct thread_info *curren
#define TIF_MEMDIE 6
#define TIF_RESTORE_SIGMASK 7 /* restore signal mask in do_signal */
#define TIF_CPU_GOING_TO_SLEEP 8 /* CPU is entering sleep 0 mode */
--- a/include/asm-avr32/tlbflush.h
+++ b/include/asm-avr32/tlbflush.h
-@@ -26,7 +26,6 @@
+@@ -26,7 +26,6 @@ extern void flush_tlb_mm(struct mm_struc
extern void flush_tlb_range(struct vm_area_struct *vma, unsigned long start,
unsigned long end);
extern void flush_tlb_page(struct vm_area_struct *vma, unsigned long page);
+#endif
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1692,6 +1692,8 @@
+@@ -1692,6 +1692,8 @@ static inline void invalidate_remote_ino
extern int invalidate_inode_pages2(struct address_space *mapping);
extern int invalidate_inode_pages2_range(struct address_space *mapping,
pgoff_t start, pgoff_t end);
extern int filemap_flush(struct address_space *);
--- a/include/linux/serial_core.h
+++ b/include/linux/serial_core.h
-@@ -188,6 +188,7 @@
+@@ -188,6 +188,7 @@ struct uart_ops {
void (*break_ctl)(struct uart_port *, int ctl);
int (*startup)(struct uart_port *);
void (*shutdown)(struct uart_port *);
+#endif /* __LINUX_USB_USBA_H */
--- a/mm/Kconfig
+++ b/mm/Kconfig
-@@ -187,7 +187,7 @@
+@@ -187,7 +187,7 @@ config BOUNCE
config NR_QUICK
int
depends on QUICKLIST
config VIRT_TO_BUS
--- a/sound/Kconfig
+++ b/sound/Kconfig
-@@ -63,6 +63,8 @@
+@@ -63,6 +63,8 @@ source "sound/aoa/Kconfig"
source "sound/arm/Kconfig"
endif
--- a/sound/Makefile
+++ b/sound/Makefile
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ obj-$(CONFIG_SOUND_PRIME) += sound_firmw
obj-$(CONFIG_SOUND_PRIME) += oss/
obj-$(CONFIG_DMASOUND) += oss/
obj-$(CONFIG_SND) += core/ i2c/ drivers/ isa/ pci/ ppc/ arm/ sh/ synth/ usb/ \
+#endif /* __SOUND_AVR32_AC97C_H */
--- a/sound/oss/Kconfig
+++ b/sound/oss/Kconfig
-@@ -654,3 +654,7 @@
+@@ -654,3 +654,7 @@ config SOUND_SH_DAC_AUDIO_CHANNEL
int "DAC channel"
default "1"
depends on SOUND_SH_DAC_AUDIO
+ depends on SOUND_PRIME && AVR32
--- a/sound/oss/Makefile
+++ b/sound/oss/Makefile
-@@ -9,6 +9,7 @@
+@@ -9,6 +9,7 @@ obj-$(CONFIG_SOUND_OSS) += sound.o
# Please leave it as is, cause the link order is significant !
+#endif /* __SOUND_OSS_AT32_ABDAC_H__ */
--- a/sound/spi/at73c213.c
+++ b/sound/spi/at73c213.c
-@@ -737,7 +737,7 @@
+@@ -737,7 +737,7 @@ cleanup:
/*
* Device functions
*/
{
/*
* Continuous clock output.
-@@ -767,7 +767,7 @@
+@@ -767,7 +767,7 @@ static int snd_at73c213_ssc_init(struct
return 0;
}
{
int retval;
unsigned char dac_ctrl = 0;
-@@ -933,7 +933,7 @@
+@@ -933,7 +933,7 @@ out:
return retval;
}
--- a/arch/avr32/boards/atngw100/flash.c
+++ b/arch/avr32/boards/atngw100/flash.c
-@@ -45,9 +45,14 @@
+@@ -45,9 +45,14 @@ static struct mtd_partition flash_parts[
.mask_flags = MTD_WRITEABLE,
},
{
-Index: linux-2.4.35.4/arch/mips/config-shared.in
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/config-shared.in
-+++ linux-2.4.35.4/arch/mips/config-shared.in
+--- a/arch/mips/config-shared.in
++++ b/arch/mips/config-shared.in
@@ -208,6 +208,14 @@ if [ "$CONFIG_SIBYTE_SB1xxx_SOC" = "y" ]
fi
define_bool CONFIG_MIPS_RTC y
dep_bool ' Console output to GDB' CONFIG_GDB_CONSOLE $CONFIG_KGDB
if [ "$CONFIG_KGDB" = "y" ]; then
define_bool CONFIG_DEBUG_INFO y
-Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/cpu-probe.c
-+++ linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
+--- a/arch/mips/kernel/cpu-probe.c
++++ b/arch/mips/kernel/cpu-probe.c
@@ -162,7 +162,7 @@ static inline int __cpu_has_fpu(void)
static inline void cpu_probe_legacy(struct cpuinfo_mips *c)
case PRID_COMP_SIBYTE:
cpu_probe_sibyte(c);
break;
-Index: linux-2.4.35.4/arch/mips/kernel/head.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/head.S
-+++ linux-2.4.35.4/arch/mips/kernel/head.S
+--- a/arch/mips/kernel/head.S
++++ b/arch/mips/kernel/head.S
@@ -28,12 +28,20 @@
#include <asm/mipsregs.h>
#include <asm/stackframe.h>
/* The following two symbols are used for kernel profiling. */
EXPORT(stext)
-Index: linux-2.4.35.4/arch/mips/kernel/proc.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/proc.c
-+++ linux-2.4.35.4/arch/mips/kernel/proc.c
+--- a/arch/mips/kernel/proc.c
++++ b/arch/mips/kernel/proc.c
@@ -78,9 +78,10 @@ static const char *cpu_name[] = {
[CPU_AU1550] "Au1550",
[CPU_24K] "MIPS 24K",
static int show_cpuinfo(struct seq_file *m, void *v)
{
unsigned int version = current_cpu_data.processor_id;
-Index: linux-2.4.35.4/arch/mips/kernel/setup.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/setup.c
-+++ linux-2.4.35.4/arch/mips/kernel/setup.c
+--- a/arch/mips/kernel/setup.c
++++ b/arch/mips/kernel/setup.c
@@ -493,6 +493,7 @@ void __init setup_arch(char **cmdline_p)
void swarm_setup(void);
void hp_setup(void);
default:
panic("Unsupported architecture");
}
-Index: linux-2.4.35.4/arch/mips/kernel/traps.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/traps.c
-+++ linux-2.4.35.4/arch/mips/kernel/traps.c
+--- a/arch/mips/kernel/traps.c
++++ b/arch/mips/kernel/traps.c
@@ -920,6 +920,7 @@ void __init per_cpu_trap_init(void)
void __init trap_init(void)
{
if (cpu_has_fpu && !cpu_has_nofpuex)
set_except_vector(15, handle_fpe);
-Index: linux-2.4.35.4/arch/mips/Makefile
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/Makefile
-+++ linux-2.4.35.4/arch/mips/Makefile
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
@@ -726,6 +726,19 @@ LOADADDR += 0x80020000
endif
archmrproper:
@$(MAKEBOOT) mrproper
-Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/c-r4k.c
-+++ linux-2.4.35.4/arch/mips/mm/c-r4k.c
+--- a/arch/mips/mm/c-r4k.c
++++ b/arch/mips/mm/c-r4k.c
@@ -1118,3 +1118,47 @@ void __init ld_mmu_r4xx0(void)
build_clear_page();
build_copy_page();
+}
+
+
-Index: linux-2.4.35.4/arch/mips/pci/Makefile
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/pci/Makefile
-+++ linux-2.4.35.4/arch/mips/pci/Makefile
+--- a/arch/mips/pci/Makefile
++++ b/arch/mips/pci/Makefile
@@ -13,7 +13,9 @@ obj-$(CONFIG_MIPS_GT64120) += ops-gt6412
obj-$(CONFIG_MIPS_MSC) += ops-msc.o
obj-$(CONFIG_MIPS_NILE4) += ops-nile4.o
obj-$(CONFIG_PCI_AUTO) += pci_auto.o
include $(TOPDIR)/Rules.make
-Index: linux-2.4.35.4/drivers/char/serial.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/serial.c
-+++ linux-2.4.35.4/drivers/char/serial.c
+--- a/drivers/char/serial.c
++++ b/drivers/char/serial.c
@@ -444,6 +444,10 @@ static _INLINE_ unsigned int serial_in(s
return inb(info->port+1);
#endif
cval = cflag & (CSIZE | CSTOPB);
#if defined(__powerpc__) || defined(__alpha__)
cval >>= 8;
-Index: linux-2.4.35.4/drivers/net/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/Makefile
-+++ linux-2.4.35.4/drivers/net/Makefile
+--- a/drivers/net/Makefile
++++ b/drivers/net/Makefile
@@ -3,6 +3,8 @@
# Makefile for the Linux network (ethercard) device drivers.
#
obj-y :=
obj-m :=
obj-n :=
-Index: linux-2.4.35.4/drivers/parport/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/parport/Config.in
-+++ linux-2.4.35.4/drivers/parport/Config.in
+--- a/drivers/parport/Config.in
++++ b/drivers/parport/Config.in
@@ -11,6 +11,7 @@ comment 'Parallel port support'
tristate 'Parallel port support' CONFIG_PARPORT
if [ "$CONFIG_PARPORT" != "n" ]; then
if [ "$CONFIG_PARPORT_PC" != "n" -a "$CONFIG_SERIAL" != "n" ]; then
if [ "$CONFIG_SERIAL" = "m" ]; then
define_tristate CONFIG_PARPORT_PC_CML1 m
-Index: linux-2.4.35.4/drivers/parport/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/parport/Makefile
-+++ linux-2.4.35.4/drivers/parport/Makefile
+--- a/drivers/parport/Makefile
++++ b/drivers/parport/Makefile
@@ -22,6 +22,7 @@ endif
obj-$(CONFIG_PARPORT) += parport.o
obj-$(CONFIG_PARPORT_PC_PCMCIA) += parport_cs.o
obj-$(CONFIG_PARPORT_AMIGA) += parport_amiga.o
obj-$(CONFIG_PARPORT_MFC3) += parport_mfc3.o
-Index: linux-2.4.35.4/include/asm-mips/bootinfo.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/bootinfo.h
-+++ linux-2.4.35.4/include/asm-mips/bootinfo.h
+--- a/include/asm-mips/bootinfo.h
++++ b/include/asm-mips/bootinfo.h
@@ -37,6 +37,7 @@
#define MACH_GROUP_HP_LJ 20 /* Hewlett Packard LaserJet */
#define MACH_GROUP_LASAT 21
* Valid machtype for group TITAN
*/
#define MACH_TITAN_YOSEMITE 1 /* PMC-Sierra Yosemite */
-Index: linux-2.4.35.4/include/asm-mips/cpu.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/cpu.h
-+++ linux-2.4.35.4/include/asm-mips/cpu.h
+--- a/include/asm-mips/cpu.h
++++ b/include/asm-mips/cpu.h
@@ -22,6 +22,11 @@
spec.
*/
/*
* ISA Level encodings
-Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/r4kcache.h
-+++ linux-2.4.35.4/include/asm-mips/r4kcache.h
+--- a/include/asm-mips/r4kcache.h
++++ b/include/asm-mips/r4kcache.h
@@ -567,4 +567,17 @@ static inline void blast_scache128_page_
cache128_unroll32(addr|ws,Index_Writeback_Inv_SD);
}
+}
+
#endif /* __ASM_R4KCACHE_H */
-Index: linux-2.4.35.4/include/asm-mips/serial.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/serial.h
-+++ linux-2.4.35.4/include/asm-mips/serial.h
+--- a/include/asm-mips/serial.h
++++ b/include/asm-mips/serial.h
@@ -223,6 +223,13 @@
#define TXX927_SERIAL_PORT_DEFNS
#endif
COBALT_SERIAL_PORT_DEFNS \
DDB5477_SERIAL_PORT_DEFNS \
EV96100_SERIAL_PORT_DEFNS \
-Index: linux-2.4.35.4/init/do_mounts.c
-===================================================================
---- linux-2.4.35.4.orig/init/do_mounts.c
-+++ linux-2.4.35.4/init/do_mounts.c
+--- a/init/do_mounts.c
++++ b/init/do_mounts.c
@@ -254,7 +254,13 @@ static struct dev_name_struct {
{ "ftlb", 0x2c08 },
{ "ftlc", 0x2c10 },
-Index: linux-2.4.35.4/arch/mips/kernel/entry.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/entry.S
-+++ linux-2.4.35.4/arch/mips/kernel/entry.S
+--- a/arch/mips/kernel/entry.S
++++ b/arch/mips/kernel/entry.S
@@ -100,6 +100,10 @@ END(except_vec1_generic)
* and R4400 SC and MC versions.
*/
#if R5432_CP0_INTERRUPT_WAR
mfc0 k0, CP0_INDEX
#endif
-Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/c-r4k.c
-+++ linux-2.4.35.4/arch/mips/mm/c-r4k.c
+--- a/arch/mips/mm/c-r4k.c
++++ b/arch/mips/mm/c-r4k.c
@@ -14,6 +14,12 @@
#include <linux/mm.h>
#include <linux/bitops.h>
probe_pcache();
setup_scache();
-Index: linux-2.4.35.4/arch/mips/mm/tlbex-mips32.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/tlbex-mips32.S
-+++ linux-2.4.35.4/arch/mips/mm/tlbex-mips32.S
+--- a/arch/mips/mm/tlbex-mips32.S
++++ b/arch/mips/mm/tlbex-mips32.S
@@ -90,6 +90,9 @@
.set noat
LEAF(except_vec0_r4000)
#ifdef CONFIG_SMP
mfc0 k1, CP0_CONTEXT
la k0, pgd_current
-Index: linux-2.4.35.4/include/asm-mips/r4kcache.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/r4kcache.h
-+++ linux-2.4.35.4/include/asm-mips/r4kcache.h
+--- a/include/asm-mips/r4kcache.h
++++ b/include/asm-mips/r4kcache.h
@@ -15,6 +15,18 @@
#include <asm/asm.h>
#include <asm/cacheops.h>
do {
cache64_unroll32(start,Hit_Invalidate_I);
start += 0x800;
-Index: linux-2.4.35.4/include/asm-mips/stackframe.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/stackframe.h
-+++ linux-2.4.35.4/include/asm-mips/stackframe.h
+--- a/include/asm-mips/stackframe.h
++++ b/include/asm-mips/stackframe.h
@@ -209,6 +209,20 @@
#endif
#define RESTORE_SP \
lw sp, PT_R29(sp); \
-Index: linux-2.4.35.4/mm/memory.c
-===================================================================
---- linux-2.4.35.4.orig/mm/memory.c
-+++ linux-2.4.35.4/mm/memory.c
+--- a/mm/memory.c
++++ b/mm/memory.c
@@ -927,6 +927,7 @@ static inline void break_cow(struct vm_a
flush_page_to_ram(new_page);
flush_cache_page(vma, address);
-Index: linux-2.4.35.4/drivers/mtd/devices/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/devices/Config.in
-+++ linux-2.4.35.4/drivers/mtd/devices/Config.in
+--- a/drivers/mtd/devices/Config.in
++++ b/drivers/mtd/devices/Config.in
@@ -5,6 +5,7 @@
mainmenu_option next_comment
dep_tristate ' Ramix PMC551 PCI Mezzanine RAM card support' CONFIG_MTD_PMC551 $CONFIG_MTD $CONFIG_PCI
if [ "$CONFIG_MTD_PMC551" = "y" -o "$CONFIG_MTD_PMC551" = "m" ]; then
bool ' PMC551 256M DRAM Bugfix' CONFIG_MTD_PMC551_BUGFIX
-Index: linux-2.4.35.4/drivers/mtd/devices/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/devices/Makefile
-+++ linux-2.4.35.4/drivers/mtd/devices/Makefile
+--- a/drivers/mtd/devices/Makefile
++++ b/drivers/mtd/devices/Makefile
@@ -3,6 +3,8 @@
#
# $Id: Makefile,v 1.4 2001/06/26 21:10:05 spse Exp $
obj-$(CONFIG_MTD_DOC1000) += doc1000.o
obj-$(CONFIG_MTD_DOC2000) += doc2000.o
obj-$(CONFIG_MTD_DOC2001) += doc2001.o
-Index: linux-2.4.35.4/drivers/mtd/maps/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/maps/Config.in
-+++ linux-2.4.35.4/drivers/mtd/maps/Config.in
+--- a/drivers/mtd/maps/Config.in
++++ b/drivers/mtd/maps/Config.in
@@ -48,6 +48,7 @@ if [ "$CONFIG_PPC" = "y" ]; then
fi
dep_tristate ' Pb1000 MTD support' CONFIG_MTD_PB1000 $CONFIG_MIPS_PB1000
dep_tristate ' Pb1500 MTD support' CONFIG_MTD_PB1500 $CONFIG_MIPS_PB1500
dep_tristate ' Pb1100 MTD support' CONFIG_MTD_PB1100 $CONFIG_MIPS_PB1100
-Index: linux-2.4.35.4/drivers/mtd/maps/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/maps/Makefile
-+++ linux-2.4.35.4/drivers/mtd/maps/Makefile
+--- a/drivers/mtd/maps/Makefile
++++ b/drivers/mtd/maps/Makefile
@@ -3,6 +3,8 @@
#
# $Id: Makefile,v 1.37 2003/01/24 14:26:38 dwmw2 Exp $
-Index: linux-2.4.35.4/drivers/bluetooth/hci_usb.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/bluetooth/hci_usb.c
-+++ linux-2.4.35.4/drivers/bluetooth/hci_usb.c
+--- a/drivers/bluetooth/hci_usb.c
++++ b/drivers/bluetooth/hci_usb.c
@@ -259,6 +259,9 @@ static int hci_usb_isoc_rx_submit(struct
void *buf;
-Index: linux-2.4.35.4/arch/mips/lib/ide-std.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/lib/ide-std.c
-+++ linux-2.4.35.4/arch/mips/lib/ide-std.c
+--- a/arch/mips/lib/ide-std.c
++++ b/arch/mips/lib/ide-std.c
@@ -31,12 +31,14 @@ static int std_ide_default_irq(ide_ioreg
static ide_ioreg_t std_ide_default_io_base(int index)
{
-Index: linux-2.4.35.4/drivers/net/b44.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/b44.c
-+++ linux-2.4.35.4/drivers/net/b44.c
+--- a/drivers/net/b44.c
++++ b/drivers/net/b44.c
@@ -1,7 +1,9 @@
/* b44.c: Broadcom 4400 device driver.
*
return 0;
err_out_iounmap:
-Index: linux-2.4.35.4/drivers/net/b44.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/b44.h
-+++ linux-2.4.35.4/drivers/net/b44.h
+--- a/drivers/net/b44.h
++++ b/drivers/net/b44.h
@@ -229,8 +229,6 @@
#define SBIPSFLAG_IMASK4 0x3f000000 /* Which sbflags --> mips interrupt 4 */
#define SBIPSFLAG_ISHIFT4 24
/* SW copy of device statistics, kept up to date by periodic timer
* which probes HW values. Must have same relative layout as HW
-Index: linux-2.4.35.4/include/linux/pci_ids.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/pci_ids.h
-+++ linux-2.4.35.4/include/linux/pci_ids.h
+--- a/include/linux/pci_ids.h
++++ b/include/linux/pci_ids.h
@@ -1756,6 +1756,7 @@
#define PCI_DEVICE_ID_TIGON3_5901_2 0x170e
#define PCI_DEVICE_ID_BCM4401 0x4401
-Index: linux-2.4.35.4/drivers/pcmcia/yenta.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/pcmcia/yenta.c
-+++ linux-2.4.35.4/drivers/pcmcia/yenta.c
+--- a/drivers/pcmcia/yenta.c
++++ b/drivers/pcmcia/yenta.c
@@ -543,6 +543,9 @@ static unsigned int yenta_probe_irq(pci_
* Probe for usable interrupts using the force
* register to generate bogus card status events.
-Index: linux-2.4.35.4/drivers/net/b44.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/b44.h
-+++ linux-2.4.35.4/drivers/net/b44.h
+--- a/drivers/net/b44.h
++++ b/drivers/net/b44.h
@@ -122,6 +122,7 @@
#define RXCONFIG_FLOW 0x00000020 /* Flow Control Enable */
#define RXCONFIG_FLOW_ACCEPT 0x00000040 /* Accept Unicast Flow Control Frame */
#define B44_RXMAXLEN 0x0404UL /* EMAC RX Max Packet Length */
#define B44_TXMAXLEN 0x0408UL /* EMAC TX Max Packet Length */
#define B44_MDIO_CTRL 0x0410UL /* EMAC MDIO Control */
-Index: linux-2.4.35.4/drivers/net/b44.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/b44.c
-+++ linux-2.4.35.4/drivers/net/b44.c
+--- a/drivers/net/b44.c
++++ b/drivers/net/b44.c
@@ -1299,6 +1299,7 @@ static int b44_set_mac_addr(struct net_d
{
struct b44 *bp = dev->priv;
-Index: linux-2.4.35.4/net/sched/sch_generic.c
-===================================================================
---- linux-2.4.35.4.orig/net/sched/sch_generic.c
-+++ linux-2.4.35.4/net/sched/sch_generic.c
+--- a/net/sched/sch_generic.c
++++ b/net/sched/sch_generic.c
@@ -84,6 +84,11 @@ int qdisc_restart(struct net_device *dev
struct sk_buff *skb;
-Index: linux-2.4.35.4/drivers/ide/pci/aec62xx.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/ide/pci/aec62xx.c
-+++ linux-2.4.35.4/drivers/ide/pci/aec62xx.c
+--- a/drivers/ide/pci/aec62xx.c
++++ b/drivers/ide/pci/aec62xx.c
@@ -3,6 +3,8 @@
*
* Copyright (C) 1999-2002 Andre Hedrick <andre@linux-ide.org>
-Index: linux-2.4.35.4/drivers/ide/pci/pdc202xx_old.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/ide/pci/pdc202xx_old.c
-+++ linux-2.4.35.4/drivers/ide/pci/pdc202xx_old.c
+--- a/drivers/ide/pci/pdc202xx_old.c
++++ b/drivers/ide/pci/pdc202xx_old.c
@@ -253,23 +253,23 @@ static int pdc202xx_tune_chipset (ide_dr
pci_read_config_byte(dev, (drive_pci)|0x03, &DP);
-diff -Naur linux-2.4.35.4-old/drivers/usb/serial/sierra.c linux-2.4.35.4/drivers/usb/serial/sierra.c
---- linux-2.4.35.4-old/drivers/usb/serial/sierra.c 1969-12-31 17:00:00.000000000 -0700
-+++ linux-2.4.35.4/drivers/usb/serial/sierra.c 2008-01-25 10:21:25.747868456 -0700
+--- /dev/null
++++ b/drivers/usb/serial/sierra.c
@@ -0,0 +1,1446 @@
+/*
+ * Sierra Wireless CDMA Wireless Serial USB drive
+module_init(sierra_init);
+module_exit(sierra_exit);
+MODULE_LICENSE("GPL");
-diff -Naur linux-2.4.35.4-old/drivers/usb/serial/sierra.h linux-2.4.35.4/drivers/usb/serial/sierra.h
---- linux-2.4.35.4-old/drivers/usb/serial/sierra.h 1969-12-31 17:00:00.000000000 -0700
-+++ linux-2.4.35.4/drivers/usb/serial/sierra.h 2008-01-25 10:15:35.640743578 -0700
+--- /dev/null
++++ b/drivers/usb/serial/sierra.h
@@ -0,0 +1,32 @@
+/*
+ * Sierra Wireless CDMA Wireless Serial USB drive
-diff -Naur linux-2.4.35.4.orig/drivers/usb/serial/Config.in linux-2.4.35.4/drivers/usb/serial/Config.in
---- linux-2.4.35.4.orig/drivers/usb/serial/Config.in 2008-01-25 10:09:11.541747549 -0700
-+++ linux-2.4.35.4/drivers/usb/serial/Config.in 2008-01-25 10:17:01.890745265 -0700
-@@ -39,6 +39,7 @@
+--- a/drivers/usb/serial/Config.in
++++ b/drivers/usb/serial/Config.in
+@@ -39,6 +39,7 @@ if [ "$CONFIG_USB_SERIAL" != "n" ]; then
dep_tristate ' USB KOBIL chipcard reader (EXPERIMENTAL)' CONFIG_USB_SERIAL_KOBIL_SCT $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
dep_tristate ' USB Prolific 2303 Single Port Serial Driver' CONFIG_USB_SERIAL_PL2303 $CONFIG_USB_SERIAL
dep_tristate ' USB REINER SCT cyberJack pinpad/e-com chipcard reader (EXPERIMENTAL)' CONFIG_USB_SERIAL_CYBERJACK $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
dep_tristate ' USB Xircom / Entregra Single Port Serial Driver (EXPERIMENTAL)' CONFIG_USB_SERIAL_XIRCOM $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
dep_tristate ' USB ZyXEL omni.net LCD Plus Driver (EXPERIMENTAL)' CONFIG_USB_SERIAL_OMNINET $CONFIG_USB_SERIAL $CONFIG_EXPERIMENTAL
fi
-diff -Naur linux-2.4.35.4.orig/drivers/usb/serial/Makefile linux-2.4.35.4/drivers/usb/serial/Makefile
---- linux-2.4.35.4.orig/drivers/usb/serial/Makefile 2008-01-25 10:09:11.542749582 -0700
-+++ linux-2.4.35.4/drivers/usb/serial/Makefile 2008-01-25 10:17:37.412855271 -0700
-@@ -26,6 +26,7 @@
+--- a/drivers/usb/serial/Makefile
++++ b/drivers/usb/serial/Makefile
+@@ -26,6 +26,7 @@ obj-$(CONFIG_USB_SERIAL_CYBERJACK) += c
obj-$(CONFIG_USB_SERIAL_IR) += ir-usb.o
obj-$(CONFIG_USB_SERIAL_KLSI) += kl5kusb105.o
obj-$(CONFIG_USB_SERIAL_KOBIL_SCT) += kobil_sct.o
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -50,8 +50,10 @@
+@@ -50,8 +50,10 @@ config BCM47XX
select SYS_SUPPORTS_32BIT_KERNEL
select SYS_SUPPORTS_LITTLE_ENDIAN
select SSB
select SSB_PCICORE_HOSTMODE if PCI
select GENERIC_GPIO
select SYS_HAS_EARLY_PRINTK
-@@ -790,6 +792,7 @@
+@@ -790,6 +792,7 @@ config CSRC_SB1250
config CFE
bool
--- a/drivers/mtd/maps/Kconfig
+++ b/drivers/mtd/maps/Kconfig
-@@ -337,6 +337,12 @@
+@@ -337,6 +337,12 @@ config MTD_CFI_FLAGADM
Mapping for the Flaga digital module. If you don't have one, ignore
this setting.
depends on MTD_JEDECPROBE && WALNUT && !PPC_MERGE
--- a/drivers/mtd/maps/Makefile
+++ b/drivers/mtd/maps/Makefile
-@@ -31,6 +31,7 @@
+@@ -31,6 +31,7 @@ obj-$(CONFIG_MTD_PMC_MSP_RAMROOT)+= pmcm
obj-$(CONFIG_MTD_PCMCIA) += pcmciamtd.o
obj-$(CONFIG_MTD_RPXLITE) += rpxlite.o
obj-$(CONFIG_MTD_TQM8XXL) += tqm8xxl.o
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -228,7 +228,6 @@
+@@ -228,7 +228,6 @@ config MIPS_MALTA
select I8259
select MIPS_BOARDS_GEN
select MIPS_BONITO64
select PCI_GT64XXX_PCI0
select MIPS_MSC
select SWAP_IO_SPACE
-@@ -1421,13 +1420,6 @@
+@@ -1421,13 +1420,6 @@ config IP22_CPU_SCACHE
bool
select BOARD_SCACHE
select BOARD_SCACHE
--- a/arch/mips/kernel/cpu-probe.c
+++ b/arch/mips/kernel/cpu-probe.c
-@@ -704,6 +704,8 @@
+@@ -704,6 +704,8 @@ static inline void cpu_probe_mips(struct
break;
case PRID_IMP_25KF:
c->cputype = CPU_25KF;
c->cputype = CPU_34K;
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
-@@ -1103,7 +1103,6 @@
+@@ -1103,7 +1103,6 @@ static void __init loongson2_sc_init(voi
extern int r5k_sc_init(void);
extern int rm7k_sc_init(void);
static void __cpuinit setup_scache(void)
{
-@@ -1157,29 +1156,17 @@
+@@ -1157,29 +1156,17 @@ static void __cpuinit setup_scache(void)
#endif
default:
--- a/arch/mips/mm/Makefile
+++ b/arch/mips/mm/Makefile
-@@ -32,6 +32,5 @@
+@@ -32,6 +32,5 @@ obj-$(CONFIG_CPU_VR41XX) += c-r4k.o cex-
obj-$(CONFIG_IP22_CPU_SCACHE) += sc-ip22.o
obj-$(CONFIG_R5000_CPU_SCACHE) += sc-r5k.o
obj-$(CONFIG_RM7000_CPU_SCACHE) += sc-rm7k.o
--- a/arch/mips/kernel/genex.S
+++ b/arch/mips/kernel/genex.S
-@@ -51,6 +51,10 @@
+@@ -51,6 +51,10 @@ NESTED(except_vec1_generic, 0, sp)
NESTED(except_vec3_generic, 0, sp)
.set push
.set noat
/*
* Special Variant of smp_call_function for use by cache functions:
*
-@@ -97,6 +100,9 @@
+@@ -97,6 +100,9 @@ static void __cpuinit r4k_blast_dcache_p
{
unsigned long dc_lsize = cpu_dcache_line_size();
if (dc_lsize == 0)
r4k_blast_dcache_page = (void *)cache_noop;
else if (dc_lsize == 16)
-@@ -111,6 +117,9 @@
+@@ -111,6 +117,9 @@ static void __cpuinit r4k_blast_dcache_p
{
unsigned long dc_lsize = cpu_dcache_line_size();
if (dc_lsize == 0)
r4k_blast_dcache_page_indexed = (void *)cache_noop;
else if (dc_lsize == 16)
-@@ -125,6 +134,9 @@
+@@ -125,6 +134,9 @@ static void __cpuinit r4k_blast_dcache_s
{
unsigned long dc_lsize = cpu_dcache_line_size();
if (dc_lsize == 0)
r4k_blast_dcache = (void *)cache_noop;
else if (dc_lsize == 16)
-@@ -630,6 +642,8 @@
+@@ -630,6 +642,8 @@ static void local_r4k_flush_cache_sigtra
unsigned long addr = (unsigned long) arg;
R4600_HIT_CACHEOP_WAR_IMPL;
if (dc_lsize)
protected_writeback_dcache_line(addr & ~(dc_lsize - 1));
if (!cpu_icache_snoops_remote_store && scache_size)
-@@ -1215,6 +1229,17 @@
+@@ -1215,6 +1229,17 @@ static void __cpuinit coherency_setup(vo
* silly idea of putting something else there ...
*/
switch (current_cpu_type()) {
case CPU_R4000PC:
case CPU_R4000SC:
case CPU_R4000MC:
-@@ -1254,6 +1279,15 @@
+@@ -1254,6 +1279,15 @@ void __cpuinit r4k_cache_init(void)
break;
}
probe_pcache();
setup_scache();
-@@ -1303,5 +1337,13 @@
+@@ -1303,5 +1337,13 @@ void __cpuinit r4k_cache_init(void)
build_clear_page();
build_copy_page();
local_r4k___flush_cache_all(NULL);
}
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
-@@ -677,6 +677,9 @@
+@@ -677,6 +677,9 @@ static void __cpuinit build_r4000_tlb_re
/* No need for uasm_i_nop */
}
#ifdef CONFIG_64BIT
build_get_pmde64(&p, &l, &r, K0, K1); /* get pmd in K1 */
#else
-@@ -1084,6 +1087,9 @@
+@@ -1084,6 +1087,9 @@ build_r4000_tlbchange_handler_head(u32 *
struct uasm_reloc **r, unsigned int pte,
unsigned int ptr)
{
/*
* This macro return a properly sign-extended address suitable as base address
* for indexed cache operations. Two issues here:
-@@ -150,6 +164,7 @@
+@@ -150,6 +164,7 @@ static inline void flush_icache_line_ind
static inline void flush_dcache_line_indexed(unsigned long addr)
{
__dflush_prologue
cache_op(Index_Writeback_Inv_D, addr);
__dflush_epilogue
}
-@@ -169,6 +184,7 @@
+@@ -169,6 +184,7 @@ static inline void flush_icache_line(uns
static inline void flush_dcache_line(unsigned long addr)
{
__dflush_prologue
cache_op(Hit_Writeback_Inv_D, addr);
__dflush_epilogue
}
-@@ -176,6 +192,7 @@
+@@ -176,6 +192,7 @@ static inline void flush_dcache_line(uns
static inline void invalidate_dcache_line(unsigned long addr)
{
__dflush_prologue
cache_op(Hit_Invalidate_D, addr);
__dflush_epilogue
}
-@@ -208,6 +225,7 @@
+@@ -208,6 +225,7 @@ static inline void flush_scache_line(uns
*/
static inline void protected_flush_icache_line(unsigned long addr)
{
protected_cache_op(Hit_Invalidate_I, addr);
}
-@@ -219,6 +237,7 @@
+@@ -219,6 +237,7 @@ static inline void protected_flush_icach
*/
static inline void protected_writeback_dcache_line(unsigned long addr)
{
protected_cache_op(Hit_Writeback_Inv_D, addr);
}
-@@ -339,8 +358,52 @@
+@@ -339,8 +358,52 @@ static inline void invalidate_tcache_pag
: "r" (base), \
"i" (op));
static inline void blast_##pfx##cache##lsize(void) \
{ \
unsigned long start = INDEX_BASE; \
-@@ -352,6 +415,7 @@
+@@ -352,6 +415,7 @@ static inline void blast_##pfx##cache##l
\
__##pfx##flush_prologue \
\
for (ws = 0; ws < ws_end; ws += ws_inc) \
for (addr = start; addr < end; addr += lsize * 32) \
cache##lsize##_unroll32(addr|ws, indexop); \
-@@ -366,6 +430,7 @@
+@@ -366,6 +430,7 @@ static inline void blast_##pfx##cache##l
\
__##pfx##flush_prologue \
\
do { \
cache##lsize##_unroll32(start, hitop); \
start += lsize * 32; \
-@@ -384,6 +449,8 @@
+@@ -384,6 +449,8 @@ static inline void blast_##pfx##cache##l
current_cpu_data.desc.waybit; \
unsigned long ws, addr; \
\
__##pfx##flush_prologue \
\
for (ws = 0; ws < ws_end; ws += ws_inc) \
-@@ -393,35 +460,37 @@
+@@ -393,35 +460,37 @@ static inline void blast_##pfx##cache##l
__##pfx##flush_epilogue \
}
prot##cache_op(hitop, addr); \
if (addr == aend) \
break; \
-@@ -431,13 +500,13 @@
+@@ -431,13 +500,13 @@ static inline void prot##blast_##pfx##ca
__##pfx##flush_epilogue \
}
--- a/arch/mips/mm/init.c
+++ b/arch/mips/mm/init.c
-@@ -211,7 +211,7 @@
+@@ -211,7 +211,7 @@ void copy_user_highpage(struct page *to,
void *vfrom, *vto;
vto = kmap_atomic(to, KM_USER1);
page_mapped(from) && !Page_dcache_dirty(from)) {
vfrom = kmap_coherent(from, vaddr);
copy_page(vto, vfrom);
-@@ -235,7 +235,7 @@
+@@ -235,7 +235,7 @@ void copy_to_user_page(struct vm_area_st
struct page *page, unsigned long vaddr, void *dst, const void *src,
unsigned long len)
{
page_mapped(page) && !Page_dcache_dirty(page)) {
void *vto = kmap_coherent(page, vaddr) + (vaddr & ~PAGE_MASK);
memcpy(vto, src, len);
-@@ -255,7 +255,7 @@
+@@ -255,7 +255,7 @@ void copy_from_user_page(struct vm_area_
struct page *page, unsigned long vaddr, void *dst, const void *src,
unsigned long len)
{
* I-Cache snoops remote store. This only matters on SMP. Some multiprocessors
--- a/arch/mips/mm/c-r4k.c
+++ b/arch/mips/mm/c-r4k.c
-@@ -484,7 +484,7 @@
+@@ -484,7 +484,7 @@ static inline void local_r4k_flush_cache
* Use kmap_coherent or kmap_atomic to do flushes for
* another ASID than the current one.
*/
vaddr = kmap_coherent(page, addr);
else
vaddr = kmap_atomic(page, KM_USER0);
-@@ -505,7 +505,7 @@
+@@ -505,7 +505,7 @@ static inline void local_r4k_flush_cache
}
if (vaddr) {
-Index: linux-2.6.25.17/drivers/net/b44.c
-===================================================================
---- linux-2.6.25.17.orig/drivers/net/b44.c 2008-10-16 23:13:19.000000000 +0200
-+++ linux-2.6.25.17/drivers/net/b44.c 2008-11-02 12:13:38.000000000 +0100
+--- a/drivers/net/b44.c
++++ b/drivers/net/b44.c
@@ -339,7 +339,7 @@ static int b44_phy_reset(struct b44 *bp)
}
}
---- a/drivers/net/b44.c 2008-11-16 15:33:32.000000000 +0100
-+++ b/drivers/net/b44.c 2008-11-18 10:36:18.000000000 +0100
-@@ -2094,6 +2094,11 @@
+--- a/drivers/net/b44.c
++++ b/drivers/net/b44.c
+@@ -2094,6 +2094,11 @@ static int __devinit b44_get_invariants(
return -EINVAL;
}
--- a/drivers/ssb/driver_chipcommon.c
+++ b/drivers/ssb/driver_chipcommon.c
-@@ -270,6 +270,8 @@
+@@ -270,6 +270,8 @@ void ssb_chipco_resume(struct ssb_chipco
void ssb_chipco_get_clockcpu(struct ssb_chipcommon *cc,
u32 *plltype, u32 *n, u32 *m)
{
*n = chipco_read32(cc, SSB_CHIPCO_CLOCK_N);
*plltype = (cc->capabilities & SSB_CHIPCO_CAP_PLLT);
switch (*plltype) {
-@@ -293,6 +295,8 @@
+@@ -293,6 +295,8 @@ void ssb_chipco_get_clockcpu(struct ssb_
void ssb_chipco_get_clockcontrol(struct ssb_chipcommon *cc,
u32 *plltype, u32 *n, u32 *m)
{
switch (*plltype) {
--- a/drivers/ssb/driver_mipscore.c
+++ b/drivers/ssb/driver_mipscore.c
-@@ -161,6 +161,8 @@
+@@ -161,6 +161,8 @@ u32 ssb_cpu_clock(struct ssb_mipscore *m
if ((pll_type == SSB_PLLTYPE_5) || (bus->chip_id == 0x5365)) {
rate = 200000000;
}
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
-@@ -867,6 +867,8 @@
+@@ -867,6 +867,8 @@ u32 ssb_clockspeed(struct ssb_bus *bus)
if (bus->chip_id == 0x5365) {
rate = 100000000;
--- a/drivers/usb/host/ohci-ssb.c
+++ b/drivers/usb/host/ohci-ssb.c
-@@ -142,10 +142,59 @@
+@@ -142,10 +142,59 @@ static int ssb_ohci_attach(struct ssb_de
int err = -ENOMEM;
u32 tmp, flags = 0;
hcd = usb_create_hcd(&ssb_ohci_hc_driver, dev->dev,
dev->dev->bus_id);
-@@ -236,6 +285,7 @@
+@@ -236,6 +285,7 @@ static int ssb_ohci_resume(struct ssb_de
static const struct ssb_device_id ssb_ohci_table[] = {
SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_USB11_HOSTDEV, SSB_ANY_REV),
SSB_DEVICE(SSB_VENDOR_BROADCOM, SSB_DEV_USB11_HOST, SSB_ANY_REV),
--- a/drivers/usb/host/ohci-ssb.c
+++ b/drivers/usb/host/ohci-ssb.c
-@@ -195,6 +195,11 @@
+@@ -195,6 +195,11 @@ static int ssb_ohci_attach(struct ssb_de
else
ssb_device_enable(dev, 0);
--- a/arch/mips/mm/init.c
+++ b/arch/mips/mm/init.c
-@@ -205,32 +205,6 @@
+@@ -205,32 +205,6 @@ void kunmap_coherent(void)
preempt_check_resched();
}
#include <asm/io.h>
/*
-@@ -64,13 +65,16 @@
+@@ -64,13 +65,16 @@ static inline void clear_user_page(void
flush_data_cache_page((unsigned long)addr);
}
void plat_irq_dispatch(void)
{
u32 cause;
-@@ -53,3 +63,19 @@
+@@ -53,3 +63,19 @@ void __init arch_init_irq(void)
{
mips_cpu_irq_init();
}
while (1)
cpu_relax();
}
-@@ -50,12 +79,13 @@
+@@ -50,12 +79,13 @@ static void bcm47xx_machine_halt(void)
{
/* Disable interrupts and watchdog and spin forever */
local_irq_disable();
{
int i = 0;
-@@ -72,52 +102,142 @@
+@@ -72,52 +102,142 @@ static void str2eaddr(char *str, char *d
}
}
static char nvram_buf[NVRAM_SPACE];
static int cfe_env;
-@@ -36,7 +36,7 @@
+@@ -36,7 +36,7 @@ extern char *cfe_env_get(char *nv_buf, c
/* Probe for NVRAM header */
static void __init early_nvram_init(void)
{
+obj-y := cfe_env.o gpio.o irq.o nvram.o prom.o serial.o setup.o time.o wgt634u.o
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
-@@ -54,6 +54,7 @@
+@@ -54,6 +54,7 @@ config BCM47XX
select SSB_DRIVER_MIPS
select SSB_DRIVER_EXTIF
select SSB_DRIVER_PCICORE
--- a/scripts/gen_initramfs_list.sh
+++ b/scripts/gen_initramfs_list.sh
-@@ -287,7 +287,7 @@
+@@ -287,7 +287,7 @@ if [ ! -z ${output_file} ]; then
if [ "${is_cpio_compressed}" = "compressed" ]; then
cat ${cpio_tfile} > ${output_file}
else
fi
--- a/init/initramfs.c
+++ b/init/initramfs.c
-@@ -441,6 +441,69 @@
+@@ -441,6 +441,69 @@ static void __init flush_window(void)
outcnt = 0;
}
static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only)
{
int written;
-@@ -475,12 +538,28 @@
+@@ -475,12 +538,28 @@ static char * __init unpack_to_rootfs(ch
inptr = 0;
outcnt = 0; /* bytes in output buffer */
bytes_out = 0;
--mb
--- a/arch/mips/pci/pci.c
+++ b/arch/mips/pci/pci.c
-@@ -182,12 +182,10 @@
+@@ -182,12 +182,10 @@ static int pcibios_enable_resources(stru
if ((idx == PCI_ROM_RESOURCE) &&
(!(r->flags & IORESOURCE_ROM_ENABLE)))
continue;
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
-@@ -1173,7 +1173,9 @@
+@@ -1173,7 +1173,9 @@ static int __init ssb_modinit(void)
/* ssb must be initialized after PCI but before the ssb drivers.
* That means we must use some initcall between subsys_initcall
* and device_initcall. */
--- a/drivers/ssb/driver_pcicore.c
+++ b/drivers/ssb/driver_pcicore.c
-@@ -519,6 +519,13 @@
+@@ -519,6 +519,13 @@ int ssb_pcicore_dev_irqvecs_enable(struc
int err = 0;
u32 tmp;
Add support for 8bit reads/writes to SSB.
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
-@@ -508,6 +508,14 @@
+@@ -508,6 +508,14 @@ error:
return err;
}
static u16 ssb_ssb_read16(struct ssb_device *dev, u16 offset)
{
struct ssb_bus *bus = dev->bus;
-@@ -524,6 +532,14 @@
+@@ -524,6 +532,14 @@ static u32 ssb_ssb_read32(struct ssb_dev
return readl(bus->mmio + offset);
}
static void ssb_ssb_write16(struct ssb_device *dev, u16 offset, u16 value)
{
struct ssb_bus *bus = dev->bus;
-@@ -542,8 +558,10 @@
+@@ -542,8 +558,10 @@ static void ssb_ssb_write32(struct ssb_d
/* Ops for the plain SSB bus without a host-device (no PCI or PCMCIA). */
static const struct ssb_bus_ops ssb_ssb_ops = {
};
--- a/drivers/ssb/pci.c
+++ b/drivers/ssb/pci.c
-@@ -577,6 +577,19 @@
+@@ -577,6 +577,19 @@ static inline int ssb_pci_assert_buspowe
}
#endif /* DEBUG */
static u16 ssb_pci_read16(struct ssb_device *dev, u16 offset)
{
struct ssb_bus *bus = dev->bus;
-@@ -603,6 +616,19 @@
+@@ -603,6 +616,19 @@ static u32 ssb_pci_read32(struct ssb_dev
return ioread32(bus->mmio + offset);
}
static void ssb_pci_write16(struct ssb_device *dev, u16 offset, u16 value)
{
struct ssb_bus *bus = dev->bus;
-@@ -631,8 +657,10 @@
+@@ -631,8 +657,10 @@ static void ssb_pci_write32(struct ssb_d
/* Not "static", as it's used in main.c */
const struct ssb_bus_ops ssb_pci_ops = {
};
--- a/drivers/ssb/pcmcia.c
+++ b/drivers/ssb/pcmcia.c
-@@ -172,6 +172,22 @@
+@@ -172,6 +172,22 @@ static int select_core_and_segment(struc
return 0;
}
static u16 ssb_pcmcia_read16(struct ssb_device *dev, u16 offset)
{
struct ssb_bus *bus = dev->bus;
-@@ -206,6 +222,20 @@
+@@ -206,6 +222,20 @@ static u32 ssb_pcmcia_read32(struct ssb_
return (lo | (hi << 16));
}
static void ssb_pcmcia_write16(struct ssb_device *dev, u16 offset, u16 value)
{
struct ssb_bus *bus = dev->bus;
-@@ -238,8 +268,10 @@
+@@ -238,8 +268,10 @@ static void ssb_pcmcia_write32(struct ss
/* Not "static", as it's used in main.c */
const struct ssb_bus_ops ssb_pcmcia_ops = {
};
--- a/include/linux/ssb/ssb.h
+++ b/include/linux/ssb/ssb.h
-@@ -72,8 +72,10 @@
+@@ -72,8 +72,10 @@ struct ssb_device;
/* Lowlevel read/write operations on the device MMIO.
* Internal, don't use that outside of ssb. */
struct ssb_bus_ops {
void (*write16)(struct ssb_device *dev, u16 offset, u16 value);
void (*write32)(struct ssb_device *dev, u16 offset, u32 value);
};
-@@ -348,6 +350,10 @@
+@@ -348,6 +350,10 @@ void ssb_device_disable(struct ssb_devic
/* Device MMIO register read/write functions. */
static inline u16 ssb_read16(struct ssb_device *dev, u16 offset)
{
return dev->ops->read16(dev, offset);
-@@ -356,6 +362,10 @@
+@@ -356,6 +362,10 @@ static inline u32 ssb_read32(struct ssb_
{
return dev->ops->read32(dev, offset);
}
#define PCI_ASSIGN_ALL_BUSSES 1
unsigned int pci_probe = PCI_ASSIGN_ALL_BUSSES;
-@@ -75,8 +86,32 @@
+@@ -75,8 +86,32 @@ pcibios_align_resource(void *data, struc
res->start = start;
}
if (request_resource(&iomem_resource, hose->mem_resource) < 0)
goto out;
if (request_resource(&ioport_resource, hose->io_resource) < 0) {
-@@ -84,9 +119,6 @@
+@@ -84,9 +119,6 @@ void __devinit register_pci_controller(s
goto out;
}
/*
* Do not panic here but later - this might hapen before console init.
*/
-@@ -94,41 +126,47 @@
+@@ -94,41 +126,47 @@ void __devinit register_pci_controller(s
printk(KERN_WARNING
"registering PCI controller with io_map_base unset\n");
}
/* Scan all of the recorded PCI controllers. */
for (next_busno = 0, hose = hose_head; hose; hose = hose->next) {
-@@ -157,6 +195,7 @@
+@@ -157,6 +195,7 @@ static int __init pcibios_init(void)
if (!pci_probe_only)
pci_assign_unassigned_resources();
pci_fixup_irqs(common_swizzle, pcibios_map_irq);
}
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
-@@ -1191,9 +1191,7 @@
+@@ -1191,9 +1191,7 @@ static int __init ssb_modinit(void)
/* ssb must be initialized after PCI but before the ssb drivers.
* That means we must use some initcall between subsys_initcall
* and device_initcall. */
--- a/drivers/ssb/Kconfig
+++ b/drivers/ssb/Kconfig
-@@ -125,4 +125,13 @@
+@@ -125,4 +125,13 @@ config SSB_DRIVER_EXTIF
If unsure, say N
endmenu
--- a/drivers/ssb/Makefile
+++ b/drivers/ssb/Makefile
-@@ -11,6 +11,7 @@
+@@ -11,6 +11,7 @@ ssb-y += driver_chipcommon.o
ssb-$(CONFIG_SSB_DRIVER_MIPS) += driver_mipscore.o
ssb-$(CONFIG_SSB_DRIVER_EXTIF) += driver_extif.o
ssb-$(CONFIG_SSB_DRIVER_PCICORE) += driver_pcicore.o
+#endif /* LINUX_SSB_DRIVER_GIGE_H_ */
--- a/drivers/ssb/driver_pcicore.c
+++ b/drivers/ssb/driver_pcicore.c
-@@ -60,78 +60,6 @@
+@@ -60,78 +60,6 @@ static DEFINE_SPINLOCK(cfgspace_lock);
/* Core to access the external PCI config space. Can only have one. */
static struct ssb_pcicore *extpci_core;
static u32 get_cfgspace_addr(struct ssb_pcicore *pc,
unsigned int bus, unsigned int dev,
unsigned int func, unsigned int off)
-@@ -320,6 +248,95 @@
+@@ -320,6 +248,95 @@ static struct pci_controller ssb_pcicore
.mem_offset = 0x24000000,
};
#include "ssb_private.h"
-@@ -130,3 +133,90 @@
+@@ -130,3 +133,90 @@ u32 ssb_gpio_polarity(struct ssb_bus *bu
return res;
}
EXPORT_SYMBOL(ssb_gpio_polarity);
+}
--- a/include/linux/ssb/ssb.h
+++ b/include/linux/ssb/ssb.h
-@@ -426,5 +426,12 @@
+@@ -426,5 +426,12 @@ extern int ssb_bus_powerup(struct ssb_bu
extern u32 ssb_admatch_base(u32 adm);
extern u32 ssb_admatch_size(u32 adm);
#ifdef CONFIG_SSB_DRIVER_PCICORE
/* PCI core registers. */
-@@ -88,6 +93,9 @@
+@@ -88,6 +93,9 @@ extern void ssb_pcicore_init(struct ssb_
extern int ssb_pcicore_dev_irqvecs_enable(struct ssb_pcicore *pc,
struct ssb_device *dev);
#else /* CONFIG_SSB_DRIVER_PCICORE */
-@@ -107,5 +115,16 @@
+@@ -107,5 +115,16 @@ int ssb_pcicore_dev_irqvecs_enable(struc
return 0;
}
#include <linux/dma-mapping.h>
#include <linux/pci.h>
-@@ -68,6 +69,25 @@
+@@ -68,6 +69,25 @@ found:
}
#endif /* CONFIG_SSB_PCIHOST */
static struct ssb_device *ssb_device_get(struct ssb_device *dev)
{
if (dev)
-@@ -1181,7 +1201,14 @@
+@@ -1181,7 +1201,14 @@ static int __init ssb_modinit(void)
err = b43_pci_ssb_bridge_init();
if (err) {
ssb_printk(KERN_ERR "Broadcom 43xx PCI-SSB-bridge "
/* don't fail SSB init because of this */
err = 0;
}
-@@ -1195,6 +1222,7 @@
+@@ -1195,6 +1222,7 @@ fs_initcall(ssb_modinit);
static void __exit ssb_modexit(void)
{
}
--- a/drivers/ssb/ssb_private.h
+++ b/drivers/ssb/ssb_private.h
-@@ -118,6 +118,8 @@
+@@ -118,6 +118,8 @@ extern u32 ssb_calc_clock_rate(u32 pllty
extern int ssb_devices_freeze(struct ssb_bus *bus);
extern int ssb_devices_thaw(struct ssb_bus *bus);
extern struct ssb_bus *ssb_pci_dev_to_bus(struct pci_dev *pdev);
#include <net/checksum.h>
#include <net/ip.h>
-@@ -425,8 +426,9 @@
+@@ -425,8 +426,9 @@ static void _tw32_flush(struct tg3 *tp,
static inline void tw32_mailbox_flush(struct tg3 *tp, u32 off, u32 val)
{
tp->write32_mbox(tp, off, val);
tp->read32_mbox(tp, off);
}
-@@ -706,7 +708,7 @@
+@@ -706,7 +708,7 @@ static void tg3_switch_clocks(struct tg3
#define PHY_BUSY_LOOPS 5000
{
u32 frame_val;
unsigned int loops;
-@@ -720,7 +722,7 @@
+@@ -720,7 +722,7 @@ static int tg3_readphy(struct tg3 *tp, i
*val = 0x0;
MI_COM_PHY_ADDR_MASK);
frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) &
MI_COM_REG_ADDR_MASK);
-@@ -755,7 +757,12 @@
+@@ -755,7 +757,12 @@ static int tg3_readphy(struct tg3 *tp, i
return ret;
}
{
u32 frame_val;
unsigned int loops;
-@@ -771,7 +778,7 @@
+@@ -771,7 +778,7 @@ static int tg3_writephy(struct tg3 *tp,
udelay(80);
}
MI_COM_PHY_ADDR_MASK);
frame_val |= ((reg << MI_COM_REG_ADDR_SHIFT) &
MI_COM_REG_ADDR_MASK);
-@@ -804,6 +811,11 @@
+@@ -804,6 +811,11 @@ static int tg3_writephy(struct tg3 *tp,
return ret;
}
static void tg3_phydsp_write(struct tg3 *tp, u32 reg, u32 val)
{
tg3_writephy(tp, MII_TG3_DSP_ADDRESS, reg);
-@@ -2250,6 +2262,14 @@
+@@ -2250,6 +2262,14 @@ static int tg3_setup_copper_phy(struct t
}
}
if (current_link_up == 1 &&
tp->link_config.active_duplex == DUPLEX_FULL)
tg3_setup_flow_control(tp, lcl_adv, rmt_adv);
-@@ -5197,6 +5217,11 @@
+@@ -5197,6 +5217,11 @@ static int tg3_poll_fw(struct tg3 *tp)
int i;
u32 val;
if (GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5906) {
/* Wait up to 20ms for init done. */
for (i = 0; i < 200; i++) {
-@@ -5435,6 +5460,14 @@
+@@ -5435,6 +5460,14 @@ static int tg3_chip_reset(struct tg3 *tp
tw32(0x5000, 0x400);
}
tw32(GRC_MODE, tp->grc_mode);
if (tp->pci_chip_rev_id == CHIPREV_ID_5705_A0) {
-@@ -5704,9 +5737,12 @@
+@@ -5704,9 +5737,12 @@ static int tg3_halt_cpu(struct tg3 *tp,
return -ENODEV;
}
return 0;
}
-@@ -5787,6 +5823,11 @@
+@@ -5787,6 +5823,11 @@ static int tg3_load_5701_a0_firmware_fix
struct fw_info info;
int err, i;
info.text_base = TG3_FW_TEXT_ADDR;
info.text_len = TG3_FW_TEXT_LEN;
info.text_data = &tg3FwText[0];
-@@ -6345,6 +6386,11 @@
+@@ -6345,6 +6386,11 @@ static int tg3_load_tso_firmware(struct
unsigned long cpu_base, cpu_scratch_base, cpu_scratch_size;
int err, i;
if (tp->tg3_flags2 & TG3_FLG2_HW_TSO)
return 0;
-@@ -7306,6 +7352,11 @@
+@@ -7306,6 +7352,11 @@ static void tg3_timer(unsigned long __op
spin_lock(&tp->lock);
if (!(tp->tg3_flags & TG3_FLAG_TAGGED_STATUS)) {
/* All of this garbage is because when using non-tagged
* IRQ status the mailbox/status_block protocol the chip
-@@ -8906,6 +8957,11 @@
+@@ -8906,6 +8957,11 @@ static int tg3_test_nvram(struct tg3 *tp
__le32 *buf;
int i, j, k, err = 0, size;
if (tg3_nvram_read_swab(tp, 0, &magic) != 0)
return -EIO;
-@@ -9689,7 +9745,7 @@
+@@ -9689,7 +9745,7 @@ static int tg3_ioctl(struct net_device *
return -EAGAIN;
spin_lock_bh(&tp->lock);
spin_unlock_bh(&tp->lock);
data->val_out = mii_regval;
-@@ -9708,7 +9764,7 @@
+@@ -9708,7 +9764,7 @@ static int tg3_ioctl(struct net_device *
return -EAGAIN;
spin_lock_bh(&tp->lock);
spin_unlock_bh(&tp->lock);
return err;
-@@ -10177,6 +10233,12 @@
+@@ -10177,6 +10233,12 @@ static void __devinit tg3_get_5906_nvram
/* Chips other than 5700/5701 use the NVRAM for fetching info. */
static void __devinit tg3_nvram_init(struct tg3 *tp)
{
tw32_f(GRC_EEPROM_ADDR,
(EEPROM_ADDR_FSM_RESET |
(EEPROM_DEFAULT_CLOCK_PERIOD <<
-@@ -10317,6 +10379,9 @@
+@@ -10317,6 +10379,9 @@ static int tg3_nvram_read(struct tg3 *tp
{
int ret;
if (!(tp->tg3_flags & TG3_FLAG_NVRAM))
return tg3_nvram_read_using_eeprom(tp, offset, val);
-@@ -10563,6 +10628,9 @@
+@@ -10563,6 +10628,9 @@ static int tg3_nvram_write_block(struct
{
int ret;
if (tp->tg3_flags & TG3_FLAG_EEPROM_WRITE_PROT) {
tw32_f(GRC_LOCAL_CTRL, tp->grc_local_ctrl &
~GRC_LCLCTRL_GPIO_OUTPUT1);
-@@ -11610,7 +11678,6 @@
+@@ -11610,7 +11678,6 @@ static int __devinit tg3_get_invariants(
tp->write32 = tg3_write_flush_reg32;
}
if ((tp->tg3_flags & TG3_FLAG_TXD_MBOX_HWBUG) ||
(tp->tg3_flags & TG3_FLAG_MBOX_WRITE_REORDER)) {
tp->write32_tx_mbox = tg3_write32_tx_mbox;
-@@ -11646,6 +11713,11 @@
+@@ -11646,6 +11713,11 @@ static int __devinit tg3_get_invariants(
GET_ASIC_REV(tp->pci_chip_rev_id) == ASIC_REV_5701)))
tp->tg3_flags |= TG3_FLAG_SRAM_USE_CONFIG;
/* Get eeprom hw config before calling tg3_set_power_state().
* In particular, the TG3_FLG2_IS_NIC flag must be
* determined before calling tg3_set_power_state() so that
-@@ -12017,6 +12089,10 @@
+@@ -12017,6 +12089,10 @@ static int __devinit tg3_get_device_addr
}
if (!is_valid_ether_addr(&dev->dev_addr[0])) {
#ifdef CONFIG_SPARC
if (!tg3_get_default_macaddr_sparc(tp))
return 0;
-@@ -12508,6 +12584,7 @@
+@@ -12508,6 +12584,7 @@ static char * __devinit tg3_phy_string(s
case PHY_ID_BCM5704: return "5704";
case PHY_ID_BCM5705: return "5705";
case PHY_ID_BCM5750: return "5750";
case PHY_ID_BCM5752: return "5752";
case PHY_ID_BCM5714: return "5714";
case PHY_ID_BCM5780: return "5780";
-@@ -12695,6 +12772,13 @@
+@@ -12695,6 +12772,13 @@ static int __devinit tg3_init_one(struct
tp->msg_enable = tg3_debug;
else
tp->msg_enable = TG3_DEF_MSG_ENABLE;
* swapping. DMA data byte swapping is controlled in the GRC_MODE
--- a/drivers/net/tg3.h
+++ b/drivers/net/tg3.h
-@@ -2477,6 +2477,9 @@
+@@ -2477,6 +2477,9 @@ struct tg3 {
#define TG3_FLG3_ENABLE_APE 0x00000002
#define TG3_FLG3_5761_5784_AX_FIXES 0x00000004
#define TG3_FLG3_5701_DMA_BUG 0x00000008
struct timer_list timer;
u16 timer_counter;
-@@ -2532,6 +2535,7 @@
+@@ -2532,6 +2535,7 @@ struct tg3 {
#define PHY_ID_BCM5714 0x60008340
#define PHY_ID_BCM5780 0x60008350
#define PHY_ID_BCM5755 0xbc050cc0
#define PHY_ID_BCM5787 0xbc050ce0
#define PHY_ID_BCM5756 0xbc050ed0
#define PHY_ID_BCM5784 0xbc050fa0
-@@ -2568,7 +2572,7 @@
+@@ -2568,7 +2572,7 @@ struct tg3 {
(X) == PHY_ID_BCM5780 || (X) == PHY_ID_BCM5787 || \
(X) == PHY_ID_BCM5755 || (X) == PHY_ID_BCM5756 || \
(X) == PHY_ID_BCM5906 || (X) == PHY_ID_BCM5761 || \
dma_addr_t stats_mapping;
--- a/drivers/ssb/driver_mipscore.c
+++ b/drivers/ssb/driver_mipscore.c
-@@ -212,6 +212,7 @@
+@@ -212,6 +212,7 @@ void ssb_mipscore_init(struct ssb_mipsco
/* fallthrough */
case SSB_DEV_PCI:
case SSB_DEV_ETHERNET:
Add gpio_is_valid() for bcm47xx
--- a/arch/mips/bcm47xx/gpio.c
+++ b/arch/mips/bcm47xx/gpio.c
-@@ -77,3 +77,15 @@
+@@ -77,3 +77,15 @@ int bcm47xx_gpio_direction_output(unsign
}
EXPORT_SYMBOL_GPL(bcm47xx_gpio_direction_output);
+EXPORT_SYMBOL_GPL(bcm47xx_gpio_is_valid);
--- a/include/asm-mips/mach-bcm47xx/gpio.h
+++ b/include/asm-mips/mach-bcm47xx/gpio.h
-@@ -17,6 +17,7 @@
+@@ -17,6 +17,7 @@ extern int bcm47xx_gpio_get_value(unsign
extern void bcm47xx_gpio_set_value(unsigned gpio, int value);
extern int bcm47xx_gpio_direction_input(unsigned gpio);
extern int bcm47xx_gpio_direction_output(unsigned gpio, int value);
static inline int gpio_request(unsigned gpio, const char *label)
{
-@@ -52,6 +53,8 @@
+@@ -52,6 +53,8 @@ static inline int gpio_direction_output(
return bcm47xx_gpio_direction_output(gpio, value);
}
const char *get_system_type(void)
{
-@@ -40,65 +41,40 @@
+@@ -40,65 +41,40 @@ const char *get_system_type(void)
void prom_putchar(char c)
{
{
char buf[CL_SIZE];
-@@ -146,9 +122,12 @@
+@@ -146,9 +122,12 @@ static __init void prom_init_mem(void)
void __init prom_init(void)
{
---- linux-2.6.28.9/arch/mips/Kconfig 2009-04-17 10:43:28.000000000 +0200
-+++ linux-2.6.28.9.new/arch/mips/Kconfig 2009-04-17 10:43:51.000000000 +0200
-@@ -56,7 +56,6 @@
- select SSB_B43_PCI_BRIDGE if PCI
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
+@@ -57,7 +57,6 @@ config BCM47XX
+ select SSB_B43_PCI_BRIDGE
select SSB_PCICORE_HOSTMODE if PCI
select GENERIC_GPIO
- select SYS_HAS_EARLY_PRINTK
-Index: linux-2.4.35.4/arch/mips/au1000/common/au1xxx_irqmap.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/common/au1xxx_irqmap.c
-+++ linux-2.4.35.4/arch/mips/au1000/common/au1xxx_irqmap.c
+--- a/arch/mips/au1000/common/au1xxx_irqmap.c
++++ b/arch/mips/au1000/common/au1xxx_irqmap.c
@@ -172,14 +172,14 @@ au1xxx_irq_map_t au1xxx_ic0_map[] = {
{ AU1550_PSC1_INT, INTC_INT_HIGH_LEVEL, 0},
{ AU1550_PSC2_INT, INTC_INT_HIGH_LEVEL, 0},
{ AU1200_NAND_INT, INTC_INT_RISE_EDGE, 0},
{ AU1200_USB_INT, INTC_INT_HIGH_LEVEL, 0 },
{ AU1200_LCD_INT, INTC_INT_HIGH_LEVEL, 0},
-Index: linux-2.4.35.4/arch/mips/au1000/common/cputable.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/common/cputable.c
-+++ linux-2.4.35.4/arch/mips/au1000/common/cputable.c
+--- a/arch/mips/au1000/common/cputable.c
++++ b/arch/mips/au1000/common/cputable.c
@@ -39,7 +39,8 @@ struct cpu_spec cpu_specs[] = {
{ 0xffffffff, 0x02030203, "Au1100 BD", 0, 1 },
{ 0xffffffff, 0x02030204, "Au1100 BE", 0, 1 },
{ 0x00000000, 0x00000000, "Unknown Au1xxx", 1, 0 },
};
-Index: linux-2.4.35.4/arch/mips/au1000/common/dbdma.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/common/dbdma.c
-+++ linux-2.4.35.4/arch/mips/au1000/common/dbdma.c
+--- a/arch/mips/au1000/common/dbdma.c
++++ b/arch/mips/au1000/common/dbdma.c
@@ -41,6 +41,8 @@
#include <asm/au1xxx_dbdma.h>
#include <asm/system.h>
+
#endif /* defined(CONFIG_SOC_AU1550) || defined(CONFIG_SOC_AU1200) */
-Index: linux-2.4.35.4/arch/mips/au1000/common/gpio.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/common/gpio.c
++++ b/arch/mips/au1000/common/gpio.c
@@ -0,0 +1,118 @@
+/*
+ * This program is free software; you can redistribute it and/or modify it
+EXPORT_SYMBOL(au1xxx_gpio_tristate);
+EXPORT_SYMBOL(au1xxx_gpio_write);
+EXPORT_SYMBOL(au1xxx_gpio_read);
-Index: linux-2.4.35.4/arch/mips/au1000/common/irq.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/common/irq.c
-+++ linux-2.4.35.4/arch/mips/au1000/common/irq.c
+--- a/arch/mips/au1000/common/irq.c
++++ b/arch/mips/au1000/common/irq.c
@@ -303,8 +303,30 @@ static struct hw_interrupt_type level_ir
};
}
-Index: linux-2.4.35.4/arch/mips/au1000/common/Makefile
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/common/Makefile
-+++ linux-2.4.35.4/arch/mips/au1000/common/Makefile
+--- a/arch/mips/au1000/common/Makefile
++++ b/arch/mips/au1000/common/Makefile
@@ -19,9 +19,9 @@ O_TARGET := au1000.o
export-objs = prom.o clocks.o power.o usbdev.o
obj-$(CONFIG_AU1X00_USB_DEVICE) += usbdev.o
obj-$(CONFIG_KGDB) += dbg_io.o
-Index: linux-2.4.35.4/arch/mips/au1000/common/pci_fixup.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/common/pci_fixup.c
-+++ linux-2.4.35.4/arch/mips/au1000/common/pci_fixup.c
+--- a/arch/mips/au1000/common/pci_fixup.c
++++ b/arch/mips/au1000/common/pci_fixup.c
@@ -75,9 +75,13 @@ void __init pcibios_fixup(void)
#ifdef CONFIG_NONCOHERENT_IO
printk("Non-coherent PCI accesses enabled\n");
#endif
-Index: linux-2.4.35.4/arch/mips/au1000/common/pci_ops.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/common/pci_ops.c
-+++ linux-2.4.35.4/arch/mips/au1000/common/pci_ops.c
+--- a/arch/mips/au1000/common/pci_ops.c
++++ b/arch/mips/au1000/common/pci_ops.c
@@ -162,6 +162,7 @@ unsigned long last_entryLo0, last_entryL
static int config_access(unsigned char access_type, struct pci_dev *dev,
unsigned char where, u32 * data)
}
#endif
-Index: linux-2.4.35.4/arch/mips/au1000/common/power.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/common/power.c
-+++ linux-2.4.35.4/arch/mips/au1000/common/power.c
+--- a/arch/mips/au1000/common/power.c
++++ b/arch/mips/au1000/common/power.c
@@ -50,7 +50,6 @@
static void calibrate_delay(void);
{0}
};
-Index: linux-2.4.35.4/arch/mips/au1000/common/reset.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/common/reset.c
-+++ linux-2.4.35.4/arch/mips/au1000/common/reset.c
+--- a/arch/mips/au1000/common/reset.c
++++ b/arch/mips/au1000/common/reset.c
@@ -37,8 +37,6 @@
#include <asm/system.h>
#include <asm/au1000.h>
+ /* If board can't power-off, spin forever */
au1000_halt();
}
-Index: linux-2.4.35.4/arch/mips/au1000/common/setup.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/common/setup.c
-+++ linux-2.4.35.4/arch/mips/au1000/common/setup.c
+--- a/arch/mips/au1000/common/setup.c
++++ b/arch/mips/au1000/common/setup.c
@@ -174,6 +174,40 @@ void __init au1x00_setup(void)
initrd_end = (unsigned long)&__rd_end;
#endif
if ((ide_ops == NULL) || (ide_ops == &no_ide_ops))
ide_ops = &std_ide_ops;
#endif
-Index: linux-2.4.35.4/arch/mips/au1000/common/sleeper.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/common/sleeper.S
-+++ linux-2.4.35.4/arch/mips/au1000/common/sleeper.S
+--- a/arch/mips/au1000/common/sleeper.S
++++ b/arch/mips/au1000/common/sleeper.S
@@ -15,17 +15,48 @@
#include <asm/addrspace.h>
#include <asm/regdef.h>
+ .set reorder
END(save_and_sleep)
+
-Index: linux-2.4.35.4/arch/mips/au1000/common/time.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/common/time.c
-+++ linux-2.4.35.4/arch/mips/au1000/common/time.c
+--- a/arch/mips/au1000/common/time.c
++++ b/arch/mips/au1000/common/time.c
@@ -50,7 +50,6 @@
#include <linux/mc146818rtc.h>
#include <linux/timex.h>
}
#else
-Index: linux-2.4.35.4/arch/mips/au1000/db1x00/board_setup.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/db1x00/board_setup.c
-+++ linux-2.4.35.4/arch/mips/au1000/db1x00/board_setup.c
+--- a/arch/mips/au1000/db1x00/board_setup.c
++++ b/arch/mips/au1000/db1x00/board_setup.c
@@ -46,10 +46,22 @@
#include <asm/au1000.h>
#include <asm/db1x00.h>
#ifdef CONFIG_MIPS_DB1000
printk("AMD Alchemy Au1000/Db1000 Board\n");
#endif
-Index: linux-2.4.35.4/arch/mips/au1000/db1x00/irqmap.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/db1x00/irqmap.c
-+++ linux-2.4.35.4/arch/mips/au1000/db1x00/irqmap.c
+--- a/arch/mips/au1000/db1x00/irqmap.c
++++ b/arch/mips/au1000/db1x00/irqmap.c
@@ -53,6 +53,7 @@ au1xxx_irq_map_t au1xxx_irq_map[] = {
#ifdef CONFIG_MIPS_DB1550
{ AU1000_GPIO_3, INTC_INT_LOW_LEVEL, 0 }, // PCMCIA Card 0 IRQ#
#else
{ AU1000_GPIO_0, INTC_INT_LOW_LEVEL, 0 }, // PCMCIA Card 0 Fully_Interted#
{ AU1000_GPIO_1, INTC_INT_LOW_LEVEL, 0 }, // PCMCIA Card 0 STSCHG#
-Index: linux-2.4.35.4/arch/mips/au1000/db1x00/Makefile
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/db1x00/Makefile
-+++ linux-2.4.35.4/arch/mips/au1000/db1x00/Makefile
+--- a/arch/mips/au1000/db1x00/Makefile
++++ b/arch/mips/au1000/db1x00/Makefile
@@ -17,4 +17,11 @@ O_TARGET := db1x00.o
obj-y := init.o board_setup.o irqmap.o
obj-$(CONFIG_WM97XX_COMODULE) += mirage_ts.o
+endif
+
include $(TOPDIR)/Rules.make
-Index: linux-2.4.35.4/arch/mips/au1000/db1x00/mmc_support.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/db1x00/mmc_support.c
++++ b/arch/mips/au1000/db1x00/mmc_support.c
@@ -0,0 +1,126 @@
+/*
+ * BRIEF MODULE DESCRIPTION
+EXPORT_SYMBOL(mmc_power_on);
+EXPORT_SYMBOL(mmc_power_off);
+
-Index: linux-2.4.35.4/arch/mips/au1000/ficmmp/au1200_ibutton.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/ficmmp/au1200_ibutton.c
++++ b/arch/mips/au1000/ficmmp/au1200_ibutton.c
@@ -0,0 +1,270 @@
+/* ----------------------------------------------------------------------
+ * mtwilson_keys.c
+MODULE_AUTHOR( DRIVER_AUTHOR );
+MODULE_DESCRIPTION( DRIVER_DESC );
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/arch/mips/au1000/ficmmp/au1xxx_dock.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/ficmmp/au1xxx_dock.c
++++ b/arch/mips/au1000/ficmmp/au1xxx_dock.c
@@ -0,0 +1,261 @@
+/*
+ * Copyright (C) 2003 Metrowerks, All Rights Reserved.
+
+module_init(au1xxx_dock_init);
+module_exit(au1xxx_dock_exit);
-Index: linux-2.4.35.4/arch/mips/au1000/ficmmp/board_setup.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/ficmmp/board_setup.c
++++ b/arch/mips/au1000/ficmmp/board_setup.c
@@ -0,0 +1,226 @@
+/*
+ *
+ return 0;
+}
+
-Index: linux-2.4.35.4/arch/mips/au1000/ficmmp/init.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/ficmmp/init.c
++++ b/arch/mips/au1000/ficmmp/init.c
@@ -0,0 +1,76 @@
+/*
+ *
+ return 0;
+}
+
-Index: linux-2.4.35.4/arch/mips/au1000/ficmmp/irqmap.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/ficmmp/irqmap.c
++++ b/arch/mips/au1000/ficmmp/irqmap.c
@@ -0,0 +1,61 @@
+/*
+ * BRIEF MODULE DESCRIPTION
+
+int au1xxx_nr_irqs = sizeof(au1xxx_irq_map)/sizeof(au1xxx_irq_map_t);
+
-Index: linux-2.4.35.4/arch/mips/au1000/ficmmp/Makefile
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/ficmmp/Makefile
++++ b/arch/mips/au1000/ficmmp/Makefile
@@ -0,0 +1,25 @@
+#
+# Copyright 2000 MontaVista Software Inc.
+
+
+include $(TOPDIR)/Rules.make
-Index: linux-2.4.35.4/arch/mips/au1000/hydrogen3/board_setup.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/hydrogen3/board_setup.c
-+++ linux-2.4.35.4/arch/mips/au1000/hydrogen3/board_setup.c
+--- a/arch/mips/au1000/hydrogen3/board_setup.c
++++ b/arch/mips/au1000/hydrogen3/board_setup.c
@@ -51,12 +51,19 @@ void board_reset (void)
{
}
#ifdef CONFIG_AU1X00_USB_DEVICE
// 2nd USB port is USB device
pin_func = au_readl(SYS_PINFUNC) & (u32)(~0x8000);
-Index: linux-2.4.35.4/arch/mips/au1000/hydrogen3/buttons.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/hydrogen3/buttons.c
++++ b/arch/mips/au1000/hydrogen3/buttons.c
@@ -0,0 +1,308 @@
+/*
+ * Copyright (C) 2003 Metrowerks, All Rights Reserved.
+
+module_init(hydrogen3_buttons_init);
+module_exit(hydrogen3_buttons_exit);
-Index: linux-2.4.35.4/arch/mips/au1000/hydrogen3/Makefile
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/hydrogen3/Makefile
-+++ linux-2.4.35.4/arch/mips/au1000/hydrogen3/Makefile
+--- a/arch/mips/au1000/hydrogen3/Makefile
++++ b/arch/mips/au1000/hydrogen3/Makefile
@@ -14,6 +14,11 @@ USE_STANDARD_AS_RULE := true
O_TARGET := hydrogen3.o
+endif
include $(TOPDIR)/Rules.make
-Index: linux-2.4.35.4/arch/mips/au1000/hydrogen3/mmc_support.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/hydrogen3/mmc_support.c
++++ b/arch/mips/au1000/hydrogen3/mmc_support.c
@@ -0,0 +1,89 @@
+/*
+ * BRIEF MODULE DESCRIPTION
+EXPORT_SYMBOL(mmc_power_on);
+EXPORT_SYMBOL(mmc_power_off);
+
-Index: linux-2.4.35.4/arch/mips/au1000/mtx-1/board_setup.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/mtx-1/board_setup.c
-+++ linux-2.4.35.4/arch/mips/au1000/mtx-1/board_setup.c
+--- a/arch/mips/au1000/mtx-1/board_setup.c
++++ b/arch/mips/au1000/mtx-1/board_setup.c
@@ -48,6 +48,12 @@
extern struct rtc_ops no_rtc_ops;
void __init board_setup(void)
{
rtc_ops = &no_rtc_ops;
-Index: linux-2.4.35.4/arch/mips/au1000/mtx-1/irqmap.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/mtx-1/irqmap.c
-+++ linux-2.4.35.4/arch/mips/au1000/mtx-1/irqmap.c
+--- a/arch/mips/au1000/mtx-1/irqmap.c
++++ b/arch/mips/au1000/mtx-1/irqmap.c
@@ -72,10 +72,10 @@ au1xxx_pci_irqmap(struct pci_dev *dev, u
* A B C D
*/
};
const long min_idsel = 0, max_idsel = 3, irqs_per_slot = 4;
return PCI_IRQ_TABLE_LOOKUP;
-Index: linux-2.4.35.4/arch/mips/au1000/pb1000/board_setup.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/pb1000/board_setup.c
-+++ linux-2.4.35.4/arch/mips/au1000/pb1000/board_setup.c
+--- a/arch/mips/au1000/pb1000/board_setup.c
++++ b/arch/mips/au1000/pb1000/board_setup.c
@@ -58,6 +58,10 @@ void board_reset (void)
{
}
void __init board_setup(void)
{
u32 pin_func, static_cfg0;
-Index: linux-2.4.35.4/arch/mips/au1000/pb1100/board_setup.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/pb1100/board_setup.c
-+++ linux-2.4.35.4/arch/mips/au1000/pb1100/board_setup.c
+--- a/arch/mips/au1000/pb1100/board_setup.c
++++ b/arch/mips/au1000/pb1100/board_setup.c
@@ -62,6 +62,10 @@ void board_reset (void)
au_writel(0x00000000, 0xAE00001C);
}
void __init board_setup(void)
{
u32 pin_func;
-Index: linux-2.4.35.4/arch/mips/au1000/pb1100/Makefile
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/pb1100/Makefile
-+++ linux-2.4.35.4/arch/mips/au1000/pb1100/Makefile
+--- a/arch/mips/au1000/pb1100/Makefile
++++ b/arch/mips/au1000/pb1100/Makefile
@@ -16,4 +16,10 @@ O_TARGET := pb1100.o
obj-y := init.o board_setup.o irqmap.o
+endif
+
include $(TOPDIR)/Rules.make
-Index: linux-2.4.35.4/arch/mips/au1000/pb1100/mmc_support.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/pb1100/mmc_support.c
++++ b/arch/mips/au1000/pb1100/mmc_support.c
@@ -0,0 +1,126 @@
+/*
+ * BRIEF MODULE DESCRIPTION
+EXPORT_SYMBOL(mmc_power_on);
+EXPORT_SYMBOL(mmc_power_off);
+
-Index: linux-2.4.35.4/arch/mips/au1000/pb1200/board_setup.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/pb1200/board_setup.c
++++ b/arch/mips/au1000/pb1200/board_setup.c
@@ -0,0 +1,221 @@
+/*
+ *
+ return 0;
+}
+
-Index: linux-2.4.35.4/arch/mips/au1000/pb1200/init.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/pb1200/init.c
++++ b/arch/mips/au1000/pb1200/init.c
@@ -0,0 +1,72 @@
+/*
+ *
+ return 0;
+}
+
-Index: linux-2.4.35.4/arch/mips/au1000/pb1200/irqmap.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/pb1200/irqmap.c
++++ b/arch/mips/au1000/pb1200/irqmap.c
@@ -0,0 +1,180 @@
+/*
+ * BRIEF MODULE DESCRIPTION
+ request of any source attached to the cascade */
+}
+
-Index: linux-2.4.35.4/arch/mips/au1000/pb1200/Makefile
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/pb1200/Makefile
++++ b/arch/mips/au1000/pb1200/Makefile
@@ -0,0 +1,25 @@
+#
+# Copyright 2000 MontaVista Software Inc.
+
+
+include $(TOPDIR)/Rules.make
-Index: linux-2.4.35.4/arch/mips/au1000/pb1200/mmc_support.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/au1000/pb1200/mmc_support.c
++++ b/arch/mips/au1000/pb1200/mmc_support.c
@@ -0,0 +1,141 @@
+/*
+ * BRIEF MODULE DESCRIPTION
+EXPORT_SYMBOL(mmc_power_on);
+EXPORT_SYMBOL(mmc_power_off);
+
-Index: linux-2.4.35.4/arch/mips/au1000/pb1500/board_setup.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/pb1500/board_setup.c
-+++ linux-2.4.35.4/arch/mips/au1000/pb1500/board_setup.c
+--- a/arch/mips/au1000/pb1500/board_setup.c
++++ b/arch/mips/au1000/pb1500/board_setup.c
@@ -62,6 +62,10 @@ void board_reset (void)
au_writel(0x00000000, 0xAE00001C);
}
void __init board_setup(void)
{
u32 pin_func;
-Index: linux-2.4.35.4/arch/mips/au1000/pb1550/board_setup.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/pb1550/board_setup.c
-+++ linux-2.4.35.4/arch/mips/au1000/pb1550/board_setup.c
+--- a/arch/mips/au1000/pb1550/board_setup.c
++++ b/arch/mips/au1000/pb1550/board_setup.c
@@ -48,12 +48,31 @@
extern struct rtc_ops no_rtc_ops;
+#endif
printk("AMD Alchemy Pb1550 Board\n");
}
-Index: linux-2.4.35.4/arch/mips/au1000/pb1550/irqmap.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/au1000/pb1550/irqmap.c
-+++ linux-2.4.35.4/arch/mips/au1000/pb1550/irqmap.c
+--- a/arch/mips/au1000/pb1550/irqmap.c
++++ b/arch/mips/au1000/pb1550/irqmap.c
@@ -50,6 +50,9 @@
au1xxx_irq_map_t au1xxx_irq_map[] = {
{ AU1000_GPIO_0, INTC_INT_LOW_LEVEL, 0 },
};
int au1xxx_nr_irqs = sizeof(au1xxx_irq_map)/sizeof(au1xxx_irq_map_t);
-Index: linux-2.4.35.4/arch/mips/config-shared.in
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/config-shared.in
-+++ linux-2.4.35.4/arch/mips/config-shared.in
+--- a/arch/mips/config-shared.in
++++ b/arch/mips/config-shared.in
@@ -21,16 +21,19 @@ mainmenu_option next_comment
comment 'Machine selection'
dep_bool 'Support for Acer PICA 1 chipset (EXPERIMENTAL)' CONFIG_ACER_PICA_61 $CONFIG_EXPERIMENTAL
"$CONFIG_NEC_OSPREY" = "y" -o \
"$CONFIG_NEC_EAGLE" = "y" -o \
"$CONFIG_NINO" = "y" -o \
-Index: linux-2.4.35.4/arch/mips/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig
-+++ linux-2.4.35.4/arch/mips/defconfig
+--- a/arch/mips/defconfig
++++ b/arch/mips/defconfig
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-atlas
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-atlas
-+++ linux-2.4.35.4/arch/mips/defconfig-atlas
+--- a/arch/mips/defconfig-atlas
++++ b/arch/mips/defconfig-atlas
@@ -28,8 +28,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-bosporus
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-bosporus
-+++ linux-2.4.35.4/arch/mips/defconfig-bosporus
+--- a/arch/mips/defconfig-bosporus
++++ b/arch/mips/defconfig-bosporus
@@ -30,8 +30,8 @@ CONFIG_MIPS_BOSPORUS=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-capcella
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-capcella
-+++ linux-2.4.35.4/arch/mips/defconfig-capcella
+--- a/arch/mips/defconfig-capcella
++++ b/arch/mips/defconfig-capcella
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_VR41XX_KIU is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-cobalt
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-cobalt
-+++ linux-2.4.35.4/arch/mips/defconfig-cobalt
+--- a/arch/mips/defconfig-cobalt
++++ b/arch/mips/defconfig-cobalt
@@ -28,8 +28,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=16
-Index: linux-2.4.35.4/arch/mips/defconfig-csb250
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-csb250
-+++ linux-2.4.35.4/arch/mips/defconfig-csb250
+--- a/arch/mips/defconfig-csb250
++++ b/arch/mips/defconfig-csb250
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-db1000
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-db1000
-+++ linux-2.4.35.4/arch/mips/defconfig-db1000
+--- a/arch/mips/defconfig-db1000
++++ b/arch/mips/defconfig-db1000
@@ -30,8 +30,8 @@ CONFIG_MIPS_DB1000=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-db1100
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-db1100
-+++ linux-2.4.35.4/arch/mips/defconfig-db1100
+--- a/arch/mips/defconfig-db1100
++++ b/arch/mips/defconfig-db1100
@@ -30,8 +30,8 @@ CONFIG_MIPS_DB1100=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_FB_IT8181 is not set
# CONFIG_FB_VIRTUAL is not set
CONFIG_FBCON_ADVANCED=y
-Index: linux-2.4.35.4/arch/mips/defconfig-db1200
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/defconfig-db1200
++++ b/arch/mips/defconfig-db1200
@@ -0,0 +1,1032 @@
+#
+# Automatically generated make config: don't edit
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_DEFLATE=m
+# CONFIG_FW_LOADER is not set
-Index: linux-2.4.35.4/arch/mips/defconfig-db1500
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-db1500
-+++ linux-2.4.35.4/arch/mips/defconfig-db1500
+--- a/arch/mips/defconfig-db1500
++++ b/arch/mips/defconfig-db1500
@@ -30,8 +30,8 @@ CONFIG_MIPS_DB1500=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-db1550
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-db1550
-+++ linux-2.4.35.4/arch/mips/defconfig-db1550
+--- a/arch/mips/defconfig-db1550
++++ b/arch/mips/defconfig-db1550
@@ -30,8 +30,8 @@ CONFIG_MIPS_DB1550=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-ddb5476
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-ddb5476
-+++ linux-2.4.35.4/arch/mips/defconfig-ddb5476
+--- a/arch/mips/defconfig-ddb5476
++++ b/arch/mips/defconfig-ddb5476
@@ -28,8 +28,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-ddb5477
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-ddb5477
-+++ linux-2.4.35.4/arch/mips/defconfig-ddb5477
+--- a/arch/mips/defconfig-ddb5477
++++ b/arch/mips/defconfig-ddb5477
@@ -28,8 +28,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-decstation
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-decstation
-+++ linux-2.4.35.4/arch/mips/defconfig-decstation
+--- a/arch/mips/defconfig-decstation
++++ b/arch/mips/defconfig-decstation
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-e55
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-e55
-+++ linux-2.4.35.4/arch/mips/defconfig-e55
+--- a/arch/mips/defconfig-e55
++++ b/arch/mips/defconfig-e55
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_VR41XX_KIU is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-eagle
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-eagle
-+++ linux-2.4.35.4/arch/mips/defconfig-eagle
+--- a/arch/mips/defconfig-eagle
++++ b/arch/mips/defconfig-eagle
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_VR41XX_KIU is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-ev64120
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-ev64120
-+++ linux-2.4.35.4/arch/mips/defconfig-ev64120
+--- a/arch/mips/defconfig-ev64120
++++ b/arch/mips/defconfig-ev64120
@@ -30,8 +30,8 @@ CONFIG_MODULES=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-ev96100
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-ev96100
-+++ linux-2.4.35.4/arch/mips/defconfig-ev96100
+--- a/arch/mips/defconfig-ev96100
++++ b/arch/mips/defconfig-ev96100
@@ -30,8 +30,8 @@ CONFIG_MODULES=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-ficmmp
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/defconfig-ficmmp
++++ b/arch/mips/defconfig-ficmmp
@@ -0,0 +1,862 @@
+#
+# Automatically generated make config: don't edit
+# CONFIG_CRC32 is not set
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_DEFLATE=m
-Index: linux-2.4.35.4/arch/mips/defconfig-hp-lj
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-hp-lj
-+++ linux-2.4.35.4/arch/mips/defconfig-hp-lj
+--- a/arch/mips/defconfig-hp-lj
++++ b/arch/mips/defconfig-hp-lj
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_UNIX98_PTYS is not set
#
-Index: linux-2.4.35.4/arch/mips/defconfig-hydrogen3
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-hydrogen3
-+++ linux-2.4.35.4/arch/mips/defconfig-hydrogen3
+--- a/arch/mips/defconfig-hydrogen3
++++ b/arch/mips/defconfig-hydrogen3
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_FB_IT8181 is not set
# CONFIG_FB_VIRTUAL is not set
CONFIG_FBCON_ADVANCED=y
-Index: linux-2.4.35.4/arch/mips/defconfig-ip22
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-ip22
-+++ linux-2.4.35.4/arch/mips/defconfig-ip22
+--- a/arch/mips/defconfig-ip22
++++ b/arch/mips/defconfig-ip22
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-it8172
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-it8172
-+++ linux-2.4.35.4/arch/mips/defconfig-it8172
+--- a/arch/mips/defconfig-it8172
++++ b/arch/mips/defconfig-it8172
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-ivr
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-ivr
-+++ linux-2.4.35.4/arch/mips/defconfig-ivr
+--- a/arch/mips/defconfig-ivr
++++ b/arch/mips/defconfig-ivr
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-jmr3927
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-jmr3927
-+++ linux-2.4.35.4/arch/mips/defconfig-jmr3927
+--- a/arch/mips/defconfig-jmr3927
++++ b/arch/mips/defconfig-jmr3927
@@ -28,8 +28,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_UNIX98_PTYS is not set
#
-Index: linux-2.4.35.4/arch/mips/defconfig-lasat
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-lasat
-+++ linux-2.4.35.4/arch/mips/defconfig-lasat
+--- a/arch/mips/defconfig-lasat
++++ b/arch/mips/defconfig-lasat
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-malta
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-malta
-+++ linux-2.4.35.4/arch/mips/defconfig-malta
+--- a/arch/mips/defconfig-malta
++++ b/arch/mips/defconfig-malta
@@ -22,16 +22,19 @@ CONFIG_KMOD=y
#
# CONFIG_ACER_PICA_61 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-mirage
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-mirage
-+++ linux-2.4.35.4/arch/mips/defconfig-mirage
+--- a/arch/mips/defconfig-mirage
++++ b/arch/mips/defconfig-mirage
@@ -30,8 +30,8 @@ CONFIG_MIPS_MIRAGE=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-mpc30x
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-mpc30x
-+++ linux-2.4.35.4/arch/mips/defconfig-mpc30x
+--- a/arch/mips/defconfig-mpc30x
++++ b/arch/mips/defconfig-mpc30x
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_VR41XX_KIU is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-mtx-1
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-mtx-1
-+++ linux-2.4.35.4/arch/mips/defconfig-mtx-1
+--- a/arch/mips/defconfig-mtx-1
++++ b/arch/mips/defconfig-mtx-1
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-nino
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-nino
-+++ linux-2.4.35.4/arch/mips/defconfig-nino
+--- a/arch/mips/defconfig-nino
++++ b/arch/mips/defconfig-nino
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_UNIX98_PTYS is not set
#
-Index: linux-2.4.35.4/arch/mips/defconfig-ocelot
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-ocelot
-+++ linux-2.4.35.4/arch/mips/defconfig-ocelot
+--- a/arch/mips/defconfig-ocelot
++++ b/arch/mips/defconfig-ocelot
@@ -28,8 +28,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-osprey
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-osprey
-+++ linux-2.4.35.4/arch/mips/defconfig-osprey
+--- a/arch/mips/defconfig-osprey
++++ b/arch/mips/defconfig-osprey
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_VR41XX_KIU is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-pb1000
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-pb1000
-+++ linux-2.4.35.4/arch/mips/defconfig-pb1000
+--- a/arch/mips/defconfig-pb1000
++++ b/arch/mips/defconfig-pb1000
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
CONFIG_MIPS_PB1000=y
# CONFIG_MIPS_PB1100 is not set
# CONFIG_TS_AU1X00_ADS7846 is not set
#
-Index: linux-2.4.35.4/arch/mips/defconfig-pb1100
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-pb1100
-+++ linux-2.4.35.4/arch/mips/defconfig-pb1100
+--- a/arch/mips/defconfig-pb1100
++++ b/arch/mips/defconfig-pb1100
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
CONFIG_MIPS_PB1100=y
# CONFIG_FB_IT8181 is not set
# CONFIG_FB_VIRTUAL is not set
CONFIG_FBCON_ADVANCED=y
-Index: linux-2.4.35.4/arch/mips/defconfig-pb1200
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/defconfig-pb1200
++++ b/arch/mips/defconfig-pb1200
@@ -0,0 +1,1060 @@
+#
+# Automatically generated make config: don't edit
+CONFIG_ZLIB_INFLATE=m
+CONFIG_ZLIB_DEFLATE=m
+# CONFIG_FW_LOADER is not set
-Index: linux-2.4.35.4/arch/mips/defconfig-pb1500
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-pb1500
-+++ linux-2.4.35.4/arch/mips/defconfig-pb1500
+--- a/arch/mips/defconfig-pb1500
++++ b/arch/mips/defconfig-pb1500
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-pb1550
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-pb1550
-+++ linux-2.4.35.4/arch/mips/defconfig-pb1550
+--- a/arch/mips/defconfig-pb1550
++++ b/arch/mips/defconfig-pb1550
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-rbtx4927
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-rbtx4927
-+++ linux-2.4.35.4/arch/mips/defconfig-rbtx4927
+--- a/arch/mips/defconfig-rbtx4927
++++ b/arch/mips/defconfig-rbtx4927
@@ -28,8 +28,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_UNIX98_PTYS is not set
#
-Index: linux-2.4.35.4/arch/mips/defconfig-rm200
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-rm200
-+++ linux-2.4.35.4/arch/mips/defconfig-rm200
+--- a/arch/mips/defconfig-rm200
++++ b/arch/mips/defconfig-rm200
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-sb1250-swarm
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-sb1250-swarm
-+++ linux-2.4.35.4/arch/mips/defconfig-sb1250-swarm
+--- a/arch/mips/defconfig-sb1250-swarm
++++ b/arch/mips/defconfig-sb1250-swarm
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-sead
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-sead
-+++ linux-2.4.35.4/arch/mips/defconfig-sead
+--- a/arch/mips/defconfig-sead
++++ b/arch/mips/defconfig-sead
@@ -28,8 +28,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_UNIX98_PTYS is not set
#
-Index: linux-2.4.35.4/arch/mips/defconfig-stretch
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-stretch
-+++ linux-2.4.35.4/arch/mips/defconfig-stretch
+--- a/arch/mips/defconfig-stretch
++++ b/arch/mips/defconfig-stretch
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-tb0226
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-tb0226
-+++ linux-2.4.35.4/arch/mips/defconfig-tb0226
+--- a/arch/mips/defconfig-tb0226
++++ b/arch/mips/defconfig-tb0226
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_VR41XX_KIU is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-tb0229
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-tb0229
-+++ linux-2.4.35.4/arch/mips/defconfig-tb0229
+--- a/arch/mips/defconfig-tb0229
++++ b/arch/mips/defconfig-tb0229
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_VR41XX_KIU is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-ti1500
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-ti1500
-+++ linux-2.4.35.4/arch/mips/defconfig-ti1500
+--- a/arch/mips/defconfig-ti1500
++++ b/arch/mips/defconfig-ti1500
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-workpad
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-workpad
-+++ linux-2.4.35.4/arch/mips/defconfig-workpad
+--- a/arch/mips/defconfig-workpad
++++ b/arch/mips/defconfig-workpad
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_VR41XX_KIU is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-xxs1500
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-xxs1500
-+++ linux-2.4.35.4/arch/mips/defconfig-xxs1500
+--- a/arch/mips/defconfig-xxs1500
++++ b/arch/mips/defconfig-xxs1500
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/defconfig-yosemite
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig-yosemite
-+++ linux-2.4.35.4/arch/mips/defconfig-yosemite
+--- a/arch/mips/defconfig-yosemite
++++ b/arch/mips/defconfig-yosemite
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/cpu-probe.c
-+++ linux-2.4.35.4/arch/mips/kernel/cpu-probe.c
+--- a/arch/mips/kernel/cpu-probe.c
++++ b/arch/mips/kernel/cpu-probe.c
@@ -34,21 +34,16 @@ static void r4k_wait(void)
".set\tmips0");
}
default:
printk(" unavailable.\n");
break;
-Index: linux-2.4.35.4/arch/mips/kernel/head.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/head.S
-+++ linux-2.4.35.4/arch/mips/kernel/head.S
+--- a/arch/mips/kernel/head.S
++++ b/arch/mips/kernel/head.S
@@ -43,9 +43,9 @@
/* Cache Error */
END(smp_bootstrap)
#endif
-Index: linux-2.4.35.4/arch/mips/kernel/process.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/process.c
-+++ linux-2.4.35.4/arch/mips/kernel/process.c
+--- a/arch/mips/kernel/process.c
++++ b/arch/mips/kernel/process.c
@@ -128,6 +128,26 @@ int dump_fpu(struct pt_regs *regs, elf_f
return 1;
}
/*
* Create a kernel thread
*/
-Index: linux-2.4.35.4/arch/mips/kernel/scall_o32.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/scall_o32.S
-+++ linux-2.4.35.4/arch/mips/kernel/scall_o32.S
+--- a/arch/mips/kernel/scall_o32.S
++++ b/arch/mips/kernel/scall_o32.S
@@ -121,15 +121,14 @@ reschedule:
trace_a_syscall:
li t0, -EMAXERRNO - 1 # error?
sltu t0, t0, v0
-Index: linux-2.4.35.4/arch/mips/kernel/setup.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/setup.c
-+++ linux-2.4.35.4/arch/mips/kernel/setup.c
+--- a/arch/mips/kernel/setup.c
++++ b/arch/mips/kernel/setup.c
@@ -5,7 +5,7 @@
*
* Copyright (C) 1995 Linus Torvalds
start_kernel();
}
-Index: linux-2.4.35.4/arch/mips/kernel/traps.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/traps.c
-+++ linux-2.4.35.4/arch/mips/kernel/traps.c
+--- a/arch/mips/kernel/traps.c
++++ b/arch/mips/kernel/traps.c
@@ -452,9 +452,10 @@ static inline void simulate_ll(struct pt
}
ll_task = current;
- TLBMISS_HANDLER_SETUP();
+ per_cpu_trap_init();
}
-Index: linux-2.4.35.4/arch/mips/lib/rtc-no.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/lib/rtc-no.c
-+++ linux-2.4.35.4/arch/mips/lib/rtc-no.c
+--- a/arch/mips/lib/rtc-no.c
++++ b/arch/mips/lib/rtc-no.c
@@ -6,10 +6,9 @@
* Stub RTC routines to keep Linux from crashing on machine which don't
* have a RTC chip.
};
-
-EXPORT_SYMBOL(rtc_ops);
-Index: linux-2.4.35.4/arch/mips/lib/rtc-std.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/lib/rtc-std.c
-+++ linux-2.4.35.4/arch/mips/lib/rtc-std.c
+--- a/arch/mips/lib/rtc-std.c
++++ b/arch/mips/lib/rtc-std.c
@@ -5,9 +5,8 @@
*
* RTC routines for PC style attached Dallas chip.
};
-
-EXPORT_SYMBOL(rtc_ops);
-Index: linux-2.4.35.4/arch/mips/Makefile
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/Makefile
-+++ linux-2.4.35.4/arch/mips/Makefile
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
@@ -209,7 +209,7 @@ LOADADDR := 0x80080000
endif
#
# Cogent CSB250
-Index: linux-2.4.35.4/arch/mips/mm/cerr-sb1.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/cerr-sb1.c
-+++ linux-2.4.35.4/arch/mips/mm/cerr-sb1.c
+--- a/arch/mips/mm/cerr-sb1.c
++++ b/arch/mips/mm/cerr-sb1.c
@@ -252,14 +252,14 @@ static const uint8_t parity[256] = {
/* Masks to select bits for Hamming parity, mask_72_64[i] for bit[i] */
if (way == 0) {
lru = (taghi >> 14) & 0xff;
prom_printf("[Bank %d Set 0x%02x] LRU > %d %d %d %d > MRU\n",
-Index: linux-2.4.35.4/arch/mips/mm/c-r4k.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/c-r4k.c
-+++ linux-2.4.35.4/arch/mips/mm/c-r4k.c
+--- a/arch/mips/mm/c-r4k.c
++++ b/arch/mips/mm/c-r4k.c
@@ -867,9 +867,16 @@ static void __init probe_pcache(void)
* normally they'd suffer from aliases but magic in the hardware deals
* with that for us so we don't need to take care ourselves.
r4k_blast_dcache_page_setup();
r4k_blast_dcache_page_indexed_setup();
r4k_blast_dcache_setup();
-Index: linux-2.4.35.4/arch/mips/mm/tlbex-mips32.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/tlbex-mips32.S
-+++ linux-2.4.35.4/arch/mips/mm/tlbex-mips32.S
+--- a/arch/mips/mm/tlbex-mips32.S
++++ b/arch/mips/mm/tlbex-mips32.S
@@ -196,7 +196,7 @@
.set noat; \
SAVE_ALL; \
.set at; \
move a0, sp; \
jal do_page_fault; \
-Index: linux-2.4.35.4/arch/mips/mm/tlbex-r4k.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/tlbex-r4k.S
-+++ linux-2.4.35.4/arch/mips/mm/tlbex-r4k.S
+--- a/arch/mips/mm/tlbex-r4k.S
++++ b/arch/mips/mm/tlbex-r4k.S
@@ -184,13 +184,10 @@
P_MTC0 k0, CP0_ENTRYLO0 # load it
PTE_SRL k1, k1, 6 # convert to entrylo1
.set mips3
eret
.set mips0
-Index: linux-2.4.35.4/arch/mips/mm/tlb-r4k.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/mm/tlb-r4k.c
-+++ linux-2.4.35.4/arch/mips/mm/tlb-r4k.c
+--- a/arch/mips/mm/tlb-r4k.c
++++ b/arch/mips/mm/tlb-r4k.c
@@ -3,17 +3,12 @@
* License. See the file "COPYING" in the main directory of this archive
* for more details.
/*
* You should never change this register:
-Index: linux-2.4.35.4/arch/mips64/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/defconfig
-+++ linux-2.4.35.4/arch/mips64/defconfig
+--- a/arch/mips64/defconfig
++++ b/arch/mips64/defconfig
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips64/defconfig-atlas
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/defconfig-atlas
-+++ linux-2.4.35.4/arch/mips64/defconfig-atlas
+--- a/arch/mips64/defconfig-atlas
++++ b/arch/mips64/defconfig-atlas
@@ -28,8 +28,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips64/defconfig-decstation
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/defconfig-decstation
-+++ linux-2.4.35.4/arch/mips64/defconfig-decstation
+--- a/arch/mips64/defconfig-decstation
++++ b/arch/mips64/defconfig-decstation
@@ -28,8 +28,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips64/defconfig-ip22
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/defconfig-ip22
-+++ linux-2.4.35.4/arch/mips64/defconfig-ip22
+--- a/arch/mips64/defconfig-ip22
++++ b/arch/mips64/defconfig-ip22
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips64/defconfig-ip27
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/defconfig-ip27
-+++ linux-2.4.35.4/arch/mips64/defconfig-ip27
+--- a/arch/mips64/defconfig-ip27
++++ b/arch/mips64/defconfig-ip27
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips64/defconfig-jaguar
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/defconfig-jaguar
-+++ linux-2.4.35.4/arch/mips64/defconfig-jaguar
+--- a/arch/mips64/defconfig-jaguar
++++ b/arch/mips64/defconfig-jaguar
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips64/defconfig-malta
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/defconfig-malta
-+++ linux-2.4.35.4/arch/mips64/defconfig-malta
+--- a/arch/mips64/defconfig-malta
++++ b/arch/mips64/defconfig-malta
@@ -22,16 +22,19 @@ CONFIG_KMOD=y
#
# CONFIG_ACER_PICA_61 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips64/defconfig-ocelotc
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/defconfig-ocelotc
-+++ linux-2.4.35.4/arch/mips64/defconfig-ocelotc
+--- a/arch/mips64/defconfig-ocelotc
++++ b/arch/mips64/defconfig-ocelotc
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips64/defconfig-sb1250-swarm
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/defconfig-sb1250-swarm
-+++ linux-2.4.35.4/arch/mips64/defconfig-sb1250-swarm
+--- a/arch/mips64/defconfig-sb1250-swarm
++++ b/arch/mips64/defconfig-sb1250-swarm
@@ -30,8 +30,8 @@ CONFIG_KMOD=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
CONFIG_UNIX98_PTYS=y
CONFIG_UNIX98_PTY_COUNT=256
-Index: linux-2.4.35.4/arch/mips64/defconfig-sead
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/defconfig-sead
-+++ linux-2.4.35.4/arch/mips64/defconfig-sead
+--- a/arch/mips64/defconfig-sead
++++ b/arch/mips64/defconfig-sead
@@ -28,8 +28,8 @@ CONFIG_EXPERIMENTAL=y
# CONFIG_MIPS_PB1000 is not set
# CONFIG_MIPS_PB1100 is not set
# CONFIG_UNIX98_PTYS is not set
#
-Index: linux-2.4.35.4/arch/mips64/kernel/binfmt_elfn32.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/binfmt_elfn32.c
-+++ linux-2.4.35.4/arch/mips64/kernel/binfmt_elfn32.c
+--- a/arch/mips64/kernel/binfmt_elfn32.c
++++ b/arch/mips64/kernel/binfmt_elfn32.c
@@ -116,4 +116,7 @@ MODULE_AUTHOR("Ralf Baechle (ralf@linux-
#undef MODULE_DESCRIPTION
#undef MODULE_AUTHOR
+#define TASK_SIZE TASK_SIZE32
+
#include "../../../fs/binfmt_elf.c"
-Index: linux-2.4.35.4/arch/mips64/kernel/binfmt_elfo32.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/binfmt_elfo32.c
-+++ linux-2.4.35.4/arch/mips64/kernel/binfmt_elfo32.c
+--- a/arch/mips64/kernel/binfmt_elfo32.c
++++ b/arch/mips64/kernel/binfmt_elfo32.c
@@ -137,4 +137,7 @@ MODULE_AUTHOR("Ralf Baechle (ralf@linux-
#undef MODULE_DESCRIPTION
#undef MODULE_AUTHOR
+#define TASK_SIZE TASK_SIZE32
+
#include "../../../fs/binfmt_elf.c"
-Index: linux-2.4.35.4/arch/mips64/kernel/head.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/head.S
-+++ linux-2.4.35.4/arch/mips64/kernel/head.S
+--- a/arch/mips64/kernel/head.S
++++ b/arch/mips64/kernel/head.S
@@ -91,6 +91,21 @@ EXPORT(_stext)
__INIT
END(smp_bootstrap)
#endif /* CONFIG_SMP */
-Index: linux-2.4.35.4/arch/mips64/kernel/ioctl32.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/ioctl32.c
-+++ linux-2.4.35.4/arch/mips64/kernel/ioctl32.c
+--- a/arch/mips64/kernel/ioctl32.c
++++ b/arch/mips64/kernel/ioctl32.c
@@ -2352,7 +2352,7 @@ static struct ioctl32_list ioctl32_handl
IOCTL32_HANDLER(AUTOFS_IOC_SETTIMEOUT32, ioc_settimeout),
IOCTL32_DEFAULT(AUTOFS_IOC_EXPIRE),
IOCTL32_DEFAULT(AUTOFS_IOC_ASKREGHOST),
IOCTL32_DEFAULT(AUTOFS_IOC_TOGGLEREGHOST),
IOCTL32_DEFAULT(AUTOFS_IOC_ASKUMOUNT),
-Index: linux-2.4.35.4/arch/mips64/kernel/linux32.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/linux32.c
-+++ linux-2.4.35.4/arch/mips64/kernel/linux32.c
+--- a/arch/mips64/kernel/linux32.c
++++ b/arch/mips64/kernel/linux32.c
@@ -1101,6 +1101,7 @@ do_readv_writev32(int type, struct file
* specially as they have atomicity guarantees and can handle
* iovec's natively
/*
* Ooo, nasty. We need here to frob 32-bit unsigned longs to
* 64-bit unsigned longs.
-Index: linux-2.4.35.4/arch/mips64/kernel/process.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/process.c
-+++ linux-2.4.35.4/arch/mips64/kernel/process.c
+--- a/arch/mips64/kernel/process.c
++++ b/arch/mips64/kernel/process.c
@@ -125,6 +125,25 @@ int dump_fpu(struct pt_regs *regs, elf_f
return 1;
}
/*
* Create a kernel thread
*/
-Index: linux-2.4.35.4/arch/mips64/kernel/scall_64.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/scall_64.S
-+++ linux-2.4.35.4/arch/mips64/kernel/scall_64.S
+--- a/arch/mips64/kernel/scall_64.S
++++ b/arch/mips64/kernel/scall_64.S
@@ -102,15 +102,14 @@ _64_reschedule:
trace_a_syscall:
li t0, -EMAXERRNO - 1 # error?
sltu t0, t0, v0
-Index: linux-2.4.35.4/arch/mips64/kernel/scall_n32.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/scall_n32.S
-+++ linux-2.4.35.4/arch/mips64/kernel/scall_n32.S
+--- a/arch/mips64/kernel/scall_n32.S
++++ b/arch/mips64/kernel/scall_n32.S
@@ -106,15 +106,14 @@ n32_reschedule:
trace_a_syscall:
li t0, -EMAXERRNO - 1 # error?
sltu t0, t0, v0
-Index: linux-2.4.35.4/arch/mips64/kernel/scall_o32.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/scall_o32.S
-+++ linux-2.4.35.4/arch/mips64/kernel/scall_o32.S
+--- a/arch/mips64/kernel/scall_o32.S
++++ b/arch/mips64/kernel/scall_o32.S
@@ -118,9 +118,8 @@ trace_a_syscall:
sd a6, PT_R10(sp)
sd a7, PT_R11(sp)
.macro sys function, nargs
.byte \nargs
.endm
-Index: linux-2.4.35.4/arch/mips64/kernel/setup.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/setup.c
-+++ linux-2.4.35.4/arch/mips64/kernel/setup.c
+--- a/arch/mips64/kernel/setup.c
++++ b/arch/mips64/kernel/setup.c
@@ -129,14 +129,6 @@ asmlinkage void __init init_arch(int arg
*/
load_mmu();
start_kernel();
}
-Index: linux-2.4.35.4/arch/mips64/kernel/signal_n32.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/signal_n32.c
-+++ linux-2.4.35.4/arch/mips64/kernel/signal_n32.c
+--- a/arch/mips64/kernel/signal_n32.c
++++ b/arch/mips64/kernel/signal_n32.c
@@ -68,7 +68,7 @@ struct rt_sigframe_n32 {
};
asmlinkage void sysn32_rt_sigreturn(abi64_no_regargs, struct pt_regs regs)
{
-Index: linux-2.4.35.4/arch/mips64/kernel/traps.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/traps.c
-+++ linux-2.4.35.4/arch/mips64/kernel/traps.c
+--- a/arch/mips64/kernel/traps.c
++++ b/arch/mips64/kernel/traps.c
@@ -462,9 +462,10 @@ static inline void simulate_ll(struct pt
}
ll_task = current;
- current->active_mm = &init_mm;
+ per_cpu_trap_init();
}
-Index: linux-2.4.35.4/arch/mips64/mm/cerr-sb1.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/mm/cerr-sb1.c
-+++ linux-2.4.35.4/arch/mips64/mm/cerr-sb1.c
+--- a/arch/mips64/mm/cerr-sb1.c
++++ b/arch/mips64/mm/cerr-sb1.c
@@ -252,14 +252,14 @@ static const uint8_t parity[256] = {
/* Masks to select bits for Hamming parity, mask_72_64[i] for bit[i] */
if (way == 0) {
lru = (taghi >> 14) & 0xff;
prom_printf("[Bank %d Set 0x%02x] LRU > %d %d %d %d > MRU\n",
-Index: linux-2.4.35.4/arch/mips64/mm/c-r4k.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/mm/c-r4k.c
-+++ linux-2.4.35.4/arch/mips64/mm/c-r4k.c
+--- a/arch/mips64/mm/c-r4k.c
++++ b/arch/mips64/mm/c-r4k.c
@@ -867,9 +867,16 @@ static void __init probe_pcache(void)
* normally they'd suffer from aliases but magic in the hardware deals
* with that for us so we don't need to take care ourselves.
r4k_blast_dcache_page_setup();
r4k_blast_dcache_page_indexed_setup();
r4k_blast_dcache_setup();
-Index: linux-2.4.35.4/arch/mips64/mm/tlbex-r4k.S
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/mm/tlbex-r4k.S
-+++ linux-2.4.35.4/arch/mips64/mm/tlbex-r4k.S
+--- a/arch/mips64/mm/tlbex-r4k.S
++++ b/arch/mips64/mm/tlbex-r4k.S
@@ -125,6 +125,33 @@ LEAF(except_vec1_r4k)
nop
END(except_vec1_r4k)
eret
END(handle_vec1_r10k)
-Index: linux-2.4.35.4/arch/mips64/mm/tlb-r4k.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/mm/tlb-r4k.c
-+++ linux-2.4.35.4/arch/mips64/mm/tlb-r4k.c
+--- a/arch/mips64/mm/tlb-r4k.c
++++ b/arch/mips64/mm/tlb-r4k.c
@@ -1,24 +1,12 @@
/*
- * Carsten Langgaard, carstenl@mips.com
probe_tlb(config);
write_c0_pagemask(PM_DEFAULT_MASK);
write_c0_wired(0);
-Index: linux-2.4.35.4/drivers/char/au1000_gpio.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/au1000_gpio.c
-+++ linux-2.4.35.4/drivers/char/au1000_gpio.c
+--- a/drivers/char/au1000_gpio.c
++++ b/drivers/char/au1000_gpio.c
@@ -246,7 +246,7 @@ static struct file_operations au1000gpio
static struct miscdevice au1000gpio_miscdev =
"au1000_gpio",
&au1000gpio_fops
};
-Index: linux-2.4.35.4/drivers/char/au1550_psc_spi.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/char/au1550_psc_spi.c
++++ b/drivers/char/au1550_psc_spi.c
@@ -0,0 +1,466 @@
+/*
+ * Driver for Alchemy Au1550 SPI on the PSC.
+
+module_init(au1550spi_init);
+module_exit(au1550spi_exit);
-Index: linux-2.4.35.4/drivers/char/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/Config.in
-+++ linux-2.4.35.4/drivers/char/Config.in
+--- a/drivers/char/Config.in
++++ b/drivers/char/Config.in
@@ -314,14 +314,11 @@ fi
if [ "$CONFIG_OBSOLETE" = "y" -a "$CONFIG_ALPHA_BOOK1" = "y" ]; then
bool 'Tadpole ANA H8 Support (OBSOLETE)' CONFIG_H8
fi
if [ "$CONFIG_MIPS_ITE8172" = "y" ]; then
tristate ' ITE GPIO' CONFIG_ITE_GPIO
-Index: linux-2.4.35.4/drivers/char/decserial.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/decserial.c
-+++ linux-2.4.35.4/drivers/char/decserial.c
+--- a/drivers/char/decserial.c
++++ b/drivers/char/decserial.c
@@ -3,95 +3,105 @@
* choose the right serial device at boot time
*
#endif
}
-Index: linux-2.4.35.4/drivers/char/ds1286.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/ds1286.c
-+++ linux-2.4.35.4/drivers/char/ds1286.c
+--- a/drivers/char/ds1286.c
++++ b/drivers/char/ds1286.c
@@ -1,6 +1,10 @@
/*
* DS1286 Real Time Clock interface for Linux
+
+MODULE_AUTHOR("Ralf Baechle");
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/drivers/char/ds1742.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/ds1742.c
-+++ linux-2.4.35.4/drivers/char/ds1742.c
+--- a/drivers/char/ds1742.c
++++ b/drivers/char/ds1742.c
@@ -142,6 +142,7 @@ static int rtc_ds1742_set_time(unsigned
CMOS_WRITE(RTC_WRITE, RTC_CONTROL);
to_tm(curr_time, &rtc_tm);
rtc_tm.tm_year -= 1900;
return copy_to_user((void *) arg, &rtc_tm, sizeof(rtc_tm)) ?
-Index: linux-2.4.35.4/drivers/char/dummy_keyb.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/dummy_keyb.c
-+++ linux-2.4.35.4/drivers/char/dummy_keyb.c
+--- a/drivers/char/dummy_keyb.c
++++ b/drivers/char/dummy_keyb.c
@@ -141,3 +141,7 @@ void __init kbd_init_hw(void)
{
printk("Dummy keyboard driver installed.\n");
+unsigned char kbd_sysrq_key;
+unsigned char kbd_sysrq_xlate[128];
+#endif
-Index: linux-2.4.35.4/drivers/char/dz.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/dz.c
-+++ linux-2.4.35.4/drivers/char/dz.c
+--- a/drivers/char/dz.c
++++ b/drivers/char/dz.c
@@ -1,11 +1,13 @@
/*
- * dz.c: Serial port driver for DECStations equiped
};
void __init dz_serial_console_init(void)
-Index: linux-2.4.35.4/drivers/char/dz.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/dz.h
-+++ linux-2.4.35.4/drivers/char/dz.h
+--- a/drivers/char/dz.h
++++ b/drivers/char/dz.h
@@ -10,6 +10,8 @@
#ifndef DZ_SERIAL_H
#define DZ_SERIAL_H
-#endif
-
#endif /* DZ_SERIAL_H */
-Index: linux-2.4.35.4/drivers/char/ibm_workpad_keymap.map
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/char/ibm_workpad_keymap.map
++++ b/drivers/char/ibm_workpad_keymap.map
@@ -0,0 +1,343 @@
+# Keymap for IBM Workpad z50
+# US Mapping
+keycode 93 = AltGr
+keycode 94 = ShiftR
+ shift keycode 94 = Caps_Lock
-Index: linux-2.4.35.4/drivers/char/indydog.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/indydog.c
-+++ linux-2.4.35.4/drivers/char/indydog.c
+--- a/drivers/char/indydog.c
++++ b/drivers/char/indydog.c
@@ -1,5 +1,5 @@
/*
- * IndyDog 0.2 A Hardware Watchdog Device for SGI IP22
+MODULE_AUTHOR("Guido Guenther <agx@sigxcpu.org>");
+MODULE_DESCRIPTION("Hardware Watchdog Device for SGI IP22");
MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/drivers/char/ip27-rtc.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/ip27-rtc.c
-+++ linux-2.4.35.4/drivers/char/ip27-rtc.c
+--- a/drivers/char/ip27-rtc.c
++++ b/drivers/char/ip27-rtc.c
@@ -44,6 +44,7 @@
#include <asm/sn/klconfig.h>
#include <asm/sn/sn0/ip27.h>
+MODULE_AUTHOR("Ralf Baechle <ralf@linux-mips.org>");
+MODULE_DESCRIPTION("SGI IP27 M48T35 RTC driver");
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/drivers/char/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/Makefile
-+++ linux-2.4.35.4/drivers/char/Makefile
+--- a/drivers/char/Makefile
++++ b/drivers/char/Makefile
@@ -48,7 +48,12 @@ ifeq ($(ARCH),mips)
KEYBD =
endif
+
+victor_mpc30x_keymap.c: victor_mpc30x_keymap.map
+ set -e ; loadkeys --mktable $< | sed -e 's/^static *//' > $@
-Index: linux-2.4.35.4/drivers/char/mips_rtc.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/mips_rtc.c
-+++ linux-2.4.35.4/drivers/char/mips_rtc.c
+--- a/drivers/char/mips_rtc.c
++++ b/drivers/char/mips_rtc.c
@@ -53,14 +53,6 @@
#include <asm/io.h>
#include <asm/uaccess.h>
#include <asm/time.h>
static unsigned long rtc_status = 0; /* bitmapped status byte. */
-Index: linux-2.4.35.4/drivers/char/sb1250_duart.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/sb1250_duart.c
-+++ linux-2.4.35.4/drivers/char/sb1250_duart.c
+--- a/drivers/char/sb1250_duart.c
++++ b/drivers/char/sb1250_duart.c
@@ -328,10 +328,11 @@ static int duart_write(struct tty_struct
if (c <= 0) break;
break;
case TIOCSSERIAL:
printk("Ignoring TIOCSSERIAL\n");
-Index: linux-2.4.35.4/drivers/char/serial.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/serial.c
-+++ linux-2.4.35.4/drivers/char/serial.c
+--- a/drivers/char/serial.c
++++ b/drivers/char/serial.c
@@ -62,6 +62,12 @@
* Robert Schwebel <robert@schwebel.de>,
* Juergen Beisert <jbeisert@eurodsn.de>,
/*
* We used to support using pause I/O for certain machines. We
-Index: linux-2.4.35.4/drivers/char/victor_mpc30x_keymap.map
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/char/victor_mpc30x_keymap.map
++++ b/drivers/char/victor_mpc30x_keymap.map
@@ -0,0 +1,102 @@
+# Victor Interlink MP-C303/304 keyboard keymap
+#
+ alt keycode 31 = PageDown
+keycode 47 = Right
+ alt keycode 47 = End
-Index: linux-2.4.35.4/drivers/char/vr41xx_keyb.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/vr41xx_keyb.c
-+++ linux-2.4.35.4/drivers/char/vr41xx_keyb.c
+--- a/drivers/char/vr41xx_keyb.c
++++ b/drivers/char/vr41xx_keyb.c
@@ -308,7 +308,7 @@ void __devinit kbd_init_hw(void)
if (found != 0) {
kiu_base = VRC4173_KIU_OFFSET;
kiu_writew(KIURST_KIURST, KIURST);
-Index: linux-2.4.35.4/drivers/i2c/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/i2c/Config.in
-+++ linux-2.4.35.4/drivers/i2c/Config.in
+--- a/drivers/i2c/Config.in
++++ b/drivers/i2c/Config.in
@@ -57,6 +57,10 @@ if [ "$CONFIG_I2C" != "n" ]; then
if [ "$CONFIG_SGI_IP22" = "y" ]; then
dep_tristate 'I2C SGI interfaces' CONFIG_I2C_ALGO_SGI $CONFIG_I2C
# This is needed for automatic patch generation: sensors code starts here
# This is needed for automatic patch generation: sensors code ends here
-Index: linux-2.4.35.4/drivers/i2c/i2c-algo-au1550.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/i2c/i2c-algo-au1550.c
++++ b/drivers/i2c/i2c-algo-au1550.c
@@ -0,0 +1,340 @@
+/*
+ * i2c-algo-au1550.c: SMBus (i2c) driver algorithms for Alchemy PSC interface
+MODULE_AUTHOR("Dan Malek <dan@embeddededge.com>");
+MODULE_DESCRIPTION("SMBus Au1550 algorithm");
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/drivers/i2c/i2c-au1550.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/i2c/i2c-au1550.c
++++ b/drivers/i2c/i2c-au1550.c
@@ -0,0 +1,154 @@
+/*
+ * i2c-au1550.c: SMBus (i2c) adapter for Alchemy PSC interface
+{
+ i2c_au1550_del_bus(&pb1550_board_adapter);
+}
-Index: linux-2.4.35.4/drivers/i2c/i2c-core.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/i2c/i2c-core.c
-+++ linux-2.4.35.4/drivers/i2c/i2c-core.c
+--- a/drivers/i2c/i2c-core.c
++++ b/drivers/i2c/i2c-core.c
@@ -1277,6 +1277,9 @@ static int __init i2c_init(void)
#ifdef CONFIG_I2C_MAX1617
extern int i2c_max1617_init(void);
/* -------------- proc interface ---- */
#ifdef CONFIG_I2C_PROC
sensors_init();
-Index: linux-2.4.35.4/drivers/i2c/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/i2c/Makefile
-+++ linux-2.4.35.4/drivers/i2c/Makefile
+--- a/drivers/i2c/Makefile
++++ b/drivers/i2c/Makefile
@@ -6,7 +6,7 @@ O_TARGET := i2c.o
export-objs := i2c-core.o i2c-algo-bit.o i2c-algo-pcf.o \
# This is needed for automatic patch generation: sensors code starts here
# This is needed for automatic patch generation: sensors code ends here
-Index: linux-2.4.35.4/drivers/media/video/indycam.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/media/video/indycam.c
-+++ linux-2.4.35.4/drivers/media/video/indycam.c
+--- a/drivers/media/video/indycam.c
++++ b/drivers/media/video/indycam.c
@@ -50,13 +50,14 @@ static int indycam_attach(struct i2c_ada
0x80, /* INDYCAM_GAMMA */
};
MOD_INC_USE_COUNT;
return 0;
-Index: linux-2.4.35.4/drivers/media/video/vino.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/media/video/vino.c
-+++ linux-2.4.35.4/drivers/media/video/vino.c
+--- a/drivers/media/video/vino.c
++++ b/drivers/media/video/vino.c
@@ -5,6 +5,8 @@
* License version 2 as published by the Free Software Foundation.
*
}
static int vino_grab(struct vino_device *v, int frame)
-Index: linux-2.4.35.4/drivers/mtd/devices/docprobe.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/devices/docprobe.c
-+++ linux-2.4.35.4/drivers/mtd/devices/docprobe.c
+--- a/drivers/mtd/devices/docprobe.c
++++ b/drivers/mtd/devices/docprobe.c
@@ -89,10 +89,10 @@ static unsigned long __initdata doc_loca
0xe4000000,
#elif defined(CONFIG_MOMENCO_OCELOT)
#warning Unknown architecture for DiskOnChip. No default probe locations defined
#endif
0 };
-Index: linux-2.4.35.4/drivers/mtd/devices/ms02-nv.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/devices/ms02-nv.c
-+++ linux-2.4.35.4/drivers/mtd/devices/ms02-nv.c
+--- a/drivers/mtd/devices/ms02-nv.c
++++ b/drivers/mtd/devices/ms02-nv.c
@@ -1,10 +1,10 @@
/*
- * Copyright (c) 2001 Maciej W. Rozycki
csr = (volatile u32 *)KN03_MCR_BASE;
if (*csr & KN03_MCR_BNK32M)
stride = 2;
-Index: linux-2.4.35.4/drivers/mtd/devices/ms02-nv.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/devices/ms02-nv.h
-+++ linux-2.4.35.4/drivers/mtd/devices/ms02-nv.h
+--- a/drivers/mtd/devices/ms02-nv.h
++++ b/drivers/mtd/devices/ms02-nv.h
@@ -1,32 +1,96 @@
/*
- * Copyright (c) 2001 Maciej W. Rozycki
typedef volatile u32 ms02nv_uint;
struct ms02nv_private {
-Index: linux-2.4.35.4/drivers/mtd/maps/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/maps/Config.in
-+++ linux-2.4.35.4/drivers/mtd/maps/Config.in
+--- a/drivers/mtd/maps/Config.in
++++ b/drivers/mtd/maps/Config.in
@@ -51,11 +51,26 @@ if [ "$CONFIG_MIPS" = "y" ]; then
dep_tristate ' Pb1000 MTD support' CONFIG_MTD_PB1000 $CONFIG_MIPS_PB1000
dep_tristate ' Pb1500 MTD support' CONFIG_MTD_PB1500 $CONFIG_MIPS_PB1500
dep_tristate ' Flash chip mapping on ITE QED-4N-S01B, Globespan IVR or custom board' CONFIG_MTD_CSTM_MIPS_IXX $CONFIG_MTD_CFI $CONFIG_MTD_JEDEC $CONFIG_MTD_PARTITIONS
if [ "$CONFIG_MTD_CSTM_MIPS_IXX" = "y" -o "$CONFIG_MTD_CSTM_MIPS_IXX" = "m" ]; then
hex ' Physical start address of flash mapping' CONFIG_MTD_CSTM_MIPS_IXX_START 0x8000000
-Index: linux-2.4.35.4/drivers/mtd/maps/db1x00-flash.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/mtd/maps/db1x00-flash.c
++++ b/drivers/mtd/maps/db1x00-flash.c
@@ -0,0 +1,283 @@
+/*
+ * Flash memory access on Alchemy Db1xxx boards
+MODULE_AUTHOR("Pete Popov");
+MODULE_DESCRIPTION("Db1x00 mtd map driver");
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/drivers/mtd/maps/hydrogen3-flash.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/mtd/maps/hydrogen3-flash.c
++++ b/drivers/mtd/maps/hydrogen3-flash.c
@@ -0,0 +1,189 @@
+/*
+ * Flash memory access on Alchemy HydrogenIII boards
+MODULE_AUTHOR("Pete Popov");
+MODULE_DESCRIPTION("HydrogenIII mtd map driver");
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/drivers/mtd/maps/lasat.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/maps/lasat.c
-+++ linux-2.4.35.4/drivers/mtd/maps/lasat.c
+--- a/drivers/mtd/maps/lasat.c
++++ b/drivers/mtd/maps/lasat.c
@@ -1,15 +1,6 @@
/*
* Flash device on lasat 100 and 200 boards
}
}
-Index: linux-2.4.35.4/drivers/mtd/maps/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/maps/Makefile
-+++ linux-2.4.35.4/drivers/mtd/maps/Makefile
+--- a/drivers/mtd/maps/Makefile
++++ b/drivers/mtd/maps/Makefile
@@ -52,7 +52,13 @@ obj-$(CONFIG_MTD_PCI) += pci.o
obj-$(CONFIG_MTD_PB1000) += pb1xxx-flash.o
obj-$(CONFIG_MTD_PB1100) += pb1xxx-flash.o
+obj-$(CONFIG_MTD_MIRAGE) += mirage-flash.o
include $(TOPDIR)/Rules.make
-Index: linux-2.4.35.4/drivers/mtd/maps/mirage-flash.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/mtd/maps/mirage-flash.c
++++ b/drivers/mtd/maps/mirage-flash.c
@@ -0,0 +1,194 @@
+/*
+ * Flash memory access on AMD Mirage board.
+MODULE_AUTHOR("Embedded Edge");
+MODULE_DESCRIPTION("Mirage mtd map driver");
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/drivers/mtd/maps/mtx-1.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/mtd/maps/mtx-1.c
++++ b/drivers/mtd/maps/mtx-1.c
@@ -0,0 +1,181 @@
+/*
+ * Flash memory access on 4G Systems MTX-1 board
+MODULE_AUTHOR("Pete Popov");
+MODULE_DESCRIPTION("MTX-1 CFI map driver");
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/drivers/mtd/maps/pb1550-flash.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/mtd/maps/pb1550-flash.c
++++ b/drivers/mtd/maps/pb1550-flash.c
@@ -0,0 +1,270 @@
+/*
+ * Flash memory access on Alchemy Pb1550 board
+MODULE_AUTHOR("Embedded Edge, LLC");
+MODULE_DESCRIPTION("Pb1550 mtd map driver");
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/drivers/mtd/maps/pb1xxx-flash.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/maps/pb1xxx-flash.c
-+++ linux-2.4.35.4/drivers/mtd/maps/pb1xxx-flash.c
+--- a/drivers/mtd/maps/pb1xxx-flash.c
++++ b/drivers/mtd/maps/pb1xxx-flash.c
@@ -192,6 +192,34 @@ static struct mtd_partition pb1xxx_parti
#else
#error MTD_PB1500 define combo error /* should never happen */
#else
#error Unsupported board
#endif
-Index: linux-2.4.35.4/drivers/mtd/maps/xxs1500.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/mtd/maps/xxs1500.c
++++ b/drivers/mtd/maps/xxs1500.c
@@ -0,0 +1,186 @@
+/*
+ * Flash memory access on MyCable XXS1500 board
+MODULE_AUTHOR("Pete Popov");
+MODULE_DESCRIPTION("XXS1500 CFI map driver");
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/drivers/net/defxx.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/defxx.c
-+++ linux-2.4.35.4/drivers/net/defxx.c
+--- a/drivers/net/defxx.c
++++ b/drivers/net/defxx.c
@@ -10,24 +10,18 @@
*
* Abstract:
MODULE_LICENSE("GPL");
\f
-Index: linux-2.4.35.4/drivers/net/defxx.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/defxx.h
-+++ linux-2.4.35.4/drivers/net/defxx.h
+--- a/drivers/net/defxx.h
++++ b/drivers/net/defxx.h
@@ -12,17 +12,11 @@
* Contains all definitions specified by port specification and required
* by the defxx.c driver.
struct pci_dev * pci_dev;
u32 full_duplex_enb; /* FDDI Full Duplex enable (1 == on, 2 == off) */
u32 req_ttrt; /* requested TTRT value (in 80ns units) */
-Index: linux-2.4.35.4/drivers/net/hamradio/hdlcdrv.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/hamradio/hdlcdrv.c
-+++ linux-2.4.35.4/drivers/net/hamradio/hdlcdrv.c
+--- a/drivers/net/hamradio/hdlcdrv.c
++++ b/drivers/net/hamradio/hdlcdrv.c
@@ -587,6 +587,8 @@ static int hdlcdrv_close(struct net_devi
return -EINVAL;
s = (struct hdlcdrv_state *)dev->priv;
if (s->ops && s->ops->close)
i = s->ops->close(dev);
if (s->skb)
-Index: linux-2.4.35.4/drivers/net/irda/au1k_ir.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/irda/au1k_ir.c
-+++ linux-2.4.35.4/drivers/net/irda/au1k_ir.c
+--- a/drivers/net/irda/au1k_ir.c
++++ b/drivers/net/irda/au1k_ir.c
@@ -81,10 +81,6 @@ static char version[] __devinitdata =
#define RUN_AT(x) (jiffies + (x))
static spinlock_t ir_lock = SPIN_LOCK_UNLOCKED;
/*
-Index: linux-2.4.35.4/drivers/net/sgiseeq.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/sgiseeq.c
-+++ linux-2.4.35.4/drivers/net/sgiseeq.c
+--- a/drivers/net/sgiseeq.c
++++ b/drivers/net/sgiseeq.c
@@ -24,16 +24,16 @@
#include <asm/io.h>
#include <asm/system.h>
+MODULE_DESCRIPTION("SGI Seeq 8003 driver");
+MODULE_AUTHOR("David S. Miller");
MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/drivers/pci/pci.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/pci/pci.c
-+++ linux-2.4.35.4/drivers/pci/pci.c
+--- a/drivers/pci/pci.c
++++ b/drivers/pci/pci.c
@@ -1281,11 +1281,17 @@ static int __devinit pci_scan_bridge(str
{
unsigned int buses;
sprintf(child->name, (is_cardbus ? "PCI CardBus #%02x" : "PCI Bus #%02x"), child->number);
return max;
}
-Index: linux-2.4.35.4/drivers/pcmcia/au1000_db1x00.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/pcmcia/au1000_db1x00.c
-+++ linux-2.4.35.4/drivers/pcmcia/au1000_db1x00.c
+--- a/drivers/pcmcia/au1000_db1x00.c
++++ b/drivers/pcmcia/au1000_db1x00.c
@@ -1,6 +1,6 @@
/*
*
return 0;
}
-Index: linux-2.4.35.4/drivers/pcmcia/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/pcmcia/Config.in
-+++ linux-2.4.35.4/drivers/pcmcia/Config.in
+--- a/drivers/pcmcia/Config.in
++++ b/drivers/pcmcia/Config.in
@@ -30,16 +30,14 @@ if [ "$CONFIG_PCMCIA" != "n" ]; then
dep_tristate ' M8xx support' CONFIG_PCMCIA_M8XX $CONFIG_PCMCIA
fi
if [ "$CONFIG_VRC4173" = "y" -o "$CONFIG_VRC4173" = "m" ]; then
dep_tristate ' NEC VRC4173 CARDU support' CONFIG_PCMCIA_VRC4173 $CONFIG_PCMCIA
fi
-Index: linux-2.4.35.4/drivers/pcmcia/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/pcmcia/Makefile
-+++ linux-2.4.35.4/drivers/pcmcia/Makefile
+--- a/drivers/pcmcia/Makefile
++++ b/drivers/pcmcia/Makefile
@@ -61,9 +61,18 @@ endif
obj-$(CONFIG_PCMCIA_AU1X00) += au1x00_ss.o
obj-$(CONFIG_PCMCIA_VRC4173) += vrc4173_cardu.o
include $(TOPDIR)/Rules.make
-Index: linux-2.4.35.4/drivers/pcmcia/vrc4171_card.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/pcmcia/vrc4171_card.c
++++ b/drivers/pcmcia/vrc4171_card.c
@@ -0,0 +1,886 @@
+/*
+ * vrc4171_card.c, NEC VRC4171 Card Controller driver for Socket Services.
+
+module_init(vrc4171_card_init);
+module_exit(vrc4171_card_exit);
-Index: linux-2.4.35.4/drivers/scsi/NCR53C9x.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/scsi/NCR53C9x.h
-+++ linux-2.4.35.4/drivers/scsi/NCR53C9x.h
+--- a/drivers/scsi/NCR53C9x.h
++++ b/drivers/scsi/NCR53C9x.h
@@ -144,12 +144,7 @@
#ifndef MULTIPLE_PAD_SIZES
#define esp_read(__reg) (__reg)
struct ESP_regs {
-Index: linux-2.4.35.4/drivers/sound/au1550_i2s.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/sound/au1550_i2s.c
-+++ linux-2.4.35.4/drivers/sound/au1550_i2s.c
+--- a/drivers/sound/au1550_i2s.c
++++ b/drivers/sound/au1550_i2s.c
@@ -41,6 +41,7 @@
* 675 Mass Ave, Cambridge, MA 02139, USA.
*
err_dev1:
au1xxx_dbdma_chan_free(s->dma_adc.dmanr);
err_dma2:
-Index: linux-2.4.35.4/drivers/sound/au1550_psc.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/sound/au1550_psc.c
-+++ linux-2.4.35.4/drivers/sound/au1550_psc.c
+--- a/drivers/sound/au1550_psc.c
++++ b/drivers/sound/au1550_psc.c
@@ -30,6 +30,7 @@
* 675 Mass Ave, Cambridge, MA 02139, USA.
*
return 0;
err_dev3:
-Index: linux-2.4.35.4/drivers/sound/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/sound/Config.in
-+++ linux-2.4.35.4/drivers/sound/Config.in
+--- a/drivers/sound/Config.in
++++ b/drivers/sound/Config.in
@@ -72,10 +72,15 @@ fi
if [ "$CONFIG_DDB5477" = "y" ]; then
dep_tristate ' NEC Vrc5477 AC97 sound' CONFIG_SOUND_VRC5477 $CONFIG_SOUND
fi
dep_tristate ' Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core' CONFIG_SOUND_TRIDENT $CONFIG_SOUND $CONFIG_PCI
-Index: linux-2.4.35.4/drivers/tc/lk201.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/tc/lk201.c
-+++ linux-2.4.35.4/drivers/tc/lk201.c
+--- a/drivers/tc/lk201.c
++++ b/drivers/tc/lk201.c
@@ -5,7 +5,7 @@
* for more details.
*
+ if (!register_dec_serial_hook(keyb_line, &lk201_hook))
+ unregister_dec_serial_hook(keyb_line);
}
-Index: linux-2.4.35.4/drivers/tc/zs.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/tc/zs.c
-+++ linux-2.4.35.4/drivers/tc/zs.c
+--- a/drivers/tc/zs.c
++++ b/drivers/tc/zs.c
@@ -68,6 +68,8 @@
#include <asm/bitops.h>
#include <asm/uaccess.h>
}
void __init zs_kgdb_hook(int tty_num)
-Index: linux-2.4.35.4/drivers/tc/zs.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/tc/zs.h
-+++ linux-2.4.35.4/drivers/tc/zs.h
+--- a/drivers/tc/zs.h
++++ b/drivers/tc/zs.h
@@ -1,14 +1,18 @@
/*
- * macserial.h: Definitions for the Macintosh Z8530 serial driver.
unsigned char *xmit_buf;
int xmit_head;
int xmit_tail;
-Index: linux-2.4.35.4/drivers/video/au1200fb.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/video/au1200fb.c
++++ b/drivers/video/au1200fb.c
@@ -0,0 +1,1564 @@
+/*
+ * BRIEF MODULE DESCRIPTION
+#endif /* MODULE */
+
+
-Index: linux-2.4.35.4/drivers/video/au1200fb.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/video/au1200fb.h
++++ b/drivers/video/au1200fb.h
@@ -0,0 +1,288 @@
+/*
+ * BRIEF MODULE DESCRIPTION
+
+/********************************************************************/
+#endif /* _AU1200LCD_H */
-Index: linux-2.4.35.4/drivers/video/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/video/Config.in
-+++ linux-2.4.35.4/drivers/video/Config.in
+--- a/drivers/video/Config.in
++++ b/drivers/video/Config.in
@@ -87,8 +87,8 @@ if [ "$CONFIG_FB" = "y" ]; then
if [ "$CONFIG_HP300" = "y" ]; then
define_bool CONFIG_FB_HP300 y
fi
fi
fi
-Index: linux-2.4.35.4/drivers/video/fbmem.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/video/fbmem.c
-+++ linux-2.4.35.4/drivers/video/fbmem.c
+--- a/drivers/video/fbmem.c
++++ b/drivers/video/fbmem.c
@@ -139,6 +139,8 @@ extern int e1356fb_init(void);
extern int e1356fb_setup(char*);
extern int au1100fb_init(void);
#ifdef CONFIG_FB_IT8181
{ "it8181fb", it8181fb_init, it8181fb_setup },
#endif
-Index: linux-2.4.35.4/drivers/video/ims332.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/video/ims332.h
++++ b/drivers/video/ims332.h
@@ -0,0 +1,275 @@
+/*
+ * linux/drivers/video/ims332.h
+ IMS332_CTRL_A_BOOT_ENABLE_VTG);
+ printk("\n");
+}
-Index: linux-2.4.35.4/drivers/video/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/video/Makefile
-+++ linux-2.4.35.4/drivers/video/Makefile
+--- a/drivers/video/Makefile
++++ b/drivers/video/Makefile
@@ -87,6 +87,7 @@ obj-$(CONFIG_FB_PMAGB_B) += pma
obj-$(CONFIG_FB_MAXINE) += maxinefb.o
obj-$(CONFIG_FB_TX3912) += tx3912fb.o
obj-$(CONFIG_FB_IT8181) += it8181fb.o fbgen.o
subdir-$(CONFIG_STI_CONSOLE) += sti
-Index: linux-2.4.35.4/drivers/video/maxinefb.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/video/maxinefb.h
+--- a/drivers/video/maxinefb.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
-#define IMS332_REG_COLOR_PALETTE 0x100 /* color palette, 256 entries */
-#define IMS332_REG_CURSOR_COLOR_PALETTE 0x0a1 /* cursor color palette, */
- /* 3 entries */
-Index: linux-2.4.35.4/drivers/video/newport_con.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/video/newport_con.c
-+++ linux-2.4.35.4/drivers/video/newport_con.c
+--- a/drivers/video/newport_con.c
++++ b/drivers/video/newport_con.c
@@ -22,6 +22,7 @@
#include <linux/module.h>
#include <linux/slab.h>
}
module_init(newport_console_init);
-Index: linux-2.4.35.4/drivers/video/tgafb.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/video/tgafb.c
-+++ linux-2.4.35.4/drivers/video/tgafb.c
+--- a/drivers/video/tgafb.c
++++ b/drivers/video/tgafb.c
@@ -45,6 +45,15 @@
#include <linux/console.h>
#include <asm/io.h>
return 0;
}
-Index: linux-2.4.35.4/drivers/video/tgafb.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/video/tgafb.h
-+++ linux-2.4.35.4/drivers/video/tgafb.h
+--- a/drivers/video/tgafb.h
++++ b/drivers/video/tgafb.h
@@ -36,6 +36,7 @@
#define TGA_RASTEROP_REG 0x0034
#define TGA_PIXELSHIFT_REG 0x0038
#define TGA_PIXELMASK_REG 0x005c
#define TGA_CURSOR_BASE_REG 0x0060
#define TGA_HORIZ_REG 0x0064
-Index: linux-2.4.35.4/fs/binfmt_elf.c
-===================================================================
---- linux-2.4.35.4.orig/fs/binfmt_elf.c
-+++ linux-2.4.35.4/fs/binfmt_elf.c
+--- a/fs/binfmt_elf.c
++++ b/fs/binfmt_elf.c
@@ -665,6 +665,9 @@ static int load_elf_binary(struct linux_
bprm->argc++;
}
elf.e_ehsize = sizeof(elf);
elf.e_phentsize = sizeof(struct elf_phdr);
elf.e_phnum = segs+1; /* Include notes */
-Index: linux-2.4.35.4/fs/partitions/sgi.c
-===================================================================
---- linux-2.4.35.4.orig/fs/partitions/sgi.c
-+++ linux-2.4.35.4/fs/partitions/sgi.c
+--- a/fs/partitions/sgi.c
++++ b/fs/partitions/sgi.c
@@ -17,6 +17,11 @@
#include "check.h"
#include "sgi.h"
current_minor++;
}
printk("\n");
-Index: linux-2.4.35.4/fs/proc/array.c
-===================================================================
---- linux-2.4.35.4.orig/fs/proc/array.c
-+++ linux-2.4.35.4/fs/proc/array.c
+--- a/fs/proc/array.c
++++ b/fs/proc/array.c
@@ -368,15 +368,15 @@ int proc_pid_stat(struct task_struct *ta
task->cmin_flt,
task->maj_flt,
return len;
}
-Index: linux-2.4.35.4/fs/proc/proc_misc.c
-===================================================================
---- linux-2.4.35.4.orig/fs/proc/proc_misc.c
-+++ linux-2.4.35.4/fs/proc/proc_misc.c
+--- a/fs/proc/proc_misc.c
++++ b/fs/proc/proc_misc.c
@@ -308,16 +308,16 @@ static int kstat_read_proc(char *page, c
{
int i, len = 0;
+ kstat.per_cpu_nice[cpu_logical_map(i)] \
+ kstat.per_cpu_system[cpu_logical_map(i)]));
proc_sprintf(page, &off, &len,
-Index: linux-2.4.35.4/include/asm-alpha/param.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-alpha/param.h
-+++ linux-2.4.35.4/include/asm-alpha/param.h
+--- a/include/asm-alpha/param.h
++++ b/include/asm-alpha/param.h
@@ -13,6 +13,9 @@
# else
# define HZ 1200
#endif
#define EXEC_PAGESIZE 8192
-Index: linux-2.4.35.4/include/asm-i386/param.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-i386/param.h
-+++ linux-2.4.35.4/include/asm-i386/param.h
+--- a/include/asm-i386/param.h
++++ b/include/asm-i386/param.h
@@ -3,6 +3,9 @@
#ifndef HZ
#endif
#define EXEC_PAGESIZE 4096
-Index: linux-2.4.35.4/include/asm-ia64/param.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-ia64/param.h
-+++ linux-2.4.35.4/include/asm-ia64/param.h
+--- a/include/asm-ia64/param.h
++++ b/include/asm-ia64/param.h
@@ -7,9 +7,15 @@
* Based on <asm-i386/param.h>.
*
#define EXEC_PAGESIZE 65536
#ifndef NGROUPS
-Index: linux-2.4.35.4/include/asm-m68k/param.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-m68k/param.h
-+++ linux-2.4.35.4/include/asm-m68k/param.h
+--- a/include/asm-m68k/param.h
++++ b/include/asm-m68k/param.h
@@ -3,6 +3,9 @@
#ifndef HZ
#endif
#define EXEC_PAGESIZE 8192
-Index: linux-2.4.35.4/include/asm-mips/au1000_gpio.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/au1000_gpio.h
-+++ linux-2.4.35.4/include/asm-mips/au1000_gpio.h
+--- a/include/asm-mips/au1000_gpio.h
++++ b/include/asm-mips/au1000_gpio.h
@@ -30,6 +30,13 @@
* 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#endif
#endif
-Index: linux-2.4.35.4/include/asm-mips/au1000.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/au1000.h
-+++ linux-2.4.35.4/include/asm-mips/au1000.h
+--- a/include/asm-mips/au1000.h
++++ b/include/asm-mips/au1000.h
@@ -160,28 +160,356 @@ extern au1xxx_irq_map_t au1xxx_irq_map[]
#define ALLINTS (IE_IRQ0 | IE_IRQ1 | IE_IRQ2 | IE_IRQ3 | IE_IRQ4 | IE_IRQ5)
#endif
+
+#endif
+
-Index: linux-2.4.35.4/include/asm-mips/au1000_pcmcia.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/au1000_pcmcia.h
-+++ linux-2.4.35.4/include/asm-mips/au1000_pcmcia.h
+--- a/include/asm-mips/au1000_pcmcia.h
++++ b/include/asm-mips/au1000_pcmcia.h
@@ -38,16 +38,41 @@
#define AU1X_SOCK0_PHYS_MEM 0xF80000000
#endif
struct pcmcia_state {
-Index: linux-2.4.35.4/include/asm-mips/au1100_mmc.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/au1100_mmc.h
-+++ linux-2.4.35.4/include/asm-mips/au1100_mmc.h
+--- a/include/asm-mips/au1100_mmc.h
++++ b/include/asm-mips/au1100_mmc.h
@@ -39,16 +39,22 @@
#define __ASM_AU1100_MMC_H
+
#endif /* __ASM_AU1100_MMC_H */
-Index: linux-2.4.35.4/include/asm-mips/au1xxx_dbdma.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/au1xxx_dbdma.h
-+++ linux-2.4.35.4/include/asm-mips/au1xxx_dbdma.h
+--- a/include/asm-mips/au1xxx_dbdma.h
++++ b/include/asm-mips/au1xxx_dbdma.h
@@ -43,7 +43,7 @@
#define DDMA_GLOBAL_BASE 0xb4003000
#define DDMA_CHANNEL_BASE 0xb4002000
+
#endif /* _LANGUAGE_ASSEMBLY */
#endif /* _AU1000_DBDMA_H_ */
-Index: linux-2.4.35.4/include/asm-mips/au1xxx_gpio.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/asm-mips/au1xxx_gpio.h
++++ b/include/asm-mips/au1xxx_gpio.h
@@ -0,0 +1,22 @@
+
+
+} AU1X00_GPIO2;
+
+#endif //__AU1XXX_GPIO_H
-Index: linux-2.4.35.4/include/asm-mips/au1xxx_psc.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/au1xxx_psc.h
-+++ linux-2.4.35.4/include/asm-mips/au1xxx_psc.h
+--- a/include/asm-mips/au1xxx_psc.h
++++ b/include/asm-mips/au1xxx_psc.h
@@ -41,6 +41,11 @@
#define PSC3_BASE_ADDR 0xb0d00000
#endif
#define PSC_I2SCFG_WI (1 << 15)
#define PSC_I2SCFG_DIV_MASK (3 << 13)
-Index: linux-2.4.35.4/include/asm-mips/bootinfo.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/bootinfo.h
-+++ linux-2.4.35.4/include/asm-mips/bootinfo.h
+--- a/include/asm-mips/bootinfo.h
++++ b/include/asm-mips/bootinfo.h
@@ -180,6 +180,9 @@
#define MACH_MTX1 7 /* 4G MTX-1 Au1500-based board */
#define MACH_CSB250 8 /* Cogent Au1500 */
/*
* Valid machtype for group NEC_VR41XX
-Index: linux-2.4.35.4/include/asm-mips/db1200.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/asm-mips/db1200.h
++++ b/include/asm-mips/db1200.h
@@ -0,0 +1,214 @@
+/*
+ * AMD Alchemy DB1200 Referrence Board
+
+#endif /* __ASM_DB1200_H */
+
-Index: linux-2.4.35.4/include/asm-mips/db1x00.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/db1x00.h
-+++ linux-2.4.35.4/include/asm-mips/db1x00.h
+--- a/include/asm-mips/db1x00.h
++++ b/include/asm-mips/db1x00.h
@@ -1,5 +1,5 @@
/*
- * AMD Alchemy DB1x00 Reference Boards
#endif /* __ASM_DB1X00_H */
-Index: linux-2.4.35.4/include/asm-mips/elf.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/elf.h
-+++ linux-2.4.35.4/include/asm-mips/elf.h
+--- a/include/asm-mips/elf.h
++++ b/include/asm-mips/elf.h
@@ -66,9 +66,10 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N
#define USE_ELF_CORE_DUMP
#define ELF_EXEC_PAGESIZE PAGE_SIZE
/* This yields a mask that user programs can use to figure out what
instruction set this cpu supports. This could be done in userspace,
-Index: linux-2.4.35.4/include/asm-mips/ficmmp.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/asm-mips/ficmmp.h
++++ b/include/asm-mips/ficmmp.h
@@ -0,0 +1,156 @@
+/*
+ * FIC MMP
+
+#endif /* __ASM_FICMMP_H */
+
-Index: linux-2.4.35.4/include/asm-mips/hazards.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/hazards.h
-+++ linux-2.4.35.4/include/asm-mips/hazards.h
+--- a/include/asm-mips/hazards.h
++++ b/include/asm-mips/hazards.h
@@ -3,7 +3,7 @@
* License. See the file "COPYING" in the main directory of this archive
* for more details.
+#endif /* __ASSEMBLY__ */
+
#endif /* _ASM_HAZARDS_H */
-Index: linux-2.4.35.4/include/asm-mips/ide.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/ide.h
-+++ linux-2.4.35.4/include/asm-mips/ide.h
+--- a/include/asm-mips/ide.h
++++ b/include/asm-mips/ide.h
@@ -32,12 +32,12 @@ struct ide_ops {
extern struct ide_ops *ide_ops;
#endif /* __KERNEL__ */
-Index: linux-2.4.35.4/include/asm-mips/io.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/io.h
-+++ linux-2.4.35.4/include/asm-mips/io.h
+--- a/include/asm-mips/io.h
++++ b/include/asm-mips/io.h
@@ -392,7 +392,8 @@ static inline unsigned int inl_p(unsigne
return __ioswab32(__val);
}
{
while (count--) {
outl(*(u32 *)addr, port);
-Index: linux-2.4.35.4/include/asm-mips/mipsregs.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/mipsregs.h
-+++ linux-2.4.35.4/include/asm-mips/mipsregs.h
+--- a/include/asm-mips/mipsregs.h
++++ b/include/asm-mips/mipsregs.h
@@ -757,10 +757,18 @@ do { \
#define read_c0_config1() __read_32bit_c0_register($16, 1)
#define read_c0_config2() __read_32bit_c0_register($16, 2)
}
/*
-Index: linux-2.4.35.4/include/asm-mips/mmu_context.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/mmu_context.h
-+++ linux-2.4.35.4/include/asm-mips/mmu_context.h
+--- a/include/asm-mips/mmu_context.h
++++ b/include/asm-mips/mmu_context.h
@@ -27,7 +27,7 @@
#define TLBMISS_HANDLER_SETUP_PGD(pgd) \
pgd_current[smp_processor_id()] = (unsigned long)(pgd)
TLBMISS_HANDLER_SETUP_PGD(swapper_pg_dir)
extern unsigned long pgd_current[];
-Index: linux-2.4.35.4/include/asm-mips/pb1100.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/pb1100.h
-+++ linux-2.4.35.4/include/asm-mips/pb1100.h
+--- a/include/asm-mips/pb1100.h
++++ b/include/asm-mips/pb1100.h
@@ -1,5 +1,5 @@
/*
- * Alchemy Semi PB1100 Referrence Board
#endif /* __ASM_PB1100_H */
+
-Index: linux-2.4.35.4/include/asm-mips/pb1200.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/asm-mips/pb1200.h
++++ b/include/asm-mips/pb1200.h
@@ -0,0 +1,244 @@
+/*
+ * AMD Alchemy PB1200 Referrence Board
+
+#endif /* __ASM_PB1200_H */
+
-Index: linux-2.4.35.4/include/asm-mips/pb1550.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/pb1550.h
-+++ linux-2.4.35.4/include/asm-mips/pb1550.h
+--- a/include/asm-mips/pb1550.h
++++ b/include/asm-mips/pb1550.h
@@ -30,13 +30,11 @@
#define DBDMA_AC97_TX_CHAN DSCR_CMD0_PSC1_TX
+#define AU1XXX_SMC91111_IRQ AU1000_GPIO_3
#endif /* __ASM_PB1550_H */
-Index: linux-2.4.35.4/include/asm-mips/reg.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/reg.h
-+++ linux-2.4.35.4/include/asm-mips/reg.h
+--- a/include/asm-mips/reg.h
++++ b/include/asm-mips/reg.h
@@ -45,6 +45,9 @@
/*
* k0/k1 unsaved
#define EF_SIZE 180 /* size in bytes */
-Index: linux-2.4.35.4/include/asm-mips/sgi/hpc3.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/sgi/hpc3.h
-+++ linux-2.4.35.4/include/asm-mips/sgi/hpc3.h
+--- a/include/asm-mips/sgi/hpc3.h
++++ b/include/asm-mips/sgi/hpc3.h
@@ -128,26 +128,26 @@ struct hpc3_ethregs {
volatile u32 rx_gfptr; /* current GIO fifo ptr */
volatile u32 rx_dfptr; /* current device fifo ptr */
* It is possible to have two HPC3's within the address space on
* one machine, though only having one is more likely on an Indy.
*/
-Index: linux-2.4.35.4/include/asm-mips/tx4927/tx4927.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/tx4927/tx4927.h
-+++ linux-2.4.35.4/include/asm-mips/tx4927/tx4927.h
+--- a/include/asm-mips/tx4927/tx4927.h
++++ b/include/asm-mips/tx4927/tx4927.h
@@ -88,8 +88,8 @@
#define TX4927_ACLC_ACSEMAPH 0xf720
#define TX4927_ACLC_ACGPIDAT 0xf740
#define TX4927_ACLC_ACGPODAT 0xf744
-Index: linux-2.4.35.4/include/asm-mips/unistd.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/unistd.h
-+++ linux-2.4.35.4/include/asm-mips/unistd.h
+--- a/include/asm-mips/unistd.h
++++ b/include/asm-mips/unistd.h
@@ -760,7 +760,7 @@ type name(void) \
if (__a3 == 0) \
return (type) __v0; \
}
#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */
-Index: linux-2.4.35.4/include/asm-mips64/checksum.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips64/checksum.h
-+++ linux-2.4.35.4/include/asm-mips64/checksum.h
+--- a/include/asm-mips64/checksum.h
++++ b/include/asm-mips64/checksum.h
@@ -144,7 +144,7 @@ static inline unsigned long csum_tcpudp_
"daddu\t%0, %4\n\t"
"dsll32\t$1, %0, 0\n\t"
".set\tat"
: "=&r" (sum)
: "0" (daddr), "r"(saddr),
-Index: linux-2.4.35.4/include/asm-mips64/elf.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips64/elf.h
-+++ linux-2.4.35.4/include/asm-mips64/elf.h
+--- a/include/asm-mips64/elf.h
++++ b/include/asm-mips64/elf.h
@@ -64,9 +64,10 @@ typedef elf_fpreg_t elf_fpregset_t[ELF_N
#define USE_ELF_CORE_DUMP
#define ELF_EXEC_PAGESIZE PAGE_SIZE
/* This yields a mask that user programs can use to figure out what
instruction set this cpu supports. This could be done in userspace,
-Index: linux-2.4.35.4/include/asm-mips64/hazards.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips64/hazards.h
-+++ linux-2.4.35.4/include/asm-mips64/hazards.h
+--- a/include/asm-mips64/hazards.h
++++ b/include/asm-mips64/hazards.h
@@ -3,7 +3,7 @@
* License. See the file "COPYING" in the main directory of this archive
* for more details.
+#endif /* __ASSEMBLY__ */
+
#endif /* _ASM_HAZARDS_H */
-Index: linux-2.4.35.4/include/asm-mips64/ide.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips64/ide.h
-+++ linux-2.4.35.4/include/asm-mips64/ide.h
+--- a/include/asm-mips64/ide.h
++++ b/include/asm-mips64/ide.h
@@ -32,12 +32,12 @@ struct ide_ops {
extern struct ide_ops *ide_ops;
#endif /* __KERNEL__ */
-Index: linux-2.4.35.4/include/asm-mips64/io.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips64/io.h
-+++ linux-2.4.35.4/include/asm-mips64/io.h
+--- a/include/asm-mips64/io.h
++++ b/include/asm-mips64/io.h
@@ -414,7 +414,8 @@ static inline unsigned int inl_p(unsigne
return __ioswab32(__val);
}
{
while (count--) {
outl(*(u32 *)addr, port);
-Index: linux-2.4.35.4/include/asm-mips64/mipsregs.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips64/mipsregs.h
-+++ linux-2.4.35.4/include/asm-mips64/mipsregs.h
+--- a/include/asm-mips64/mipsregs.h
++++ b/include/asm-mips64/mipsregs.h
@@ -757,10 +757,18 @@ do { \
#define read_c0_config1() __read_32bit_c0_register($16, 1)
#define read_c0_config2() __read_32bit_c0_register($16, 2)
}
/*
-Index: linux-2.4.35.4/include/asm-mips64/reg.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips64/reg.h
-+++ linux-2.4.35.4/include/asm-mips64/reg.h
+--- a/include/asm-mips64/reg.h
++++ b/include/asm-mips64/reg.h
@@ -46,6 +46,9 @@
/*
* k0/k1 unsaved
#define EF_REG28 28
#define EF_REG29 29
#define EF_REG30 30
-Index: linux-2.4.35.4/include/asm-mips64/sgi/hpc3.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips64/sgi/hpc3.h
-+++ linux-2.4.35.4/include/asm-mips64/sgi/hpc3.h
+--- a/include/asm-mips64/sgi/hpc3.h
++++ b/include/asm-mips64/sgi/hpc3.h
@@ -128,26 +128,26 @@ struct hpc3_ethregs {
volatile u32 rx_gfptr; /* current GIO fifo ptr */
volatile u32 rx_dfptr; /* current device fifo ptr */
* It is possible to have two HPC3's within the address space on
* one machine, though only having one is more likely on an Indy.
*/
-Index: linux-2.4.35.4/include/asm-mips64/sn/nmi.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips64/sn/nmi.h
-+++ linux-2.4.35.4/include/asm-mips64/sn/nmi.h
+--- a/include/asm-mips64/sn/nmi.h
++++ b/include/asm-mips64/sn/nmi.h
@@ -8,7 +8,7 @@
#ifndef __ASM_SN_NMI_H
#define __ASM_SN_NMI_H
#include <asm/sn/addrs.h>
-Index: linux-2.4.35.4/include/asm-mips64/unistd.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips64/unistd.h
-+++ linux-2.4.35.4/include/asm-mips64/unistd.h
+--- a/include/asm-mips64/unistd.h
++++ b/include/asm-mips64/unistd.h
@@ -760,7 +760,7 @@ type name(void) \
if (__a3 == 0) \
return (type) __v0; \
}
#endif /* (_MIPS_SIM == _MIPS_SIM_NABI32) || (_MIPS_SIM == _MIPS_SIM_ABI64) */
-Index: linux-2.4.35.4/include/asm-ppc/param.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-ppc/param.h
-+++ linux-2.4.35.4/include/asm-ppc/param.h
+--- a/include/asm-ppc/param.h
++++ b/include/asm-ppc/param.h
@@ -3,6 +3,9 @@
#ifndef HZ
#endif
#define EXEC_PAGESIZE 4096
-Index: linux-2.4.35.4/include/asm-s390/param.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-s390/param.h
-+++ linux-2.4.35.4/include/asm-s390/param.h
+--- a/include/asm-s390/param.h
++++ b/include/asm-s390/param.h
@@ -11,6 +11,9 @@
#ifndef HZ
#endif
#define EXEC_PAGESIZE 4096
-Index: linux-2.4.35.4/include/asm-sh/param.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-sh/param.h
-+++ linux-2.4.35.4/include/asm-sh/param.h
+--- a/include/asm-sh/param.h
++++ b/include/asm-sh/param.h
@@ -3,6 +3,9 @@
#ifndef HZ
#endif
#define EXEC_PAGESIZE 4096
-Index: linux-2.4.35.4/include/asm-sparc/param.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-sparc/param.h
-+++ linux-2.4.35.4/include/asm-sparc/param.h
+--- a/include/asm-sparc/param.h
++++ b/include/asm-sparc/param.h
@@ -4,6 +4,9 @@
#ifndef HZ
#endif
#define EXEC_PAGESIZE 8192 /* Thanks for sun4's we carry baggage... */
-Index: linux-2.4.35.4/include/asm-sparc64/param.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-sparc64/param.h
-+++ linux-2.4.35.4/include/asm-sparc64/param.h
+--- a/include/asm-sparc64/param.h
++++ b/include/asm-sparc64/param.h
@@ -4,6 +4,9 @@
#ifndef HZ
#endif
#define EXEC_PAGESIZE 8192 /* Thanks for sun4's we carry baggage... */
-Index: linux-2.4.35.4/include/linux/i2c-algo-au1550.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/i2c-algo-au1550.h
++++ b/include/linux/i2c-algo-au1550.h
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2004 Embedded Edge, LLC <dan@embeddededge.com>
+int i2c_au1550_del_bus(struct i2c_adapter *);
+
+#endif /* I2C_ALGO_AU1550_H */
-Index: linux-2.4.35.4/include/linux/i2c-id.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/i2c-id.h
-+++ linux-2.4.35.4/include/linux/i2c-id.h
+--- a/include/linux/i2c-id.h
++++ b/include/linux/i2c-id.h
@@ -155,6 +155,8 @@
#define I2C_ALGO_SIBYTE 0x150000 /* Broadcom SiByte SOCs */
#define I2C_ALGO_SGI 0x160000 /* SGI algorithm */
/* --- SMBus only adapters */
#define I2C_HW_SMBUS_PIIX4 0x00
#define I2C_HW_SMBUS_ALI15X3 0x01
-Index: linux-2.4.35.4/include/linux/sched.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/sched.h
-+++ linux-2.4.35.4/include/linux/sched.h
+--- a/include/linux/sched.h
++++ b/include/linux/sched.h
@@ -617,6 +617,10 @@ asmlinkage long sys_wait4(pid_t pid,unsi
extern int in_group_p(gid_t);
extern int in_egroup_p(gid_t);
extern void proc_caches_init(void);
extern void flush_signals(struct task_struct *);
extern void flush_signal_handlers(struct task_struct *);
-Index: linux-2.4.35.4/include/linux/serial.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/serial.h
-+++ linux-2.4.35.4/include/linux/serial.h
+--- a/include/linux/serial.h
++++ b/include/linux/serial.h
@@ -75,7 +75,8 @@ struct serial_struct {
#define PORT_16654 11
#define PORT_16850 12
#define SERIAL_IO_PORT 0
#define SERIAL_IO_HUB6 1
-Index: linux-2.4.35.4/include/linux/swap.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/swap.h
-+++ linux-2.4.35.4/include/linux/swap.h
+--- a/include/linux/swap.h
++++ b/include/linux/swap.h
@@ -1,6 +1,12 @@
#ifndef _LINUX_SWAP_H
#define _LINUX_SWAP_H
/*
* Max bad pages in the new format..
*/
-Index: linux-2.4.35.4/include/video/newport.h
-===================================================================
---- linux-2.4.35.4.orig/include/video/newport.h
-+++ linux-2.4.35.4/include/video/newport.h
+--- a/include/video/newport.h
++++ b/include/video/newport.h
@@ -291,8 +291,6 @@ struct newport_regs {
unsigned int _unused2[0x1ef];
struct newport_cregs cgo;
while ((rex->set.dcbdata0.bybytes.b3 & 3) != XM9_FIFO_EMPTY)
;
-Index: linux-2.4.35.4/init/main.c
-===================================================================
---- linux-2.4.35.4.orig/init/main.c
-+++ linux-2.4.35.4/init/main.c
+--- a/init/main.c
++++ b/init/main.c
@@ -296,7 +296,6 @@ static void __init parse_options(char *l
unsigned long wait_init_idle;
-Index: linux-2.4.35.4/kernel/exit.c
-===================================================================
---- linux-2.4.35.4.orig/kernel/exit.c
-+++ linux-2.4.35.4/kernel/exit.c
+--- a/kernel/exit.c
++++ b/kernel/exit.c
@@ -26,7 +26,7 @@ extern struct task_struct *child_reaper;
int getrusage(struct task_struct *, int, struct rusage *);
{
if (p != current) {
#ifdef CONFIG_SMP
-Index: linux-2.4.35.4/kernel/signal.c
-===================================================================
---- linux-2.4.35.4.orig/kernel/signal.c
-+++ linux-2.4.35.4/kernel/signal.c
+--- a/kernel/signal.c
++++ b/kernel/signal.c
@@ -14,6 +14,7 @@
#include <linux/init.h>
#include <linux/sched.h>
status = tsk->exit_code & 0x7f;
why = SI_KERNEL; /* shouldn't happen */
-Index: linux-2.4.35.4/kernel/sys.c
-===================================================================
---- linux-2.4.35.4.orig/kernel/sys.c
-+++ linux-2.4.35.4/kernel/sys.c
+--- a/kernel/sys.c
++++ b/kernel/sys.c
@@ -801,16 +801,23 @@ asmlinkage long sys_setfsgid(gid_t gid)
asmlinkage long sys_times(struct tms * tbuf)
}
/*
-Index: linux-2.4.35.4/lib/Makefile
-===================================================================
---- linux-2.4.35.4.orig/lib/Makefile
-+++ linux-2.4.35.4/lib/Makefile
+--- a/lib/Makefile
++++ b/lib/Makefile
@@ -27,6 +27,7 @@ obj-$(CONFIG_CRC32) += crc32.o
subdir-$(CONFIG_ZLIB_INFLATE) += zlib_inflate
subdir-$(CONFIG_ZLIB_DEFLATE) += zlib_deflate
include $(TOPDIR)/drivers/net/Makefile.lib
include $(TOPDIR)/drivers/usb/Makefile.lib
include $(TOPDIR)/drivers/bluetooth/Makefile.lib
-Index: linux-2.4.35.4/Makefile
-===================================================================
---- linux-2.4.35.4.orig/Makefile
-+++ linux-2.4.35.4/Makefile
+--- a/Makefile
++++ b/Makefile
@@ -469,10 +469,11 @@ mrproper: clean archmrproper
$(MAKE) -C Documentation/DocBook mrproper
-Index: linux-2.4.35.4/fs/Config.in
-===================================================================
---- linux-2.4.35.4.orig/fs/Config.in
-+++ linux-2.4.35.4/fs/Config.in
+--- a/fs/Config.in
++++ b/fs/Config.in
@@ -51,6 +51,14 @@ if [ "$CONFIG_JFFS2_FS" = "y" -o "$CONFI
int 'JFFS2 debugging verbosity (0 = quiet, 2 = noisy)' CONFIG_JFFS2_FS_DEBUG 0
fi
bool 'Virtual memory file system support (former shm fs)' CONFIG_TMPFS
define_bool CONFIG_RAMFS y
-Index: linux-2.4.35.4/fs/Makefile
-===================================================================
---- linux-2.4.35.4.orig/fs/Makefile
-+++ linux-2.4.35.4/fs/Makefile
+--- a/fs/Makefile
++++ b/fs/Makefile
@@ -65,6 +65,7 @@ subdir-$(CONFIG_REISERFS_FS) += reiserfs
subdir-$(CONFIG_DEVPTS_FS) += devpts
subdir-$(CONFIG_SUN_OPENPROMFS) += openpromfs
subdir-$(CONFIG_JFS_FS) += jfs
subdir-$(CONFIG_XFS_FS) += xfs
-Index: linux-2.4.35.4/fs/squashfs/inode.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/squashfs/inode.c
++++ b/fs/squashfs/inode.c
@@ -0,0 +1,2028 @@
+/*
+ * Squashfs - a compressed read only filesystem for Linux
+MODULE_DESCRIPTION("squashfs, a compressed read-only filesystem");
+MODULE_AUTHOR("Phillip Lougher <phillip@lougher.org.uk>");
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/fs/squashfs/Makefile
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/squashfs/Makefile
++++ b/fs/squashfs/Makefile
@@ -0,0 +1,11 @@
+#
+# Makefile for the linux squashfs routines.
+obj-m := $(O_TARGET)
+
+include $(TOPDIR)/Rules.make
-Index: linux-2.4.35.4/fs/squashfs/squashfs2_0.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/squashfs/squashfs2_0.c
++++ b/fs/squashfs/squashfs2_0.c
@@ -0,0 +1,751 @@
+/*
+ * Squashfs - a compressed read only filesystem for Linux
+
+ return 1;
+}
-Index: linux-2.4.35.4/fs/squashfs/squashfs.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/squashfs/squashfs.h
++++ b/fs/squashfs/squashfs.h
@@ -0,0 +1,85 @@
+/*
+ * Squashfs - a compressed read only filesystem for Linux
+ return 0;
+}
+#endif
-Index: linux-2.4.35.4/include/linux/fs.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/fs.h
-+++ linux-2.4.35.4/include/linux/fs.h
+--- a/include/linux/fs.h
++++ b/include/linux/fs.h
@@ -324,6 +324,7 @@ extern void set_bh_page(struct buffer_he
#include <linux/usbdev_fs_i.h>
#include <linux/jffs2_fs_i.h>
void *generic_sbp;
} u;
/*
-Index: linux-2.4.35.4/include/linux/squashfs_fs.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/squashfs_fs.h
++++ b/include/linux/squashfs_fs.h
@@ -0,0 +1,915 @@
+#ifndef SQUASHFS_FS
+#define SQUASHFS_FS
+
+#endif
+#endif
-Index: linux-2.4.35.4/include/linux/squashfs_fs_i.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/squashfs_fs_i.h
++++ b/include/linux/squashfs_fs_i.h
@@ -0,0 +1,44 @@
+#ifndef SQUASHFS_FS_I
+#define SQUASHFS_FS_I
+ } u;
+};
+#endif
-Index: linux-2.4.35.4/include/linux/squashfs_fs_sb.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/squashfs_fs_sb.h
++++ b/include/linux/squashfs_fs_sb.h
@@ -0,0 +1,74 @@
+#ifndef SQUASHFS_FS_SB
+#define SQUASHFS_FS_SB
+ int (*read_fragment_index_table)(struct super_block *s);
+};
+#endif
-Index: linux-2.4.35.4/init/do_mounts.c
-===================================================================
---- linux-2.4.35.4.orig/init/do_mounts.c
-+++ linux-2.4.35.4/init/do_mounts.c
+--- a/init/do_mounts.c
++++ b/init/do_mounts.c
@@ -15,6 +15,7 @@
#include <linux/minix_fs.h>
#include <linux/ext2_fs.h>
/*
* Read block 1 to test for minix and ext2 superblock
*/
-Index: linux-2.4.35.4/lib/Config.in
-===================================================================
---- linux-2.4.35.4.orig/lib/Config.in
-+++ linux-2.4.35.4/lib/Config.in
+--- a/lib/Config.in
++++ b/lib/Config.in
@@ -10,6 +10,7 @@ tristate 'CRC32 functions' CONFIG_CRC32
# Do we need the compression support?
#
-Index: linux-2.4.35.4/fs/squashfs/inode.c
-===================================================================
---- linux-2.4.35.4.orig/fs/squashfs/inode.c
-+++ linux-2.4.35.4/fs/squashfs/inode.c
+--- a/fs/squashfs/inode.c
++++ b/fs/squashfs/inode.c
@@ -4,6 +4,9 @@
* Copyright (c) 2002, 2003, 2004, 2005, 2006
* Phillip Lougher <phillip@lougher.org.uk>
unregister_filesystem(&squashfs_fs_type);
}
-Index: linux-2.4.35.4/fs/squashfs/LzmaDecode.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/squashfs/LzmaDecode.c
++++ b/fs/squashfs/LzmaDecode.c
@@ -0,0 +1,663 @@
+/*
+ LzmaDecode.c
+ *outSizeProcessed = nowPos;
+ return LZMA_RESULT_OK;
+}
-Index: linux-2.4.35.4/fs/squashfs/LzmaDecode.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/squashfs/LzmaDecode.h
++++ b/fs/squashfs/LzmaDecode.h
@@ -0,0 +1,100 @@
+/*
+ LzmaDecode.h
+ UInt32 *outSizeProcessed);
+
+#endif
-Index: linux-2.4.35.4/fs/squashfs/Makefile
-===================================================================
---- linux-2.4.35.4.orig/fs/squashfs/Makefile
-+++ linux-2.4.35.4/fs/squashfs/Makefile
+--- a/fs/squashfs/Makefile
++++ b/fs/squashfs/Makefile
@@ -4,7 +4,7 @@
O_TARGET := squashfs.o
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -17580,6 +17580,32 @@ CONFIG_JFFS2_FS_DEBUG
If reporting bugs, please try to have available a full dump of the
messages at debug level 1 while the misbehaviour was occurring.
JFFS stats available in /proc filesystem
CONFIG_JFFS_PROC_FS
Enabling this option will cause statistics from mounted JFFS file systems
-Index: linux-2.4.35.4/fs/Config.in
-===================================================================
---- linux-2.4.35.4.orig/fs/Config.in
-+++ linux-2.4.35.4/fs/Config.in
+--- a/fs/Config.in
++++ b/fs/Config.in
@@ -50,6 +50,12 @@ dep_tristate 'Journalling Flash File Sys
if [ "$CONFIG_JFFS2_FS" = "y" -o "$CONFIG_JFFS2_FS" = "m" ] ; then
int 'JFFS2 debugging verbosity (0 = quiet, 2 = noisy)' CONFIG_JFFS2_FS_DEBUG 0
tristate 'Compressed ROM file system support' CONFIG_CRAMFS
tristate 'Squashed file system support' CONFIG_SQUASHFS
if [ "$CONFIG_SQUASHFS" = "y" -o "$CONFIG_SQUASHFS" = "m" ] ; then
-Index: linux-2.4.35.4/fs/jffs2/Config.in.bbc.inc
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/Config.in.bbc.inc
++++ b/fs/jffs2/Config.in.bbc.inc
@@ -0,0 +1,5 @@
+dep_mbool ' ARMLIB compression support for BBC (EXPERIMENTAL)' CONFIG_JFFS2_BBC_ARMLIB $CONFIG_JFFS2_FS
+dep_mbool ' LZO1X-* compression support for BBC (EXPERIMENTAL)' CONFIG_JFFS2_BBC_LZO $CONFIG_JFFS2_FS
+dep_mbool ' LZARI compression support for BBC (EXPERIMENTAL)' CONFIG_JFFS2_BBC_LZARI $CONFIG_JFFS2_FS
+dep_mbool ' LZHD compression support for BBC (EXPERIMENTAL)' CONFIG_JFFS2_BBC_LZHD $CONFIG_JFFS2_FS
+dep_mbool ' LZSS compression support for BBC (EXPERIMENTAL)' CONFIG_JFFS2_BBC_LZSS $CONFIG_JFFS2_FS
-Index: linux-2.4.35.4/fs/jffs2/Configure.help.bbc.inc
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/Configure.help.bbc.inc
++++ b/fs/jffs2/Configure.help.bbc.inc
@@ -0,0 +1,25 @@
+ARMLIB compression support for BBC (EXPERIMENTAL)
+CONFIG_JFFS2_BBC_ARMLIB
+ This enables simple LempelZiv-Storer-Szymanski compression for BBC
+ (faster than LZHD, and, and has a not-so-good compression ratio,
+ was included just for testing)
-Index: linux-2.4.35.4/fs/jffs2/Kconfig.bbc.inc
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/Kconfig.bbc.inc
++++ b/fs/jffs2/Kconfig.bbc.inc
@@ -0,0 +1,40 @@
+config JFFS2_BBC_ARMLIB
+ bool "ARMLIB compression support for BBC (EXPERIMENTAL)"
+ This enables simple LempelZiv-Storer-Szymanski compression for BBC
+ (faster than LZHD, and, and has a not-so-good compression ratio,
+ was included just for testing)
-Index: linux-2.4.35.4/fs/jffs2/Makefile
-===================================================================
---- linux-2.4.35.4.orig/fs/jffs2/Makefile
-+++ linux-2.4.35.4/fs/jffs2/Makefile
+--- a/fs/jffs2/Makefile
++++ b/fs/jffs2/Makefile
@@ -10,9 +10,23 @@
# Note 2! The CFLAGS definitions are now in the main makefile...
read.o nodemgmt.o readinode.o super.o write.o scan.o gc.o \
symlink.o build.o erase.o background.o
-Index: linux-2.4.35.4/fs/jffs2/Makefile.bbc.inc
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/Makefile.bbc.inc
++++ b/fs/jffs2/Makefile.bbc.inc
@@ -0,0 +1,12 @@
+JFFS2_BBC_KERNEL_OBJS-y = jffs2_bbc_framework.o jffs2_bbc_fs.o
+
+
+JFFS2_BBC_MKFS_OBJS = jffs2_bbc_mkfs.o jffs2_bbc_framework.o jffs2_bbc_armlib_comp.o jffs2_bbc_lzo_comp.o\
+ jffs2_bbc_lzss_comp.o jffs2_bbc_lzari_comp.o jffs2_bbc_lzhd_comp.o
-Index: linux-2.4.35.4/fs/jffs2/compr_zlib.c
-===================================================================
---- linux-2.4.35.4.orig/fs/jffs2/compr_zlib.c
-+++ linux-2.4.35.4/fs/jffs2/compr_zlib.c
+--- a/fs/jffs2/compr_zlib.c
++++ b/fs/jffs2/compr_zlib.c
@@ -85,7 +85,7 @@ void jffs2_zlib_exit(void)
vfree(inflate_workspace);
}
+ jffs2_zlib_decompress(data_in,cpage_out,srclen,destlen);
+}
+
-Index: linux-2.4.35.4/fs/jffs2/file.c
-===================================================================
---- linux-2.4.35.4.orig/fs/jffs2/file.c
-+++ linux-2.4.35.4/fs/jffs2/file.c
+--- a/fs/jffs2/file.c
++++ b/fs/jffs2/file.c
@@ -35,6 +35,7 @@
*
*/
comprtype = jffs2_compress(page_address(pg)+ (file_ofs & (PAGE_CACHE_SIZE-1)), comprbuf, &datalen, &cdatalen);
}
if (comprtype == JFFS2_COMPR_NONE) {
-Index: linux-2.4.35.4/fs/jffs2/gc.c
-===================================================================
---- linux-2.4.35.4.orig/fs/jffs2/gc.c
-+++ linux-2.4.35.4/fs/jffs2/gc.c
+--- a/fs/jffs2/gc.c
++++ b/fs/jffs2/gc.c
@@ -35,6 +35,7 @@
*
*/
comprtype = jffs2_compress(writebuf, comprbuf, &datalen, &cdatalen);
}
if (comprtype) {
-Index: linux-2.4.35.4/fs/jffs2/hpatch
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/hpatch
++++ b/fs/jffs2/hpatch
@@ -0,0 +1,191 @@
+#!/usr/bin/perl
+# A patch-like utility
+}
+file_end();
+close(CMD);
-Index: linux-2.4.35.4/fs/jffs2/jffs2_bbc_armlib_comp.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/jffs2_bbc_armlib_comp.c
++++ b/fs/jffs2/jffs2_bbc_armlib_comp.c
@@ -0,0 +1,2224 @@
+/*
+ * JFFS2-BBC: armlib compressor plugin
+}
+
+/*END OF ARMLIB*/
-Index: linux-2.4.35.4/fs/jffs2/jffs2_bbc_framework.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/jffs2_bbc_framework.c
++++ b/fs/jffs2/jffs2_bbc_framework.c
@@ -0,0 +1,1324 @@
+/*
+ * JFFS2-BBC: Compression Framework
+}
+
+#endif
-Index: linux-2.4.35.4/fs/jffs2/jffs2_bbc_framework.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/jffs2_bbc_framework.h
++++ b/fs/jffs2/jffs2_bbc_framework.h
@@ -0,0 +1,202 @@
+/*
+ * JFFS2-BBC: Compression Framework - headers
+int jffs2_bbc_get_memory_counter(void);
+
+#endif
-Index: linux-2.4.35.4/fs/jffs2/jffs2_bbc_fs.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/jffs2_bbc_fs.c
++++ b/fs/jffs2/jffs2_bbc_fs.c
@@ -0,0 +1,331 @@
+/*
+ * JFFS2-BBC: File System Extension for Linux Kernel
+ jffs2_bbc_compressor_deinit();
+ remove_proc_entry("jffs2_bbc", NULL);
+}
-Index: linux-2.4.35.4/fs/jffs2/jffs2_bbc_fs.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/jffs2_bbc_fs.h
++++ b/fs/jffs2/jffs2_bbc_fs.h
@@ -0,0 +1,30 @@
+/*
+ * JFFS2 BBC: File System Extension for Linux Kernel - headers
+
+void jffs2_bbc_proc_init(void);
+void jffs2_bbc_proc_deinit(void);
-Index: linux-2.4.35.4/fs/jffs2/jffs2_bbc_lzari_comp.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/jffs2_bbc_lzari_comp.c
++++ b/fs/jffs2/jffs2_bbc_lzari_comp.c
@@ -0,0 +1,788 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+
+{
+ jffs2_bbc_unregister_compressor (&jffs2_bbc_lzari);
+}
-Index: linux-2.4.35.4/fs/jffs2/jffs2_bbc_lzhd_comp.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/jffs2_bbc_lzhd_comp.c
++++ b/fs/jffs2/jffs2_bbc_lzhd_comp.c
@@ -0,0 +1,747 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+
+{
+ jffs2_bbc_unregister_compressor (&jffs2_bbc_lzhd);
+}
-Index: linux-2.4.35.4/fs/jffs2/jffs2_bbc_lzo_comp.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/jffs2_bbc_lzo_comp.c
++++ b/fs/jffs2/jffs2_bbc_lzo_comp.c
@@ -0,0 +1,2435 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+
+{
+ jffs2_bbc_unregister_compressor (&jffs2_bbc_lzo);
+}
-Index: linux-2.4.35.4/fs/jffs2/jffs2_bbc_lzss_comp.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/jffs2_bbc_lzss_comp.c
++++ b/fs/jffs2/jffs2_bbc_lzss_comp.c
@@ -0,0 +1,385 @@
+/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
+
+{
+ jffs2_bbc_unregister_compressor (&jffs2_bbc_lzss);
+}
-Index: linux-2.4.35.4/fs/jffs2/linux-2.4.25.hpatch
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/jffs2/linux-2.4.25.hpatch
++++ b/fs/jffs2/linux-2.4.25.hpatch
@@ -0,0 +1,97 @@
+FMakefile
+=BBC insertion
+?{
++ jffs2_bbc_proc_deinit(); /**BBC**/
++
-Index: linux-2.4.35.4/fs/jffs2/read.c
-===================================================================
---- linux-2.4.35.4.orig/fs/jffs2/read.c
-+++ linux-2.4.35.4/fs/jffs2/read.c
+--- a/fs/jffs2/read.c
++++ b/fs/jffs2/read.c
@@ -35,6 +35,7 @@
*
*/
ret = jffs2_decompress(ri->compr, readbuf, decomprbuf, ri->csize, ri->dsize);
if (ret) {
printk(KERN_WARNING "Error: jffs2_decompress returned %d\n", ret);
-Index: linux-2.4.35.4/fs/jffs2/super.c
-===================================================================
---- linux-2.4.35.4.orig/fs/jffs2/super.c
-+++ linux-2.4.35.4/fs/jffs2/super.c
+--- a/fs/jffs2/super.c
++++ b/fs/jffs2/super.c
@@ -35,6 +35,7 @@
*
*/
-Index: linux-2.4.35.4/include/asm-mips/param.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/param.h
-+++ linux-2.4.35.4/include/asm-mips/param.h
+--- a/include/asm-mips/param.h
++++ b/include/asm-mips/param.h
@@ -55,7 +55,7 @@
#endif /* defined(__KERNEL__) */
#endif /* defined(HZ) */
-Index: linux-2.4.35.4/drivers/mtd/chips/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/chips/Config.in
-+++ linux-2.4.35.4/drivers/mtd/chips/Config.in
+--- a/drivers/mtd/chips/Config.in
++++ b/drivers/mtd/chips/Config.in
@@ -45,6 +45,7 @@ fi
dep_tristate ' Support for Intel/Sharp flash chips' CONFIG_MTD_CFI_INTELEXT $CONFIG_MTD_GEN_PROBE
dep_tristate ' Support for AMD/Fujitsu flash chips' CONFIG_MTD_CFI_AMDSTD $CONFIG_MTD_GEN_PROBE
dep_tristate ' Support for RAM chips in bus mapping' CONFIG_MTD_RAM $CONFIG_MTD
dep_tristate ' Support for ROM chips in bus mapping' CONFIG_MTD_ROM $CONFIG_MTD
-Index: linux-2.4.35.4/drivers/mtd/chips/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/chips/Makefile
-+++ linux-2.4.35.4/drivers/mtd/chips/Makefile
+--- a/drivers/mtd/chips/Makefile
++++ b/drivers/mtd/chips/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_MTD) += chipreg.o
obj-$(CONFIG_MTD_AMDSTD) += amd_flash.o
obj-$(CONFIG_MTD_CFI) += cfi_probe.o
obj-$(CONFIG_MTD_CFI_AMDSTD) += cfi_cmdset_0002.o
obj-$(CONFIG_MTD_CFI_INTELEXT) += cfi_cmdset_0001.o
obj-$(CONFIG_MTD_GEN_PROBE) += gen_probe.o
-Index: linux-2.4.35.4/drivers/mtd/chips/cfi_cmdset_0701.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/mtd/chips/cfi_cmdset_0701.c
++++ b/drivers/mtd/chips/cfi_cmdset_0701.c
@@ -0,0 +1,855 @@
+/*
+ * Common Flash Interface support:
+module_init(cfi_sststd_init);
+module_exit(cfi_sststd_exit);
+
-Index: linux-2.4.35.4/drivers/mtd/chips/cfi_probe.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/chips/cfi_probe.c
-+++ linux-2.4.35.4/drivers/mtd/chips/cfi_probe.c
+--- a/drivers/mtd/chips/cfi_probe.c
++++ b/drivers/mtd/chips/cfi_probe.c
@@ -67,8 +67,15 @@ static int cfi_probe_chip(struct map_inf
cfi_send_gen_cmd(0xF0, 0, base, map, cfi, cfi->device_type, NULL);
cfi_send_gen_cmd(0x98, 0x55, base, map, cfi, cfi->device_type, NULL);
if (!cfi->numchips) {
/* This is the first time we're called. Set up the CFI
-Index: linux-2.4.35.4/drivers/mtd/chips/gen_probe.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/chips/gen_probe.c
-+++ linux-2.4.35.4/drivers/mtd/chips/gen_probe.c
+--- a/drivers/mtd/chips/gen_probe.c
++++ b/drivers/mtd/chips/gen_probe.c
@@ -328,13 +328,18 @@ static struct mtd_info *check_cmd_set(st
return cfi_cmdset_0001(map, primary);
#endif
-Index: linux-2.4.35.4/drivers/mtd/chips/cfi_cmdset_0001.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/chips/cfi_cmdset_0001.c
-+++ linux-2.4.35.4/drivers/mtd/chips/cfi_cmdset_0001.c
+--- a/drivers/mtd/chips/cfi_cmdset_0001.c
++++ b/drivers/mtd/chips/cfi_cmdset_0001.c
@@ -28,10 +28,18 @@
#include <linux/slab.h>
#include <linux/delay.h>
kfree(cfi->cmdset_priv);
kfree(cfi->cfiq);
kfree(cfi);
-Index: linux-2.4.35.4/include/linux/mtd/mtd.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/mtd/mtd.h
-+++ linux-2.4.35.4/include/linux/mtd/mtd.h
+--- a/include/linux/mtd/mtd.h
++++ b/include/linux/mtd/mtd.h
@@ -10,6 +10,7 @@
#include <linux/version.h>
#include <linux/types.h>
-Index: linux-2.4.35.4/drivers/mtd/mtdchar.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/mtdchar.c
-+++ linux-2.4.35.4/drivers/mtd/mtdchar.c
+--- a/drivers/mtd/mtdchar.c
++++ b/drivers/mtd/mtdchar.c
@@ -558,13 +558,13 @@ static void mtd_notify_add(struct mtd_in
sprintf(name, "%d", mtd->index);
devfs_rw_handle[mtd->index] = devfs_register(devfs_dir_handle, name,
&mtd_fops, NULL);
}
-Index: linux-2.4.35.4/drivers/mtd/mtdblock.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/mtd/mtdblock.c
-+++ linux-2.4.35.4/drivers/mtd/mtdblock.c
+--- a/drivers/mtd/mtdblock.c
++++ b/drivers/mtd/mtdblock.c
@@ -601,7 +601,7 @@ static void mtd_notify_add(struct mtd_in
sprintf(name, "%d", mtd->index);
devfs_rw_handle[mtd->index] = devfs_register(devfs_dir_handle, name,
-Index: linux-2.4.35.4/fs/squashfs/Makefile
-===================================================================
---- linux-2.4.35.4.orig/fs/squashfs/Makefile
-+++ linux-2.4.35.4/fs/squashfs/Makefile
+--- a/fs/squashfs/Makefile
++++ b/fs/squashfs/Makefile
@@ -4,7 +4,7 @@
O_TARGET := squashfs.o
obj-m := $(O_TARGET)
-Index: linux-2.4.35.4/fs/squashfs/squashfs.h
-===================================================================
---- linux-2.4.35.4.orig/fs/squashfs/squashfs.h
-+++ linux-2.4.35.4/fs/squashfs/squashfs.h
+--- a/fs/squashfs/squashfs.h
++++ b/fs/squashfs/squashfs.h
@@ -24,6 +24,9 @@
#ifdef CONFIG_SQUASHFS_1_0_COMPATIBILITY
#undef CONFIG_SQUASHFS_1_0_COMPATIBILITY
-Index: linux-2.4.35.4/arch/mips/Makefile
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/Makefile
-+++ linux-2.4.35.4/arch/mips/Makefile
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
@@ -44,10 +44,10 @@ MAKEBOOT = $(MAKE) -C arch/$(ARCH)/boot
GCCFLAGS := -I $(TOPDIR)/include/asm/gcc
GCCFLAGS += -G 0 -mno-abicalls -fno-pic -pipe
CFLAGS += $(GCCFLAGS)
LD += -m $(ld-emul)
-Index: linux-2.4.35.4/Makefile
-===================================================================
---- linux-2.4.35.4.orig/Makefile
-+++ linux-2.4.35.4/Makefile
+--- a/Makefile
++++ b/Makefile
@@ -17,7 +17,7 @@ HPATH = $(TOPDIR)/include
FINDHPATH = $(HPATH)/asm $(HPATH)/linux $(HPATH)/scsi $(HPATH)/net $(HPATH)/math-emu
-Index: linux-2.4.35.4/arch/mips/Makefile
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/Makefile
-+++ linux-2.4.35.4/arch/mips/Makefile
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
@@ -739,6 +739,7 @@ LINKFLAGS += -T arch/$(ARCH)/ld.script
HEAD := arch/mips/kernel/head.o arch/mips/kernel/init_task.o
-Index: linux-2.4.35.4/Makefile
-===================================================================
---- linux-2.4.35.4.orig/Makefile
-+++ linux-2.4.35.4/Makefile
+--- a/Makefile
++++ b/Makefile
@@ -428,18 +428,9 @@ else
depmod_opts := -b $(INSTALL_MOD_PATH) -r
endif
-Index: linux-2.4.35.4/include/linux/netdevice.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/netdevice.h
-+++ linux-2.4.35.4/include/linux/netdevice.h
+--- a/include/linux/netdevice.h
++++ b/include/linux/netdevice.h
@@ -295,7 +295,9 @@ struct net_device
/* List of functions to handle Wireless Extensions (instead of ioctl).
struct ethtool_ops *ethtool_ops;
-Index: linux-2.4.35.4/include/linux/wireless.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/wireless.h
-+++ linux-2.4.35.4/include/linux/wireless.h
+--- a/include/linux/wireless.h
++++ b/include/linux/wireless.h
@@ -1,10 +1,10 @@
/*
* This file define a set of standard wireless extensions
};
/*
-Index: linux-2.4.35.4/include/net/iw_handler.h
-===================================================================
---- linux-2.4.35.4.orig/include/net/iw_handler.h
-+++ linux-2.4.35.4/include/net/iw_handler.h
+--- a/include/net/iw_handler.h
++++ b/include/net/iw_handler.h
@@ -1,10 +1,10 @@
/*
* This file define the new driver API for Wireless Extensions
};
/**************************** PROTOTYPES ****************************/
-Index: linux-2.4.35.4/net/core/dev.c
-===================================================================
---- linux-2.4.35.4.orig/net/core/dev.c
-+++ linux-2.4.35.4/net/core/dev.c
+--- a/net/core/dev.c
++++ b/net/core/dev.c
@@ -2426,7 +2426,7 @@ int dev_ioctl(unsigned int cmd, void *ar
/* Follow me in net/core/wireless.c */
ret = wireless_process_ioctl(&ifr, cmd);
copy_to_user(arg, &ifr, sizeof(struct ifreq)))
return -EFAULT;
return ret;
-Index: linux-2.4.35.4/net/core/wireless.c
-===================================================================
---- linux-2.4.35.4.orig/net/core/wireless.c
-+++ linux-2.4.35.4/net/core/wireless.c
+--- a/net/core/wireless.c
++++ b/net/core/wireless.c
@@ -2,7 +2,7 @@
* This file implement the Wireless Extensions APIs.
*
http://www.polbox.com/h/hs001/linux-2.4.29-mppe-mppc-1.3.patch.gz
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -9974,6 +9974,28 @@ CONFIG_PPP_BSDCOMP
module; it is called bsd_comp.o and will show up in the directory
modules once you have said "make modules". If unsure, say N.
PPP over Ethernet
CONFIG_PPPOE
Support for PPP over Ethernet.
-Index: linux-2.4.35.4/crypto/Config.in
-===================================================================
---- linux-2.4.35.4.orig/crypto/Config.in
-+++ linux-2.4.35.4/crypto/Config.in
+--- a/crypto/Config.in
++++ b/crypto/Config.in
@@ -11,7 +11,9 @@ if [ "$CONFIG_INET_AH" = "y" -o \
"$CONFIG_INET6_AH" = "y" -o \
"$CONFIG_INET6_AH" = "m" -o \
if [ "$CONFIG_INET_IPCOMP" = "y" -o \
"$CONFIG_INET_IPCOMP" = "m" -o \
"$CONFIG_INET6_IPCOMP" = "y" -o \
-Index: linux-2.4.35.4/drivers/net/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/Config.in
-+++ linux-2.4.35.4/drivers/net/Config.in
+--- a/drivers/net/Config.in
++++ b/drivers/net/Config.in
@@ -336,6 +336,7 @@ if [ ! "$CONFIG_PPP" = "n" ]; then
dep_tristate ' PPP support for sync tty ports' CONFIG_PPP_SYNC_TTY $CONFIG_PPP
dep_tristate ' PPP Deflate compression' CONFIG_PPP_DEFLATE $CONFIG_PPP
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
dep_tristate ' PPP over Ethernet (EXPERIMENTAL)' CONFIG_PPPOE $CONFIG_PPP
fi
-Index: linux-2.4.35.4/drivers/net/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/Makefile
-+++ linux-2.4.35.4/drivers/net/Makefile
+--- a/drivers/net/Makefile
++++ b/drivers/net/Makefile
@@ -166,6 +166,7 @@ obj-$(CONFIG_PPP_ASYNC) += ppp_async.o
obj-$(CONFIG_PPP_SYNC_TTY) += ppp_synctty.o
obj-$(CONFIG_PPP_DEFLATE) += ppp_deflate.o
obj-$(CONFIG_PPPOE) += pppox.o pppoe.o
obj-$(CONFIG_SLIP) += slip.o
-Index: linux-2.4.35.4/drivers/net/ppp_generic.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/ppp_generic.c
-+++ linux-2.4.35.4/drivers/net/ppp_generic.c
+--- a/drivers/net/ppp_generic.c
++++ b/drivers/net/ppp_generic.c
@@ -19,7 +19,7 @@
* PPP driver, written by Michael Callahan and Al Longyear, and
* subsequently hacked by Paul Mackerras.
init_ppp_file(&ppp->file, INTERFACE);
ppp->file.hdrlen = PPP_HDRLEN - 2; /* don't count proto bytes */
for (i = 0; i < NUM_NP; ++i)
-Index: linux-2.4.35.4/drivers/net/ppp_mppe_mppc.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/net/ppp_mppe_mppc.c
++++ b/drivers/net/ppp_mppe_mppc.c
@@ -0,0 +1,1312 @@
+/*
+ * ppp_mppe_mppc.c - MPPC/MPPE "compressor/decompressor" module.
+MODULE_AUTHOR("Jan Dubiec <jdx@slackware.pl>");
+MODULE_DESCRIPTION("MPPE/MPPC encryption/compression module for Linux");
+MODULE_LICENSE("Dual BSD/GPL");
-Index: linux-2.4.35.4/include/linux/ppp-comp.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/ppp-comp.h
-+++ linux-2.4.35.4/include/linux/ppp-comp.h
+--- a/include/linux/ppp-comp.h
++++ b/include/linux/ppp-comp.h
@@ -28,7 +28,7 @@
*/
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -17995,6 +17995,34 @@ CONFIG_UNIXWARE_DISKLABEL
If you don't know what all this is about, say N.
SMB file system support (to mount Windows shares etc.)
CONFIG_SMB_FS
SMB (Server Message Block) is the protocol Windows for Workgroups
-Index: linux-2.4.35.4/Documentation/filesystems/00-INDEX
-===================================================================
---- linux-2.4.35.4.orig/Documentation/filesystems/00-INDEX
-+++ linux-2.4.35.4/Documentation/filesystems/00-INDEX
+--- a/Documentation/filesystems/00-INDEX
++++ b/Documentation/filesystems/00-INDEX
@@ -10,6 +10,8 @@ befs.txt
- info for the BeOS file system (BFS)
bfs.txt
coda.txt
- description of the CODA filesystem.
cramfs.txt
-Index: linux-2.4.35.4/Documentation/filesystems/cifs.txt
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/Documentation/filesystems/cifs.txt
++++ b/Documentation/filesystems/cifs.txt
@@ -0,0 +1,51 @@
+ This is the client VFS module for the Common Internet File System
+ (CIFS) protocol which is the successor to the Server Message Block
+ or the Samba site:
+
+ http://www.samba.org
-Index: linux-2.4.35.4/fs/cifs/asn1.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/asn1.c
++++ b/fs/cifs/asn1.c
@@ -0,0 +1,614 @@
+/*
+ * The ASB.1/BER parsing code is derived from ip_nat_snmp_basic.c which was in
+
+ return 1;
+}
-Index: linux-2.4.35.4/fs/cifs/AUTHORS
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/AUTHORS
++++ b/fs/cifs/AUTHORS
@@ -0,0 +1,37 @@
+Original Author
+===============
+
+And thanks to the IBM LTC and Power test teams and SuSE testers for
+finding multiple bugs during excellent stress test runs.
-Index: linux-2.4.35.4/fs/cifs/CHANGES
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/CHANGES
++++ b/fs/cifs/CHANGES
@@ -0,0 +1,572 @@
+Version 1.20
+------------
+-----------
+Initial drop
+
-Index: linux-2.4.35.4/fs/cifs/cifs_debug.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifs_debug.c
++++ b/fs/cifs/cifs_debug.c
@@ -0,0 +1,797 @@
+/*
+ * fs/cifs_debug.c
+
+
+#endif
-Index: linux-2.4.35.4/fs/cifs/cifs_debug.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifs_debug.h
++++ b/fs/cifs/cifs_debug.h
@@ -0,0 +1,66 @@
+/*
+ *
+#endif /* _CIFS_DEBUG */
+
+#endif /* _H_CIFS_DEBUG */
-Index: linux-2.4.35.4/fs/cifs/cifsencrypt.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifsencrypt.c
++++ b/fs/cifs/cifsencrypt.c
@@ -0,0 +1,204 @@
+/*
+ * fs/cifs/cifsencrypt.c
+
+ hmac_md5_final(v2_session_response,&context);
+}
-Index: linux-2.4.35.4/fs/cifs/cifserr.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifserr.c
++++ b/fs/cifs/cifserr.c
@@ -0,0 +1,70 @@
+/*
+ * fs/cifserr.c
+{
+ return map_cifs_error(error_class, error_code, FALSE);
+}
-Index: linux-2.4.35.4/fs/cifs/cifsfs.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifsfs.c
++++ b/fs/cifs/cifsfs.c
@@ -0,0 +1,769 @@
+/*
+ * fs/cifs/cifsfs.c
+ ("VFS to access servers complying with the SNIA CIFS Specification e.g. Samba and Windows");
+module_init(init_cifs)
+module_exit(exit_cifs)
-Index: linux-2.4.35.4/fs/cifs/cifsfs.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifsfs.h
++++ b/fs/cifs/cifsfs.h
@@ -0,0 +1,97 @@
+/*
+ * fs/cifs/cifsfs.h
+extern ssize_t cifs_listxattr(struct dentry *, char *, size_t);
+#define CIFS_VERSION "1.20"
+#endif /* _CIFSFS_H */
-Index: linux-2.4.35.4/fs/cifs/cifs_fs_sb.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifs_fs_sb.h
++++ b/fs/cifs/cifs_fs_sb.h
@@ -0,0 +1,32 @@
+/*
+ * fs/cifs/cifs_fs_sb.h
+ mode_t mnt_dir_mode;
+};
+#endif /* _CIFS_FS_SB_H */
-Index: linux-2.4.35.4/fs/cifs/cifsglob.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifsglob.h
++++ b/fs/cifs/cifsglob.h
@@ -0,0 +1,413 @@
+/*
+ * fs/cifs/cifsglob.h
+GLOBAL_EXTERN unsigned int sign_CIFS_PDUs; /* enable smb packet signing */
+GLOBAL_EXTERN unsigned int linuxExtEnabled; /* enable Linux/Unix CIFS extensions */
+
-Index: linux-2.4.35.4/fs/cifs/cifspdu.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifspdu.h
++++ b/fs/cifs/cifspdu.h
@@ -0,0 +1,1793 @@
+/*
+ * fs/cifs/cifspdu.h
+#pragma pack() /* resume default structure packing */
+
+#endif /* _CIFSPDU_H */
-Index: linux-2.4.35.4/fs/cifs/cifsproto.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifsproto.h
++++ b/fs/cifs/cifsproto.h
@@ -0,0 +1,254 @@
+/*
+ * fs/cifs/cifsproto.h
+ char * EAData, size_t size,
+ const struct nls_table *nls_codepage);
+#endif /* _CIFSPROTO_H */
-Index: linux-2.4.35.4/fs/cifs/cifssmb.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifssmb.c
++++ b/fs/cifs/cifssmb.c
@@ -0,0 +1,3016 @@
+/*
+ * fs/cifs/cifssmb.c
+ return rc;
+}
+#endif
-Index: linux-2.4.35.4/fs/cifs/cifs_unicode.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifs_unicode.c
++++ b/fs/cifs/cifs_unicode.c
@@ -0,0 +1,87 @@
+/*
+ * fs/cifs/cifs_unicode.c
+ return i;
+}
+
-Index: linux-2.4.35.4/fs/cifs/cifs_unicode.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifs_unicode.h
++++ b/fs/cifs/cifs_unicode.h
@@ -0,0 +1,353 @@
+/*
+ * cifs_unicode: Unicode kernel case support
+}
+
+#endif
-Index: linux-2.4.35.4/fs/cifs/cifs_uniupr.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/cifs_uniupr.h
++++ b/fs/cifs/cifs_uniupr.h
@@ -0,0 +1,253 @@
+/*
+ * Copyright (c) International Business Machines Corp., 2000,2002
+ 0, 0, 0
+};
+#endif
-Index: linux-2.4.35.4/fs/cifs/connect.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/connect.c
++++ b/fs/cifs/connect.c
@@ -0,0 +1,2924 @@
+/*
+ * fs/cifs/connect.c
+ return rc;
+}
+
-Index: linux-2.4.35.4/fs/cifs/dir.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/dir.c
++++ b/fs/cifs/dir.c
@@ -0,0 +1,425 @@
+/*
+ * fs/cifs/dir.c
+/* d_delete: cifs_d_delete, *//* not needed except for debugging */
+ /* no need for d_hash, d_compare, d_release, d_iput ... yet. BB confirm this BB */
+};
-Index: linux-2.4.35.4/fs/cifs/file.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/file.c
++++ b/fs/cifs/file.c
@@ -0,0 +1,2185 @@
+/*
+ * fs/cifs/file.c
+ .sync_page = cifs_sync_page,
+ /*.direct_IO = */
+};
-Index: linux-2.4.35.4/fs/cifs/inode.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/inode.c
++++ b/fs/cifs/inode.c
@@ -0,0 +1,1079 @@
+/*
+ * fs/cifs/inode.c
+ /* may have to add back in if and when safe distributed caching of
+ directories added e.g. via FindNotify */
+}
-Index: linux-2.4.35.4/fs/cifs/link.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/link.c
++++ b/fs/cifs/link.c
@@ -0,0 +1,328 @@
+/*
+ * fs/cifs/link.c
+ FreeXid(xid);
+ return rc;
+}
-Index: linux-2.4.35.4/fs/cifs/Makefile
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/Makefile
++++ b/fs/cifs/Makefile
@@ -0,0 +1,10 @@
+#
+# Makefile for Linux CIFS VFS client
+obj-m := $(O_TARGET)
+
+include $(TOPDIR)/Rules.make
-Index: linux-2.4.35.4/fs/cifs/md4.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/md4.c
++++ b/fs/cifs/md4.c
@@ -0,0 +1,203 @@
+/*
+ Unix SMB/Netbios implementation.
+
+ A = B = C = D = 0;
+}
-Index: linux-2.4.35.4/fs/cifs/md5.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/md5.c
++++ b/fs/cifs/md5.c
@@ -0,0 +1,363 @@
+/*
+ * This code implements the MD5 message-digest algorithm.
+ }
+ hmac_md5_final(digest, &ctx);
+}
-Index: linux-2.4.35.4/fs/cifs/md5.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/md5.h
++++ b/fs/cifs/md5.h
@@ -0,0 +1,38 @@
+#ifndef MD5_H
+#define MD5_H
+void hmac_md5_final(unsigned char *digest, struct HMACMD5Context *ctx);
+void hmac_md5(unsigned char key[16], unsigned char *data, int data_len,
+ unsigned char *digest);
-Index: linux-2.4.35.4/fs/cifs/misc.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/misc.c
++++ b/fs/cifs/misc.c
@@ -0,0 +1,463 @@
+/*
+ * fs/cifs/misc.c
+ printk( " | %s\n", debug_line);
+ return;
+}
-Index: linux-2.4.35.4/fs/cifs/netmisc.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/netmisc.c
++++ b/fs/cifs/netmisc.c
@@ -0,0 +1,905 @@
+/*
+ * fs/cifs/netmisc.c
+ dce_time += NTFS_TIME_OFFSET;
+ return dce_time;
+}
-Index: linux-2.4.35.4/fs/cifs/nterr.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/nterr.c
++++ b/fs/cifs/nterr.c
@@ -0,0 +1,687 @@
+/*
+ * Unix SMB/Netbios implementation.
+ {"STATUS_SOME_UNMAPPED", STATUS_SOME_UNMAPPED},
+ {NULL, 0}
+};
-Index: linux-2.4.35.4/fs/cifs/nterr.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/nterr.h
++++ b/fs/cifs/nterr.h
@@ -0,0 +1,556 @@
+/*
+ Unix SMB/Netbios implementation.
+#define NT_STATUS_NO_SUCH_JOB 0xC0000000 | 0xEDE /* scheduler */
+
+#endif /* _NTERR_H */
-Index: linux-2.4.35.4/fs/cifs/ntlmssp.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/ntlmssp.h
++++ b/fs/cifs/ntlmssp.h
@@ -0,0 +1,101 @@
+/*
+ * fs/cifs/ntlmssp.h
+} AUTHENTICATE_MESSAGE, *PAUTHENTICATE_MESSAGE;
+
+#pragma pack() /* resume default structure packing */
-Index: linux-2.4.35.4/fs/cifs/README
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/README
++++ b/fs/cifs/README
@@ -0,0 +1,356 @@
+The CIFS VFS support for Linux supports many advanced network filesystem
+features such as heirarchical dfs like namespace, hardlinks, locking and more.
+Windows 2000 server or Samba since it does not usually send "raw NTLMSSP"
+(instead it sends NTLMSSP encapsulated in SPNEGO/GSSAPI, which support is not
+complete in the CIFS VFS yet).
-Index: linux-2.4.35.4/fs/cifs/rfc1002pdu.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/rfc1002pdu.h
++++ b/fs/cifs/rfc1002pdu.h
@@ -0,0 +1,79 @@
+/*
+ * fs/cifs/rfc1002pdu.h
+
+#pragma pack() /* resume default structure packing */
+
-Index: linux-2.4.35.4/fs/cifs/smbdes.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/smbdes.c
++++ b/fs/cifs/smbdes.c
@@ -0,0 +1,408 @@
+/*
+ Unix SMB/Netbios implementation.
+ key2[0] = key[7];
+ smbhash(out + 8, in + 8, key2, forw);
+}
-Index: linux-2.4.35.4/fs/cifs/smbencrypt.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/smbencrypt.c
++++ b/fs/cifs/smbencrypt.c
@@ -0,0 +1,295 @@
+/*
+ Unix SMB/Netbios implementation.
+{
+ mdfour((unsigned char *) sess_key, (unsigned char *) kr, 16);
+}
-Index: linux-2.4.35.4/fs/cifs/smberr.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/smberr.c
++++ b/fs/cifs/smberr.c
@@ -0,0 +1,240 @@
+/*
+ Unix SMB/Netbios implementation.
+ NTSTATUS status = map_nt_error_from_unix(error);
+ return ntstatus_to_werror(status);
+}
-Index: linux-2.4.35.4/fs/cifs/smberr.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/smberr.h
++++ b/fs/cifs/smberr.h
@@ -0,0 +1,113 @@
+/*
+ * fs/cifs/smberr.h
+#define ERRpasswordExpired 2242
+#define ERRnetlogonNotStarted 2455
+#define ERRnosupport 0xFFFF
-Index: linux-2.4.35.4/fs/cifs/TODO
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/TODO
++++ b/fs/cifs/TODO
@@ -0,0 +1,106 @@
+version 1.16 May 27, 2004
+
+4) More exhaustively test the recently added NT4 support against various
+NT4 service pack levels.
+
-Index: linux-2.4.35.4/fs/cifs/transport.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/cifs/transport.c
++++ b/fs/cifs/transport.c
@@ -0,0 +1,434 @@
+/*
+ * fs/cifs/transport.c
+
+ return rc;
+}
-Index: linux-2.4.35.4/fs/Config.in
-===================================================================
---- linux-2.4.35.4.orig/fs/Config.in
-+++ linux-2.4.35.4/fs/Config.in
+--- a/fs/Config.in
++++ b/fs/Config.in
@@ -153,6 +153,10 @@ if [ "$CONFIG_NET" = "y" ]; then
define_bool CONFIG_LOCKD_V4 y
fi
dep_tristate 'SMB file system support (to mount Windows shares etc.)' CONFIG_SMB_FS $CONFIG_INET
if [ "$CONFIG_SMB_FS" != "n" ]; then
bool ' Use a default NLS' CONFIG_SMB_NLS_DEFAULT
-Index: linux-2.4.35.4/fs/Makefile
-===================================================================
---- linux-2.4.35.4.orig/fs/Makefile
-+++ linux-2.4.35.4/fs/Makefile
+--- a/fs/Makefile
++++ b/fs/Makefile
@@ -37,6 +37,7 @@ subdir-$(CONFIG_MSDOS_FS) += msdos
subdir-$(CONFIG_VFAT_FS) += vfat
subdir-$(CONFIG_BFS_FS) += bfs
subdir-$(CONFIG_DEVFS_FS) += devfs
subdir-$(CONFIG_HFSPLUS_FS) += hfsplus # Before hfs to find wrapped HFS+
subdir-$(CONFIG_HFS_FS) += hfs
-Index: linux-2.4.35.4/fs/nls/Config.in
-===================================================================
---- linux-2.4.35.4.orig/fs/nls/Config.in
-+++ linux-2.4.35.4/fs/nls/Config.in
+--- a/fs/nls/Config.in
++++ b/fs/nls/Config.in
@@ -11,6 +11,7 @@ fi
# msdos and Joliet want NLS
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -4690,6 +4690,12 @@ CONFIG_BINFMT_ELF
ld.so (check the file <file:Documentation/Changes> for location and
latest version).
OSF/1 v4 readv/writev compatibility
CONFIG_OSF4_COMPAT
-Index: linux-2.4.35.4/arch/alpha/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/alpha/config.in
-+++ linux-2.4.35.4/arch/alpha/config.in
+--- a/arch/alpha/config.in
++++ b/arch/alpha/config.in
@@ -315,6 +315,9 @@ if [ "$CONFIG_BINFMT_AOUT" != "n" ]; the
fi
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
tristate 'Kernel support for Linux/Intel ELF binaries' CONFIG_BINFMT_EM86
source drivers/parport/Config.in
-Index: linux-2.4.35.4/arch/alpha/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/alpha/defconfig
-+++ linux-2.4.35.4/arch/alpha/defconfig
+--- a/arch/alpha/defconfig
++++ b/arch/alpha/defconfig
@@ -72,6 +72,7 @@ CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
# CONFIG_BINFMT_AOUT is not set
# CONFIG_BINFMT_MISC is not set
# CONFIG_BINFMT_EM86 is not set
-Index: linux-2.4.35.4/arch/arm/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/arm/config.in
-+++ linux-2.4.35.4/arch/arm/config.in
+--- a/arch/arm/config.in
++++ b/arch/arm/config.in
@@ -499,6 +499,9 @@ choice 'Kernel core (/proc/kcore) format
A.OUT CONFIG_KCORE_AOUT" ELF
tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
dep_bool 'Power Management support (experimental)' CONFIG_PM $CONFIG_EXPERIMENTAL
dep_tristate 'RISC OS personality' CONFIG_ARTHUR $CONFIG_CPU_32
-Index: linux-2.4.35.4/arch/arm/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/arm/defconfig
-+++ linux-2.4.35.4/arch/arm/defconfig
+--- a/arch/arm/defconfig
++++ b/arch/arm/defconfig
@@ -83,8 +83,9 @@ CONFIG_SYSCTL=y
CONFIG_NWFPE=y
CONFIG_KCORE_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_PM is not set
# CONFIG_ARTHUR is not set
-Index: linux-2.4.35.4/arch/cris/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/cris/config.in
-+++ linux-2.4.35.4/arch/cris/config.in
+--- a/arch/cris/config.in
++++ b/arch/cris/config.in
@@ -31,6 +31,9 @@ bool 'BSD Process Accounting' CONFIG_BSD
bool 'Sysctl support' CONFIG_SYSCTL
string 'Kernel command line' CONFIG_ETRAX_CMDLINE "root=/dev/mtdblock3"
-Index: linux-2.4.35.4/arch/cris/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/cris/defconfig
-+++ linux-2.4.35.4/arch/cris/defconfig
+--- a/arch/cris/defconfig
++++ b/arch/cris/defconfig
@@ -18,6 +18,7 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_SYSCTL is not set
# CONFIG_ETRAX_KGDB is not set
# CONFIG_ETRAX_WATCHDOG is not set
-Index: linux-2.4.35.4/arch/i386/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/i386/config.in
-+++ linux-2.4.35.4/arch/i386/config.in
+--- a/arch/i386/config.in
++++ b/arch/i386/config.in
@@ -329,6 +329,9 @@ if [ "$CONFIG_PROC_FS" = "y" ]; then
fi
tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
bool 'Select task to kill on out of memory condition' CONFIG_OOM_KILLER
-Index: linux-2.4.35.4/arch/i386/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/i386/defconfig
-+++ linux-2.4.35.4/arch/i386/defconfig
+--- a/arch/i386/defconfig
++++ b/arch/i386/defconfig
@@ -115,9 +115,10 @@ CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
# CONFIG_OOM_KILLER is not set
CONFIG_PM=y
# CONFIG_APM is not set
-Index: linux-2.4.35.4/arch/ia64/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/ia64/config.in
-+++ linux-2.4.35.4/arch/ia64/config.in
+--- a/arch/ia64/config.in
++++ b/arch/ia64/config.in
@@ -124,6 +124,9 @@ bool 'System V IPC' CONFIG_SYSVIPC
bool 'BSD Process Accounting' CONFIG_BSD_PROCESS_ACCT
bool 'Sysctl support' CONFIG_SYSCTL
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
if [ "$CONFIG_IA64_HP_SIM" = "n" ]; then
-Index: linux-2.4.35.4/arch/ia64/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/ia64/defconfig
-+++ linux-2.4.35.4/arch/ia64/defconfig
+--- a/arch/ia64/defconfig
++++ b/arch/ia64/defconfig
@@ -60,6 +60,7 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
# CONFIG_BINFMT_MISC is not set
CONFIG_ACPI=y
CONFIG_ACPI_EFI=y
-Index: linux-2.4.35.4/arch/m68k/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/m68k/config.in
-+++ linux-2.4.35.4/arch/m68k/config.in
+--- a/arch/m68k/config.in
++++ b/arch/m68k/config.in
@@ -99,6 +99,9 @@ if [ "$CONFIG_PROC_FS" = "y" ]; then
fi
tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
if [ "$CONFIG_AMIGA" = "y" ]; then
-Index: linux-2.4.35.4/arch/m68k/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/m68k/defconfig
-+++ linux-2.4.35.4/arch/m68k/defconfig
+--- a/arch/m68k/defconfig
++++ b/arch/m68k/defconfig
@@ -44,8 +44,9 @@ CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_ZORRO=y
# CONFIG_AMIGA_PCMCIA is not set
-Index: linux-2.4.35.4/arch/mips/config-shared.in
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/config-shared.in
-+++ linux-2.4.35.4/arch/mips/config-shared.in
+--- a/arch/mips/config-shared.in
++++ b/arch/mips/config-shared.in
@@ -873,6 +873,9 @@ define_bool CONFIG_KCORE_ELF y
define_bool CONFIG_KCORE_AOUT n
define_bool CONFIG_BINFMT_AOUT n
dep_bool 'Kernel support for Linux/MIPS 32-bit binary compatibility' CONFIG_MIPS32_COMPAT $CONFIG_MIPS64
dep_bool 'Kernel support for o32 binaries' CONFIG_MIPS32_O32 $CONFIG_MIPS32_COMPAT
dep_bool 'Kernel support for n32 binaries' CONFIG_MIPS32_N32 $CONFIG_MIPS32_COMPAT
-Index: linux-2.4.35.4/arch/mips/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/defconfig
-+++ linux-2.4.35.4/arch/mips/defconfig
+--- a/arch/mips/defconfig
++++ b/arch/mips/defconfig
@@ -143,6 +143,7 @@ CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
# CONFIG_BINFMT_AOUT is not set
# CONFIG_MIPS32_COMPAT is not set
# CONFIG_MIPS32_O32 is not set
# CONFIG_MIPS32_N32 is not set
-Index: linux-2.4.35.4/arch/mips/kernel/irixelf.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/irixelf.c
-+++ linux-2.4.35.4/arch/mips/kernel/irixelf.c
+--- a/arch/mips/kernel/irixelf.c
++++ b/arch/mips/kernel/irixelf.c
@@ -8,6 +8,7 @@
* Copyright 1993, 1994: Eric Youngdale (ericy@cais.com).
*/
/* Called through irix_syssgi() to map an elf image given an FD,
* a phdr ptr USER_PHDRP in userspace, and a count CNT telling how many
-Index: linux-2.4.35.4/arch/mips64/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/defconfig
-+++ linux-2.4.35.4/arch/mips64/defconfig
+--- a/arch/mips64/defconfig
++++ b/arch/mips64/defconfig
@@ -147,6 +147,7 @@ CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
# CONFIG_BINFMT_AOUT is not set
CONFIG_MIPS32_COMPAT=y
CONFIG_MIPS32_O32=y
# CONFIG_MIPS32_N32 is not set
-Index: linux-2.4.35.4/arch/parisc/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/parisc/config.in
-+++ linux-2.4.35.4/arch/parisc/config.in
+--- a/arch/parisc/config.in
++++ b/arch/parisc/config.in
@@ -89,6 +89,9 @@ bool 'BSD Process Accounting' CONFIG_BSD
bool 'Sysctl support' CONFIG_SYSCTL
define_bool CONFIG_KCORE_ELF y
tristate 'Kernel support for SOM binaries' CONFIG_BINFMT_SOM
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
-Index: linux-2.4.35.4/arch/parisc/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/parisc/defconfig
-+++ linux-2.4.35.4/arch/parisc/defconfig
+--- a/arch/parisc/defconfig
++++ b/arch/parisc/defconfig
@@ -56,6 +56,7 @@ CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_SOM=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_PM is not set
-Index: linux-2.4.35.4/arch/ppc/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/ppc/config.in
-+++ linux-2.4.35.4/arch/ppc/config.in
+--- a/arch/ppc/config.in
++++ b/arch/ppc/config.in
@@ -384,6 +384,7 @@ if [ "$CONFIG_PROC_FS" = "y" ]; then
fi
define_bool CONFIG_BINFMT_ELF y
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
bool 'Select task to kill on out of memory condition' CONFIG_OOM_KILLER
-Index: linux-2.4.35.4/arch/ppc/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/ppc/defconfig
-+++ linux-2.4.35.4/arch/ppc/defconfig
+--- a/arch/ppc/defconfig
++++ b/arch/ppc/defconfig
@@ -59,7 +59,8 @@ CONFIG_SYSVIPC=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
# CONFIG_OOM_KILLER is not set
CONFIG_PCI_NAMES=y
CONFIG_HOTPLUG=y
-Index: linux-2.4.35.4/arch/ppc64/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/ppc64/config.in
-+++ linux-2.4.35.4/arch/ppc64/config.in
+--- a/arch/ppc64/config.in
++++ b/arch/ppc64/config.in
@@ -82,6 +82,9 @@ if [ "$CONFIG_PROC_FS" = "y" ]; then
fi
tristate 'Kernel support for 32 bit ELF binaries' CONFIG_BINFMT_ELF32
-Index: linux-2.4.35.4/arch/ppc64/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/ppc64/defconfig
-+++ linux-2.4.35.4/arch/ppc64/defconfig
+--- a/arch/ppc64/defconfig
++++ b/arch/ppc64/defconfig
@@ -56,6 +56,7 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF32=y
# CONFIG_BINFMT_MISC is not set
CONFIG_PCI_NAMES=y
-Index: linux-2.4.35.4/arch/s390/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/s390/config.in
-+++ linux-2.4.35.4/arch/s390/config.in
+--- a/arch/s390/config.in
++++ b/arch/s390/config.in
@@ -58,6 +58,9 @@ bool 'BSD Process Accounting' CONFIG_BSD
bool 'Sysctl support' CONFIG_SYSCTL
define_bool CONFIG_KCORE_ELF y
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
bool 'Show crashed user process info' CONFIG_PROCESS_DEBUG
bool 'Pseudo page fault support' CONFIG_PFAULT
-Index: linux-2.4.35.4/arch/s390/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/s390/defconfig
-+++ linux-2.4.35.4/arch/s390/defconfig
+--- a/arch/s390/defconfig
++++ b/arch/s390/defconfig
@@ -46,6 +46,7 @@ CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_PROCESS_DEBUG is not set
CONFIG_PFAULT=y
-Index: linux-2.4.35.4/arch/s390x/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/s390x/config.in
-+++ linux-2.4.35.4/arch/s390x/config.in
+--- a/arch/s390x/config.in
++++ b/arch/s390x/config.in
@@ -61,6 +61,9 @@ bool 'BSD Process Accounting' CONFIG_BSD
bool 'Sysctl support' CONFIG_SYSCTL
define_bool CONFIG_KCORE_ELF y
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
bool 'Show crashed user process info' CONFIG_PROCESS_DEBUG
bool 'Pseudo page fault support' CONFIG_PFAULT
-Index: linux-2.4.35.4/arch/s390x/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/s390x/defconfig
-+++ linux-2.4.35.4/arch/s390x/defconfig
+--- a/arch/s390x/defconfig
++++ b/arch/s390x/defconfig
@@ -47,6 +47,7 @@ CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
# CONFIG_BINFMT_MISC is not set
# CONFIG_PROCESS_DEBUG is not set
CONFIG_PFAULT=y
-Index: linux-2.4.35.4/arch/sh/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/sh/config.in
-+++ linux-2.4.35.4/arch/sh/config.in
+--- a/arch/sh/config.in
++++ b/arch/sh/config.in
@@ -283,6 +283,9 @@ if [ "$CONFIG_PROC_FS" = "y" ]; then
A.OUT CONFIG_KCORE_AOUT" ELF
fi
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
bool 'Select task to kill on out of memory condition' CONFIG_OOM_KILLER
-Index: linux-2.4.35.4/arch/sh/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/sh/defconfig
-+++ linux-2.4.35.4/arch/sh/defconfig
+--- a/arch/sh/defconfig
++++ b/arch/sh/defconfig
@@ -48,6 +48,7 @@ CONFIG_CF_ENABLER=y
CONFIG_KCORE_ELF=y
# CONFIG_KCORE_AOUT is not set
# CONFIG_BINFMT_MISC is not set
#
-Index: linux-2.4.35.4/arch/sparc/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/sparc/config.in
-+++ linux-2.4.35.4/arch/sparc/config.in
+--- a/arch/sparc/config.in
++++ b/arch/sparc/config.in
@@ -74,6 +74,9 @@ if [ "$CONFIG_PROC_FS" = "y" ]; then
fi
tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
bool 'SunOS binary emulation' CONFIG_SUNOS_EMUL
bool 'Select task to kill on out of memory condition' CONFIG_OOM_KILLER
-Index: linux-2.4.35.4/arch/sparc/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/sparc/defconfig
-+++ linux-2.4.35.4/arch/sparc/defconfig
+--- a/arch/sparc/defconfig
++++ b/arch/sparc/defconfig
@@ -49,9 +49,10 @@ CONFIG_SYSVIPC=y
# CONFIG_BSD_PROCESS_ACCT is not set
CONFIG_SYSCTL=y
CONFIG_SUNOS_EMUL=y
# CONFIG_OOM_KILLER is not set
-Index: linux-2.4.35.4/arch/sparc64/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/sparc64/config.in
-+++ linux-2.4.35.4/arch/sparc64/config.in
+--- a/arch/sparc64/config.in
++++ b/arch/sparc64/config.in
@@ -79,6 +79,9 @@ if [ "$CONFIG_SPARC32_COMPAT" != "n" ];
bool ' Kernel support for 32-bit (ie. SunOS) a.out binaries' CONFIG_BINFMT_AOUT32
fi
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
bool 'SunOS binary emulation' CONFIG_SUNOS_EMUL
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-Index: linux-2.4.35.4/arch/sparc64/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/sparc64/defconfig
-+++ linux-2.4.35.4/arch/sparc64/defconfig
+--- a/arch/sparc64/defconfig
++++ b/arch/sparc64/defconfig
@@ -70,7 +70,8 @@ CONFIG_SPARC32_COMPAT=y
CONFIG_BINFMT_ELF32=y
# CONFIG_BINFMT_AOUT32 is not set
# CONFIG_SUNOS_EMUL is not set
CONFIG_SOLARIS_EMUL=m
# CONFIG_OOM_KILLER is not set
-Index: linux-2.4.35.4/arch/x86_64/config.in
-===================================================================
---- linux-2.4.35.4.orig/arch/x86_64/config.in
-+++ linux-2.4.35.4/arch/x86_64/config.in
+--- a/arch/x86_64/config.in
++++ b/arch/x86_64/config.in
@@ -118,6 +118,9 @@ if [ "$CONFIG_PROC_FS" = "y" ]; then
fi
#tristate 'Kernel support for a.out binaries' CONFIG_BINFMT_AOUT
tristate 'Kernel support for MISC binaries' CONFIG_BINFMT_MISC
bool 'Power Management support' CONFIG_PM
-Index: linux-2.4.35.4/arch/x86_64/defconfig
-===================================================================
---- linux-2.4.35.4.orig/arch/x86_64/defconfig
-+++ linux-2.4.35.4/arch/x86_64/defconfig
+--- a/arch/x86_64/defconfig
++++ b/arch/x86_64/defconfig
@@ -67,6 +67,7 @@ CONFIG_SYSVIPC=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_PM=y
CONFIG_IA32_EMULATION=y
-Index: linux-2.4.35.4/fs/binfmt_elf.c
-===================================================================
---- linux-2.4.35.4.orig/fs/binfmt_elf.c
-+++ linux-2.4.35.4/fs/binfmt_elf.c
+--- a/fs/binfmt_elf.c
++++ b/fs/binfmt_elf.c
@@ -9,6 +9,7 @@
* Copyright 1993, 1994: Eric Youngdale (ericy@cais.com).
*/
/*
* Note that some platforms still use traditional core dumps and not
-Index: linux-2.4.35.4/fs/exec.c
-===================================================================
---- linux-2.4.35.4.orig/fs/exec.c
-+++ linux-2.4.35.4/fs/exec.c
+--- a/fs/exec.c
++++ b/fs/exec.c
@@ -109,6 +109,7 @@ static inline void put_binfmt(struct lin
*/
asmlinkage long sys_uselib(const char * library)
packaging/utils/nattpatch 2.4
-Index: linux-2.4.35.4/include/net/sock.h
-===================================================================
---- linux-2.4.35.4.orig/include/net/sock.h
-+++ linux-2.4.35.4/include/net/sock.h
+--- a/include/net/sock.h
++++ b/include/net/sock.h
@@ -488,7 +488,13 @@ struct tcp_opt {
} bictcp;
};
} tp_pinfo;
-Index: linux-2.4.35.4/net/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/Config.in
-+++ linux-2.4.35.4/net/Config.in
+--- a/net/Config.in
++++ b/net/Config.in
@@ -104,4 +104,6 @@ comment 'Network testing'
dep_tristate 'Packet Generator (USE WITH CAUTION)' CONFIG_NET_PKTGEN $CONFIG_PROC_FS
endmenu
+bool 'IPSEC NAT-Traversal' CONFIG_IPSEC_NAT_TRAVERSAL
+
endmenu
-Index: linux-2.4.35.4/net/ipv4/udp.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/udp.c
-+++ linux-2.4.35.4/net/ipv4/udp.c
+--- a/net/ipv4/udp.c
++++ b/net/ipv4/udp.c
@@ -860,6 +860,9 @@ static void udp_close(struct sock *sk, l
static int udp_queue_rcv_skb(struct sock * sk, struct sk_buff *skb)
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -10675,6 +10675,20 @@ CONFIG_TUN
If you don't know what to use this for, you don't need it.
Ethertap network tap (OBSOLETE)
CONFIG_ETHERTAP
If you say Y here (and have said Y to "Kernel/User network link
-Index: linux-2.4.35.4/drivers/net/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/Config.in
-+++ linux-2.4.35.4/drivers/net/Config.in
+--- a/drivers/net/Config.in
++++ b/drivers/net/Config.in
@@ -8,6 +8,7 @@ tristate 'Dummy net driver support' CONF
tristate 'Bonding driver support' CONFIG_BONDING
tristate 'EQL (serial line load balancing) support' CONFIG_EQUALIZER
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
tristate 'Ethertap network tap (OBSOLETE)' CONFIG_ETHERTAP
fi
-Index: linux-2.4.35.4/include/asm-alpha/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-alpha/signal.h
-+++ linux-2.4.35.4/include/asm-alpha/signal.h
+--- a/include/asm-alpha/signal.h
++++ b/include/asm-alpha/signal.h
@@ -121,8 +121,15 @@ typedef unsigned long sigset_t;
#define SA_PROBE SA_ONESHOT
#define SA_SAMPLE_RANDOM SA_RESTART
#define SIG_BLOCK 1 /* for blocking signals */
#define SIG_UNBLOCK 2 /* for unblocking signals */
#define SIG_SETMASK 3 /* for setting the signal mask */
-Index: linux-2.4.35.4/include/asm-arm/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-arm/signal.h
-+++ linux-2.4.35.4/include/asm-arm/signal.h
+--- a/include/asm-arm/signal.h
++++ b/include/asm-arm/signal.h
@@ -125,8 +125,15 @@ typedef unsigned long sigset_t;
#define SA_PROBE 0x80000000
#define SA_SAMPLE_RANDOM 0x10000000
#define SIG_BLOCK 0 /* for blocking signals */
#define SIG_UNBLOCK 1 /* for unblocking signals */
#define SIG_SETMASK 2 /* for setting the signal mask */
-Index: linux-2.4.35.4/include/asm-cris/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-cris/signal.h
-+++ linux-2.4.35.4/include/asm-cris/signal.h
+--- a/include/asm-cris/signal.h
++++ b/include/asm-cris/signal.h
@@ -120,8 +120,15 @@ typedef unsigned long sigset_t;
#define SA_PROBE SA_ONESHOT
#define SA_SAMPLE_RANDOM SA_RESTART
#define SIG_BLOCK 0 /* for blocking signals */
#define SIG_UNBLOCK 1 /* for unblocking signals */
#define SIG_SETMASK 2 /* for setting the signal mask */
-Index: linux-2.4.35.4/include/asm-i386/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-i386/signal.h
-+++ linux-2.4.35.4/include/asm-i386/signal.h
+--- a/include/asm-i386/signal.h
++++ b/include/asm-i386/signal.h
@@ -119,8 +119,15 @@ typedef unsigned long sigset_t;
#define SA_PROBE SA_ONESHOT
#define SA_SAMPLE_RANDOM SA_RESTART
#define SIG_BLOCK 0 /* for blocking signals */
#define SIG_UNBLOCK 1 /* for unblocking signals */
#define SIG_SETMASK 2 /* for setting the signal mask */
-Index: linux-2.4.35.4/include/asm-ia64/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-ia64/signal.h
-+++ linux-2.4.35.4/include/asm-ia64/signal.h
+--- a/include/asm-ia64/signal.h
++++ b/include/asm-ia64/signal.h
@@ -117,6 +117,12 @@
#define SA_SHIRQ 0x04000000
#define SA_PERCPU_IRQ 0x02000000
#endif /* __KERNEL__ */
#define SIG_BLOCK 0 /* for blocking signals */
-Index: linux-2.4.35.4/include/asm-m68k/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-m68k/signal.h
-+++ linux-2.4.35.4/include/asm-m68k/signal.h
+--- a/include/asm-m68k/signal.h
++++ b/include/asm-m68k/signal.h
@@ -116,8 +116,15 @@ typedef unsigned long sigset_t;
#define SA_PROBE SA_ONESHOT
#define SA_SAMPLE_RANDOM SA_RESTART
#define SIG_BLOCK 0 /* for blocking signals */
#define SIG_UNBLOCK 1 /* for unblocking signals */
#define SIG_SETMASK 2 /* for setting the signal mask */
-Index: linux-2.4.35.4/include/asm-mips/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/signal.h
-+++ linux-2.4.35.4/include/asm-mips/signal.h
+--- a/include/asm-mips/signal.h
++++ b/include/asm-mips/signal.h
@@ -111,6 +111,12 @@ typedef unsigned long old_sigset_t; /*
#define SA_SAMPLE_RANDOM SA_RESTART
#define SA_SHIRQ 0x02000000
#endif /* __KERNEL__ */
#define SIG_BLOCK 1 /* for blocking signals */
-Index: linux-2.4.35.4/include/asm-mips64/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips64/signal.h
-+++ linux-2.4.35.4/include/asm-mips64/signal.h
+--- a/include/asm-mips64/signal.h
++++ b/include/asm-mips64/signal.h
@@ -119,6 +119,12 @@ typedef unsigned int old_sigset_t32;
#define SA_SAMPLE_RANDOM SA_RESTART
#define SA_SHIRQ 0x02000000
#endif /* __KERNEL__ */
#define SIG_BLOCK 1 /* for blocking signals */
-Index: linux-2.4.35.4/include/asm-parisc/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-parisc/signal.h
-+++ linux-2.4.35.4/include/asm-parisc/signal.h
+--- a/include/asm-parisc/signal.h
++++ b/include/asm-parisc/signal.h
@@ -100,6 +100,12 @@
#define SA_SAMPLE_RANDOM SA_RESTART
#define SA_SHIRQ 0x04000000
#endif /* __KERNEL__ */
#define SIG_BLOCK 0 /* for blocking signals */
-Index: linux-2.4.35.4/include/asm-ppc/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-ppc/signal.h
-+++ linux-2.4.35.4/include/asm-ppc/signal.h
+--- a/include/asm-ppc/signal.h
++++ b/include/asm-ppc/signal.h
@@ -111,6 +111,13 @@ typedef struct {
#define SA_PROBE SA_ONESHOT
#define SA_SAMPLE_RANDOM SA_RESTART
#endif /* __KERNEL__ */
#define SIG_BLOCK 0 /* for blocking signals */
-Index: linux-2.4.35.4/include/asm-s390/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-s390/signal.h
-+++ linux-2.4.35.4/include/asm-s390/signal.h
+--- a/include/asm-s390/signal.h
++++ b/include/asm-s390/signal.h
@@ -129,8 +129,15 @@ typedef unsigned long sigset_t;
#define SA_SHIRQ 0x04000000
#define SA_DOPATHGROUP 0x00100000
#define SIG_BLOCK 0 /* for blocking signals */
#define SIG_UNBLOCK 1 /* for unblocking signals */
#define SIG_SETMASK 2 /* for setting the signal mask */
-Index: linux-2.4.35.4/include/asm-s390x/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-s390x/signal.h
-+++ linux-2.4.35.4/include/asm-s390x/signal.h
+--- a/include/asm-s390x/signal.h
++++ b/include/asm-s390x/signal.h
@@ -129,8 +129,15 @@ typedef unsigned long sigset_t;
#define SA_SHIRQ 0x04000000
#define SA_DOPATHGROUP 0x00100000
#define SIG_BLOCK 0 /* for blocking signals */
#define SIG_UNBLOCK 1 /* for unblocking signals */
#define SIG_SETMASK 2 /* for setting the signal mask */
-Index: linux-2.4.35.4/include/asm-sh/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-sh/signal.h
-+++ linux-2.4.35.4/include/asm-sh/signal.h
+--- a/include/asm-sh/signal.h
++++ b/include/asm-sh/signal.h
@@ -107,8 +107,15 @@ typedef struct {
#define SA_PROBE SA_ONESHOT
#define SA_SAMPLE_RANDOM SA_RESTART
#define SIG_BLOCK 0 /* for blocking signals */
#define SIG_UNBLOCK 1 /* for unblocking signals */
#define SIG_SETMASK 2 /* for setting the signal mask */
-Index: linux-2.4.35.4/include/asm-sparc/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-sparc/signal.h
-+++ linux-2.4.35.4/include/asm-sparc/signal.h
+--- a/include/asm-sparc/signal.h
++++ b/include/asm-sparc/signal.h
@@ -176,8 +176,15 @@ struct sigstack {
#define SA_PROBE SA_ONESHOT
#define SA_SAMPLE_RANDOM SA_RESTART
/* Type of a signal handler. */
#ifdef __KERNEL__
typedef void (*__sighandler_t)(int, int, struct sigcontext *, char *);
-Index: linux-2.4.35.4/include/asm-sparc64/signal.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-sparc64/signal.h
-+++ linux-2.4.35.4/include/asm-sparc64/signal.h
+--- a/include/asm-sparc64/signal.h
++++ b/include/asm-sparc64/signal.h
@@ -192,8 +192,15 @@ struct sigstack {
#define SA_PROBE SA_ONESHOT
#define SA_SAMPLE_RANDOM SA_RESTART
-Index: linux-2.4.35.4/net/core/dev.c
-===================================================================
---- linux-2.4.35.4.orig/net/core/dev.c
-+++ linux-2.4.35.4/net/core/dev.c
+--- a/net/core/dev.c
++++ b/net/core/dev.c
@@ -1289,6 +1289,19 @@ int netif_rx(struct sk_buff *skb)
local_irq_save(flags);
-Index: linux-2.4.35.4/arch/mips/kernel/mips_ksyms.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/mips_ksyms.c
-+++ linux-2.4.35.4/arch/mips/kernel/mips_ksyms.c
+--- a/arch/mips/kernel/mips_ksyms.c
++++ b/arch/mips/kernel/mips_ksyms.c
@@ -30,6 +30,10 @@
#include <asm/floppy.h>
#endif
/* Networking helper routines. */
EXPORT_SYMBOL(csum_partial_copy);
-Index: linux-2.4.35.4/arch/mips/lib/Makefile
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/lib/Makefile
-+++ linux-2.4.35.4/arch/mips/lib/Makefile
+--- a/arch/mips/lib/Makefile
++++ b/arch/mips/lib/Makefile
@@ -9,7 +9,8 @@ L_TARGET = lib.a
obj-y += csum_partial.o csum_partial_copy.o \
promlib.o rtc-std.o rtc-no.o memcpy.o \
export-objs := rtc-std.o rtc-no.o
-Index: linux-2.4.35.4/arch/mips/lib/ashldi3.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/lib/ashldi3.c
++++ b/arch/mips/lib/ashldi3.c
@@ -0,0 +1,62 @@
+/* ashrdi3.c extracted from gcc-2.95.2/libgcc2.c which is: */
+/* Copyright (C) 1989, 92-98, 1999 Free Software Foundation, Inc.
+
+ return w.ll;
+}
-Index: linux-2.4.35.4/arch/mips/lib/ashrdi3.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/lib/ashrdi3.c
++++ b/arch/mips/lib/ashrdi3.c
@@ -0,0 +1,63 @@
+/* ashrdi3.c extracted from gcc-2.7.2/libgcc2.c which is: */
+/* Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+
+ return w.ll;
+}
-Index: linux-2.4.35.4/arch/mips/lib/lshrdi3.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/lib/lshrdi3.c
++++ b/arch/mips/lib/lshrdi3.c
@@ -0,0 +1,62 @@
+/* lshrdi3.c extracted from gcc-2.7.2/libgcc2.c which is: */
+/* Copyright (C) 1989, 1992, 1993, 1994, 1995 Free Software Foundation, Inc.
+
+ return w.ll;
+}
-Index: linux-2.4.35.4/arch/mips/lib/muldi3.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/arch/mips/lib/muldi3.c
++++ b/arch/mips/lib/muldi3.c
@@ -0,0 +1,63 @@
+/* muldi3.c extracted from gcc-2.7.2.3/libgcc2.c and
+ gcc-2.7.2.3/longlong.h which is: */
+
+ return w.ll;
+}
-Index: linux-2.4.35.4/fs/cifs/cifsfs.c
-===================================================================
---- linux-2.4.35.4.orig/fs/cifs/cifsfs.c
-+++ linux-2.4.35.4/fs/cifs/cifsfs.c
+--- a/fs/cifs/cifsfs.c
++++ b/fs/cifs/cifsfs.c
@@ -50,8 +50,6 @@
static struct quotactl_ops cifs_quotactl_ops;
#endif
int cifsFYI = 0;
int cifsERROR = 1;
int traceSMB = 0;
-Index: linux-2.4.35.4/include/asm-mips/uaccess.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/uaccess.h
-+++ linux-2.4.35.4/include/asm-mips/uaccess.h
+--- a/include/asm-mips/uaccess.h
++++ b/include/asm-mips/uaccess.h
@@ -149,7 +149,7 @@ static inline int verify_area(int type,
* Returns zero on success, or -EFAULT on error.
*/
-Index: linux-2.4.35.4/arch/mips/kernel/time.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/time.c
-+++ linux-2.4.35.4/arch/mips/kernel/time.c
+--- a/arch/mips/kernel/time.c
++++ b/arch/mips/kernel/time.c
@@ -151,6 +151,27 @@ void (*mips_timer_ack)(void);
unsigned int (*mips_hpt_read)(void);
void (*mips_hpt_init)(unsigned int);
EXPORT_SYMBOL(rtc_get_time);
+EXPORT_SYMBOL(get_htscl);
+EXPORT_SYMBOL(get_tscll);
-Index: linux-2.4.35.4/include/asm-mips/timex.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/timex.h
-+++ linux-2.4.35.4/include/asm-mips/timex.h
+--- a/include/asm-mips/timex.h
++++ b/include/asm-mips/timex.h
@@ -31,6 +31,19 @@ static inline cycles_t get_cycles (void)
return read_c0_count();
}
#define vxtime_lock() do {} while (0)
#define vxtime_unlock() do {} while (0)
-Index: linux-2.4.35.4/include/net/pkt_sched.h
-===================================================================
---- linux-2.4.35.4.orig/include/net/pkt_sched.h
-+++ linux-2.4.35.4/include/net/pkt_sched.h
+--- a/include/net/pkt_sched.h
++++ b/include/net/pkt_sched.h
@@ -5,7 +5,11 @@
#define PSCHED_JIFFIES 2
#define PSCHED_CPU 3
-Index: linux-2.4.35.4/arch/mips/kernel/branch.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/branch.c
-+++ linux-2.4.35.4/arch/mips/kernel/branch.c
+--- a/arch/mips/kernel/branch.c
++++ b/arch/mips/kernel/branch.c
@@ -170,7 +170,7 @@ int __compute_return_epc(struct pt_regs
bit = (insn.i_format.rt >> 2);
bit += (bit != 0);
-Index: linux-2.4.35.4/include/linux/sockios.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/sockios.h
-+++ linux-2.4.35.4/include/linux/sockios.h
+--- a/include/linux/sockios.h
++++ b/include/linux/sockios.h
@@ -68,6 +68,11 @@
#define SIOCGIFBR 0x8940 /* Bridging support */
-Index: linux-2.4.35.4/Documentation/isdn/CREDITS
-===================================================================
---- linux-2.4.35.4.orig/Documentation/isdn/CREDITS
-+++ linux-2.4.35.4/Documentation/isdn/CREDITS
+--- a/Documentation/isdn/CREDITS
++++ b/Documentation/isdn/CREDITS
@@ -37,7 +37,7 @@ Michael Knigge (knick@cove.han.de)
Andreas Kool (akool@Kool.f.EUnet.de)
For contribution of the isdnlog/isdnrep-tool
For lot of new ideas and the pcbit driver.
Eberhard Moenkeberg (emoenke@gwdg.de)
-Index: linux-2.4.35.4/Documentation/isdn/HiSax.cert
-===================================================================
---- linux-2.4.35.4.orig/Documentation/isdn/HiSax.cert
-+++ linux-2.4.35.4/Documentation/isdn/HiSax.cert
+--- a/Documentation/isdn/HiSax.cert
++++ b/Documentation/isdn/HiSax.cert
@@ -68,6 +68,8 @@ drivers/isdn/hisax/cert.c
drivers/isdn/hisax/elsa.c
drivers/isdn/hisax/diva.c
Please send any changes, bugfixes and patches to me rather than implementing
them directly into the HiSax sources.
-Index: linux-2.4.35.4/Documentation/isdn/INTERFACE
-===================================================================
---- linux-2.4.35.4.orig/Documentation/isdn/INTERFACE
-+++ linux-2.4.35.4/Documentation/isdn/INTERFACE
+--- a/Documentation/isdn/INTERFACE
++++ b/Documentation/isdn/INTERFACE
@@ -1,4 +1,4 @@
-$Id: INTERFACE,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: INTERFACE,v 1.17 2002/01/31 13:26:35 keil Exp $
+ command = ISDN_STAT_PROCEED
+ arg = channel-number, locally to the driver. (starting with 0)
+
-Index: linux-2.4.35.4/Documentation/isdn/INTERFACE.fax
-===================================================================
---- linux-2.4.35.4.orig/Documentation/isdn/INTERFACE.fax
-+++ linux-2.4.35.4/Documentation/isdn/INTERFACE.fax
+--- a/Documentation/isdn/INTERFACE.fax
++++ b/Documentation/isdn/INTERFACE.fax
@@ -1,4 +1,4 @@
-$Id: INTERFACE.fax,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: INTERFACE.fax,v 1.2 2000/08/06 09:22:50 armin Exp $
Description of the fax-subinterface between linklevel and hardwarelevel of
-Index: linux-2.4.35.4/Documentation/isdn/README
-===================================================================
---- linux-2.4.35.4.orig/Documentation/isdn/README
-+++ linux-2.4.35.4/Documentation/isdn/README
+--- a/Documentation/isdn/README
++++ b/Documentation/isdn/README
@@ -278,6 +278,12 @@ README for the ISDN-subsystem
1 = Add CPN to FCON message on
Bit 2: 0 = Add CDN to RING/FCON message off
Last but not least a (at the moment fairly primitive) device to request
the line-status (/dev/isdninfo) is made available.
-Index: linux-2.4.35.4/Documentation/isdn/README.HiSax
-===================================================================
---- linux-2.4.35.4.orig/Documentation/isdn/README.HiSax
-+++ linux-2.4.35.4/Documentation/isdn/README.HiSax
+--- a/Documentation/isdn/README.HiSax
++++ b/Documentation/isdn/README.HiSax
@@ -41,10 +41,9 @@ ELSA Quickstep 3000 (same settings as QS
ELSA Quickstep 3000PCI
ELSA PCMCIA
Running the driver
------------------
-Index: linux-2.4.35.4/Documentation/isdn/README.act2000
-===================================================================
---- linux-2.4.35.4.orig/Documentation/isdn/README.act2000
-+++ linux-2.4.35.4/Documentation/isdn/README.act2000
+--- a/Documentation/isdn/README.act2000
++++ b/Documentation/isdn/README.act2000
@@ -1,4 +1,4 @@
-$Id: README.act2000,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: README.act2000,v 1.3 2000/08/06 09:22:51 armin Exp $
This document describes the ACT2000 driver for the
IBM Active 2000 ISDN card.
-Index: linux-2.4.35.4/Documentation/isdn/README.audio
-===================================================================
---- linux-2.4.35.4.orig/Documentation/isdn/README.audio
-+++ linux-2.4.35.4/Documentation/isdn/README.audio
+--- a/Documentation/isdn/README.audio
++++ b/Documentation/isdn/README.audio
@@ -1,4 +1,4 @@
-$Id: README.audio,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: README.audio,v 1.8 1999/07/11 17:17:29 armin Exp $
ISDN subsystem for Linux.
Description of audio mode.
-Index: linux-2.4.35.4/Documentation/isdn/README.eicon
-===================================================================
---- linux-2.4.35.4.orig/Documentation/isdn/README.eicon
-+++ linux-2.4.35.4/Documentation/isdn/README.eicon
+--- a/Documentation/isdn/README.eicon
++++ b/Documentation/isdn/README.eicon
@@ -1,4 +1,4 @@
-$Id: README.eicon,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: README.eicon,v 1.10 2000/08/13 12:19:15 armin Exp $
(c) 1999,2000 Armin Schindler (mac@melware.de)
(c) 1999,2000 Cytronics & Melware (info@melware.de)
-Index: linux-2.4.35.4/Documentation/isdn/README.hysdn
-===================================================================
---- linux-2.4.35.4.orig/Documentation/isdn/README.hysdn
-+++ linux-2.4.35.4/Documentation/isdn/README.hysdn
+--- a/Documentation/isdn/README.hysdn
++++ b/Documentation/isdn/README.hysdn
@@ -1,4 +1,4 @@
-$Id: README.hysdn,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: README.hysdn,v 1.3.6.1 2001/02/10 14:41:19 kai Exp $
The hysdn driver has been written by
by Werner Cornelius (werner@isdn4linux.de or werner@titro.de)
for Hypercope GmbH Aachen Germany. Hypercope agreed to publish this driver
-Index: linux-2.4.35.4/Documentation/isdn/README.icn
-===================================================================
---- linux-2.4.35.4.orig/Documentation/isdn/README.icn
-+++ linux-2.4.35.4/Documentation/isdn/README.icn
+--- a/Documentation/isdn/README.icn
++++ b/Documentation/isdn/README.icn
@@ -1,4 +1,4 @@
-$Id: README.icn,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+$Id: README.icn,v 1.7 2000/08/06 09:22:51 armin Exp $
You can get the ICN-ISDN-card from:
-Index: linux-2.4.35.4/Documentation/isdn/README.pcbit
-===================================================================
---- linux-2.4.35.4.orig/Documentation/isdn/README.pcbit
-+++ linux-2.4.35.4/Documentation/isdn/README.pcbit
+--- a/Documentation/isdn/README.pcbit
++++ b/Documentation/isdn/README.pcbit
@@ -37,4 +37,4 @@ mailing list (isdn4linux@listserv.isdn4l
regards,
Pedro.
-<pedro_m@yahoo.com>
+<roque@di.fc.ul.pt>
-Index: linux-2.4.35.4/Documentation/isdn/abcext_kernel.help
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/Documentation/isdn/abcext_kernel.help
++++ b/Documentation/isdn/abcext_kernel.help
@@ -0,0 +1,166 @@
+
+ISDN-ABC-DW Extension
+ See "linux/Documentation/isdn/dw-abc-extension-howto.txt"
+ for more Information
+
-Index: linux-2.4.35.4/drivers/isdn/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/Config.in
-+++ linux-2.4.35.4/drivers/isdn/Config.in
+--- a/drivers/isdn/Config.in
++++ b/drivers/isdn/Config.in
@@ -4,11 +4,9 @@
# only included if CONFIG_ISDN != n
fi
endmenu
-Index: linux-2.4.35.4/drivers/isdn/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/Makefile
-+++ linux-2.4.35.4/drivers/isdn/Makefile
+--- a/drivers/isdn/Makefile
++++ b/drivers/isdn/Makefile
@@ -2,7 +2,7 @@
# The target object and module list name.
subdir-$(CONFIG_ISDN_DRV_ICN) += icn
subdir-$(CONFIG_ISDN_DRV_PCBIT) += pcbit
subdir-$(CONFIG_ISDN_DRV_SC) += sc
-Index: linux-2.4.35.4/drivers/isdn/act2000/act2000.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/act2000/act2000.h
-+++ linux-2.4.35.4/drivers/isdn/act2000/act2000.h
+--- a/drivers/isdn/act2000/act2000.h
++++ b/drivers/isdn/act2000/act2000.h
@@ -1,4 +1,4 @@
-/* $Id: act2000.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id$
{
queue_task(&card->poll_tq, &tq_immediate);
mark_bh(IMMEDIATE_BH);
-Index: linux-2.4.35.4/drivers/isdn/act2000/act2000_isa.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/act2000/act2000_isa.c
-+++ linux-2.4.35.4/drivers/isdn/act2000/act2000_isa.c
+--- a/drivers/isdn/act2000/act2000_isa.c
++++ b/drivers/isdn/act2000/act2000_isa.c
@@ -1,4 +1,4 @@
-/* $Id: act2000_isa.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id$
}
}
-Index: linux-2.4.35.4/drivers/isdn/act2000/act2000_isa.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/act2000/act2000_isa.h
-+++ linux-2.4.35.4/drivers/isdn/act2000/act2000_isa.h
+--- a/drivers/isdn/act2000/act2000_isa.h
++++ b/drivers/isdn/act2000/act2000_isa.h
@@ -1,4 +1,4 @@
-/* $Id: act2000_isa.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id$
*
* ISDN lowlevel-module for the IBM ISDN-S0 Active 2000 (ISA-Version).
*
-Index: linux-2.4.35.4/drivers/isdn/act2000/capi.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/act2000/capi.c
-+++ linux-2.4.35.4/drivers/isdn/act2000/capi.c
+--- a/drivers/isdn/act2000/capi.c
++++ b/drivers/isdn/act2000/capi.c
@@ -1,4 +1,4 @@
-/* $Id: capi.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id$
#endif
{{ 0x00, 0x00}, NULL},
};
-Index: linux-2.4.35.4/drivers/isdn/act2000/capi.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/act2000/capi.h
-+++ linux-2.4.35.4/drivers/isdn/act2000/capi.h
+--- a/drivers/isdn/act2000/capi.h
++++ b/drivers/isdn/act2000/capi.h
@@ -1,4 +1,4 @@
-/* $Id: capi.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id$
actcapi_nextsmsg(act2000_card *card)
{
unsigned long flags;
-Index: linux-2.4.35.4/drivers/isdn/act2000/module.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/act2000/module.c
-+++ linux-2.4.35.4/drivers/isdn/act2000/module.c
+--- a/drivers/isdn/act2000/module.c
++++ b/drivers/isdn/act2000/module.c
@@ -1,4 +1,4 @@
-/* $Id: module.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id$
module_init(act2000_init);
module_exit(act2000_exit);
-Index: linux-2.4.35.4/drivers/isdn/avmb1/avm_cs.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/avm_cs.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/avm_cs.c
+--- a/drivers/isdn/avmb1/avm_cs.c
++++ b/drivers/isdn/avmb1/avm_cs.c
@@ -1,4 +1,4 @@
-/* $Id: avm_cs.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: avm_cs.c,v 1.6 2001/09/24 13:22:44 kai Exp $
*
* A PCMCIA client driver for AVM B1/M1/M2
*
-Index: linux-2.4.35.4/drivers/isdn/avmb1/avmcard.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/avmcard.h
-+++ linux-2.4.35.4/drivers/isdn/avmb1/avmcard.h
+--- a/drivers/isdn/avmb1/avmcard.h
++++ b/drivers/isdn/avmb1/avmcard.h
@@ -1,4 +1,4 @@
-/* $Id: avmcard.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: avmcard.h,v 1.12 2001/09/24 13:22:44 kai Exp $
*
* Copyright 1999 by Carsten Paeth <calle@calle.de>
*
-Index: linux-2.4.35.4/drivers/isdn/avmb1/b1.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/b1.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/b1.c
+--- a/drivers/isdn/avmb1/b1.c
++++ b/drivers/isdn/avmb1/b1.c
@@ -1,4 +1,4 @@
-/* $Id: b1.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: b1.c,v 1.26 2001/09/24 13:22:44 kai Exp $
/* ------------------------------------------------------------- */
-Index: linux-2.4.35.4/drivers/isdn/avmb1/b1dma.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/b1dma.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/b1dma.c
+--- a/drivers/isdn/avmb1/b1dma.c
++++ b/drivers/isdn/avmb1/b1dma.c
@@ -1,4 +1,4 @@
-/* $Id: b1dma.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: b1dma.c,v 1.18 2001/09/24 13:22:44 kai Exp $
rxlen = b1dmainmeml(card->mbase+0x28);
csr = b1dmainmeml(card->mbase+AMCC_INTCSR);
-Index: linux-2.4.35.4/drivers/isdn/avmb1/b1isa.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/b1isa.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/b1isa.c
+--- a/drivers/isdn/avmb1/b1isa.c
++++ b/drivers/isdn/avmb1/b1isa.c
@@ -1,4 +1,4 @@
-/* $Id: b1isa.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: b1isa.c,v 1.14 2001/09/24 13:22:44 kai Exp $
/* ------------------------------------------------------------- */
-Index: linux-2.4.35.4/drivers/isdn/avmb1/b1pci.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/b1pci.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/b1pci.c
+--- a/drivers/isdn/avmb1/b1pci.c
++++ b/drivers/isdn/avmb1/b1pci.c
@@ -1,4 +1,4 @@
-/* $Id: b1pci.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: b1pci.c,v 1.40 2001/09/24 13:22:44 kai Exp $
printk(KERN_INFO
"%s: PCI BIOS reports AVM-B1 at i/o %#x, irq %d\n",
-Index: linux-2.4.35.4/drivers/isdn/avmb1/b1pcmcia.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/b1pcmcia.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/b1pcmcia.c
+--- a/drivers/isdn/avmb1/b1pcmcia.c
++++ b/drivers/isdn/avmb1/b1pcmcia.c
@@ -1,4 +1,4 @@
-/* $Id: b1pcmcia.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: b1pcmcia.c,v 1.17 2001/09/24 13:22:44 kai Exp $
/* ------------------------------------------------------------- */
-Index: linux-2.4.35.4/drivers/isdn/avmb1/c4.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/c4.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/c4.c
+--- a/drivers/isdn/avmb1/c4.c
++++ b/drivers/isdn/avmb1/c4.c
@@ -1,4 +1,4 @@
-/* $Id: c4.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: c4.c,v 1.38 2001/09/24 13:22:44 kai Exp $
printk(KERN_INFO
"%s: PCI BIOS reports AVM-C%d at i/o %#x, irq %d, mem %#x\n",
-Index: linux-2.4.35.4/drivers/isdn/avmb1/capi.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/capi.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/capi.c
+--- a/drivers/isdn/avmb1/capi.c
++++ b/drivers/isdn/avmb1/capi.c
@@ -1,4 +1,4 @@
-/* $Id: capi.c,v 1.1.4.2 2001/12/09 18:45:13 kai Exp $
+/* $Id: capi.c,v 1.59 2001/11/07 22:35:48 kai Exp $
(void) detach_capi_interface(&cuser);
printk(KERN_NOTICE "capi: Rev %s: unloaded\n", rev);
}
-Index: linux-2.4.35.4/drivers/isdn/avmb1/capicmd.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/capicmd.h
-+++ linux-2.4.35.4/drivers/isdn/avmb1/capicmd.h
+--- a/drivers/isdn/avmb1/capicmd.h
++++ b/drivers/isdn/avmb1/capicmd.h
@@ -1,4 +1,4 @@
-/* $Id: capicmd.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capicmd.h,v 1.4 2001/09/24 13:22:44 kai Exp $
*
* CAPI 2.0 Interface for Linux
*
-Index: linux-2.4.35.4/drivers/isdn/avmb1/capidev.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/capidev.h
-+++ linux-2.4.35.4/drivers/isdn/avmb1/capidev.h
+--- a/drivers/isdn/avmb1/capidev.h
++++ b/drivers/isdn/avmb1/capidev.h
@@ -1,4 +1,4 @@
-/* $Id: capidev.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capidev.h,v 1.8 2001/09/24 13:22:44 kai Exp $
*
* CAPI 2.0 Interface for Linux
*
-Index: linux-2.4.35.4/drivers/isdn/avmb1/capidrv.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/capidrv.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/capidrv.c
+--- a/drivers/isdn/avmb1/capidrv.c
++++ b/drivers/isdn/avmb1/capidrv.c
@@ -1,4 +1,4 @@
-/* $Id: capidrv.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capidrv.c,v 1.45 2001/09/24 13:22:44 kai Exp $
kfree(card->bchans);
card->bchans = 0;
-Index: linux-2.4.35.4/drivers/isdn/avmb1/capidrv.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/capidrv.h
-+++ linux-2.4.35.4/drivers/isdn/avmb1/capidrv.h
+--- a/drivers/isdn/avmb1/capidrv.h
++++ b/drivers/isdn/avmb1/capidrv.h
@@ -1,4 +1,4 @@
-/* $Id: capidrv.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capidrv.h,v 1.4 2001/09/24 13:22:44 kai Exp $
*
* ISDN4Linux Driver, using capi20 interface (kernelcapi)
*
-Index: linux-2.4.35.4/drivers/isdn/avmb1/capifs.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/capifs.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/capifs.c
+--- a/drivers/isdn/avmb1/capifs.c
++++ b/drivers/isdn/avmb1/capifs.c
@@ -1,4 +1,4 @@
-/* $Id: capifs.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capifs.c,v 1.22 2001/09/24 13:22:44 kai Exp $
}
}
}
-Index: linux-2.4.35.4/drivers/isdn/avmb1/capifs.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/capifs.h
-+++ linux-2.4.35.4/drivers/isdn/avmb1/capifs.h
+--- a/drivers/isdn/avmb1/capifs.h
++++ b/drivers/isdn/avmb1/capifs.h
@@ -1,4 +1,4 @@
-/* $Id: capifs.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capifs.h,v 1.4 2001/09/24 13:22:44 kai Exp $
*
* Copyright 2000 by Carsten Paeth <calle@calle.de>
*
-Index: linux-2.4.35.4/drivers/isdn/avmb1/capilli.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/capilli.h
-+++ linux-2.4.35.4/drivers/isdn/avmb1/capilli.h
+--- a/drivers/isdn/avmb1/capilli.h
++++ b/drivers/isdn/avmb1/capilli.h
@@ -1,4 +1,4 @@
-/* $Id: capilli.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capilli.h,v 1.5 2001/09/24 13:22:44 kai Exp $
*
* Kernel CAPI 2.0 Driver Interface for Linux
*
-Index: linux-2.4.35.4/drivers/isdn/avmb1/capiutil.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/capiutil.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/capiutil.c
+--- a/drivers/isdn/avmb1/capiutil.c
++++ b/drivers/isdn/avmb1/capiutil.c
@@ -1,4 +1,4 @@
-/* $Id: capiutil.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capiutil.c,v 1.16 2001/09/24 13:22:44 kai Exp $
#include "capiutil.h"
MODULE_DESCRIPTION("CAPI4Linux: CAPI message conversion support");
-Index: linux-2.4.35.4/drivers/isdn/avmb1/capiutil.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/capiutil.h
-+++ linux-2.4.35.4/drivers/isdn/avmb1/capiutil.h
+--- a/drivers/isdn/avmb1/capiutil.h
++++ b/drivers/isdn/avmb1/capiutil.h
@@ -1,4 +1,4 @@
-/* $Id: capiutil.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: capiutil.h,v 1.7 2001/09/24 13:22:44 kai Exp $
*
* CAPI 2.0 defines & types
*
-Index: linux-2.4.35.4/drivers/isdn/avmb1/kcapi.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/kcapi.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/kcapi.c
+--- a/drivers/isdn/avmb1/kcapi.c
++++ b/drivers/isdn/avmb1/kcapi.c
@@ -1,4 +1,4 @@
-/* $Id: kcapi.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: kcapi.c,v 1.28 2001/09/24 13:22:44 kai Exp $
printk(KERN_NOTICE "kcapi: card %d \"%s\" ready.\n",
CARDNR(card), card->name);
-Index: linux-2.4.35.4/drivers/isdn/avmb1/t1isa.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/t1isa.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/t1isa.c
+--- a/drivers/isdn/avmb1/t1isa.c
++++ b/drivers/isdn/avmb1/t1isa.c
@@ -1,4 +1,4 @@
-/* $Id: t1isa.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: t1isa.c,v 1.22 2001/09/24 13:22:44 kai Exp $
/* ------------------------------------------------------------- */
-Index: linux-2.4.35.4/drivers/isdn/avmb1/t1pci.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/avmb1/t1pci.c
-+++ linux-2.4.35.4/drivers/isdn/avmb1/t1pci.c
+--- a/drivers/isdn/avmb1/t1pci.c
++++ b/drivers/isdn/avmb1/t1pci.c
@@ -1,4 +1,4 @@
-/* $Id: t1pci.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: t1pci.c,v 1.25 2001/09/24 13:22:44 kai Exp $
printk(KERN_INFO
"%s: PCI BIOS reports AVM-T1-PCI at i/o %#x, irq %d, mem %#x\n",
-Index: linux-2.4.35.4/drivers/isdn/divert/divert_procfs.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/divert/divert_procfs.c
-+++ linux-2.4.35.4/drivers/isdn/divert/divert_procfs.c
+--- a/drivers/isdn/divert/divert_procfs.c
++++ b/drivers/isdn/divert/divert_procfs.c
@@ -1,4 +1,4 @@
-/* $Id: divert_procfs.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
#endif /* CONFIG_PROC_FS */
return (0);
-Index: linux-2.4.35.4/drivers/isdn/divert/isdn_divert.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/divert/isdn_divert.c
-+++ linux-2.4.35.4/drivers/isdn/divert/isdn_divert.c
+--- a/drivers/isdn/divert/isdn_divert.c
++++ b/drivers/isdn/divert/isdn_divert.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_divert.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
break;
default:
-Index: linux-2.4.35.4/drivers/isdn/divert/isdn_divert.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/divert/isdn_divert.h
-+++ linux-2.4.35.4/drivers/isdn/divert/isdn_divert.h
+--- a/drivers/isdn/divert/isdn_divert.h
++++ b/drivers/isdn/divert/isdn_divert.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_divert.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
actions 1-2 only take place if interface is opened
*/
u_char waittime; /* maximum wait time for proceeding */
-Index: linux-2.4.35.4/drivers/isdn/eicon/Divas_mod.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/Divas_mod.c
-+++ linux-2.4.35.4/drivers/isdn/eicon/Divas_mod.c
+--- a/drivers/isdn/eicon/Divas_mod.c
++++ b/drivers/isdn/eicon/Divas_mod.c
@@ -20,6 +20,7 @@
#include "adapter.h"
#include "uxio.h"
MODULE_DESCRIPTION("ISDN4Linux: Driver for Eicon Diva Server cards");
MODULE_AUTHOR("Armin Schindler");
-Index: linux-2.4.35.4/drivers/isdn/eicon/common.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/common.c
-+++ linux-2.4.35.4/drivers/isdn/eicon/common.c
+--- a/drivers/isdn/eicon/common.c
++++ b/drivers/isdn/eicon/common.c
@@ -808,9 +808,7 @@ void DivasDoDpc(void *pData)
while(i--)
}
}
-Index: linux-2.4.35.4/drivers/isdn/eicon/eicon.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/eicon.h
-+++ linux-2.4.35.4/drivers/isdn/eicon/eicon.h
+--- a/drivers/isdn/eicon/eicon.h
++++ b/drivers/isdn/eicon/eicon.h
@@ -1,4 +1,4 @@
-/* $Id: eicon.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon.h,v 1.26 2001/09/24 13:22:47 kai Exp $
{
queue_task(&card->ack_tq, &tq_immediate);
mark_bh(IMMEDIATE_BH);
-Index: linux-2.4.35.4/drivers/isdn/eicon/eicon_dsp.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/eicon_dsp.h
-+++ linux-2.4.35.4/drivers/isdn/eicon/eicon_dsp.h
+--- a/drivers/isdn/eicon/eicon_dsp.h
++++ b/drivers/isdn/eicon/eicon_dsp.h
@@ -1,4 +1,4 @@
-/* $Id: eicon_dsp.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_dsp.h,v 1.8 2001/09/24 13:22:47 kai Exp $
*
* ISDN lowlevel-module for Eicon active cards.
* DSP definitions
-Index: linux-2.4.35.4/drivers/isdn/eicon/eicon_idi.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/eicon_idi.c
-+++ linux-2.4.35.4/drivers/isdn/eicon/eicon_idi.c
+--- a/drivers/isdn/eicon/eicon_idi.c
++++ b/drivers/isdn/eicon/eicon_idi.c
@@ -1,4 +1,4 @@
-/* $Id: eicon_idi.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_idi.c,v 1.45 2001/11/07 22:35:48 kai Exp $
chan->statectrl &= ~WAITING_FOR_HANGUP;
chan->statectrl &= ~IN_HOLD;
if (chan->statectrl & HAVE_CONN_REQ) {
-Index: linux-2.4.35.4/drivers/isdn/eicon/eicon_idi.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/eicon_idi.h
-+++ linux-2.4.35.4/drivers/isdn/eicon/eicon_idi.h
+--- a/drivers/isdn/eicon/eicon_idi.h
++++ b/drivers/isdn/eicon/eicon_idi.h
@@ -1,4 +1,4 @@
-/* $Id: eicon_idi.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_idi.h,v 1.12 2001/09/24 13:22:47 kai Exp $
*
* ISDN lowlevel-module for the Eicon active cards.
* IDI-Interface
-Index: linux-2.4.35.4/drivers/isdn/eicon/eicon_io.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/eicon_io.c
-+++ linux-2.4.35.4/drivers/isdn/eicon/eicon_io.c
+--- a/drivers/isdn/eicon/eicon_io.c
++++ b/drivers/isdn/eicon/eicon_io.c
@@ -1,4 +1,4 @@
-/* $Id: eicon_io.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_io.c,v 1.15 2001/09/24 13:22:47 kai Exp $
*
* ISDN low-level module for Eicon active ISDN-Cards.
* Code for communicating with hardware.
-Index: linux-2.4.35.4/drivers/isdn/eicon/eicon_isa.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/eicon_isa.c
-+++ linux-2.4.35.4/drivers/isdn/eicon/eicon_isa.c
+--- a/drivers/isdn/eicon/eicon_isa.c
++++ b/drivers/isdn/eicon/eicon_isa.c
@@ -1,4 +1,4 @@
-/* $Id: eicon_isa.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_isa.c,v 1.18 2001/11/07 22:35:48 kai Exp $
#ifdef EICON_MCA_DEBUG
printk(KERN_INFO "eicon_isa_boot: card->ramsize = %d.\n", card->ramsize);
#endif
-Index: linux-2.4.35.4/drivers/isdn/eicon/eicon_isa.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/eicon_isa.h
-+++ linux-2.4.35.4/drivers/isdn/eicon/eicon_isa.h
+--- a/drivers/isdn/eicon/eicon_isa.h
++++ b/drivers/isdn/eicon/eicon_isa.h
@@ -1,4 +1,4 @@
-/* $Id: eicon_isa.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_isa.h,v 1.11 2001/09/24 13:22:47 kai Exp $
*
* ISDN low-level module for Eicon active ISDN-Cards.
*
-Index: linux-2.4.35.4/drivers/isdn/eicon/eicon_mod.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/eicon_mod.c
-+++ linux-2.4.35.4/drivers/isdn/eicon/eicon_mod.c
+--- a/drivers/isdn/eicon/eicon_mod.c
++++ b/drivers/isdn/eicon/eicon_mod.c
@@ -1,4 +1,4 @@
-/* $Id: eicon_mod.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_mod.c,v 1.44 2001/11/20 09:48:25 armin Exp $
#endif /* MODULE */
-Index: linux-2.4.35.4/drivers/isdn/eicon/eicon_pci.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/eicon_pci.c
-+++ linux-2.4.35.4/drivers/isdn/eicon/eicon_pci.c
+--- a/drivers/isdn/eicon/eicon_pci.c
++++ b/drivers/isdn/eicon/eicon_pci.c
@@ -1,4 +1,4 @@
-/* $Id: eicon_pci.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_pci.c,v 1.18 2001/09/24 13:22:47 kai Exp $
#if CONFIG_PCI /* intire stuff is only for PCI */
#ifdef CONFIG_ISDN_DRV_EICON_PCI
-Index: linux-2.4.35.4/drivers/isdn/eicon/eicon_pci.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/eicon_pci.h
-+++ linux-2.4.35.4/drivers/isdn/eicon/eicon_pci.h
+--- a/drivers/isdn/eicon/eicon_pci.h
++++ b/drivers/isdn/eicon/eicon_pci.h
@@ -1,4 +1,4 @@
-/* $Id: eicon_pci.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: eicon_pci.h,v 1.7 2001/09/24 13:22:47 kai Exp $
*
* ISDN low-level module for Eicon active ISDN-Cards (PCI part).
*
-Index: linux-2.4.35.4/drivers/isdn/eicon/fourbri.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/fourbri.c
-+++ linux-2.4.35.4/drivers/isdn/eicon/fourbri.c
+--- a/drivers/isdn/eicon/fourbri.c
++++ b/drivers/isdn/eicon/fourbri.c
@@ -337,8 +337,7 @@ static int diva_server_4bri_load(card_t
static int diva_server_4bri_start(card_t *card, byte *channels)
{
int adapter_num;
DPRINTF(("divas: start Diva Server 4BRI"));
-Index: linux-2.4.35.4/drivers/isdn/eicon/kprintf.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/kprintf.c
-+++ linux-2.4.35.4/drivers/isdn/eicon/kprintf.c
+--- a/drivers/isdn/eicon/kprintf.c
++++ b/drivers/isdn/eicon/kprintf.c
@@ -18,6 +18,468 @@
#include "divalog.h"
#include "uxio.h"
va_end(argptr);
-Index: linux-2.4.35.4/drivers/isdn/eicon/lincfg.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/lincfg.c
-+++ linux-2.4.35.4/drivers/isdn/eicon/lincfg.c
+--- a/drivers/isdn/eicon/lincfg.c
++++ b/drivers/isdn/eicon/lincfg.c
@@ -26,6 +26,9 @@
#include "uxio.h"
#include <linux/kernel.h>
#include <linux/ioport.h>
-Index: linux-2.4.35.4/drivers/isdn/eicon/linchr.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/linchr.c
-+++ linux-2.4.35.4/drivers/isdn/eicon/linchr.c
+--- a/drivers/isdn/eicon/linchr.c
++++ b/drivers/isdn/eicon/linchr.c
@@ -154,17 +154,17 @@ ssize_t do_read(struct file *pFile, char
klog_t *pHeadItem;
kfree(pHeadItem);
return sizeof(klog_t);
}
-Index: linux-2.4.35.4/drivers/isdn/eicon/linio.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/eicon/linio.c
-+++ linux-2.4.35.4/drivers/isdn/eicon/linio.c
+--- a/drivers/isdn/eicon/linio.c
++++ b/drivers/isdn/eicon/linio.c
@@ -15,6 +15,7 @@
#include <linux/slab.h>
#include <linux/pci.h>
#undef N_DATA
#include "uxio.h"
-Index: linux-2.4.35.4/drivers/isdn/hisax/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/Makefile
-+++ linux-2.4.35.4/drivers/isdn/hisax/Makefile
+--- a/drivers/isdn/hisax/Makefile
++++ b/drivers/isdn/hisax/Makefile
@@ -4,20 +4,17 @@
O_TARGET := vmlinux-obj.o
CERT := $(shell md5sum -c md5sums.asc >> /dev/null;echo $$?)
CFLAGS_cert.o := -DCERTIFICATION=$(CERT)
-Index: linux-2.4.35.4/drivers/isdn/hisax/amd7930.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/isdn/hisax/amd7930.c
++++ b/drivers/isdn/hisax/amd7930.c
@@ -0,0 +1,755 @@
+/* $Id: amd7930.c,v 1.8 2001/09/24 13:22:55 kai Exp $
+ *
+
+ return (1);
+}
-Index: linux-2.4.35.4/drivers/isdn/hisax/arcofi.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/arcofi.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/arcofi.c
+--- a/drivers/isdn/hisax/arcofi.c
++++ b/drivers/isdn/hisax/arcofi.c
@@ -1,4 +1,4 @@
-/* $Id: arcofi.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: arcofi.c,v 1.14 2001/09/24 13:22:55 kai Exp $
*
* Ansteuerung ARCOFI 2165
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/arcofi.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/arcofi.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/arcofi.h
+--- a/drivers/isdn/hisax/arcofi.h
++++ b/drivers/isdn/hisax/arcofi.h
@@ -1,4 +1,4 @@
-/* $Id: arcofi.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
*
* Ansteuerung ARCOFI 2165
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/asuscom.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/asuscom.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/asuscom.c
+--- a/drivers/isdn/hisax/asuscom.c
++++ b/drivers/isdn/hisax/asuscom.c
@@ -1,4 +1,4 @@
-/* $Id: asuscom.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: asuscom.c,v 1.14 2001/09/24 13:22:55 kai Exp $
bytecnt = 8;
cs->hw.asus.cfg_reg = card->para[1];
cs->irq = card->para[0];
-Index: linux-2.4.35.4/drivers/isdn/hisax/avm_a1.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/avm_a1.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/avm_a1.c
+--- a/drivers/isdn/hisax/avm_a1.c
++++ b/drivers/isdn/hisax/avm_a1.c
@@ -1,4 +1,4 @@
-/* $Id: avm_a1.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: avm_a1.c,v 2.15 2001/09/24 13:22:55 kai Exp $
#define AVM_A1_STAT_ISAC 0x01
#define AVM_A1_STAT_HSCX 0x02
-Index: linux-2.4.35.4/drivers/isdn/hisax/avm_a1p.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/avm_a1p.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/avm_a1p.c
+--- a/drivers/isdn/hisax/avm_a1p.c
++++ b/drivers/isdn/hisax/avm_a1p.c
@@ -1,4 +1,4 @@
-/* $Id: avm_a1p.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: avm_a1p.c,v 2.9 2001/09/24 13:22:55 kai Exp $
static inline u_char
ReadISAC(struct IsdnCardState *cs, u_char offset)
-Index: linux-2.4.35.4/drivers/isdn/hisax/avm_pci.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/avm_pci.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/avm_pci.c
+--- a/drivers/isdn/hisax/avm_pci.c
++++ b/drivers/isdn/hisax/avm_pci.c
@@ -1,4 +1,4 @@
-/* $Id: avm_pci.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: avm_pci.c,v 1.29 2001/09/24 13:22:55 kai Exp $
cs->hw.avm.isac = cs->hw.avm.cfg_reg + 0x10;
if (check_region((cs->hw.avm.cfg_reg), 32)) {
printk(KERN_WARNING
-Index: linux-2.4.35.4/drivers/isdn/hisax/bkm_a4t.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/bkm_a4t.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/bkm_a4t.c
+--- a/drivers/isdn/hisax/bkm_a4t.c
++++ b/drivers/isdn/hisax/bkm_a4t.c
@@ -1,4 +1,4 @@
-/* $Id: bkm_a4t.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: bkm_a4t.c,v 1.22 2001/09/24 13:22:55 kai Exp $
cs->irq = dev_a4t->irq;
break;
}
-Index: linux-2.4.35.4/drivers/isdn/hisax/bkm_a8.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/bkm_a8.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/bkm_a8.c
+--- a/drivers/isdn/hisax/bkm_a8.c
++++ b/drivers/isdn/hisax/bkm_a8.c
@@ -1,4 +1,4 @@
-/* $Id: bkm_a8.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: bkm_a8.c,v 1.22 2001/09/24 13:22:55 kai Exp $
}
#endif /* End HACK */
}
-Index: linux-2.4.35.4/drivers/isdn/hisax/bkm_ax.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/bkm_ax.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/bkm_ax.h
+--- a/drivers/isdn/hisax/bkm_ax.h
++++ b/drivers/isdn/hisax/bkm_ax.h
@@ -1,4 +1,4 @@
-/* $Id: bkm_ax.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
*
* low level decls for T-Berkom cards A4T and Scitel Quadro (4*S0, passive)
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/callc.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/callc.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/callc.c
+--- a/drivers/isdn/hisax/callc.c
++++ b/drivers/isdn/hisax/callc.c
@@ -1,4 +1,4 @@
-/* $Id: callc.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: callc.c,v 2.59 2002/02/09 21:19:11 keil Exp $
case (CC_PROGRESS | INDICATION):
case (CC_NOTIFY | INDICATION):
break;
-Index: linux-2.4.35.4/drivers/isdn/hisax/cert.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/cert.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/cert.c
+--- a/drivers/isdn/hisax/cert.c
++++ b/drivers/isdn/hisax/cert.c
@@ -1,4 +1,4 @@
-/* $Id: cert.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: cert.c,v 2.6 2001/09/24 13:22:56 kai Exp $
*
* Author Karsten Keil
* Copyright by Karsten Keil <keil@isdn4linux.de>
-Index: linux-2.4.35.4/drivers/isdn/hisax/config.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/config.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/config.c
+--- a/drivers/isdn/hisax/config.c
++++ b/drivers/isdn/hisax/config.c
@@ -1,4 +1,4 @@
-/* $Id: config.c,v 1.1.4.5 2001/12/09 19:19:26 kai Exp $
+/* $Id: config.c,v 2.84 2002/08/13 09:55:29 keil Exp $
-EXPORT_SYMBOL(FsmInitTimer);
-EXPORT_SYMBOL(FsmDelTimer);
-EXPORT_SYMBOL(FsmRestartTimer);
-Index: linux-2.4.35.4/drivers/isdn/hisax/diva.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/diva.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/diva.c
+--- a/drivers/isdn/hisax/diva.c
++++ b/drivers/isdn/hisax/diva.c
@@ -1,4 +1,4 @@
-/* $Id: diva.c,v 1.1.4.2 2002/08/30 11:21:00 keil Exp $
+/* $Id: diva.c,v 1.33 2001/09/24 13:22:56 kai Exp $
} else { /* DIVA 2.0 */
cs->hw.diva.tl.function = (void *) diva_led_handler;
cs->hw.diva.tl.data = (long) cs;
-Index: linux-2.4.35.4/drivers/isdn/hisax/elsa.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/elsa.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/elsa.c
+--- a/drivers/isdn/hisax/elsa.c
++++ b/drivers/isdn/hisax/elsa.c
@@ -1,4 +1,4 @@
-/* $Id: elsa.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: elsa.c,v 2.32 2001/09/24 13:22:56 kai Exp $
case ELSA_QS3000PCI:
bytecnt = 16;
break;
-Index: linux-2.4.35.4/drivers/isdn/hisax/elsa_cs.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/elsa_cs.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/elsa_cs.c
+--- a/drivers/isdn/hisax/elsa_cs.c
++++ b/drivers/isdn/hisax/elsa_cs.c
@@ -72,7 +72,7 @@ static int pc_debug = PCMCIA_DEBUG;
MODULE_PARM(pc_debug, "i");
#define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args);
#else
#define DEBUG(n, args...)
#endif
-Index: linux-2.4.35.4/drivers/isdn/hisax/elsa_ser.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/elsa_ser.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/elsa_ser.c
+--- a/drivers/isdn/hisax/elsa_ser.c
++++ b/drivers/isdn/hisax/elsa_ser.c
@@ -1,4 +1,4 @@
-/* $Id: elsa_ser.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: elsa_ser.c,v 2.14 2001/09/24 13:22:56 kai Exp $
static void rs_interrupt_elsa(int irq, struct IsdnCardState *cs)
{
-Index: linux-2.4.35.4/drivers/isdn/hisax/fsm.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/fsm.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/fsm.c
+--- a/drivers/isdn/hisax/fsm.c
++++ b/drivers/isdn/hisax/fsm.c
@@ -1,4 +1,4 @@
-/* $Id: fsm.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
int __init
FsmNew(struct Fsm *fsm, struct FsmNode *fnlist, int fncount)
{
-Index: linux-2.4.35.4/drivers/isdn/hisax/fsm.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/fsm.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/fsm.h
+--- a/drivers/isdn/hisax/fsm.h
++++ b/drivers/isdn/hisax/fsm.h
@@ -1,4 +1,4 @@
-/* $Id: fsm.h,v 1.1.2.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
*
* Finite state machine
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/gazel.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/gazel.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/gazel.c
+--- a/drivers/isdn/hisax/gazel.c
++++ b/drivers/isdn/hisax/gazel.c
@@ -1,4 +1,4 @@
-/* $Id: gazel.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: gazel.c,v 2.19 2001/09/24 13:22:56 kai Exp $
found = 1;
}
if (found)
-Index: linux-2.4.35.4/drivers/isdn/hisax/hfc_2bds0.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hfc_2bds0.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/hfc_2bds0.c
+--- a/drivers/isdn/hisax/hfc_2bds0.c
++++ b/drivers/isdn/hisax/hfc_2bds0.c
@@ -1,4 +1,4 @@
-/* $Id: hfc_2bds0.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_2bds0.c,v 1.18 2001/09/24 13:22:56 kai Exp $
}
unsigned int __init
-Index: linux-2.4.35.4/drivers/isdn/hisax/hfc_2bds0.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hfc_2bds0.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/hfc_2bds0.h
+--- a/drivers/isdn/hisax/hfc_2bds0.h
++++ b/drivers/isdn/hisax/hfc_2bds0.h
@@ -1,4 +1,4 @@
-/* $Id: hfc_2bds0.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_2bds0.h,v 1.6 2001/09/24 13:22:56 kai Exp $
*
* specific defines for CCD's HFC 2BDS0
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/hfc_2bs0.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hfc_2bs0.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/hfc_2bs0.c
+--- a/drivers/isdn/hisax/hfc_2bs0.c
++++ b/drivers/isdn/hisax/hfc_2bs0.c
@@ -1,4 +1,4 @@
-/* $Id: hfc_2bs0.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_2bs0.c,v 1.20 2001/09/24 13:22:56 kai Exp $
*
* specific routines for CCD's HFC 2BS0
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/hfc_2bs0.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hfc_2bs0.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/hfc_2bs0.h
+--- a/drivers/isdn/hisax/hfc_2bs0.h
++++ b/drivers/isdn/hisax/hfc_2bs0.h
@@ -1,4 +1,4 @@
-/* $Id: hfc_2bs0.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_2bs0.h,v 1.5 2001/09/24 13:22:56 kai Exp $
*
* specific defines for CCD's HFC 2BS0
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/hfc_pci.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hfc_pci.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/hfc_pci.c
+--- a/drivers/isdn/hisax/hfc_pci.c
++++ b/drivers/isdn/hisax/hfc_pci.c
@@ -1,4 +1,4 @@
-/* $Id: hfc_pci.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_pci.c,v 1.48 2001/09/24 13:22:56 kai Exp $
(((ulong) cs->hw.hfcpci.share_start) & ~0x7FFF) + 0x8000;
pcibios_write_config_dword(cs->hw.hfcpci.pci_bus,
cs->hw.hfcpci.pci_device_fn, 0x80,
-Index: linux-2.4.35.4/drivers/isdn/hisax/hfc_pci.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hfc_pci.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/hfc_pci.h
+--- a/drivers/isdn/hisax/hfc_pci.h
++++ b/drivers/isdn/hisax/hfc_pci.h
@@ -1,4 +1,4 @@
-/* $Id: hfc_pci.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_pci.h,v 1.10 2001/09/24 13:22:56 kai Exp $
*
* specific defines for CCD's HFC 2BDS0 PCI chips
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/hfc_sx.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hfc_sx.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/hfc_sx.c
+--- a/drivers/isdn/hisax/hfc_sx.c
++++ b/drivers/isdn/hisax/hfc_sx.c
@@ -1,4 +1,4 @@
-/* $Id: hfc_sx.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfc_sx.c,v 1.12 2001/09/24 13:22:56 kai Exp $
+
+
+
-Index: linux-2.4.35.4/drivers/isdn/hisax/hfc_sx.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hfc_sx.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/hfc_sx.h
+--- a/drivers/isdn/hisax/hfc_sx.h
++++ b/drivers/isdn/hisax/hfc_sx.h
@@ -1,4 +1,4 @@
-/* $Id: hfc_sx.h,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id$
*
* specific defines for CCD's HFC 2BDS0 S+,SP chips
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/hfc_usb.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/isdn/hisax/hfc_usb.c
++++ b/drivers/isdn/hisax/hfc_usb.c
@@ -0,0 +1,1189 @@
+/* $Id: hfc_usb.c,v 2.3 2001/07/06 21:30:11 werner Exp $
+ *
+
+module_init(hfc_usb_init);
+module_exit(hfc_usb_exit);
-Index: linux-2.4.35.4/drivers/isdn/hisax/hfc_usbr.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/isdn/hisax/hfc_usbr.c
++++ b/drivers/isdn/hisax/hfc_usbr.c
@@ -0,0 +1,471 @@
+/* $Id: hfc_usbr.c,v 2.5 2001/07/06 21:30:11 werner Exp $
+
+ cs->cardmsg = &hfcusb_card_msg;
+ return (1); /* success */
+}
-Index: linux-2.4.35.4/drivers/isdn/hisax/hfcscard.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hfcscard.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/hfcscard.c
+--- a/drivers/isdn/hisax/hfcscard.c
++++ b/drivers/isdn/hisax/hfcscard.c
@@ -1,4 +1,4 @@
-/* $Id: hfcscard.c,v 1.1.4.1 2001/11/20 14:19:35 kai Exp $
+/* $Id: hfcscard.c,v 1.10 2001/09/24 13:22:56 kai Exp $
cs->hw.hfcD.addr = card->para[1] & 0xfffe;
cs->irq = card->para[0];
cs->hw.hfcD.cip = 0;
-Index: linux-2.4.35.4/drivers/isdn/hisax/hisax.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hisax.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/hisax.h
+--- a/drivers/isdn/hisax/hisax.h
++++ b/drivers/isdn/hisax/hisax.h
@@ -1,4 +1,4 @@
-/* $Id: hisax.h,v 1.1.4.2 2001/12/09 19:15:28 kai Exp $
+/* $Id: hisax.h,v 2.64 2001/09/24 13:22:56 kai Exp $
#define TEI_PER_CARD 1
/* L1 Debug */
-Index: linux-2.4.35.4/drivers/isdn/hisax/hisax_debug.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hisax_debug.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/hisax_debug.h
+--- a/drivers/isdn/hisax/hisax_debug.h
++++ b/drivers/isdn/hisax/hisax_debug.h
@@ -28,7 +28,7 @@
#define DBG(level, format, arg...) do { \
} while (0)
#define DBG_PACKET(level,data,count) \
-Index: linux-2.4.35.4/drivers/isdn/hisax/hisax_fcpcipnp.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hisax_fcpcipnp.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/hisax_fcpcipnp.c
+--- a/drivers/isdn/hisax/hisax_fcpcipnp.c
++++ b/drivers/isdn/hisax/hisax_fcpcipnp.c
@@ -20,22 +20,19 @@
*
* o POWER PC
+#ifdef __ISAPNP__
+#include "hisax_isapnp.c"
+#endif
-Index: linux-2.4.35.4/drivers/isdn/hisax/hisax_fcpcipnp.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hisax_fcpcipnp.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/hisax_fcpcipnp.h
+--- a/drivers/isdn/hisax/hisax_fcpcipnp.h
++++ b/drivers/isdn/hisax/hisax_fcpcipnp.h
@@ -43,10 +43,12 @@ struct fritz_bcs {
};
struct isac isac;
struct fritz_bcs bcs[2];
-Index: linux-2.4.35.4/drivers/isdn/hisax/hisax_isac.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hisax_isac.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/hisax_isac.c
+--- a/drivers/isdn/hisax/hisax_isac.c
++++ b/drivers/isdn/hisax/hisax_isac.c
@@ -34,7 +34,7 @@
static int debug = 1;
MODULE_PARM(debug, "i");
module_init(hisax_isac_init);
module_exit(hisax_isac_exit);
-Index: linux-2.4.35.4/drivers/isdn/hisax/hisax_isac.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hisax_isac.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/hisax_isac.h
+--- a/drivers/isdn/hisax/hisax_isac.h
++++ b/drivers/isdn/hisax/hisax_isac.h
@@ -8,7 +8,7 @@
#define TIMER3_VALUE 7000
#define MAX_DFRAME_LEN_L1 300
+void isacsx_interrupt(struct isac *isac);
#endif
-Index: linux-2.4.35.4/drivers/isdn/hisax/hisax_isapnp.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/isdn/hisax/hisax_isapnp.c
++++ b/drivers/isdn/hisax/hisax_isapnp.c
@@ -0,0 +1,105 @@
+// FIXME copied
+static const struct isapnp_device_id *
+ }
+}
+
-Index: linux-2.4.35.4/drivers/isdn/hisax/hisax_isapnp.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/isdn/hisax/hisax_isapnp.h
++++ b/drivers/isdn/hisax/hisax_isapnp.h
@@ -0,0 +1,33 @@
+#ifndef __HISAX_ISAPNP_H__
+#define __HISAX_ISAPNP_H__
+#endif
+
+#endif
-Index: linux-2.4.35.4/drivers/isdn/hisax/hisax_loadable.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/isdn/hisax/hisax_loadable.h
++++ b/drivers/isdn/hisax/hisax_loadable.h
@@ -0,0 +1,74 @@
+/* $Id: hisax_loadable.h,v 2.1 2001/06/08 22:19:16 werner Exp $
+ *
+/* definition of the register function */
+/***************************************/
+extern int hisax_register_hfcusb(struct hisax_drvreg *l1drv);
-Index: linux-2.4.35.4/drivers/isdn/hisax/hscx.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hscx.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/hscx.c
+--- a/drivers/isdn/hisax/hscx.c
++++ b/drivers/isdn/hisax/hscx.c
@@ -1,4 +1,4 @@
-/* $Id: hscx.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: hscx.c,v 1.24 2001/09/24 13:22:56 kai Exp $
*
* HSCX specific routines
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/hscx.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hscx.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/hscx.h
+--- a/drivers/isdn/hisax/hscx.h
++++ b/drivers/isdn/hisax/hscx.h
@@ -1,4 +1,4 @@
-/* $Id: hscx.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: hscx.h,v 1.8 2001/09/24 13:22:56 kai Exp $
*
* HSCX specific defines
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/hscx_irq.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hscx_irq.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/hscx_irq.c
+--- a/drivers/isdn/hisax/hscx_irq.c
++++ b/drivers/isdn/hisax/hscx_irq.c
@@ -1,4 +1,4 @@
-/* $Id: hscx_irq.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: hscx_irq.c,v 1.18 2001/09/24 13:22:56 kai Exp $
*
* low level b-channel stuff for Siemens HSCX
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/icc.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/icc.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/icc.c
+--- a/drivers/isdn/hisax/icc.c
++++ b/drivers/isdn/hisax/icc.c
@@ -1,4 +1,4 @@
-/* $Id: icc.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: icc.c,v 1.8 2001/09/24 13:22:56 kai Exp $
*
* ICC specific routines
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/icc.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/icc.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/icc.h
+--- a/drivers/isdn/hisax/icc.h
++++ b/drivers/isdn/hisax/icc.h
@@ -1,4 +1,4 @@
-/* $Id: icc.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: icc.h,v 1.4 2001/09/24 13:22:56 kai Exp $
*
* ICC specific routines
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/ipac.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/ipac.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/ipac.h
+--- a/drivers/isdn/hisax/ipac.h
++++ b/drivers/isdn/hisax/ipac.h
@@ -1,4 +1,4 @@
-/* $Id: ipac.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: ipac.h,v 1.7 2001/09/24 13:22:56 kai Exp $
*
* IPAC specific defines
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/isac.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/isac.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/isac.c
+--- a/drivers/isdn/hisax/isac.c
++++ b/drivers/isdn/hisax/isac.c
@@ -1,4 +1,4 @@
-/* $Id: isac.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isac.c,v 1.31 2001/09/24 13:22:56 kai Exp $
*
* ISAC specific routines
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/isac.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/isac.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/isac.h
+--- a/drivers/isdn/hisax/isac.h
++++ b/drivers/isdn/hisax/isac.h
@@ -1,4 +1,4 @@
-/* $Id: isac.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isac.h,v 1.9 2001/09/24 13:22:56 kai Exp $
*
* ISAC specific defines
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/isar.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/isar.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/isar.c
+--- a/drivers/isdn/hisax/isar.c
++++ b/drivers/isdn/hisax/isar.c
@@ -1,4 +1,4 @@
-/* $Id: isar.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isar.c,v 1.22 2001/09/23 12:00:05 keil Exp $
default:
printk(KERN_DEBUG "HiSax: invalid ioctl %d\n",
(int) ic->arg);
-Index: linux-2.4.35.4/drivers/isdn/hisax/isar.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/isar.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/isar.h
+--- a/drivers/isdn/hisax/isar.h
++++ b/drivers/isdn/hisax/isar.h
@@ -1,4 +1,4 @@
-/* $Id: isar.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isar.h,v 1.11 2001/09/24 13:22:56 kai Exp $
extern int ISARVersion(struct IsdnCardState *cs, char *s);
extern void isar_int_main(struct IsdnCardState *cs);
extern void initisar(struct IsdnCardState *cs);
-Index: linux-2.4.35.4/drivers/isdn/hisax/isdnl1.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/isdnl1.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/isdnl1.c
+--- a/drivers/isdn/hisax/isdnl1.c
++++ b/drivers/isdn/hisax/isdnl1.c
@@ -1,4 +1,4 @@
-/* $Id: isdnl1.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isdnl1.c,v 2.46 2001/09/24 13:22:56 kai Exp $
#define __NO_VERSION__
#include <linux/init.h>
-Index: linux-2.4.35.4/drivers/isdn/hisax/isdnl1.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/isdnl1.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/isdnl1.h
+--- a/drivers/isdn/hisax/isdnl1.h
++++ b/drivers/isdn/hisax/isdnl1.h
@@ -1,4 +1,4 @@
-/* $Id: isdnl1.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isdnl1.h,v 2.12 2001/09/24 13:22:56 kai Exp $
*
* Layer 1 defines
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/isdnl2.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/isdnl2.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/isdnl2.c
+--- a/drivers/isdn/hisax/isdnl2.c
++++ b/drivers/isdn/hisax/isdnl2.c
@@ -1,4 +1,4 @@
-/* $Id: isdnl2.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isdnl2.c,v 2.30 2001/09/24 13:22:56 kai Exp $
}
static void
-Index: linux-2.4.35.4/drivers/isdn/hisax/isdnl2.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/isdnl2.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/isdnl2.h
+--- a/drivers/isdn/hisax/isdnl2.h
++++ b/drivers/isdn/hisax/isdnl2.h
@@ -1,4 +1,4 @@
-/* $Id: isdnl2.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id$
*
* Layer 2 defines
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/isdnl3.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/isdnl3.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/isdnl3.c
+--- a/drivers/isdn/hisax/isdnl3.c
++++ b/drivers/isdn/hisax/isdnl3.c
@@ -1,4 +1,4 @@
-/* $Id: isdnl3.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isdnl3.c,v 2.22 2001/09/24 13:22:56 kai Exp $
static struct Fsm l3fsm;
-Index: linux-2.4.35.4/drivers/isdn/hisax/isdnl3.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/isdnl3.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/isdnl3.h
+--- a/drivers/isdn/hisax/isdnl3.h
++++ b/drivers/isdn/hisax/isdnl3.h
@@ -1,4 +1,4 @@
-/* $Id: isdnl3.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id$
*
* This software may be used and distributed according to the terms
* of the GNU General Public License, incorporated herein by reference.
-Index: linux-2.4.35.4/drivers/isdn/hisax/isurf.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/isurf.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/isurf.c
+--- a/drivers/isdn/hisax/isurf.c
++++ b/drivers/isdn/hisax/isurf.c
@@ -1,4 +1,4 @@
-/* $Id: isurf.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: isurf.c,v 1.12 2001/09/24 13:22:56 kai Exp $
printk(KERN_INFO
"ISurf: defined at 0x%x 0x%lx IRQ %d\n",
cs->hw.isurf.reset,
-Index: linux-2.4.35.4/drivers/isdn/hisax/ix1_micro.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/ix1_micro.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/ix1_micro.c
+--- a/drivers/isdn/hisax/ix1_micro.c
++++ b/drivers/isdn/hisax/ix1_micro.c
@@ -1,4 +1,4 @@
-/* $Id: ix1_micro.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: ix1_micro.c,v 2.12 2001/09/24 13:22:56 kai Exp $
/* IO-Ports */
cs->hw.ix1.isac_ale = card->para[1] + ISAC_COMMAND_OFFSET;
cs->hw.ix1.hscx_ale = card->para[1] + HSCX_COMMAND_OFFSET;
-Index: linux-2.4.35.4/drivers/isdn/hisax/jade.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/jade.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/jade.c
+--- a/drivers/isdn/hisax/jade.c
++++ b/drivers/isdn/hisax/jade.c
@@ -1,4 +1,4 @@
-/* $Id: jade.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: jade.c,v 1.9 2001/09/24 13:22:56 kai Exp $
*
* JADE stuff (derived from original hscx.c)
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/jade.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/jade.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/jade.h
+--- a/drivers/isdn/hisax/jade.h
++++ b/drivers/isdn/hisax/jade.h
@@ -1,4 +1,4 @@
-/* $Id: jade.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: jade.h,v 1.5 2001/09/24 13:22:56 kai Exp $
*
* JADE specific defines
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/jade_irq.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/jade_irq.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/jade_irq.c
+--- a/drivers/isdn/hisax/jade_irq.c
++++ b/drivers/isdn/hisax/jade_irq.c
@@ -1,4 +1,4 @@
-/* $Id: jade_irq.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: jade_irq.c,v 1.7 2001/09/24 13:22:56 kai Exp $
*
* Low level JADE IRQ stuff (derived from original hscx_irq.c)
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/l3_1tr6.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/l3_1tr6.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/l3_1tr6.c
+--- a/drivers/isdn/hisax/l3_1tr6.c
++++ b/drivers/isdn/hisax/l3_1tr6.c
@@ -1,4 +1,4 @@
-/* $Id: l3_1tr6.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: l3_1tr6.c,v 2.15 2001/09/24 13:22:56 kai Exp $
#define MsgHead(ptr, cref, mty, dis) \
*ptr++ = dis; \
-Index: linux-2.4.35.4/drivers/isdn/hisax/l3_1tr6.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/l3_1tr6.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/l3_1tr6.h
+--- a/drivers/isdn/hisax/l3_1tr6.h
++++ b/drivers/isdn/hisax/l3_1tr6.h
@@ -1,4 +1,4 @@
-/* $Id: l3_1tr6.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id$
*
* German 1TR6 D-channel protocol defines
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/l3dss1.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/l3dss1.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/l3dss1.c
+--- a/drivers/isdn/hisax/l3dss1.c
++++ b/drivers/isdn/hisax/l3dss1.c
@@ -1,4 +1,4 @@
-/* $Id: l3dss1.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: l3dss1.c,v 2.32 2001/09/24 13:22:56 kai Exp $
#define EXT_BEARER_CAPS 1
-Index: linux-2.4.35.4/drivers/isdn/hisax/l3dss1.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/l3dss1.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/l3dss1.h
+--- a/drivers/isdn/hisax/l3dss1.h
++++ b/drivers/isdn/hisax/l3dss1.h
@@ -1,4 +1,4 @@
-/* $Id: l3dss1.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id$
*
* DSS1 (Euro) D-channel protocol defines
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/l3ni1.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/l3ni1.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/l3ni1.c
+--- a/drivers/isdn/hisax/l3ni1.c
++++ b/drivers/isdn/hisax/l3ni1.c
@@ -1,4 +1,4 @@
-/* $Id: l3ni1.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: l3ni1.c,v 2.8 2001/09/24 13:22:56 kai Exp $
#define EXT_BEARER_CAPS 1
-Index: linux-2.4.35.4/drivers/isdn/hisax/l3ni1.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/l3ni1.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/l3ni1.h
+--- a/drivers/isdn/hisax/l3ni1.h
++++ b/drivers/isdn/hisax/l3ni1.h
@@ -1,4 +1,4 @@
-/* $Id: l3ni1.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id$
*
* NI1 D-channel protocol
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/lmgr.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/lmgr.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/lmgr.c
+--- a/drivers/isdn/hisax/lmgr.c
++++ b/drivers/isdn/hisax/lmgr.c
@@ -1,4 +1,4 @@
-/* $Id: lmgr.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id$
*
* Layermanagement module
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/md5sums.asc
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/md5sums.asc
-+++ linux-2.4.35.4/drivers/isdn/hisax/md5sums.asc
+--- a/drivers/isdn/hisax/md5sums.asc
++++ b/drivers/isdn/hisax/md5sums.asc
@@ -1,33 +1,22 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-GIKgAEdRLzERmpt/bCCwAbY=
-=FaHw
------END PGP SIGNATURE-----
-Index: linux-2.4.35.4/drivers/isdn/hisax/mic.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/mic.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/mic.c
+--- a/drivers/isdn/hisax/mic.c
++++ b/drivers/isdn/hisax/mic.c
@@ -1,4 +1,4 @@
-/* $Id: mic.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: mic.c,v 1.12 2001/09/24 13:22:56 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-Index: linux-2.4.35.4/drivers/isdn/hisax/netjet.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/netjet.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/netjet.c
+--- a/drivers/isdn/hisax/netjet.c
++++ b/drivers/isdn/hisax/netjet.c
@@ -1,4 +1,4 @@
-/* $Id: netjet.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: netjet.c,v 1.29 2001/09/24 13:22:56 kai Exp $
l1_msg_b(st, pr, arg);
break;
case (PH_DEACTIVATE | CONFIRM):
-Index: linux-2.4.35.4/drivers/isdn/hisax/netjet.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/netjet.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/netjet.h
+--- a/drivers/isdn/hisax/netjet.h
++++ b/drivers/isdn/hisax/netjet.h
@@ -1,4 +1,4 @@
-/* $Id: netjet.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: netjet.h,v 2.8 2001/09/24 13:22:56 kai Exp $
*
* NETjet common header file
*
-Index: linux-2.4.35.4/drivers/isdn/hisax/niccy.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/niccy.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/niccy.c
+--- a/drivers/isdn/hisax/niccy.c
++++ b/drivers/isdn/hisax/niccy.c
@@ -1,4 +1,4 @@
-/* $Id: niccy.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: niccy.c,v 1.21 2001/10/20 22:05:00 kai Exp $
if (!pci_ioaddr) {
printk(KERN_WARNING "Niccy: No IO-Adr for PCI card found\n");
return(0);
-Index: linux-2.4.35.4/drivers/isdn/hisax/nj_s.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/nj_s.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/nj_s.c
+--- a/drivers/isdn/hisax/nj_s.c
++++ b/drivers/isdn/hisax/nj_s.c
@@ -1,4 +1,4 @@
-/* $Id: nj_s.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: nj_s.c,v 2.13 2001/09/24 13:22:56 kai Exp $
cs->readisac = &NETjet_ReadIC;
cs->writeisac = &NETjet_WriteIC;
cs->readisacfifo = &NETjet_ReadICfifo;
-Index: linux-2.4.35.4/drivers/isdn/hisax/nj_u.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/nj_u.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/nj_u.c
+--- a/drivers/isdn/hisax/nj_u.c
++++ b/drivers/isdn/hisax/nj_u.c
@@ -1,4 +1,4 @@
-/* $Id: nj_u.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: nj_u.c,v 2.14 2001/09/24 13:22:56 kai Exp $
if (!cs->hw.njet.base) {
printk(KERN_WARNING "NETspider-U: No IO-Adr for PCI card found\n");
return(0);
-Index: linux-2.4.35.4/drivers/isdn/hisax/q931.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/q931.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/q931.c
+--- a/drivers/isdn/hisax/q931.c
++++ b/drivers/isdn/hisax/q931.c
@@ -1,4 +1,4 @@
-/* $Id: q931.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: q931.c,v 1.12 2001/09/24 13:22:56 kai Exp $
static int
prbits(char *dest, u_char b, int start, int len)
-Index: linux-2.4.35.4/drivers/isdn/hisax/rawhdlc.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/isdn/hisax/rawhdlc.c
++++ b/drivers/isdn/hisax/rawhdlc.c
@@ -0,0 +1,543 @@
+/* $Id: rawhdlc.c,v 1.7 2001/09/24 13:22:57 kai Exp $
+ *
+}
+
+#endif
-Index: linux-2.4.35.4/drivers/isdn/hisax/rawhdlc.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/isdn/hisax/rawhdlc.h
++++ b/drivers/isdn/hisax/rawhdlc.h
@@ -0,0 +1,28 @@
+/* $Id: rawhdlc.h,v 1.5 2001/09/24 13:22:57 kai Exp $
+ *
+ u_char *src, u_int slen, u_char *dst, u_int dsize);
+#define RAWHDLC_H
+#endif
-Index: linux-2.4.35.4/drivers/isdn/hisax/s0box.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/s0box.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/s0box.c
+--- a/drivers/isdn/hisax/s0box.c
++++ b/drivers/isdn/hisax/s0box.c
@@ -1,4 +1,4 @@
-/* $Id: s0box.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: s0box.c,v 2.6 2001/09/24 13:22:57 kai Exp $
static inline void
writereg(unsigned int padr, signed int addr, u_char off, u_char val) {
-Index: linux-2.4.35.4/drivers/isdn/hisax/saphir.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/saphir.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/saphir.c
+--- a/drivers/isdn/hisax/saphir.c
++++ b/drivers/isdn/hisax/saphir.c
@@ -1,4 +1,4 @@
-/* $Id: saphir.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: saphir.c,v 1.10 2001/09/24 13:22:57 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-Index: linux-2.4.35.4/drivers/isdn/hisax/sedlbauer.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/sedlbauer.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/sedlbauer.c
+--- a/drivers/isdn/hisax/sedlbauer.c
++++ b/drivers/isdn/hisax/sedlbauer.c
@@ -1,4 +1,4 @@
-/* $Id: sedlbauer.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: sedlbauer.c,v 1.34 2002/02/09 21:00:57 keil Exp $
/* In case of the sedlbauer pcmcia card, this region is in use,
* reserved for us by the card manager. So we do not check it
* here, it would fail.
-Index: linux-2.4.35.4/drivers/isdn/hisax/sportster.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/sportster.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/sportster.c
+--- a/drivers/isdn/hisax/sportster.c
++++ b/drivers/isdn/hisax/sportster.c
@@ -1,4 +1,4 @@
-/* $Id: sportster.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: sportster.c,v 1.16 2001/09/24 13:22:57 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-Index: linux-2.4.35.4/drivers/isdn/hisax/st5481-debug.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/isdn/hisax/st5481-debug.h
++++ b/drivers/isdn/hisax/st5481-debug.h
@@ -0,0 +1,103 @@
+#define ST5481_DEBUG 0x0
+
+
+
+
-Index: linux-2.4.35.4/drivers/isdn/hisax/st5481.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/st5481.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/st5481.h
+--- a/drivers/isdn/hisax/st5481.h
++++ b/drivers/isdn/hisax/st5481.h
@@ -219,15 +219,15 @@ enum {
#define L1_EVENT_COUNT (EV_TIMER3 + 1)
{
int i,j;
int len,ofs;
-Index: linux-2.4.35.4/drivers/isdn/hisax/st5481_b.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/st5481_b.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/st5481_b.c
+--- a/drivers/isdn/hisax/st5481_b.c
++++ b/drivers/isdn/hisax/st5481_b.c
@@ -67,28 +67,24 @@ static void usb_b_out(struct st5481_bcs
bytes_sent = buf_size - len;
if (skb->len < bytes_sent)
{
DBG(4,"");
-Index: linux-2.4.35.4/drivers/isdn/hisax/st5481_d.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/st5481_d.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/st5481_d.c
+--- a/drivers/isdn/hisax/st5481_d.c
++++ b/drivers/isdn/hisax/st5481_d.c
@@ -162,8 +162,8 @@ static struct FsmNode L1FnList[] __initd
{ST_L1_F8, EV_TIMER3, l1_timer3},
{ST_L1_F8, EV_IND_DP, l1_go_f3},
{
DBG(2,"");
-Index: linux-2.4.35.4/drivers/isdn/hisax/st5481_init.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/st5481_init.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/st5481_init.c
+--- a/drivers/isdn/hisax/st5481_init.c
++++ b/drivers/isdn/hisax/st5481_init.c
@@ -14,6 +14,7 @@
* TODO:
*
id_table: st5481_ids,
};
-Index: linux-2.4.35.4/drivers/isdn/hisax/st5481_usb.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/st5481_usb.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/st5481_usb.c
+--- a/drivers/isdn/hisax/st5481_usb.c
++++ b/drivers/isdn/hisax/st5481_usb.c
@@ -41,9 +41,9 @@ static void usb_next_ctrl_msg(struct urb
(unsigned char *)&ctrl->msg_fifo.data[r_index];
st5481_usb_device_ctrl_msg(in->adapter, in->counter,
in->packet_size,
NULL, NULL);
-Index: linux-2.4.35.4/drivers/isdn/hisax/tei.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/tei.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/tei.c
+--- a/drivers/isdn/hisax/tei.c
++++ b/drivers/isdn/hisax/tei.c
@@ -1,4 +1,4 @@
-/* $Id: tei.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: tei.c,v 2.20 2001/09/24 13:22:57 kai Exp $
#define ID_REQUEST 1
#define ID_ASSIGNED 2
-Index: linux-2.4.35.4/drivers/isdn/hisax/teleint.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/teleint.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/teleint.c
+--- a/drivers/isdn/hisax/teleint.c
++++ b/drivers/isdn/hisax/teleint.c
@@ -1,4 +1,4 @@
-/* $Id: teleint.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: teleint.c,v 1.16 2001/09/24 13:22:57 kai Exp $
#define byteout(addr,val) outb(val,addr)
#define bytein(addr) inb(addr)
-Index: linux-2.4.35.4/drivers/isdn/hisax/teles0.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/teles0.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/teles0.c
+--- a/drivers/isdn/hisax/teles0.c
++++ b/drivers/isdn/hisax/teles0.c
@@ -1,4 +1,4 @@
-/* $Id: teles0.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: teles0.c,v 2.15 2001/09/24 13:22:57 kai Exp $
printk(KERN_INFO
"HiSax: %s config irq:%d mem:0x%lX cfg:0x%X\n",
CardType[cs->typ], cs->irq,
-Index: linux-2.4.35.4/drivers/isdn/hisax/teles3.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/teles3.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/teles3.c
+--- a/drivers/isdn/hisax/teles3.c
++++ b/drivers/isdn/hisax/teles3.c
@@ -1,4 +1,4 @@
-/* $Id: teles3.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: teles3.c,v 2.19 2001/09/24 13:22:57 kai Exp $
if (cs->typ == ISDN_CTYPE_16_3) {
cs->hw.teles3.cfg_reg = card->para[1];
switch (cs->hw.teles3.cfg_reg) {
-Index: linux-2.4.35.4/drivers/isdn/hisax/telespci.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/telespci.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/telespci.c
+--- a/drivers/isdn/hisax/telespci.c
++++ b/drivers/isdn/hisax/telespci.c
@@ -1,4 +1,4 @@
-/* $Id: telespci.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: telespci.c,v 2.23 2001/09/24 13:22:57 kai Exp $
} else {
printk(KERN_WARNING "TelesPCI: No PCI card found\n");
return(0);
-Index: linux-2.4.35.4/drivers/isdn/hisax/w6692.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/w6692.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/w6692.c
+--- a/drivers/isdn/hisax/w6692.c
++++ b/drivers/isdn/hisax/w6692.c
@@ -1,4 +1,4 @@
-/* $Id: w6692.c,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: w6692.c,v 1.18 2001/09/24 13:22:57 kai Exp $
cs->hw.w6692.iobase);
cs->readW6692 = &ReadW6692;
-Index: linux-2.4.35.4/drivers/isdn/hisax/w6692.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/w6692.h
-+++ linux-2.4.35.4/drivers/isdn/hisax/w6692.h
+--- a/drivers/isdn/hisax/w6692.h
++++ b/drivers/isdn/hisax/w6692.h
@@ -1,4 +1,4 @@
-/* $Id: w6692.h,v 1.1.4.1 2001/11/20 14:19:36 kai Exp $
+/* $Id: w6692.h,v 1.4 2001/09/24 13:22:57 kai Exp $
*
* Winbond W6692 specific defines
*
-Index: linux-2.4.35.4/drivers/isdn/hysdn/boardergo.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hysdn/boardergo.c
-+++ linux-2.4.35.4/drivers/isdn/hysdn/boardergo.c
+--- a/drivers/isdn/hysdn/boardergo.c
++++ b/drivers/isdn/hysdn/boardergo.c
@@ -1,27 +1,41 @@
-/* $Id: boardergo.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
- *
set_current_state(TASK_INTERRUPTIBLE);
schedule_timeout((50 * HZ) / 1000); /* Timeout 50ms */
} /* wait until timeout */
-Index: linux-2.4.35.4/drivers/isdn/hysdn/boardergo.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hysdn/boardergo.h
-+++ linux-2.4.35.4/drivers/isdn/hysdn/boardergo.h
+--- a/drivers/isdn/hysdn/boardergo.h
++++ b/drivers/isdn/hysdn/boardergo.h
@@ -1,4 +1,4 @@
-/* $Id: boardergo.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
/************************************************/
/* defines for the dual port memory of the card */
-Index: linux-2.4.35.4/drivers/isdn/hysdn/hycapi.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hysdn/hycapi.c
-+++ linux-2.4.35.4/drivers/isdn/hysdn/hycapi.c
+--- a/drivers/isdn/hysdn/hycapi.c
++++ b/drivers/isdn/hysdn/hycapi.c
@@ -1,4 +1,4 @@
-/* $Id: hycapi.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
unsigned int hycapi_enable = 0xffffffff;
MODULE_PARM(hycapi_enable, "i");
-Index: linux-2.4.35.4/drivers/isdn/hysdn/hysdn_boot.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hysdn/hysdn_boot.c
-+++ linux-2.4.35.4/drivers/isdn/hysdn/hysdn_boot.c
+--- a/drivers/isdn/hysdn/hysdn_boot.c
++++ b/drivers/isdn/hysdn/hysdn_boot.c
@@ -1,4 +1,4 @@
-/* $Id: hysdn_boot.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
return (boot->last_error); /* error writing data */
if (boot->pof_recoffset + datlen >= boot->pof_reclen)
-Index: linux-2.4.35.4/drivers/isdn/hysdn/hysdn_defs.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hysdn/hysdn_defs.h
-+++ linux-2.4.35.4/drivers/isdn/hysdn/hysdn_defs.h
+--- a/drivers/isdn/hysdn/hysdn_defs.h
++++ b/drivers/isdn/hysdn/hysdn_defs.h
@@ -1,4 +1,4 @@
-/* $Id: hysdn_defs.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id: hysdn_defs.h,v 1.10 2001/09/24 13:23:03 kai Exp $
/* boot process */
void *boot; /* pointer to boot private data */
-Index: linux-2.4.35.4/drivers/isdn/hysdn/hysdn_init.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hysdn/hysdn_init.c
-+++ linux-2.4.35.4/drivers/isdn/hysdn/hysdn_init.c
+--- a/drivers/isdn/hysdn/hysdn_init.c
++++ b/drivers/isdn/hysdn/hysdn_init.c
@@ -1,4 +1,4 @@
-/* $Id: hysdn_init.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
card->brdtype = BD_NONE; /* unknown */
card->debug_flags = DEF_DEB_FLAGS; /* set default debug */
card->faxchans = 0; /* default no fax channels */
-Index: linux-2.4.35.4/drivers/isdn/hysdn/hysdn_net.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hysdn/hysdn_net.c
-+++ linux-2.4.35.4/drivers/isdn/hysdn/hysdn_net.c
+--- a/drivers/isdn/hysdn/hysdn_net.c
++++ b/drivers/isdn/hysdn/hysdn_net.c
@@ -1,4 +1,4 @@
-/* $Id: hysdn_net.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
unregister_netdev(dev); /* release the device */
kfree(dev); /* release the memory allocated */
-Index: linux-2.4.35.4/drivers/isdn/hysdn/hysdn_pof.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hysdn/hysdn_pof.h
-+++ linux-2.4.35.4/drivers/isdn/hysdn/hysdn_pof.h
+--- a/drivers/isdn/hysdn/hysdn_pof.h
++++ b/drivers/isdn/hysdn/hysdn_pof.h
@@ -1,4 +1,4 @@
-/* $Id: hysdn_pof.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Linux driver for HYSDN cards, definitions used for handling pof-files.
*
-Index: linux-2.4.35.4/drivers/isdn/hysdn/hysdn_procconf.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hysdn/hysdn_procconf.c
-+++ linux-2.4.35.4/drivers/isdn/hysdn/hysdn_procconf.c
+--- a/drivers/isdn/hysdn/hysdn_procconf.c
++++ b/drivers/isdn/hysdn/hysdn_procconf.c
@@ -1,4 +1,4 @@
-/* $Id: hysdn_procconf.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
hysdn_proclog_init(card); /* init the log file entry */
}
card = card->next; /* next entry */
-Index: linux-2.4.35.4/drivers/isdn/hysdn/hysdn_proclog.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hysdn/hysdn_proclog.c
-+++ linux-2.4.35.4/drivers/isdn/hysdn/hysdn_proclog.c
+--- a/drivers/isdn/hysdn/hysdn_proclog.c
++++ b/drivers/isdn/hysdn/hysdn_proclog.c
@@ -1,4 +1,4 @@
-/* $Id: hysdn_proclog.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
}
init_waitqueue_head(&(pd->rd_queue));
-Index: linux-2.4.35.4/drivers/isdn/hysdn/hysdn_sched.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hysdn/hysdn_sched.c
-+++ linux-2.4.35.4/drivers/isdn/hysdn/hysdn_sched.c
+--- a/drivers/isdn/hysdn/hysdn_sched.c
++++ b/drivers/isdn/hysdn/hysdn_sched.c
@@ -1,4 +1,4 @@
-/* $Id: hysdn_sched.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id: hysdn_sched.c,v 1.9 2001/09/24 13:23:03 kai Exp $
if (card->debug_flags & LOG_SCHED_ASYN)
hysdn_addlog(card, "async tx-cfg data send");
-Index: linux-2.4.35.4/drivers/isdn/icn/icn.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/icn/icn.c
-+++ linux-2.4.35.4/drivers/isdn/icn/icn.c
+--- a/drivers/isdn/icn/icn.c
++++ b/drivers/isdn/icn/icn.c
@@ -1,4 +1,4 @@
-/* $Id: icn.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
#endif /* MODULE */
static int __init icn_init(void)
-Index: linux-2.4.35.4/drivers/isdn/icn/icn.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/icn/icn.h
-+++ linux-2.4.35.4/drivers/isdn/icn/icn.h
+--- a/drivers/isdn/icn/icn.h
++++ b/drivers/isdn/icn/icn.h
@@ -1,4 +1,4 @@
-/* $Id: icn.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* ISDN lowlevel-module for the ICN active ISDN-Card.
*
-Index: linux-2.4.35.4/drivers/isdn/isdn_audio.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_audio.c
-+++ linux-2.4.35.4/drivers/isdn/isdn_audio.c
+--- a/drivers/isdn/isdn_audio.c
++++ b/drivers/isdn/isdn_audio.c
@@ -1,9 +1,9 @@
-/* $Id: isdn_audio.c,v 1.1.4.1 2001/11/20 14:19:33 kai Exp $
+/* $Id: isdn_audio.c,v 1.24 2002/08/13 09:57:26 keil Exp $
what = '.';
}
if ((what != s->last) && (what != ' ') && (what != '.')) {
-Index: linux-2.4.35.4/drivers/isdn/isdn_audio.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_audio.h
-+++ linux-2.4.35.4/drivers/isdn/isdn_audio.h
+--- a/drivers/isdn/isdn_audio.h
++++ b/drivers/isdn/isdn_audio.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_audio.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_audio.h,v 1.10 2001/09/24 13:22:42 kai Exp $
int idx;
int buf[DTMF_NPOINTS];
} dtmf_state;
-Index: linux-2.4.35.4/drivers/isdn/isdn_bsdcomp.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_bsdcomp.c
-+++ linux-2.4.35.4/drivers/isdn/isdn_bsdcomp.c
+--- a/drivers/isdn/isdn_bsdcomp.c
++++ b/drivers/isdn/isdn_bsdcomp.c
@@ -105,6 +105,14 @@ MODULE_LICENSE("Dual BSD/GPL");
#define DEBUG 1
return skb_out->len;
}
-Index: linux-2.4.35.4/drivers/isdn/isdn_common.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_common.c
-+++ linux-2.4.35.4/drivers/isdn/isdn_common.c
+--- a/drivers/isdn/isdn_common.c
++++ b/drivers/isdn/isdn_common.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_common.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_common.c,v 1.137 2002/02/09 21:19:11 keil Exp $
}
module_init(isdn_init);
-Index: linux-2.4.35.4/drivers/isdn/isdn_common.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_common.h
-+++ linux-2.4.35.4/drivers/isdn/isdn_common.h
+--- a/drivers/isdn/isdn_common.h
++++ b/drivers/isdn/isdn_common.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_common.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_common.h,v 1.22 2001/09/24 13:22:42 kai Exp $
/* Prototypes */
extern void isdn_MOD_INC_USE_COUNT(void);
extern void isdn_MOD_DEC_USE_COUNT(void);
-Index: linux-2.4.35.4/drivers/isdn/isdn_concap.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_concap.c
-+++ linux-2.4.35.4/drivers/isdn/isdn_concap.c
+--- a/drivers/isdn/isdn_concap.c
++++ b/drivers/isdn/isdn_concap.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_concap.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_concap.c,v 1.9 2001/09/24 13:22:42 kai Exp $
*
* Linux ISDN subsystem, protocol encapsulation
*
-Index: linux-2.4.35.4/drivers/isdn/isdn_concap.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_concap.h
-+++ linux-2.4.35.4/drivers/isdn/isdn_concap.h
+--- a/drivers/isdn/isdn_concap.h
++++ b/drivers/isdn/isdn_concap.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_concap.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_concap.h,v 1.4 2001/09/24 13:22:42 kai Exp $
*
* Linux ISDN subsystem, protocol encapsulation
*
-Index: linux-2.4.35.4/drivers/isdn/isdn_dwabc.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/isdn/isdn_dwabc.c
++++ b/drivers/isdn/isdn_dwabc.c
@@ -0,0 +1,1053 @@
+
+/* $Id: isdn_dwabc.c,v 1.27 2001/12/01 23:18:21 detabc Exp $
+{ return(skb); }
+#endif
+#endif
-Index: linux-2.4.35.4/drivers/isdn/isdn_net.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_net.c
-+++ linux-2.4.35.4/drivers/isdn/isdn_net.c
+--- a/drivers/isdn/isdn_net.c
++++ b/drivers/isdn/isdn_net.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_net.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_net.c,v 1.153 2002/08/17 18:35:23 detabc Exp $
restore_flags(flags);
kfree(p->local);
kfree(p);
-Index: linux-2.4.35.4/drivers/isdn/isdn_net.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_net.h
-+++ linux-2.4.35.4/drivers/isdn/isdn_net.h
+--- a/drivers/isdn/isdn_net.h
++++ b/drivers/isdn/isdn_net.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_net.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_net.h,v 1.23 2001/11/07 22:35:48 kai Exp $
spin_unlock_irqrestore(&master_lp->netdev->queue_lock, flags);
}
-Index: linux-2.4.35.4/drivers/isdn/isdn_ppp.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_ppp.c
-+++ linux-2.4.35.4/drivers/isdn/isdn_ppp.c
+--- a/drivers/isdn/isdn_ppp.c
++++ b/drivers/isdn/isdn_ppp.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_ppp.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_ppp.c,v 1.94 2001/11/07 22:35:48 kai Exp $
printk(KERN_DEBUG "isdn_ppp: Ouch! Master CCP sends on slave slot!\n");
switch(data[2]) {
-Index: linux-2.4.35.4/drivers/isdn/isdn_ppp.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_ppp.h
-+++ linux-2.4.35.4/drivers/isdn/isdn_ppp.h
+--- a/drivers/isdn/isdn_ppp.h
++++ b/drivers/isdn/isdn_ppp.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_ppp.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_ppp.h,v 1.18 2001/09/24 13:22:42 kai Exp $
extern int isdn_ppp_xmit(struct sk_buff *, struct net_device *);
extern void isdn_ppp_receive(isdn_net_dev *, isdn_net_local *, struct sk_buff *);
extern int isdn_ppp_dev_ioctl(struct net_device *, struct ifreq *, int);
-Index: linux-2.4.35.4/drivers/isdn/isdn_tty.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_tty.c
-+++ linux-2.4.35.4/drivers/isdn/isdn_tty.c
+--- a/drivers/isdn/isdn_tty.c
++++ b/drivers/isdn/isdn_tty.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_tty.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_tty.c,v 1.104 2002/02/09 21:19:11 keil Exp $
if (dev->global_features &
ISDN_FEATURE_L3_FCLASS2)
strcat(rs, "2,");
-Index: linux-2.4.35.4/drivers/isdn/isdn_tty.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_tty.h
-+++ linux-2.4.35.4/drivers/isdn/isdn_tty.h
+--- a/drivers/isdn/isdn_tty.h
++++ b/drivers/isdn/isdn_tty.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_tty.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_tty.h,v 1.25 2002/02/09 21:19:11 keil Exp $
#define TTY_IS_FCLASS2(info) \
((info->emu.mdmreg[REG_L2PROT] == ISDN_PROTO_L2_FAX) && \
(info->emu.mdmreg[REG_L3PROT] == ISDN_PROTO_L3_FCLASS2))
-Index: linux-2.4.35.4/drivers/isdn/isdn_ttyfax.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_ttyfax.c
-+++ linux-2.4.35.4/drivers/isdn/isdn_ttyfax.c
+--- a/drivers/isdn/isdn_ttyfax.c
++++ b/drivers/isdn/isdn_ttyfax.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_ttyfax.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_ttyfax.c,v 1.9 2001/09/24 13:22:43 kai Exp $
+#endif
PARSE_ERROR1;
}
-Index: linux-2.4.35.4/drivers/isdn/isdn_ttyfax.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_ttyfax.h
-+++ linux-2.4.35.4/drivers/isdn/isdn_ttyfax.h
+--- a/drivers/isdn/isdn_ttyfax.h
++++ b/drivers/isdn/isdn_ttyfax.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_ttyfax.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_ttyfax.h,v 1.3 2001/09/24 13:22:43 kai Exp $
*
* header for Linux ISDN subsystem, tty_fax related functions (linklevel).
*
-Index: linux-2.4.35.4/drivers/isdn/isdn_v110.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_v110.c
-+++ linux-2.4.35.4/drivers/isdn/isdn_v110.c
+--- a/drivers/isdn/isdn_v110.c
++++ b/drivers/isdn/isdn_v110.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_v110.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_v110.c,v 1.8 2001/09/24 13:22:43 kai Exp $
#endif
kfree(v->encodebuf);
kfree(v);
-Index: linux-2.4.35.4/drivers/isdn/isdn_v110.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_v110.h
-+++ linux-2.4.35.4/drivers/isdn/isdn_v110.h
+--- a/drivers/isdn/isdn_v110.h
++++ b/drivers/isdn/isdn_v110.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_v110.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_v110.h,v 1.5 2001/09/24 13:22:43 kai Exp $
*
* Linux ISDN subsystem, V.110 related functions (linklevel).
*
-Index: linux-2.4.35.4/drivers/isdn/isdn_x25iface.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_x25iface.c
-+++ linux-2.4.35.4/drivers/isdn/isdn_x25iface.c
+--- a/drivers/isdn/isdn_x25iface.c
++++ b/drivers/isdn/isdn_x25iface.c
@@ -1,4 +1,4 @@
-/* $Id: isdn_x25iface.c,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_x25iface.c,v 1.10 2001/09/24 13:22:43 kai Exp $
*
* Linux ISDN subsystem, X.25 related functions
*
-Index: linux-2.4.35.4/drivers/isdn/isdn_x25iface.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdn_x25iface.h
-+++ linux-2.4.35.4/drivers/isdn/isdn_x25iface.h
+--- a/drivers/isdn/isdn_x25iface.h
++++ b/drivers/isdn/isdn_x25iface.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_x25iface.h,v 1.1.4.1 2001/11/20 14:19:34 kai Exp $
+/* $Id: isdn_x25iface.h,v 1.4 2001/09/24 13:22:43 kai Exp $
*
* header for Linux ISDN subsystem, x.25 related functions
*
-Index: linux-2.4.35.4/drivers/isdn/isdnloop/isdnloop.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdnloop/isdnloop.c
-+++ linux-2.4.35.4/drivers/isdn/isdnloop/isdnloop.c
+--- a/drivers/isdn/isdnloop/isdnloop.c
++++ b/drivers/isdn/isdnloop/isdnloop.c
@@ -1,4 +1,4 @@
-/* $Id: isdnloop.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id: isdnloop.c,v 1.17 2001/08/30 10:45:42 kai Exp $
}
static void __exit
-Index: linux-2.4.35.4/drivers/isdn/isdnloop/isdnloop.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/isdnloop/isdnloop.h
-+++ linux-2.4.35.4/drivers/isdn/isdnloop/isdnloop.h
+--- a/drivers/isdn/isdnloop/isdnloop.h
++++ b/drivers/isdn/isdnloop/isdnloop.h
@@ -1,4 +1,4 @@
-/* $Id: isdnloop.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Loopback lowlevel module for testing of linklevel.
*
-Index: linux-2.4.35.4/drivers/isdn/pcbit/callbacks.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/pcbit/callbacks.c
-+++ linux-2.4.35.4/drivers/isdn/pcbit/callbacks.c
+--- a/drivers/isdn/pcbit/callbacks.c
++++ b/drivers/isdn/pcbit/callbacks.c
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-Index: linux-2.4.35.4/drivers/isdn/pcbit/callbacks.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/pcbit/callbacks.h
-+++ linux-2.4.35.4/drivers/isdn/pcbit/callbacks.h
+--- a/drivers/isdn/pcbit/callbacks.h
++++ b/drivers/isdn/pcbit/callbacks.h
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-Index: linux-2.4.35.4/drivers/isdn/pcbit/capi.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/pcbit/capi.c
-+++ linux-2.4.35.4/drivers/isdn/pcbit/capi.c
+--- a/drivers/isdn/pcbit/capi.c
++++ b/drivers/isdn/pcbit/capi.c
@@ -4,7 +4,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-Index: linux-2.4.35.4/drivers/isdn/pcbit/capi.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/pcbit/capi.h
-+++ linux-2.4.35.4/drivers/isdn/pcbit/capi.h
+--- a/drivers/isdn/pcbit/capi.h
++++ b/drivers/isdn/pcbit/capi.h
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
capi_channel(struct pcbit_dev *dev, struct sk_buff *skb)
{
ushort callref;
-Index: linux-2.4.35.4/drivers/isdn/pcbit/drv.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/pcbit/drv.c
-+++ linux-2.4.35.4/drivers/isdn/pcbit/drv.c
+--- a/drivers/isdn/pcbit/drv.c
++++ b/drivers/isdn/pcbit/drv.c
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
if (capi_decode_conn_conf(chan, skb, &complete)) {
printk(KERN_DEBUG "conn_conf indicates error\n");
pcbit_fsm_event(dev, chan, EV_ERROR, NULL);
-Index: linux-2.4.35.4/drivers/isdn/pcbit/edss1.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/pcbit/edss1.c
-+++ linux-2.4.35.4/drivers/isdn/pcbit/edss1.c
+--- a/drivers/isdn/pcbit/edss1.c
++++ b/drivers/isdn/pcbit/edss1.c
@@ -4,7 +4,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-Index: linux-2.4.35.4/drivers/isdn/pcbit/edss1.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/pcbit/edss1.h
-+++ linux-2.4.35.4/drivers/isdn/pcbit/edss1.h
+--- a/drivers/isdn/pcbit/edss1.h
++++ b/drivers/isdn/pcbit/edss1.h
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-Index: linux-2.4.35.4/drivers/isdn/pcbit/layer2.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/pcbit/layer2.c
-+++ linux-2.4.35.4/drivers/isdn/pcbit/layer2.c
+--- a/drivers/isdn/pcbit/layer2.c
++++ b/drivers/isdn/pcbit/layer2.c
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
return;
}
-Index: linux-2.4.35.4/drivers/isdn/pcbit/layer2.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/pcbit/layer2.h
-+++ linux-2.4.35.4/drivers/isdn/pcbit/layer2.h
+--- a/drivers/isdn/pcbit/layer2.h
++++ b/drivers/isdn/pcbit/layer2.h
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-Index: linux-2.4.35.4/drivers/isdn/pcbit/module.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/pcbit/module.c
-+++ linux-2.4.35.4/drivers/isdn/pcbit/module.c
+--- a/drivers/isdn/pcbit/module.c
++++ b/drivers/isdn/pcbit/module.c
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
#endif
module_init(pcbit_init);
-Index: linux-2.4.35.4/drivers/isdn/pcbit/pcbit.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/pcbit/pcbit.h
-+++ linux-2.4.35.4/drivers/isdn/pcbit/pcbit.h
+--- a/drivers/isdn/pcbit/pcbit.h
++++ b/drivers/isdn/pcbit/pcbit.h
@@ -3,7 +3,7 @@
*
* Copyright (C) 1996 Universidade de Lisboa
*
* This software may be used and distributed according to the terms of
* the GNU General Public License, incorporated herein by reference.
-Index: linux-2.4.35.4/drivers/isdn/sc/card.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/sc/card.h
-+++ linux-2.4.35.4/drivers/isdn/sc/card.h
+--- a/drivers/isdn/sc/card.h
++++ b/drivers/isdn/sc/card.h
@@ -1,4 +1,4 @@
-/* $Id: card.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Driver parameters for SpellCaster ISA ISDN adapters
*
-Index: linux-2.4.35.4/drivers/isdn/sc/command.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/sc/command.c
-+++ linux-2.4.35.4/drivers/isdn/sc/command.c
+--- a/drivers/isdn/sc/command.c
++++ b/drivers/isdn/sc/command.c
@@ -1,4 +1,4 @@
-/* $Id: command.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
}
/*
-Index: linux-2.4.35.4/drivers/isdn/sc/debug.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/sc/debug.c
-+++ linux-2.4.35.4/drivers/isdn/sc/debug.c
+--- a/drivers/isdn/sc/debug.c
++++ b/drivers/isdn/sc/debug.c
@@ -1,4 +1,4 @@
-/* $Id: debug.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-Index: linux-2.4.35.4/drivers/isdn/sc/debug.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/sc/debug.h
-+++ linux-2.4.35.4/drivers/isdn/sc/debug.h
+--- a/drivers/isdn/sc/debug.h
++++ b/drivers/isdn/sc/debug.h
@@ -1,4 +1,4 @@
-/* $Id: debug.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-Index: linux-2.4.35.4/drivers/isdn/sc/event.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/sc/event.c
-+++ linux-2.4.35.4/drivers/isdn/sc/event.c
+--- a/drivers/isdn/sc/event.c
++++ b/drivers/isdn/sc/event.c
@@ -1,4 +1,4 @@
-/* $Id: event.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-Index: linux-2.4.35.4/drivers/isdn/sc/init.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/sc/init.c
-+++ linux-2.4.35.4/drivers/isdn/sc/init.c
+--- a/drivers/isdn/sc/init.c
++++ b/drivers/isdn/sc/init.c
@@ -514,6 +514,15 @@ int identify_board(unsigned long rambase
schedule_timeout(HZ);
sig = readl(rambase + SIG_OFFSET);
if(sig == SIGNATURE)
return BRI_BOARD;
-Index: linux-2.4.35.4/drivers/isdn/sc/interrupt.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/sc/interrupt.c
-+++ linux-2.4.35.4/drivers/isdn/sc/interrupt.c
+--- a/drivers/isdn/sc/interrupt.c
++++ b/drivers/isdn/sc/interrupt.c
@@ -1,4 +1,4 @@
-/* $Id: interrupt.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-Index: linux-2.4.35.4/drivers/isdn/sc/ioctl.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/sc/ioctl.c
-+++ linux-2.4.35.4/drivers/isdn/sc/ioctl.c
+--- a/drivers/isdn/sc/ioctl.c
++++ b/drivers/isdn/sc/ioctl.c
@@ -23,6 +23,9 @@ extern int send_and_receive(int, unsigne
extern board *adapter[];
int GetStatus(int card, boardInfo *);
-Index: linux-2.4.35.4/drivers/isdn/sc/message.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/sc/message.c
-+++ linux-2.4.35.4/drivers/isdn/sc/message.c
+--- a/drivers/isdn/sc/message.c
++++ b/drivers/isdn/sc/message.c
@@ -1,4 +1,4 @@
-/* $Id: message.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* functions for sending and receiving control messages
*
-Index: linux-2.4.35.4/drivers/isdn/sc/message.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/sc/message.h
-+++ linux-2.4.35.4/drivers/isdn/sc/message.h
+--- a/drivers/isdn/sc/message.h
++++ b/drivers/isdn/sc/message.h
@@ -1,4 +1,4 @@
-/* $Id: message.h,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-Index: linux-2.4.35.4/drivers/isdn/sc/packet.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/sc/packet.c
-+++ linux-2.4.35.4/drivers/isdn/sc/packet.c
+--- a/drivers/isdn/sc/packet.c
++++ b/drivers/isdn/sc/packet.c
@@ -1,4 +1,4 @@
-/* $Id: packet.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-Index: linux-2.4.35.4/drivers/isdn/sc/shmem.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/sc/shmem.c
-+++ linux-2.4.35.4/drivers/isdn/sc/shmem.c
+--- a/drivers/isdn/sc/shmem.c
++++ b/drivers/isdn/sc/shmem.c
@@ -1,4 +1,4 @@
-/* $Id: shmem.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-Index: linux-2.4.35.4/drivers/isdn/sc/timer.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/sc/timer.c
-+++ linux-2.4.35.4/drivers/isdn/sc/timer.c
+--- a/drivers/isdn/sc/timer.c
++++ b/drivers/isdn/sc/timer.c
@@ -1,4 +1,4 @@
-/* $Id: timer.c,v 1.1.4.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Copyright (C) 1996 SpellCaster Telecommunications Inc.
*
-Index: linux-2.4.35.4/drivers/isdn/tpam/tpam.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/tpam/tpam.h
-+++ linux-2.4.35.4/drivers/isdn/tpam/tpam.h
+--- a/drivers/isdn/tpam/tpam.h
++++ b/drivers/isdn/tpam/tpam.h
@@ -1,4 +1,4 @@
-/* $Id: tpam.h,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id: tpam.h,v 1.3 2001/09/24 13:23:12 kai Exp $
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver)
*
-Index: linux-2.4.35.4/drivers/isdn/tpam/tpam_commands.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/tpam/tpam_commands.c
-+++ linux-2.4.35.4/drivers/isdn/tpam/tpam_commands.c
+--- a/drivers/isdn/tpam/tpam_commands.c
++++ b/drivers/isdn/tpam/tpam_commands.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_commands.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id: tpam_commands.c,v 1.3 2001/09/24 13:23:12 kai Exp $
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver - ISDN commands)
*
-Index: linux-2.4.35.4/drivers/isdn/tpam/tpam_crcpc.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/tpam/tpam_crcpc.c
-+++ linux-2.4.35.4/drivers/isdn/tpam/tpam_crcpc.c
+--- a/drivers/isdn/tpam/tpam_crcpc.c
++++ b/drivers/isdn/tpam/tpam_crcpc.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_crcpc.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver - CRC encoding)
*
-Index: linux-2.4.35.4/drivers/isdn/tpam/tpam_hdlc.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/tpam/tpam_hdlc.c
-+++ linux-2.4.35.4/drivers/isdn/tpam/tpam_hdlc.c
+--- a/drivers/isdn/tpam/tpam_hdlc.c
++++ b/drivers/isdn/tpam/tpam_hdlc.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_hdlc.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id: tpam_hdlc.c,v 1.3 2001/09/24 13:23:12 kai Exp $
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver - HDLC encoding)
*
-Index: linux-2.4.35.4/drivers/isdn/tpam/tpam_main.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/tpam/tpam_main.c
-+++ linux-2.4.35.4/drivers/isdn/tpam/tpam_main.c
+--- a/drivers/isdn/tpam/tpam_main.c
++++ b/drivers/isdn/tpam/tpam_main.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_main.c,v 1.1.2.2 2001/12/09 18:45:14 kai Exp $
+/* $Id$
};
static int __init tpam_init(void) {
-Index: linux-2.4.35.4/drivers/isdn/tpam/tpam_memory.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/tpam/tpam_memory.c
-+++ linux-2.4.35.4/drivers/isdn/tpam/tpam_memory.c
+--- a/drivers/isdn/tpam/tpam_memory.c
++++ b/drivers/isdn/tpam/tpam_memory.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_memory.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver - Board Memory Access)
*
-Index: linux-2.4.35.4/drivers/isdn/tpam/tpam_nco.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/tpam/tpam_nco.c
-+++ linux-2.4.35.4/drivers/isdn/tpam/tpam_nco.c
+--- a/drivers/isdn/tpam/tpam_nco.c
++++ b/drivers/isdn/tpam/tpam_nco.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_nco.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
*
* Turbo PAM ISDN driver for Linux.
* (Kernel Driver - Low Level NCO Manipulation)
-Index: linux-2.4.35.4/drivers/isdn/tpam/tpam_queues.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/tpam/tpam_queues.c
-+++ linux-2.4.35.4/drivers/isdn/tpam/tpam_queues.c
+--- a/drivers/isdn/tpam/tpam_queues.c
++++ b/drivers/isdn/tpam/tpam_queues.c
@@ -1,4 +1,4 @@
-/* $Id: tpam_queues.c,v 1.1.2.1 2001/11/20 14:19:37 kai Exp $
+/* $Id$
spin_unlock(&card->lock);
printk(KERN_ERR "TurboPAM(tpam_irq): "
"waiting too long...\n");
-Index: linux-2.4.35.4/include/linux/b1lli.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/b1lli.h
-+++ linux-2.4.35.4/include/linux/b1lli.h
+--- a/include/linux/b1lli.h
++++ b/include/linux/b1lli.h
@@ -1,4 +1,4 @@
-/* $Id: b1lli.h,v 1.8.8.3 2001/09/23 22:25:05 kai Exp $
+/* $Id$
*
* ISDN lowlevel-module for AVM B1-card.
*
-Index: linux-2.4.35.4/include/linux/b1pcmcia.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/b1pcmcia.h
-+++ linux-2.4.35.4/include/linux/b1pcmcia.h
+--- a/include/linux/b1pcmcia.h
++++ b/include/linux/b1pcmcia.h
@@ -1,4 +1,4 @@
-/* $Id: b1pcmcia.h,v 1.1.8.2 2001/09/23 22:25:05 kai Exp $
+/* $Id$
*
* Exported functions of module b1pcmcia to be called by
* avm_cs card services module.
-Index: linux-2.4.35.4/include/linux/capi.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/capi.h
-+++ linux-2.4.35.4/include/linux/capi.h
+--- a/include/linux/capi.h
++++ b/include/linux/capi.h
@@ -1,4 +1,4 @@
-/* $Id: capi.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
+/* $Id$
*
* CAPI 2.0 Interface for Linux
*
-Index: linux-2.4.35.4/include/linux/concap.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/concap.h
-+++ linux-2.4.35.4/include/linux/concap.h
+--- a/include/linux/concap.h
++++ b/include/linux/concap.h
@@ -1,4 +1,4 @@
-/* $Id: concap.h,v 1.2.8.1 2001/09/23 22:25:05 kai Exp $
+/* $Id: concap.h,v 1.3 2001/09/24 13:23:13 kai Exp $
/* Stuff to support encapsulation protocols genericly. The encapsulation
protocol is processed at the uppermost layer of the network interface.
-Index: linux-2.4.35.4/include/linux/hysdn_if.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/hysdn_if.h
-+++ linux-2.4.35.4/include/linux/hysdn_if.h
+--- a/include/linux/hysdn_if.h
++++ b/include/linux/hysdn_if.h
@@ -1,4 +1,4 @@
-/* $Id: hysdn_if.h,v 1.1.8.3 2001/09/23 22:25:05 kai Exp $
+/* $Id$
*
* Linux driver for HYSDN cards
* ioctl definitions shared by hynetmgr and driver.
-Index: linux-2.4.35.4/include/linux/isdn/tpam.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/isdn/tpam.h
-+++ linux-2.4.35.4/include/linux/isdn/tpam.h
+--- a/include/linux/isdn/tpam.h
++++ b/include/linux/isdn/tpam.h
@@ -1,4 +1,4 @@
-/* $Id: tpam.h,v 1.1.2.1 2001/11/20 14:19:38 kai Exp $
+/* $Id$
*
* Turbo PAM ISDN driver for Linux. (Kernel Driver)
*
-Index: linux-2.4.35.4/include/linux/isdn.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/isdn.h
-+++ linux-2.4.35.4/include/linux/isdn.h
+--- a/include/linux/isdn.h
++++ b/include/linux/isdn.h
@@ -1,4 +1,4 @@
-/* $Id: isdn.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
+/* $Id: isdn.h,v 1.125 2001/12/01 23:18:21 detabc Exp $
#endif /* __KERNEL__ */
-Index: linux-2.4.35.4/include/linux/isdn_compat.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/isdn_compat.h
++++ b/include/linux/isdn_compat.h
@@ -0,0 +1,261 @@
+/* $Id: isdn_compat.h,v 1.53 2001/09/24 13:23:13 kai Exp $
+ *
+
+#endif /* __KERNEL__ */
+#endif /* _LINUX_ISDN_COMPAT_H */
-Index: linux-2.4.35.4/include/linux/isdn_divertif.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/isdn_divertif.h
-+++ linux-2.4.35.4/include/linux/isdn_divertif.h
+--- a/include/linux/isdn_divertif.h
++++ b/include/linux/isdn_divertif.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_divertif.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
+/* $Id$
} isdn_divert_if;
/*********************/
-Index: linux-2.4.35.4/include/linux/isdn_dwabc.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/isdn_dwabc.h
++++ b/include/linux/isdn_dwabc.h
@@ -0,0 +1,84 @@
+/* $Id: isdn_dwabc.h,v 1.9 2001/09/26 20:32:08 detabc Exp $
+ *
+};
+
+#endif
-Index: linux-2.4.35.4/include/linux/isdn_lzscomp.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/isdn_lzscomp.h
-+++ linux-2.4.35.4/include/linux/isdn_lzscomp.h
+--- a/include/linux/isdn_lzscomp.h
++++ b/include/linux/isdn_lzscomp.h
@@ -1,4 +1,4 @@
-/* $Id: isdn_lzscomp.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
+/* $Id$
*
* Header for isdn_lzscomp.c
* Concentrated here to not mess up half a dozen kernel headers with code
-Index: linux-2.4.35.4/include/linux/isdn_ppp.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/isdn_ppp.h
-+++ linux-2.4.35.4/include/linux/isdn_ppp.h
+--- a/include/linux/isdn_ppp.h
++++ b/include/linux/isdn_ppp.h
@@ -8,6 +8,7 @@
#ifndef _LINUX_ISDN_PPP_H
#define _LINUX_ISDN_PPP_H
unsigned long debug;
struct isdn_ppp_compressor *compressor,*decompressor;
struct isdn_ppp_compressor *link_compressor,*link_decompressor;
-Index: linux-2.4.35.4/include/linux/isdnif.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/isdnif.h
-+++ linux-2.4.35.4/include/linux/isdnif.h
+--- a/include/linux/isdnif.h
++++ b/include/linux/isdnif.h
@@ -1,4 +1,4 @@
-/* $Id: isdnif.h,v 1.1.4.1 2001/11/20 14:19:38 kai Exp $
+/* $Id: isdnif.h,v 1.43 2002/02/09 21:19:11 keil Exp $
/*
* Audio commands
-Index: linux-2.4.35.4/include/linux/kernelcapi.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/kernelcapi.h
-+++ linux-2.4.35.4/include/linux/kernelcapi.h
+--- a/include/linux/kernelcapi.h
++++ b/include/linux/kernelcapi.h
@@ -1,12 +1,10 @@
-/* $Id: kernelcapi.h,v 1.1.4.2 2002/01/28 18:25:10 kai Exp $
+/*
-Index: linux-2.4.35.4/drivers/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/Makefile
-+++ linux-2.4.35.4/drivers/Makefile
+--- a/drivers/Makefile
++++ b/drivers/Makefile
@@ -38,7 +38,7 @@ subdir-$(CONFIG_FUSION) += message/fusi
subdir-$(CONFIG_MD) += md
subdir-$(CONFIG_IEEE1394) += ieee1394
subdir-$(CONFIG_ATM) += atm
subdir-$(CONFIG_FC4) += fc4
-Index: linux-2.4.35.4/drivers/isdn/hisax/hfc_usb.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/isdn/hisax/hfc_usb.c
-+++ linux-2.4.35.4/drivers/isdn/hisax/hfc_usb.c
+--- a/drivers/isdn/hisax/hfc_usb.c
++++ b/drivers/isdn/hisax/hfc_usb.c
@@ -1,13 +1,11 @@
-/* $Id: hfc_usb.c,v 2.3 2001/07/06 21:30:11 werner Exp $
+/*
-Index: linux-2.4.35.4/drivers/usb/serial/pl2303.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/usb/serial/pl2303.c
-+++ linux-2.4.35.4/drivers/usb/serial/pl2303.c
+--- a/drivers/usb/serial/pl2303.c
++++ b/drivers/usb/serial/pl2303.c
@@ -78,6 +78,11 @@ static struct usb_device_id id_table []
{ USB_DEVICE(RADIOSHACK_VENDOR_ID, RADIOSHACK_PRODUCT_ID) },
{ USB_DEVICE(DCU10_VENDOR_ID, DCU10_PRODUCT_ID) },
{ } /* Terminating entry */
};
-Index: linux-2.4.35.4/drivers/usb/serial/pl2303.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/usb/serial/pl2303.h
-+++ linux-2.4.35.4/drivers/usb/serial/pl2303.h
+--- a/drivers/usb/serial/pl2303.h
++++ b/drivers/usb/serial/pl2303.h
@@ -41,3 +41,21 @@
#define SITECOM_VENDOR_ID 0x6189
-Index: linux-2.4.35.4/fs/hfsplus/super.c
-===================================================================
---- linux-2.4.35.4.orig/fs/hfsplus/super.c
-+++ linux-2.4.35.4/fs/hfsplus/super.c
+--- a/fs/hfsplus/super.c
++++ b/fs/hfsplus/super.c
@@ -240,8 +240,7 @@ int hfsplus_remount(struct super_block *
if (!(*flags & MS_RDONLY)) {
struct hfsplus_vh *vhdr = HFSPLUS_SB(sb).s_vhdr;
-Index: linux-2.4.35.4/arch/mips/kernel/signal.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/signal.c
-+++ linux-2.4.35.4/arch/mips/kernel/signal.c
+--- a/arch/mips/kernel/signal.c
++++ b/arch/mips/kernel/signal.c
@@ -6,8 +6,10 @@
* Copyright (C) 1991, 1992 Linus Torvalds
* Copyright (C) 1994 - 1999 Ralf Baechle
{
sigset_t *unewset, saveset, newset;
size_t sigsetsize;
-Index: linux-2.4.35.4/arch/mips/kernel/syscall.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/syscall.c
-+++ linux-2.4.35.4/arch/mips/kernel/syscall.c
+--- a/arch/mips/kernel/syscall.c
++++ b/arch/mips/kernel/syscall.c
@@ -5,6 +5,7 @@
*
* Copyright (C) 1995 - 2000 by Ralf Baechle
{
unsigned long clone_flags;
unsigned long newsp;
-Index: linux-2.4.35.4/arch/mips/ld.script.in
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/ld.script.in
-+++ linux-2.4.35.4/arch/mips/ld.script.in
+--- a/arch/mips/ld.script.in
++++ b/arch/mips/ld.script.in
@@ -9,6 +9,7 @@ SECTIONS
{
_ftext = . ;
*(.rodata)
*(.rodata.*)
*(.rodata1)
-Index: linux-2.4.35.4/arch/mips64/kernel/signal.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/signal.c
-+++ linux-2.4.35.4/arch/mips64/kernel/signal.c
+--- a/arch/mips64/kernel/signal.c
++++ b/arch/mips64/kernel/signal.c
@@ -6,8 +6,10 @@
* Copyright (C) 1991, 1992 Linus Torvalds
* Copyright (C) 1994 - 2000 Ralf Baechle
{
sigset_t *unewset, saveset, newset;
size_t sigsetsize;
-Index: linux-2.4.35.4/arch/mips64/kernel/signal32.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/signal32.c
-+++ linux-2.4.35.4/arch/mips64/kernel/signal32.c
+--- a/arch/mips64/kernel/signal32.c
++++ b/arch/mips64/kernel/signal32.c
@@ -6,7 +6,9 @@
* Copyright (C) 1991, 1992 Linus Torvalds
* Copyright (C) 1994 - 2000 Ralf Baechle
{
sigset32_t *uset;
sigset_t newset, saveset;
-Index: linux-2.4.35.4/arch/mips64/kernel/syscall.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips64/kernel/syscall.c
-+++ linux-2.4.35.4/arch/mips64/kernel/syscall.c
+--- a/arch/mips64/kernel/syscall.c
++++ b/arch/mips64/kernel/syscall.c
@@ -6,7 +6,9 @@
* Copyright (C) 1995 - 2000, 2001 by Ralf Baechle
* Copyright (C) 1999, 2000 Silicon Graphics, Inc.
{
unsigned long clone_flags;
unsigned long newsp;
-Index: linux-2.4.35.4/include/asm-mips/ptrace.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips/ptrace.h
-+++ linux-2.4.35.4/include/asm-mips/ptrace.h
+--- a/include/asm-mips/ptrace.h
++++ b/include/asm-mips/ptrace.h
@@ -4,6 +4,7 @@
* for more details.
*
#endif /* !__ASSEMBLY__ */
/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
-Index: linux-2.4.35.4/include/asm-mips64/ptrace.h
-===================================================================
---- linux-2.4.35.4.orig/include/asm-mips64/ptrace.h
-+++ linux-2.4.35.4/include/asm-mips64/ptrace.h
+--- a/include/asm-mips64/ptrace.h
++++ b/include/asm-mips64/ptrace.h
@@ -5,6 +5,7 @@
*
* Copyright (C) 1994, 95, 96, 97, 98, 99, 2000 by Ralf Baechle
-Index: linux-2.4.35.4/drivers/usb/host/ehci-q.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/usb/host/ehci-q.c
-+++ linux-2.4.35.4/drivers/usb/host/ehci-q.c
+--- a/drivers/usb/host/ehci-q.c
++++ b/drivers/usb/host/ehci-q.c
@@ -782,6 +782,11 @@ static void qh_link_async (struct ehci_h
if (!(cmd & CMD_ASE)) {
/* in case a clear of CMD_ASE didn't take yet */
-Index: linux-2.4.35.4/Makefile
-===================================================================
---- linux-2.4.35.4.orig/Makefile
-+++ linux-2.4.35.4/Makefile
+--- a/Makefile
++++ b/Makefile
@@ -362,7 +362,7 @@ include/linux/compile.h: $(CONFIGURATION
@rm -f .ver1
scripts/mkdep -- init/*.c > .depend
ifdef CONFIG_MODVERSIONS
-Index: linux-2.4.35.4/Rules.make
-===================================================================
---- linux-2.4.35.4.orig/Rules.make
-+++ linux-2.4.35.4/Rules.make
+--- a/Rules.make
++++ b/Rules.make
@@ -126,7 +126,7 @@ endif
# This make dependencies quickly
#
-Index: linux-2.4.35.4/drivers/char/serial.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/char/serial.c
-+++ linux-2.4.35.4/drivers/char/serial.c
+--- a/drivers/char/serial.c
++++ b/drivers/char/serial.c
@@ -5458,18 +5458,6 @@ static int __init rs_init(void)
sizeof(struct rs_multiport_struct));
#endif
-Index: linux-2.4.35.4/net/sched/sch_htb.c
-===================================================================
---- linux-2.4.35.4.orig/net/sched/sch_htb.c
-+++ linux-2.4.35.4/net/sched/sch_htb.c
+--- a/net/sched/sch_htb.c
++++ b/net/sched/sch_htb.c
@@ -369,7 +369,7 @@ static void htb_debug_dump (struct htb_s
struct list_head *l;
list_for_each (l,q->hash+i) {
-Index: linux-2.4.35.4/net/sched/sch_htb.c
-===================================================================
---- linux-2.4.35.4.orig/net/sched/sch_htb.c
-+++ linux-2.4.35.4/net/sched/sch_htb.c
+--- a/net/sched/sch_htb.c
++++ b/net/sched/sch_htb.c
@@ -74,7 +74,7 @@
#define HTB_EWMAC 2 /* rate average over HTB_EWMAC*HTB_HSIZE sec */
#define HTB_DEBUG 1 /* compile debugging support (activated by tc tool) */
-Index: linux-2.4.35.4/drivers/sound/sound_core.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/sound/sound_core.c
-+++ linux-2.4.35.4/drivers/sound/sound_core.c
+--- a/drivers/sound/sound_core.c
++++ b/drivers/sound/sound_core.c
@@ -174,9 +174,9 @@ static int sound_insert_unit(struct soun
}
-Index: linux-2.4.35.4/include/linux/atmdev.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/atmdev.h
-+++ linux-2.4.35.4/include/linux/atmdev.h
+--- a/include/linux/atmdev.h
++++ b/include/linux/atmdev.h
@@ -400,6 +400,7 @@ extern rwlock_t vcc_sklist_lock;
struct atm_dev *atm_dev_register(const char *type,const struct atmdev_ops *ops,
int number,atm_dev_flags_t *flags); /* number == -1: pick first available */
void atm_dev_deregister(struct atm_dev *dev);
void shutdown_atm_dev(struct atm_dev *dev);
void vcc_insert_socket(struct sock *sk);
-Index: linux-2.4.35.4/net/atm/resources.c
-===================================================================
---- linux-2.4.35.4.orig/net/atm/resources.c
-+++ linux-2.4.35.4/net/atm/resources.c
+--- a/net/atm/resources.c
++++ b/net/atm/resources.c
@@ -10,6 +10,7 @@
#include <linux/sonet.h>
#include <linux/kernel.h> /* for barrier */
-Index: linux-2.4.35.4/lib/string.c
-===================================================================
---- linux-2.4.35.4.orig/lib/string.c
-+++ linux-2.4.35.4/lib/string.c
+--- a/lib/string.c
++++ b/lib/string.c
@@ -50,6 +50,7 @@ int strnicmp(const char *s1, const char
}
return (int)c1 - (int)c2;
-Index: linux-2.4.35.4/net/atm/br2684.c
-===================================================================
---- linux-2.4.35.4.orig/net/atm/br2684.c
-+++ linux-2.4.35.4/net/atm/br2684.c
+--- a/net/atm/br2684.c
++++ b/net/atm/br2684.c
@@ -55,36 +55,55 @@ static void skb_debug(const struct sk_bu
#define skb_debug(skb) do {} while (0)
#endif
while (!list_empty(&br2684_devs)) {
brdev = list_entry_brdev(br2684_devs.next);
unregister_netdev(&brdev->net_dev);
-Index: linux-2.4.35.4/net/atm/common.c
-===================================================================
---- linux-2.4.35.4.orig/net/atm/common.c
-+++ linux-2.4.35.4/net/atm/common.c
+--- a/net/atm/common.c
++++ b/net/atm/common.c
@@ -158,6 +158,7 @@ void br2684_ioctl_set(int (*hook)(struct
}
#ifdef CONFIG_ATM_BR2684_MODULE
#endif
#endif
-Index: linux-2.4.35.4/include/linux/atmbr2684.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/atmbr2684.h
-+++ linux-2.4.35.4/include/linux/atmbr2684.h
+--- a/include/linux/atmbr2684.h
++++ b/include/linux/atmbr2684.h
@@ -3,6 +3,7 @@
#include <linux/atm.h>
-Index: linux-2.4.35.4/fs/jffs2/build.c
-===================================================================
---- linux-2.4.35.4.orig/fs/jffs2/build.c
-+++ linux-2.4.35.4/fs/jffs2/build.c
+--- a/fs/jffs2/build.c
++++ b/fs/jffs2/build.c
@@ -31,6 +31,10 @@
* provisions above, a recipient may use your version of this file
* under either the RHEPL or the GPL.
D1(printk(KERN_DEBUG "Scanned flash completely\n"));
/* Now build the data map for each inode, marking obsoleted nodes
as such, and also increase nlink of any children. */
-Index: linux-2.4.35.4/fs/jffs2/scan.c
-===================================================================
---- linux-2.4.35.4.orig/fs/jffs2/scan.c
-+++ linux-2.4.35.4/fs/jffs2/scan.c
+--- a/fs/jffs2/scan.c
++++ b/fs/jffs2/scan.c
@@ -31,6 +31,10 @@
* provisions above, a recipient may use your version of this file
* under either the RHEPL or the GPL.
-Index: linux-2.4.35.4/drivers/scsi/hosts.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/scsi/hosts.c
-+++ linux-2.4.35.4/drivers/scsi/hosts.c
+--- a/drivers/scsi/hosts.c
++++ b/drivers/scsi/hosts.c
@@ -107,8 +107,21 @@ scsi_unregister(struct Scsi_Host * sh){
if (shn) shn->host_registered = 0;
/* else {} : This should not happen, we should panic here... */
kfree((char *) sh);
}
-Index: linux-2.4.35.4/drivers/usb/hcd.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/usb/hcd.c
-+++ linux-2.4.35.4/drivers/usb/hcd.c
+--- a/drivers/usb/hcd.c
++++ b/drivers/usb/hcd.c
@@ -1105,7 +1105,8 @@ static int hcd_submit_urb (struct urb *u
break;
case PIPE_BULK:
urb->transfer_dma = pci_map_single (
hcd->pdev,
urb->transfer_buffer,
-Index: linux-2.4.35.4/drivers/usb/host/ehci-hcd.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/usb/host/ehci-hcd.c
-+++ linux-2.4.35.4/drivers/usb/host/ehci-hcd.c
+--- a/drivers/usb/host/ehci-hcd.c
++++ b/drivers/usb/host/ehci-hcd.c
@@ -399,6 +399,27 @@ static int ehci_start (struct usb_hcd *h
ehci_mem_cleanup (ehci);
return retval;
writel (INTR_MASK, &ehci->regs->intr_enable);
writel (ehci->periodic_dma, &ehci->regs->frame_list);
-Index: linux-2.4.35.4/drivers/usb/host/ehci-q.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/usb/host/ehci-q.c
-+++ linux-2.4.35.4/drivers/usb/host/ehci-q.c
+--- a/drivers/usb/host/ehci-q.c
++++ b/drivers/usb/host/ehci-q.c
@@ -791,6 +791,8 @@ static void qh_link_async (struct ehci_h
writel (cmd, &ehci->regs->command);
ehci->hcd.state = USB_STATE_RUNNING;
}
}
-Index: linux-2.4.35.4/drivers/usb/host/usb-uhci.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/usb/host/usb-uhci.c
-+++ linux-2.4.35.4/drivers/usb/host/usb-uhci.c
+--- a/drivers/usb/host/usb-uhci.c
++++ b/drivers/usb/host/usb-uhci.c
@@ -3034,6 +3034,21 @@ uhci_pci_probe (struct pci_dev *dev, con
pci_set_master(dev);
/* Search for the IO base address.. */
for (i = 0; i < 6; i++) {
-Index: linux-2.4.35.4/drivers/usb/storage/transport.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/usb/storage/transport.c
-+++ linux-2.4.35.4/drivers/usb/storage/transport.c
+--- a/drivers/usb/storage/transport.c
++++ b/drivers/usb/storage/transport.c
@@ -54,6 +54,22 @@
#include <linux/sched.h>
#include <linux/errno.h>
}
}
else
-Index: linux-2.4.35.4/drivers/usb/storage/transport.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/usb/storage/transport.h
-+++ linux-2.4.35.4/drivers/usb/storage/transport.h
+--- a/drivers/usb/storage/transport.h
++++ b/drivers/usb/storage/transport.h
@@ -127,6 +127,16 @@ struct bulk_cs_wrap {
#define US_BULK_TRANSFER_ABORTED 3 /* transfer canceled */
* Transport return codes
*/
-Index: linux-2.4.35.4/drivers/usb/storage/usb.h
-===================================================================
---- linux-2.4.35.4.orig/drivers/usb/storage/usb.h
-+++ linux-2.4.35.4/drivers/usb/storage/usb.h
+--- a/drivers/usb/storage/usb.h
++++ b/drivers/usb/storage/usb.h
@@ -111,6 +111,60 @@ typedef int (*trans_reset)(struct us_dat
typedef void (*proto_cmnd)(Scsi_Cmnd*, struct us_data*);
typedef void (*extra_data_destructor)(void *); /* extra data destructor */
/* the semaphore for sleeping the control thread */
struct semaphore sema; /* to sleep thread on */
-Index: linux-2.4.35.4/include/linux/usb.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/usb.h
-+++ linux-2.4.35.4/include/linux/usb.h
+--- a/include/linux/usb.h
++++ b/include/linux/usb.h
@@ -483,6 +483,8 @@ struct usb_driver {
#define URB_NO_INTERRUPT 0x0080 /* HINT: no non-error interrupt needed */
/* ... less overhead for QUEUE_BULK */
-Index: linux-2.4.35.4/include/linux/skbuff.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/skbuff.h
-+++ linux-2.4.35.4/include/linux/skbuff.h
+--- a/include/linux/skbuff.h
++++ b/include/linux/skbuff.h
@@ -912,6 +912,49 @@ static inline void skb_reserve(struct sk
skb->tail+=len;
}
extern int ___pskb_trim(struct sk_buff *skb, unsigned int len, int realloc);
static inline void __skb_trim(struct sk_buff *skb, unsigned int len)
-Index: linux-2.4.35.4/drivers/net/tun.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/tun.c
-+++ linux-2.4.35.4/drivers/net/tun.c
+--- a/drivers/net/tun.c
++++ b/drivers/net/tun.c
@@ -185,22 +185,31 @@ static __inline__ ssize_t tun_get_user(s
{
struct tun_pi pi = { 0, __constant_htons(ETH_P_IP) };
-Index: linux-2.4.35.4/fs/Config.in
-===================================================================
---- linux-2.4.35.4.orig/fs/Config.in
-+++ linux-2.4.35.4/fs/Config.in
+--- a/fs/Config.in
++++ b/fs/Config.in
@@ -77,6 +77,7 @@ dep_mbool ' JFS debugging' CONFIG_JFS_D
dep_mbool ' JFS statistics' CONFIG_JFS_STATISTICS $CONFIG_JFS_FS
tristate 'FreeVxFS file system support (VERITAS VxFS(TM) compatible)' CONFIG_VXFS_FS
tristate 'NTFS file system support (read only)' CONFIG_NTFS_FS
-Index: linux-2.4.35.4/fs/Makefile
-===================================================================
---- linux-2.4.35.4.orig/fs/Makefile
-+++ linux-2.4.35.4/fs/Makefile
+--- a/fs/Makefile
++++ b/fs/Makefile
@@ -31,6 +31,7 @@ subdir-$(CONFIG_RAMFS) += ramfs
subdir-$(CONFIG_CODA_FS) += coda
subdir-$(CONFIG_INTERMEZZO_FS) += intermezzo
subdir-$(CONFIG_FAT_FS) += fat
subdir-$(CONFIG_UMSDOS_FS) += umsdos
subdir-$(CONFIG_MSDOS_FS) += msdos
-Index: linux-2.4.35.4/fs/mini_fo/aux.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/aux.c
++++ b/fs/mini_fo/aux.c
@@ -0,0 +1,580 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+
+#endif /* unused */
+
-Index: linux-2.4.35.4/fs/mini_fo/ChangeLog
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/ChangeLog
++++ b/fs/mini_fo/ChangeLog
@@ -0,0 +1,281 @@
+2006-01-24 Markus Klotzbuecher <mk@mary.denx.de>
+
+ * Implementation of mini_fo_mknod and mini_fo_rename, support
+ for device files.
+
-Index: linux-2.4.35.4/fs/mini_fo/dentry.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/dentry.c
++++ b/fs/mini_fo/dentry.c
@@ -0,0 +1,244 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+ d_delete: mini_fo_d_delete,
+ d_iput: mini_fo_d_iput,
+};
-Index: linux-2.4.35.4/fs/mini_fo/file.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/file.c
++++ b/fs/mini_fo/file.c
@@ -0,0 +1,717 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+ /* not implemented: sendpage */
+ /* not implemented: get_unmapped_area */
+ };
-Index: linux-2.4.35.4/fs/mini_fo/fist.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/fist.h
++++ b/fs/mini_fo/fist.h
@@ -0,0 +1,248 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+# define FIST_IOCTL_SET_DEBUG_VALUE _IOW(0x15, 2, int)
+
+#endif /* not __FIST_H_ */
-Index: linux-2.4.35.4/fs/mini_fo/inode.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/inode.c
++++ b/fs/mini_fo/inode.c
@@ -0,0 +1,1573 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+ removexattr: mini_fo_removexattr
+# endif /* XATTR && LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,20) */
+ };
-Index: linux-2.4.35.4/fs/mini_fo/main.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/main.c
++++ b/fs/mini_fo/main.c
@@ -0,0 +1,414 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+
+module_init(init_mini_fo_fs)
+module_exit(exit_mini_fo_fs)
-Index: linux-2.4.35.4/fs/mini_fo/Makefile
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/Makefile
++++ b/fs/mini_fo/Makefile
@@ -0,0 +1,22 @@
+#
+# Makefile for mini_fo 2.4 and 2.6 Linux kernels
+# dependencies
+${mini_fo-objs}: mini_fo.h fist.h
+
-Index: linux-2.4.35.4/fs/mini_fo/meta.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/meta.c
++++ b/fs/mini_fo/meta.c
@@ -0,0 +1,1000 @@
+/*
+ * Copyright (C) 2004, 2005 Markus Klotzbuecher <mk@creamnet.de>
+ return 0;
+}
+
-Index: linux-2.4.35.4/fs/mini_fo/mini_fo.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/mini_fo.h
++++ b/fs/mini_fo/mini_fo.h
@@ -0,0 +1,503 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+/* ioctls */
+
+#endif /* not __MINI_FO_H_ */
-Index: linux-2.4.35.4/fs/mini_fo/mini_fo-merge
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/mini_fo-merge
++++ b/fs/mini_fo/mini_fo-merge
@@ -0,0 +1,180 @@
+#!/bin/bash
+#
+#rm $TMP/$SKIP_DEL_LIST
+
+echo "Done!"
-Index: linux-2.4.35.4/fs/mini_fo/mini_fo-overlay
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/mini_fo-overlay
++++ b/fs/mini_fo/mini_fo-overlay
@@ -0,0 +1,130 @@
+#!/bin/bash
+#
+if [ $? -ne 0 ]; then
+ echo "Error, mounting failed, maybe no permisson to mount?"
+fi
-Index: linux-2.4.35.4/fs/mini_fo/mmap.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/mmap.c
++++ b/fs/mini_fo/mmap.c
@@ -0,0 +1,637 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
+ print_exit_status(err);
+ return err;
+}
-Index: linux-2.4.35.4/fs/mini_fo/README
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/README
++++ b/fs/mini_fo/README
@@ -0,0 +1,163 @@
+README for the mini_fo overlay file system
+=========================================
+2 of the License, or (at your option) any later version.
+
+
-Index: linux-2.4.35.4/fs/mini_fo/RELEASE_NOTES
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/RELEASE_NOTES
++++ b/fs/mini_fo/RELEASE_NOTES
@@ -0,0 +1,111 @@
+Release: mini_fo-0.6.1 (v0-6-1)
+Date: 21.09.2005
+original state. I hope to fix this someday. Please note that this does
+not effect the special hard links '.' and '..', that are handled
+seperately by the lower fs.
-Index: linux-2.4.35.4/fs/mini_fo/state.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/state.c
++++ b/fs/mini_fo/state.c
@@ -0,0 +1,620 @@
+/*
+ * Copyright (C) 2005 Markus Klotzbuecher <mk@creamnet.de>
+ return err;
+}
+
-Index: linux-2.4.35.4/fs/mini_fo/super.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/fs/mini_fo/super.c
++++ b/fs/mini_fo/super.c
@@ -0,0 +1,259 @@
+/*
+ * Copyright (c) 1997-2003 Erez Zadok
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_ipp2p.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_ipp2p.h
++++ b/include/linux/netfilter_ipv4/ipt_ipp2p.h
@@ -0,0 +1,31 @@
+#ifndef __IPT_IPP2P_H
+#define __IPT_IPP2P_H
+#define IPP2P_MUTE (1 << 14)
+#define IPP2P_WASTE (1 << 15)
+#define IPP2P_XDCC (1 << 16)
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -26,6 +26,7 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ];
dep_tristate ' TOS match support' CONFIG_IP_NF_MATCH_TOS $CONFIG_IP_NF_IPTABLES
dep_tristate ' recent match support' CONFIG_IP_NF_MATCH_RECENT $CONFIG_IP_NF_IPTABLES
dep_tristate ' DSCP match support' CONFIG_IP_NF_MATCH_DSCP $CONFIG_IP_NF_IPTABLES
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -67,6 +67,7 @@ obj-$(CONFIG_IP_NF_MATCH_HELPER) += ipt_
obj-$(CONFIG_IP_NF_MATCH_LIMIT) += ipt_limit.o
obj-$(CONFIG_IP_NF_MATCH_MARK) += ipt_mark.o
obj-$(CONFIG_IP_NF_MATCH_PKTTYPE) += ipt_pkttype.o
obj-$(CONFIG_IP_NF_MATCH_MULTIPORT) += ipt_multiport.o
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_ipp2p.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_ipp2p.c
++++ b/net/ipv4/netfilter/ipt_ipp2p.c
@@ -0,0 +1,868 @@
+#if defined(MODVERSIONS)
+#include <linux/modversions.h>
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -29207,6 +29207,18 @@ CONFIG_SOUND_WM97XX
If unsure, say N.
#
# A couple of things I keep forgetting:
# capitalize: AppleTalk, Ethernet, DOS, DMA, FAT, FTP, Internet,
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/netfilter_ipv4/ip_conntrack.h
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
+--- a/include/linux/netfilter_ipv4/ip_conntrack.h
++++ b/include/linux/netfilter_ipv4/ip_conntrack.h
@@ -207,6 +207,17 @@ struct ip_conntrack
} nat;
#endif /* CONFIG_IP_NF_NAT_NEEDED */
};
/* get master conntrack via master expectation */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_layer7.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_layer7.h
++++ b/include/linux/netfilter_ipv4/ipt_layer7.h
@@ -0,0 +1,27 @@
+/*
+ By Matthew Strait <quadong@users.sf.net>, Dec 2003.
+};
+
+#endif /* _IPT_LAYER7_H */
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -44,6 +44,9 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ];
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
dep_tristate ' Unclean match support (EXPERIMENTAL)' CONFIG_IP_NF_MATCH_UNCLEAN $CONFIG_IP_NF_IPTABLES
fi
# The targets
dep_tristate ' Packet filtering' CONFIG_IP_NF_FILTER $CONFIG_IP_NF_IPTABLES
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -87,6 +87,7 @@ obj-$(CONFIG_IP_NF_MATCH_STATE) += ipt_s
obj-$(CONFIG_IP_NF_MATCH_CONNTRACK) += ipt_conntrack.o
obj-$(CONFIG_IP_NF_MATCH_UNCLEAN) += ipt_unclean.o
# targets
obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_core.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_core.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_core.c
+--- a/net/ipv4/netfilter/ip_conntrack_core.c
++++ b/net/ipv4/netfilter/ip_conntrack_core.c
@@ -346,6 +346,14 @@ destroy_conntrack(struct nf_conntrack *n
}
kfree(ct->master);
WRITE_UNLOCK(&ip_conntrack_lock);
if (master)
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_standalone.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_standalone.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_standalone.c
+--- a/net/ipv4/netfilter/ip_conntrack_standalone.c
++++ b/net/ipv4/netfilter/ip_conntrack_standalone.c
@@ -107,6 +107,13 @@ print_conntrack(char *buffer, struct ip_
len += sprintf(buffer + len, "[ASSURED] ");
len += sprintf(buffer + len, "use=%u ",
len += sprintf(buffer + len, "\n");
return len;
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_layer7.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_layer7.c
++++ b/net/ipv4/netfilter/ipt_layer7.c
@@ -0,0 +1,595 @@
+/*
+ Kernel module to match application layer (OSI layer 7)
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/regexp/regexp.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/regexp/regexp.c
++++ b/net/ipv4/netfilter/regexp/regexp.c
@@ -0,0 +1,1195 @@
+/*
+ * regcomp and regexec -- regsub and regerror are elsewhere
+#endif
+
+
-Index: linux-2.4.35.4/net/ipv4/netfilter/regexp/regexp.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/regexp/regexp.h
++++ b/net/ipv4/netfilter/regexp/regexp.h
@@ -0,0 +1,40 @@
+/*
+ * Definitions etc. for regexp(3) routines.
+void regerror(char *s);
+
+#endif
-Index: linux-2.4.35.4/net/ipv4/netfilter/regexp/regmagic.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/regexp/regmagic.h
++++ b/net/ipv4/netfilter/regexp/regmagic.h
@@ -0,0 +1,5 @@
+/*
+ * The first byte of the regexp internal "program" is actually this magic
+ * number; the start node begins in the second byte.
+ */
+#define MAGIC 0234
-Index: linux-2.4.35.4/net/ipv4/netfilter/regexp/regsub.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/regexp/regsub.c
++++ b/net/ipv4/netfilter/regexp/regsub.c
@@ -0,0 +1,95 @@
+/*
+ * regsub
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/netfilter_ipv4/ip_conntrack.h
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
+--- a/include/linux/netfilter_ipv4/ip_conntrack.h
++++ b/include/linux/netfilter_ipv4/ip_conntrack.h
@@ -50,16 +50,19 @@ enum ip_conntrack_status {
#include <linux/netfilter_ipv4/ip_conntrack_tcp.h>
};
#endif
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_pptp.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_pptp.h
++++ b/include/linux/netfilter_ipv4/ip_conntrack_pptp.h
@@ -0,0 +1,313 @@
+/* PPTP constants and structs */
+#ifndef _CONNTRACK_PPTP_H
+
+#endif /* __KERNEL__ */
+#endif /* _CONNTRACK_PPTP_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h
++++ b/include/linux/netfilter_ipv4/ip_conntrack_proto_gre.h
@@ -0,0 +1,123 @@
+#ifndef _CONNTRACK_PROTO_GRE_H
+#define _CONNTRACK_PROTO_GRE_H
+#endif /* __KERNEL__ */
+
+#endif /* _CONNTRACK_PROTO_GRE_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_tuple.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/netfilter_ipv4/ip_conntrack_tuple.h
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_tuple.h
+--- a/include/linux/netfilter_ipv4/ip_conntrack_tuple.h
++++ b/include/linux/netfilter_ipv4/ip_conntrack_tuple.h
@@ -14,7 +14,7 @@
union ip_conntrack_manip_proto
{
#define CTINFO2DIR(ctinfo) ((ctinfo) >= IP_CT_IS_REPLY ? IP_CT_DIR_REPLY : IP_CT_DIR_ORIGINAL)
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_nat_pptp.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_nat_pptp.h
++++ b/include/linux/netfilter_ipv4/ip_nat_pptp.h
@@ -0,0 +1,11 @@
+/* PPTP constants and structs */
+#ifndef _NAT_PPTP_H
+};
+
+#endif /* _NAT_PPTP_H */
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -10,6 +10,8 @@ if [ "$CONFIG_IP_NF_CONNTRACK" != "n" ];
dep_tristate ' Amanda protocol support' CONFIG_IP_NF_AMANDA $CONFIG_IP_NF_CONNTRACK
dep_tristate ' TFTP protocol support' CONFIG_IP_NF_TFTP $CONFIG_IP_NF_CONNTRACK
if [ "$CONFIG_IP_NF_AMANDA" = "m" ]; then
define_tristate CONFIG_IP_NF_NAT_AMANDA m
else
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_core.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_core.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_core.c
+--- a/net/ipv4/netfilter/ip_conntrack_core.c
++++ b/net/ipv4/netfilter/ip_conntrack_core.c
@@ -143,6 +143,8 @@ ip_ct_get_tuple(const struct iphdr *iph,
tuple->dst.ip = iph->daddr;
tuple->dst.protonum = iph->protocol;
&& LIST_FIND(&ip_conntrack_expect_list, expect_clash,
struct ip_conntrack_expect *, newtuple, &expect->mask)) {
/* Force NAT to find an unused tuple */
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_pptp_priv.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_pptp_priv.h
++++ b/net/ipv4/netfilter/ip_conntrack_pptp_priv.h
@@ -0,0 +1,24 @@
+#ifndef _IP_CT_PPTP_PRIV_H
+#define _IP_CT_PPTP_PRIV_H
+};
+
+#endif
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_gre.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_gre.c
++++ b/net/ipv4/netfilter/ip_conntrack_proto_gre.c
@@ -0,0 +1,333 @@
+/*
+ * ip_conntrack_proto_gre.c - Version 1.2
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_nat_core.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_nat_core.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_nat_core.c
+--- a/net/ipv4/netfilter/ip_nat_core.c
++++ b/net/ipv4/netfilter/ip_nat_core.c
@@ -424,7 +424,7 @@ get_unique_tuple(struct ip_conntrack_tup
*tuple = *orig_tuple;
while ((rptr = find_best_ips_proto_fast(tuple, mr, conntrack, hooknum))
#endif
/* We now have two tuples (SRCIP/SRCPT/DSTIP/DSTPT):
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_nat_pptp.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_nat_pptp.c
++++ b/net/ipv4/netfilter/ip_nat_pptp.c
@@ -0,0 +1,482 @@
+/*
+ * ip_nat_pptp.c - Version 1.5
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_nat_proto_gre.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_nat_proto_gre.c
++++ b/net/ipv4/netfilter/ip_nat_proto_gre.c
@@ -0,0 +1,202 @@
+/*
+ * ip_nat_proto_gre.c - Version 1.2
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -36,23 +36,32 @@ obj-$(CONFIG_IP_NF_AMANDA) += ip_conntra
ifdef CONFIG_IP_NF_AMANDA
export-objs += ip_conntrack_amanda.o
# generic IP tables
obj-$(CONFIG_IP_NF_IPTABLES) += ip_tables.o
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_pptp.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_pptp.c
++++ b/net/ipv4/netfilter/ip_conntrack_pptp.c
@@ -0,0 +1,635 @@
+/*
+ * ip_conntrack_pptp.c - Version 1.9
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_core.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_core.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_core.c
+--- a/net/ipv4/netfilter/ip_conntrack_core.c
++++ b/net/ipv4/netfilter/ip_conntrack_core.c
@@ -1410,7 +1410,7 @@ void ip_conntrack_cleanup(void)
nf_unregister_sockopt(&so_getorigdst);
}
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -3209,6 +3209,15 @@ CONFIG_IP_NF_TARGET_LOG
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
ipchains (2.2-style) support
CONFIG_IP_NF_COMPAT_IPCHAINS
This option places ipchains (with masquerading and redirection
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_TTL.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_TTL.h
++++ b/include/linux/netfilter_ipv4/ipt_TTL.h
@@ -0,0 +1,21 @@
+/* TTL modification module for IP tables
+ * (C) 2000 by Harald Welte <laforge@gnumonks.org> */
+
+
+#endif
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -125,6 +125,7 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ];
dep_tristate ' MARK target support' CONFIG_IP_NF_TARGET_MARK $CONFIG_IP_NF_MANGLE
fi
dep_tristate ' ULOG target support' CONFIG_IP_NF_TARGET_ULOG $CONFIG_IP_NF_IPTABLES
dep_tristate ' TCPMSS target support' CONFIG_IP_NF_TARGET_TCPMSS $CONFIG_IP_NF_IPTABLES
fi
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_TTL.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_TTL.c
++++ b/net/ipv4/netfilter/ipt_TTL.c
@@ -0,0 +1,110 @@
+/* TTL modification target for IP tables
+ * (C) 2000 by Harald Welte <laforge@gnumonks.org>
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -109,6 +109,7 @@ obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) +=
obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
obj-$(CONFIG_IP_NF_NAT_SNMP_BASIC) += ip_nat_snmp_basic.o
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -3086,6 +3086,17 @@ CONFIG_IP_NF_TARGET_REDIRECT
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Packet mangling
CONFIG_IP_NF_MANGLE
This option adds a `mangle' table to iptables: see the man page for
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -65,6 +65,7 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ];
define_bool CONFIG_IP_NF_NAT_NEEDED y
dep_tristate ' MASQUERADE target support' CONFIG_IP_NF_TARGET_MASQUERADE $CONFIG_IP_NF_NAT
if [ "$CONFIG_IP_NF_PPTP" = "m" ]; then
define_tristate CONFIG_IP_NF_NAT_PPTP m
else
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_NETMAP.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_NETMAP.c
++++ b/net/ipv4/netfilter/ipt_NETMAP.c
@@ -0,0 +1,112 @@
+/* NETMAP - static NAT mapping of IP network addresses (1:1).
+ The mapping can be applied to source (POSTROUTING),
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -107,6 +107,7 @@ obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_D
obj-$(CONFIG_IP_NF_TARGET_MARK) += ipt_MARK.o
obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/netfilter_ipv4/ip_conntrack.h
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
+--- a/include/linux/netfilter_ipv4/ip_conntrack.h
++++ b/include/linux/netfilter_ipv4/ip_conntrack.h
@@ -226,6 +226,9 @@ struct ip_conntrack
unsigned int app_data_len;
} layer7;
};
/* get master conntrack via master expectation */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_CONNMARK.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_CONNMARK.h
++++ b/include/linux/netfilter_ipv4/ipt_CONNMARK.h
@@ -0,0 +1,25 @@
+#ifndef _IPT_CONNMARK_H_target
+#define _IPT_CONNMARK_H_target
+};
+
+#endif /*_IPT_CONNMARK_H_target*/
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_connmark.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_connmark.h
++++ b/include/linux/netfilter_ipv4/ipt_connmark.h
@@ -0,0 +1,18 @@
+#ifndef _IPT_CONNMARK_H
+#define _IPT_CONNMARK_H
+};
+
+#endif /*_IPT_CONNMARK_H*/
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -6,7 +6,8 @@ comment ' IP: Netfilter Configuration'
tristate 'Connection tracking (required for masq/NAT)' CONFIG_IP_NF_CONNTRACK
dep_tristate ' LOG target support' CONFIG_IP_NF_TARGET_LOG $CONFIG_IP_NF_IPTABLES
dep_tristate ' TTL target support' CONFIG_IP_NF_TARGET_TTL $CONFIG_IP_NF_IPTABLES
dep_tristate ' ULOG target support' CONFIG_IP_NF_TARGET_ULOG $CONFIG_IP_NF_IPTABLES
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -93,6 +93,7 @@ obj-$(CONFIG_IP_NF_MATCH_LENGTH) += ipt_
obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o
obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o
obj-$(CONFIG_IP_NF_TARGET_TCPMSS) += ipt_TCPMSS.o
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_core.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_core.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_core.c
+--- a/net/ipv4/netfilter/ip_conntrack_core.c
++++ b/net/ipv4/netfilter/ip_conntrack_core.c
@@ -754,6 +754,9 @@ init_conntrack(const struct ip_conntrack
__set_bit(IPS_EXPECTED_BIT, &conntrack->status);
conntrack->master = expected;
LIST_DELETE(&ip_conntrack_expect_list, expected);
expected->expectant->expecting--;
nf_conntrack_get(&master_ct(conntrack)->infos[0]);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_standalone.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_standalone.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_standalone.c
+--- a/net/ipv4/netfilter/ip_conntrack_standalone.c
++++ b/net/ipv4/netfilter/ip_conntrack_standalone.c
@@ -107,6 +107,9 @@ print_conntrack(char *buffer, struct ip_
len += sprintf(buffer + len, "[ASSURED] ");
len += sprintf(buffer + len, "use=%u ",
#if defined(CONFIG_IP_NF_MATCH_LAYER7) || defined(CONFIG_IP_NF_MATCH_LAYER7_MODULE)
if(conntrack->layer7.app_proto)
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_CONNMARK.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_CONNMARK.c
++++ b/net/ipv4/netfilter/ipt_CONNMARK.c
@@ -0,0 +1,118 @@
+/* This kernel module is used to modify the connection mark values, or
+ * to optionally restore the skb nfmark from the connection mark
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_connmark.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_connmark.c
++++ b/net/ipv4/netfilter/ipt_connmark.c
@@ -0,0 +1,83 @@
+/* This kernel module matches connection mark values set by the
+ * CONNMARK target
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -3220,6 +3220,75 @@ CONFIG_IP_NF_TARGET_LOG
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
TTL target support
CONFIG_IP_NF_TARGET_TTL
This option adds a `TTL' target, which enables the user to set
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set.h
++++ b/include/linux/netfilter_ipv4/ip_set.h
@@ -0,0 +1,489 @@
+#ifndef _IP_SET_H
+#define _IP_SET_H
+#endif /* __KERNEL__ */
+
+#endif /*_IP_SET_H*/
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_iphash.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_iphash.h
++++ b/include/linux/netfilter_ipv4/ip_set_iphash.h
@@ -0,0 +1,30 @@
+#ifndef __IP_SET_IPHASH_H
+#define __IP_SET_IPHASH_H
+};
+
+#endif /* __IP_SET_IPHASH_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_ipmap.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_ipmap.h
++++ b/include/linux/netfilter_ipv4/ip_set_ipmap.h
@@ -0,0 +1,56 @@
+#ifndef __IP_SET_IPMAP_H
+#define __IP_SET_IPMAP_H
+}
+
+#endif /* __IP_SET_IPMAP_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_iptree.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_iptree.h
++++ b/include/linux/netfilter_ipv4/ip_set_iptree.h
@@ -0,0 +1,39 @@
+#ifndef __IP_SET_IPTREE_H
+#define __IP_SET_IPTREE_H
+};
+
+#endif /* __IP_SET_IPTREE_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_jhash.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_jhash.h
++++ b/include/linux/netfilter_ipv4/ip_set_jhash.h
@@ -0,0 +1,148 @@
+#ifndef _LINUX_IPSET_JHASH_H
+#define _LINUX_IPSET_JHASH_H
+}
+
+#endif /* _LINUX_IPSET_JHASH_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_macipmap.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_macipmap.h
++++ b/include/linux/netfilter_ipv4/ip_set_macipmap.h
@@ -0,0 +1,38 @@
+#ifndef __IP_SET_MACIPMAP_H
+#define __IP_SET_MACIPMAP_H
+};
+
+#endif /* __IP_SET_MACIPMAP_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_malloc.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_malloc.h
++++ b/include/linux/netfilter_ipv4/ip_set_malloc.h
@@ -0,0 +1,27 @@
+#ifndef _IP_SET_MALLOC_H
+#define _IP_SET_MALLOC_H
+#endif /* __KERNEL__ */
+
+#endif /*_IP_SET_MALLOC_H*/
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_nethash.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_nethash.h
++++ b/include/linux/netfilter_ipv4/ip_set_nethash.h
@@ -0,0 +1,55 @@
+#ifndef __IP_SET_NETHASH_H
+#define __IP_SET_NETHASH_H
+}
+
+#endif /* __IP_SET_NETHASH_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_portmap.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_portmap.h
++++ b/include/linux/netfilter_ipv4/ip_set_portmap.h
@@ -0,0 +1,25 @@
+#ifndef __IP_SET_PORTMAP_H
+#define __IP_SET_PORTMAP_H
+};
+
+#endif /* __IP_SET_PORTMAP_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_prime.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_prime.h
++++ b/include/linux/netfilter_ipv4/ip_set_prime.h
@@ -0,0 +1,34 @@
+#ifndef __IP_SET_PRIME_H
+#define __IP_SET_PRIME_H
+}
+
+#endif /* __IP_SET_PRIME_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_set.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_set.h
++++ b/include/linux/netfilter_ipv4/ipt_set.h
@@ -0,0 +1,21 @@
+#ifndef _IPT_SET_H
+#define _IPT_SET_H
+};
+
+#endif /*_IPT_SET_H*/
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -22,6 +22,20 @@ tristate 'IP tables support (required fo
if [ "$CONFIG_IP_NF_IPTABLES" != "n" ]; then
# The simple matches.
dep_tristate ' MAC address match support' CONFIG_IP_NF_MATCH_MAC $CONFIG_IP_NF_IPTABLES
dep_tristate ' Packet type match support' CONFIG_IP_NF_MATCH_PKTTYPE $CONFIG_IP_NF_IPTABLES
dep_tristate ' netfilter MARK match support' CONFIG_IP_NF_MATCH_MARK $CONFIG_IP_NF_IPTABLES
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_set.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_set.c
++++ b/net/ipv4/netfilter/ip_set.c
@@ -0,0 +1,2002 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_set_iphash.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_set_iphash.c
++++ b/net/ipv4/netfilter/ip_set_iphash.c
@@ -0,0 +1,379 @@
+/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+ *
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_set_ipmap.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_set_ipmap.c
++++ b/net/ipv4/netfilter/ip_set_ipmap.c
@@ -0,0 +1,314 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_set_iptree.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_set_iptree.c
++++ b/net/ipv4/netfilter/ip_set_iptree.c
@@ -0,0 +1,511 @@
+/* Copyright (C) 2005 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+ *
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_set_macipmap.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_set_macipmap.c
++++ b/net/ipv4/netfilter/ip_set_macipmap.c
@@ -0,0 +1,340 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_set_nethash.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_set_nethash.c
++++ b/net/ipv4/netfilter/ip_set_nethash.c
@@ -0,0 +1,450 @@
+/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+ *
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_set_portmap.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_set_portmap.c
++++ b/net/ipv4/netfilter/ip_set_portmap.c
@@ -0,0 +1,321 @@
+/* Copyright (C) 2003-2004 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
+ *
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_set.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_set.c
++++ b/net/ipv4/netfilter/ipt_set.c
@@ -0,0 +1,114 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_SET.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_SET.c
++++ b/net/ipv4/netfilter/ipt_SET.c
@@ -0,0 +1,127 @@
+/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
+ * Patrick Schaaf <bof@bof.de>
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -75,6 +75,18 @@ obj-$(CONFIG_IP_NF_NAT) += iptable_nat.o
obj-$(CONFIG_IP_NF_MATCH_HELPER) += ipt_helper.o
obj-$(CONFIG_IP_NF_MATCH_LIMIT) += ipt_limit.o
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_string.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_string.h
++++ b/include/linux/netfilter_ipv4/ipt_string.h
@@ -0,0 +1,18 @@
+#ifndef _IPT_STRING_H
+#define _IPT_STRING_H
+};
+
+#endif /*_IPT_STRING_H*/
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -63,6 +63,7 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ];
fi
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
dep_tristate ' Owner match support (EXPERIMENTAL)' CONFIG_IP_NF_MATCH_OWNER $CONFIG_IP_NF_IPTABLES
dep_tristate ' Layer 7 match support (EXPERIMENTAL)' CONFIG_IP_NF_MATCH_LAYER7 $CONFIG_IP_NF_CONNTRACK
dep_mbool ' Layer 7 debugging output (EXPERIMENTAL)' CONFIG_IP_NF_MATCH_LAYER7_DEBUG $CONFIG_IP_NF_MATCH_LAYER7
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_string.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_string.c
++++ b/net/ipv4/netfilter/ipt_string.c
@@ -0,0 +1,99 @@
+/* String matching match for iptables
+ *
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -108,6 +108,7 @@ obj-$(CONFIG_IP_NF_MATCH_STATE) += ipt_s
obj-$(CONFIG_IP_NF_MATCH_CONNMARK) += ipt_connmark.o
obj-$(CONFIG_IP_NF_MATCH_CONNTRACK) += ipt_conntrack.o
obj-$(CONFIG_IP_NF_MATCH_TCPMSS) += ipt_tcpmss.o
obj-$(CONFIG_IP_NF_MATCH_LAYER7) += ipt_layer7.o
-Index: linux-2.4.35.4/net/ipv4/netfilter/textsearch/textsearch.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/textsearch/textsearch.c
++++ b/net/ipv4/netfilter/textsearch/textsearch.c
@@ -0,0 +1,305 @@
+/*
+ * lib/textsearch.c Generic text search interface
+ kfree(conf);
+}
+
-Index: linux-2.4.35.4/net/ipv4/netfilter/textsearch/textsearch.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/textsearch/textsearch.h
++++ b/net/ipv4/netfilter/textsearch/textsearch.h
@@ -0,0 +1,182 @@
+#ifndef __LINUX_TEXTSEARCH_H
+#define __LINUX_TEXTSEARCH_H
+#endif /* __KERNEL__ */
+
+#endif
-Index: linux-2.4.35.4/net/ipv4/netfilter/textsearch/ts_bm.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/textsearch/ts_bm.c
++++ b/net/ipv4/netfilter/textsearch/ts_bm.c
@@ -0,0 +1,190 @@
+/*
+ * lib/ts_bm.c Boyer-Moore text search implementation
+{
+ textsearch_unregister(&bm_ops);
+}
-Index: linux-2.4.35.4/net/ipv4/netfilter/textsearch/ts_kmp.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/textsearch/ts_kmp.c
++++ b/net/ipv4/netfilter/textsearch/ts_kmp.c
@@ -0,0 +1,141 @@
+/*
+ * lib/ts_kmp.c Knuth-Morris-Pratt text search implementation
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -11,6 +11,8 @@ if [ "$CONFIG_IP_NF_CONNTRACK" != "n" ];
dep_tristate ' Amanda protocol support' CONFIG_IP_NF_AMANDA $CONFIG_IP_NF_CONNTRACK
dep_tristate ' TFTP protocol support' CONFIG_IP_NF_TFTP $CONFIG_IP_NF_CONNTRACK
dep_tristate ' GRE protocol support' CONFIG_IP_NF_CT_PROTO_GRE $CONFIG_IP_NF_CONNTRACK
dep_tristate ' PPTP protocol support' CONFIG_IP_NF_PPTP $CONFIG_IP_NF_CT_PROTO_GRE
fi
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -106,6 +106,7 @@ obj-$(CONFIG_IP_NF_MATCH_LENGTH) += ipt_
obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
obj-$(CONFIG_IP_NF_MATCH_STATE) += ipt_state.o
obj-$(CONFIG_IP_NF_MATCH_CONNTRACK) += ipt_conntrack.o
obj-$(CONFIG_IP_NF_MATCH_UNCLEAN) += ipt_unclean.o
obj-$(CONFIG_IP_NF_MATCH_STRING) += ipt_string.o
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_amanda.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_amanda.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_amanda.c
+--- a/net/ipv4/netfilter/ip_conntrack_amanda.c
++++ b/net/ipv4/netfilter/ip_conntrack_amanda.c
@@ -75,7 +75,7 @@ static int help(const struct iphdr *iph,
/* increase the UDP timeout of the master connection as replies from
/* Search for "CONNECT " string */
do {
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_tcp.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_proto_tcp.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_tcp.c
+--- a/net/ipv4/netfilter/ip_conntrack_proto_tcp.c
++++ b/net/ipv4/netfilter/ip_conntrack_proto_tcp.c
@@ -211,7 +211,7 @@ static int tcp_packet(struct ip_conntrac
set_bit(IPS_ASSURED_BIT, &conntrack->status);
}
return NF_ACCEPT;
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_udp.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_proto_udp.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_udp.c
+--- a/net/ipv4/netfilter/ip_conntrack_proto_udp.c
++++ b/net/ipv4/netfilter/ip_conntrack_proto_udp.c
@@ -47,16 +47,16 @@ static unsigned int udp_print_conntrack(
/* Returns verdict for packet, and may modify conntracktype */
static int udp_packet(struct ip_conntrack *conntrack,
return NF_ACCEPT;
}
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_standalone.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_standalone.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_standalone.c
+--- a/net/ipv4/netfilter/ip_conntrack_standalone.c
++++ b/net/ipv4/netfilter/ip_conntrack_standalone.c
@@ -79,6 +79,18 @@ print_expect(char *buffer, const struct
return len;
}
EXPORT_SYMBOL(ip_ct_find_proto);
EXPORT_SYMBOL(__ip_ct_find_proto);
EXPORT_SYMBOL(ip_ct_find_helper);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_generic.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_proto_generic.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_generic.c
+--- a/net/ipv4/netfilter/ip_conntrack_proto_generic.c
++++ b/net/ipv4/netfilter/ip_conntrack_proto_generic.c
@@ -41,9 +41,9 @@ static unsigned int generic_print_conntr
/* Returns verdict for packet, or -1 for invalid. */
static int established(struct ip_conntrack *conntrack,
return NF_ACCEPT;
}
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_icmp.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_proto_icmp.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_icmp.c
+--- a/net/ipv4/netfilter/ip_conntrack_proto_icmp.c
++++ b/net/ipv4/netfilter/ip_conntrack_proto_icmp.c
@@ -82,7 +82,7 @@ static int icmp_packet(struct ip_conntra
ct->timeout.function((unsigned long)ct);
} else {
}
return NF_ACCEPT;
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_core.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_core.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_core.c
+--- a/net/ipv4/netfilter/ip_conntrack_core.c
++++ b/net/ipv4/netfilter/ip_conntrack_core.c
@@ -1196,22 +1196,40 @@ void ip_conntrack_helper_unregister(stru
MOD_DEC_USE_COUNT;
}
WRITE_UNLOCK(&ip_conntrack_lock);
}
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/netfilter_ipv4/ip_conntrack.h
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
+--- a/include/linux/netfilter_ipv4/ip_conntrack.h
++++ b/include/linux/netfilter_ipv4/ip_conntrack.h
@@ -164,6 +164,12 @@ struct ip_conntrack_expect
union ip_conntrack_expect_help help;
};
/* These are for NAT. Icky. */
/* Call me when a conntrack is destroyed. */
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_connbytes.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_connbytes.c
++++ b/net/ipv4/netfilter/ipt_connbytes.c
@@ -0,0 +1,163 @@
+/* Kernel module to match connection tracking byte counter.
+ * GPL (C) 2002 Martin Devera (devik@cdi.cz).
+module_init(init);
+module_exit(fini);
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_connbytes.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_connbytes.h
++++ b/include/linux/netfilter_ipv4/ipt_connbytes.h
@@ -0,0 +1,25 @@
+#ifndef _IPT_CONNBYTES_H
+#define _IPT_CONNBYTES_H
+};
+
+#endif
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_gre.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_conntrack_proto_gre.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_proto_gre.c
+--- a/net/ipv4/netfilter/ip_conntrack_proto_gre.c
++++ b/net/ipv4/netfilter/ip_conntrack_proto_gre.c
@@ -237,16 +237,16 @@ static unsigned int gre_print_conntrack(
/* Returns verdict for packet, and may modify conntrack */
static int gre_packet(struct ip_conntrack *ct,
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -2979,6 +2979,14 @@ CONFIG_IP_NF_MATCH_TOS
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Multiple port match support
CONFIG_IP6_NF_MATCH_MULTIPORT
Multiport matching allows you to match TCP or UDP packets based on
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_condition.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_condition.h
++++ b/include/linux/netfilter_ipv4/ipt_condition.h
@@ -0,0 +1,11 @@
+#ifndef __IPT_CONDITION_MATCH__
+#define __IPT_CONDITION_MATCH__
+};
+
+#endif
-Index: linux-2.4.35.4/include/linux/netfilter_ipv6/ip6t_condition.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv6/ip6t_condition.h
++++ b/include/linux/netfilter_ipv6/ip6t_condition.h
@@ -0,0 +1,11 @@
+#ifndef __IP6T_CONDITION_MATCH__
+#define __IP6T_CONDITION_MATCH__
+};
+
+#endif
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -43,6 +43,7 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ];
dep_tristate ' netfilter MARK match support' CONFIG_IP_NF_MATCH_MARK $CONFIG_IP_NF_IPTABLES
dep_tristate ' Multiple port match support' CONFIG_IP_NF_MATCH_MULTIPORT $CONFIG_IP_NF_IPTABLES
dep_tristate ' recent match support' CONFIG_IP_NF_MATCH_RECENT $CONFIG_IP_NF_IPTABLES
dep_tristate ' ECN match support' CONFIG_IP_NF_MATCH_ECN $CONFIG_IP_NF_IPTABLES
dep_tristate ' peer to peer traffic match support' CONFIG_IP_NF_MATCH_IPP2P $CONFIG_IP_NF_IPTABLES
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -94,6 +94,7 @@ obj-$(CONFIG_IP_NF_MATCH_PKTTYPE) += ipt
obj-$(CONFIG_IP_NF_MATCH_MULTIPORT) += ipt_multiport.o
obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o
obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_condition.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_condition.c
++++ b/net/ipv4/netfilter/ipt_condition.c
@@ -0,0 +1,256 @@
+/*-------------------------------------------*\
+| Netfilter Condition Module |
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv6/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv6/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv6/netfilter/Config.in
+--- a/net/ipv6/netfilter/Config.in
++++ b/net/ipv6/netfilter/Config.in
@@ -17,6 +17,7 @@ tristate 'IP6 tables support (required f
if [ "$CONFIG_IP6_NF_IPTABLES" != "n" ]; then
# The simple matches.
dep_tristate ' MAC address match support' CONFIG_IP6_NF_MATCH_MAC $CONFIG_IP6_NF_IPTABLES
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
dep_tristate ' Routing header match support (EXPERIMENTAL)' CONFIG_IP6_NF_MATCH_RT $CONFIG_IP6_NF_IPTABLES
-Index: linux-2.4.35.4/net/ipv6/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv6/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv6/netfilter/Makefile
+--- a/net/ipv6/netfilter/Makefile
++++ b/net/ipv6/netfilter/Makefile
@@ -14,6 +14,7 @@ export-objs := ip6_tables.o
# Link order matters here.
obj-$(CONFIG_IP6_NF_IPTABLES) += ip6_tables.o
obj-$(CONFIG_IP6_NF_MATCH_MARK) += ip6t_mark.o
obj-$(CONFIG_IP6_NF_MATCH_LENGTH) += ip6t_length.o
obj-$(CONFIG_IP6_NF_MATCH_MAC) += ip6t_mac.o
-Index: linux-2.4.35.4/net/ipv6/netfilter/ip6t_condition.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv6/netfilter/ip6t_condition.c
++++ b/net/ipv6/netfilter/ip6t_condition.c
@@ -0,0 +1,254 @@
+/*-------------------------------------------*\
+| Netfilter Condition Module for IPv6 |
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -2888,6 +2888,13 @@ CONFIG_IP_NF_MATCH_LIMIT
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
skb->pkt_type packet match support
CONFIG_IP_NF_MATCH_PKTTYPE
This patch allows you to match packet in accrodance
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_quota.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_quota.h
++++ b/include/linux/netfilter_ipv4/ipt_quota.h
@@ -0,0 +1,12 @@
+#ifndef _IPT_QUOTA_H
+#define _IPT_QUOTA_H
+};
+
+#endif /*_IPT_QUOTA_H*/
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -24,6 +24,7 @@ tristate 'IP tables support (required fo
if [ "$CONFIG_IP_NF_IPTABLES" != "n" ]; then
# The simple matches.
dep_tristate ' IP set support' CONFIG_IP_NF_SET $CONFIG_IP_NF_IPTABLES
if [ "$CONFIG_IP_NF_SET" != "n" ]; then
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -74,6 +74,7 @@ obj-$(CONFIG_IP_NF_NAT) += iptable_nat.o
# matches
obj-$(CONFIG_IP_NF_MATCH_HELPER) += ipt_helper.o
obj-$(CONFIG_IP_NF_MATCH_MARK) += ipt_mark.o
obj-$(CONFIG_IP_NF_MATCH_SET) += ipt_set.o
obj-$(CONFIG_IP_NF_TARGET_SET) += ipt_SET.o
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_quota.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_quota.c
++++ b/net/ipv4/netfilter/ipt_quota.c
@@ -0,0 +1,88 @@
+/*
+ * netfilter module to enforce network quotas
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -15,6 +15,7 @@ if [ "$CONFIG_IP_NF_CONNTRACK" != "n" ];
dep_tristate ' Connection byte counter support' CONFIG_IP_NF_MATCH_CONNBYTES $CONFIG_IP_NF_CT_ACCT $CONFIG_IP_NF_CONNTRACK $CONFIG_IP_NF_IPTABLES
dep_tristate ' GRE protocol support' CONFIG_IP_NF_CT_PROTO_GRE $CONFIG_IP_NF_CONNTRACK
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
dep_tristate ' Basic SNMP-ALG support (EXPERIMENTAL)' CONFIG_IP_NF_NAT_SNMP_BASIC $CONFIG_IP_NF_NAT
fi
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -53,6 +53,10 @@ obj-$(CONFIG_IP_NF_PPTP) += ip_conntrack
ifdef CONFIG_IP_NF_NAT_PPTP
export-objs += ip_conntrack_pptp.o
# generic IP tables
obj-$(CONFIG_IP_NF_IPTABLES) += ip_tables.o
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_h323.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_h323.c
++++ b/net/ipv4/netfilter/ip_conntrack_h323.c
@@ -0,0 +1,302 @@
+/*
+ * H.323 'brute force' extension for H.323 connection tracking.
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_nat_h323.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_nat_h323.c
++++ b/net/ipv4/netfilter/ip_nat_h323.c
@@ -0,0 +1,403 @@
+/*
+ * H.323 'brute force' extension for NAT alteration.
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/netfilter_ipv4/ip_conntrack.h
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
+--- a/include/linux/netfilter_ipv4/ip_conntrack.h
++++ b/include/linux/netfilter_ipv4/ip_conntrack.h
@@ -71,6 +71,7 @@ union ip_conntrack_expect_proto {
#include <linux/netfilter_ipv4/ip_conntrack_ftp.h>
#include <linux/netfilter_ipv4/ip_conntrack_irc.h>
};
#ifdef CONFIG_IP_NF_NAT_NEEDED
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_h323.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_h323.h
++++ b/include/linux/netfilter_ipv4/ip_conntrack_h323.h
@@ -0,0 +1,30 @@
+#ifndef _IP_CONNTRACK_H323_H
+#define _IP_CONNTRACK_H323_H
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -16,6 +16,7 @@ if [ "$CONFIG_IP_NF_CONNTRACK" != "n" ];
dep_tristate ' GRE protocol support' CONFIG_IP_NF_CT_PROTO_GRE $CONFIG_IP_NF_CONNTRACK
dep_tristate ' PPTP protocol support' CONFIG_IP_NF_PPTP $CONFIG_IP_NF_CT_PROTO_GRE
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
dep_tristate ' Basic SNMP-ALG support (EXPERIMENTAL)' CONFIG_IP_NF_NAT_SNMP_BASIC $CONFIG_IP_NF_NAT
fi
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -57,6 +57,11 @@ obj-$(CONFIG_IP_NF_H323) += ip_conntrack
ifdef CONFIG_IP_NF_NAT_H323
export-objs += ip_conntrack_h323.o
# generic IP tables
obj-$(CONFIG_IP_NF_IPTABLES) += ip_tables.o
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_rtsp.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_rtsp.c
++++ b/net/ipv4/netfilter/ip_conntrack_rtsp.c
@@ -0,0 +1,507 @@
+/*
+ * RTSP extension for IP connection tracking
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_nat_rtsp.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_nat_rtsp.c
++++ b/net/ipv4/netfilter/ip_nat_rtsp.c
@@ -0,0 +1,621 @@
+/*
+ * RTSP extension for TCP NAT alteration
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/arch/mips/kernel/mips_ksyms.c
-===================================================================
---- linux-2.4.35.4.orig/arch/mips/kernel/mips_ksyms.c
-+++ linux-2.4.35.4/arch/mips/kernel/mips_ksyms.c
+--- a/arch/mips/kernel/mips_ksyms.c
++++ b/arch/mips/kernel/mips_ksyms.c
@@ -52,6 +52,7 @@ EXPORT_SYMBOL(EISA_bus);
/*
* String functions
EXPORT_SYMBOL_NOVERS(memcmp);
EXPORT_SYMBOL_NOVERS(memset);
EXPORT_SYMBOL_NOVERS(memcpy);
-Index: linux-2.4.35.4/include/linux/netfilter_helpers.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_helpers.h
++++ b/include/linux/netfilter_helpers.h
@@ -0,0 +1,133 @@
+/*
+ * Helpers for netfiler modules. This file provides implementations for basic
+#endif /* __KERNEL__ */
+
+#endif /* _NETFILTER_HELPERS_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_rtsp.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_rtsp.h
++++ b/include/linux/netfilter_ipv4/ip_conntrack_rtsp.h
@@ -0,0 +1,68 @@
+/*
+ * RTSP extension for IP connection tracking.
+#endif /* __KERNEL__ */
+
+#endif /* _IP_CONNTRACK_RTSP_H */
-Index: linux-2.4.35.4/include/linux/netfilter_mime.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_mime.h
++++ b/include/linux/netfilter_mime.h
@@ -0,0 +1,90 @@
+/*
+ * MIME functions for netfilter modules. This file provides implementations
+#endif /* __KERNEL__ */
+
+#endif /* _NETFILTER_MIME_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/netfilter_ipv4/ip_conntrack.h
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
+--- a/include/linux/netfilter_ipv4/ip_conntrack.h
++++ b/include/linux/netfilter_ipv4/ip_conntrack.h
@@ -72,6 +72,7 @@ union ip_conntrack_expect_proto {
#include <linux/netfilter_ipv4/ip_conntrack_irc.h>
#include <linux/netfilter_ipv4/ip_conntrack_pptp.h>
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -17,6 +17,7 @@ if [ "$CONFIG_IP_NF_CONNTRACK" != "n" ];
dep_tristate ' PPTP protocol support' CONFIG_IP_NF_PPTP $CONFIG_IP_NF_CT_PROTO_GRE
dep_tristate ' H.323 (netmeeting) support' CONFIG_IP_NF_H323 $CONFIG_IP_NF_CONNTRACK
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
dep_tristate ' Basic SNMP-ALG support (EXPERIMENTAL)' CONFIG_IP_NF_NAT_SNMP_BASIC $CONFIG_IP_NF_NAT
fi
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -61,6 +61,10 @@ obj-$(CONFIG_IP_NF_RTSP) += ip_conntrack
ifdef CONFIG_IP_NF_NAT_RTSP
export-objs += ip_conntrack_rtsp.o
# generic IP tables
obj-$(CONFIG_IP_NF_IPTABLES) += ip_tables.o
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_mms.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_conntrack_mms.c
++++ b/net/ipv4/netfilter/ip_conntrack_mms.c
@@ -0,0 +1,292 @@
+/* MMS extension for IP connection tracking
+ * (C) 2002 by Filip Sneppe <filip.sneppe@cronos.be>
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_nat_mms.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_nat_mms.c
++++ b/net/ipv4/netfilter/ip_nat_mms.c
@@ -0,0 +1,330 @@
+/* MMS extension for TCP NAT alteration.
+ * (C) 2002 by Filip Sneppe <filip.sneppe@cronos.be>
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/netfilter_ipv4/ip_conntrack.h
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack.h
+--- a/include/linux/netfilter_ipv4/ip_conntrack.h
++++ b/include/linux/netfilter_ipv4/ip_conntrack.h
@@ -73,6 +73,7 @@ union ip_conntrack_expect_proto {
#include <linux/netfilter_ipv4/ip_conntrack_pptp.h>
#include <linux/netfilter_ipv4/ip_conntrack_h323.h>
};
#ifdef CONFIG_IP_NF_NAT_NEEDED
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_mms.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_conntrack_mms.h
++++ b/include/linux/netfilter_ipv4/ip_conntrack_mms.h
@@ -0,0 +1,31 @@
+#ifndef _IP_CONNTRACK_MMS_H
+#define _IP_CONNTRACK_MMS_H
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -3160,6 +3160,22 @@ CONFIG_IP_NF_TARGET_TOS
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
SLIP (serial line) support
CONFIG_SLIP
Say Y if you intend to use SLIP or CSLIP (compressed SLIP) to
-Index: linux-2.4.35.4/drivers/net/Config.in
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/Config.in
-+++ linux-2.4.35.4/drivers/net/Config.in
+--- a/drivers/net/Config.in
++++ b/drivers/net/Config.in
@@ -7,6 +7,11 @@ source drivers/net/arcnet/Config.in
tristate 'Dummy net driver support' CONFIG_DUMMY
tristate 'Bonding driver support' CONFIG_BONDING
tristate 'Universal TUN/TAP device driver support' CONFIG_TUN
bool 'Allow Net Devices to contribute to /dev/random' CONFIG_NET_RANDOM
if [ "$CONFIG_EXPERIMENTAL" = "y" ]; then
-Index: linux-2.4.35.4/drivers/net/Makefile
-===================================================================
---- linux-2.4.35.4.orig/drivers/net/Makefile
-+++ linux-2.4.35.4/drivers/net/Makefile
+--- a/drivers/net/Makefile
++++ b/drivers/net/Makefile
@@ -176,6 +176,7 @@ endif
obj-$(CONFIG_STRIP) += strip.o
obj-$(CONFIG_DE600) += de600.o
obj-$(CONFIG_DE620) += de620.o
obj-$(CONFIG_AT1500) += lance.o
-Index: linux-2.4.35.4/drivers/net/imq.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/drivers/net/imq.c
++++ b/drivers/net/imq.c
@@ -0,0 +1,321 @@
+/*
+ * Pseudo-driver for the intermediate queue device.
+module_init(imq_init_module);
+module_exit(imq_cleanup_module);
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/include/linux/imq.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/imq.h
++++ b/include/linux/imq.h
@@ -0,0 +1,9 @@
+#ifndef _IMQ_H
+#define _IMQ_H
+#define IMQ_F_ENQUEUE 0x80
+
+#endif /* _IMQ_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_IMQ.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_IMQ.h
++++ b/include/linux/netfilter_ipv4/ipt_IMQ.h
@@ -0,0 +1,8 @@
+#ifndef _IPT_IMQ_H
+#define _IPT_IMQ_H
+};
+
+#endif /* _IPT_IMQ_H */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv6/ip6t_IMQ.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv6/ip6t_IMQ.h
++++ b/include/linux/netfilter_ipv6/ip6t_IMQ.h
@@ -0,0 +1,8 @@
+#ifndef _IP6T_IMQ_H
+#define _IP6T_IMQ_H
+};
+
+#endif /* _IP6T_IMQ_H */
-Index: linux-2.4.35.4/include/linux/skbuff.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/skbuff.h
-+++ linux-2.4.35.4/include/linux/skbuff.h
+--- a/include/linux/skbuff.h
++++ b/include/linux/skbuff.h
@@ -93,6 +93,9 @@ struct nf_ct_info {
struct nf_conntrack *master;
};
};
#ifdef __KERNEL__
-Index: linux-2.4.35.4/net/core/skbuff.c
-===================================================================
---- linux-2.4.35.4.orig/net/core/skbuff.c
-+++ linux-2.4.35.4/net/core/skbuff.c
+--- a/net/core/skbuff.c
++++ b/net/core/skbuff.c
@@ -202,6 +202,10 @@ struct sk_buff *alloc_skb(unsigned int s
/* Set up other state */
skb->len = 0;
}
/**
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -171,6 +171,7 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ];
dep_tristate ' DSCP target support' CONFIG_IP_NF_TARGET_DSCP $CONFIG_IP_NF_MANGLE
fi
if [ "$CONFIG_IP_NF_CONNTRACK_MARK" != "n" ]; then
dep_tristate ' CONNMARK target support' CONFIG_IP_NF_TARGET_CONNMARK $CONFIG_IP_NF_IPTABLES
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -138,6 +138,7 @@ obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TO
obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
obj-$(CONFIG_IP_NF_TARGET_DSCP) += ipt_DSCP.o
obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
obj-$(CONFIG_IP_NF_TARGET_NETMAP) += ipt_NETMAP.o
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_IMQ.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_IMQ.c
++++ b/net/ipv4/netfilter/ipt_IMQ.c
@@ -0,0 +1,78 @@
+/* This target marks packets to be enqueued to an imq device */
+#include <linux/module.h>
+module_init(init);
+module_exit(fini);
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/net/ipv6/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv6/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv6/netfilter/Config.in
+--- a/net/ipv6/netfilter/Config.in
++++ b/net/ipv6/netfilter/Config.in
@@ -72,6 +72,7 @@ if [ "$CONFIG_IP6_NF_IPTABLES" != "n" ];
if [ "$CONFIG_IP6_NF_MANGLE" != "n" ]; then
# dep_tristate ' TOS target support' CONFIG_IP6_NF_TARGET_TOS $CONFIG_IP_NF_MANGLE
fi
#dep_tristate ' LOG target support' CONFIG_IP6_NF_TARGET_LOG $CONFIG_IP6_NF_IPTABLES
fi
-Index: linux-2.4.35.4/net/ipv6/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv6/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv6/netfilter/Makefile
+--- a/net/ipv6/netfilter/Makefile
++++ b/net/ipv6/netfilter/Makefile
@@ -29,6 +29,7 @@ obj-$(CONFIG_IP6_NF_MATCH_OWNER) += ip6t
obj-$(CONFIG_IP6_NF_FILTER) += ip6table_filter.o
obj-$(CONFIG_IP6_NF_MANGLE) += ip6table_mangle.o
obj-$(CONFIG_IP6_NF_QUEUE) += ip6_queue.o
obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o
obj-$(CONFIG_IP6_NF_MATCH_HL) += ip6t_hl.o
-Index: linux-2.4.35.4/net/ipv6/netfilter/ip6t_IMQ.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv6/netfilter/ip6t_IMQ.c
++++ b/net/ipv6/netfilter/ip6t_IMQ.c
@@ -0,0 +1,78 @@
+/* This target marks packets to be enqueued to an imq device */
+#include <linux/module.h>
+module_init(init);
+module_exit(fini);
+MODULE_LICENSE("GPL");
-Index: linux-2.4.35.4/net/sched/sch_generic.c
-===================================================================
---- linux-2.4.35.4.orig/net/sched/sch_generic.c
-+++ linux-2.4.35.4/net/sched/sch_generic.c
+--- a/net/sched/sch_generic.c
++++ b/net/sched/sch_generic.c
@@ -29,6 +29,9 @@
#include <linux/skbuff.h>
#include <linux/rtnetlink.h>
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_multiport.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/netfilter_ipv4/ipt_multiport.h
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_multiport.h
+--- a/include/linux/netfilter_ipv4/ipt_multiport.h
++++ b/include/linux/netfilter_ipv4/ipt_multiport.h
@@ -11,11 +11,12 @@ enum ipt_multiport_flags
#define IPT_MULTI_PORTS 15
+ u_int8_t invert; /* Invert flag */
};
#endif /*_IPT_MULTIPORT_H*/
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_multiport.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ipt_multiport.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_multiport.c
+--- a/net/ipv4/netfilter/ipt_multiport.c
++++ b/net/ipv4/netfilter/ipt_multiport.c
@@ -1,5 +1,14 @@
/* Kernel module to match one of a list of TCP/UDP ports: ports are in
the same place so we can treat them as equal. */
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_CLASSIFY.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_CLASSIFY.h
++++ b/include/linux/netfilter_ipv4/ipt_CLASSIFY.h
@@ -0,0 +1,8 @@
+#ifndef _IPT_CLASSIFY_H
+#define _IPT_CLASSIFY_H
+};
+
+#endif /*_IPT_CLASSIFY_H */
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
-@@ -172,6 +172,7 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ];
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
+@@ -171,6 +171,7 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ];
dep_tristate ' DSCP target support' CONFIG_IP_NF_TARGET_DSCP $CONFIG_IP_NF_MANGLE
dep_tristate ' MARK target support' CONFIG_IP_NF_TARGET_MARK $CONFIG_IP_NF_MANGLE
dep_tristate ' IMQ target support' CONFIG_IP_NF_TARGET_IMQ $CONFIG_IP_NF_MANGLE
fi
if [ "$CONFIG_IP_NF_CONNTRACK_MARK" != "n" ]; then
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_CLASSIFY.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_CLASSIFY.c
++++ b/net/ipv4/netfilter/ipt_CLASSIFY.c
@@ -0,0 +1,82 @@
+/*
+ * This is a module which is used for setting the skb->priority field
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
-@@ -134,6 +134,7 @@ obj-$(CONFIG_IP_NF_MATCH_LAYER7) += ipt_
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
+@@ -133,6 +133,7 @@ obj-$(CONFIG_IP_NF_MATCH_LAYER7) += ipt_
# targets
obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -2986,6 +2986,14 @@ CONFIG_IP_NF_MATCH_TOS
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Condition variable match support
CONFIG_IP_NF_MATCH_CONDITION
This option allows you to match firewall rules against condition
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_iprange.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ipt_iprange.h
++++ b/include/linux/netfilter_ipv4/ipt_iprange.h
@@ -0,0 +1,23 @@
+#ifndef _IPT_IPRANGE_H
+#define _IPT_IPRANGE_H
+};
+
+#endif /* _IPT_IPRANGE_H */
-Index: linux-2.4.35.4/net/ipv4/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv4/netfilter/Config.in
+--- a/net/ipv4/netfilter/Config.in
++++ b/net/ipv4/netfilter/Config.in
@@ -27,6 +27,7 @@ tristate 'IP tables support (required fo
if [ "$CONFIG_IP_NF_IPTABLES" != "n" ]; then
# The simple matches.
dep_tristate ' quota match support' CONFIG_IP_NF_MATCH_QUOTA $CONFIG_IP_NF_IPTABLES
dep_tristate ' IP set support' CONFIG_IP_NF_SET $CONFIG_IP_NF_IPTABLES
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_iprange.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_iprange.c
++++ b/net/ipv4/netfilter/ipt_iprange.c
@@ -0,0 +1,101 @@
+/*
+ * iptables module to match IP address ranges
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/net/ipv4/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv4/netfilter/Makefile
+--- a/net/ipv4/netfilter/Makefile
++++ b/net/ipv4/netfilter/Makefile
@@ -90,6 +90,7 @@ obj-$(CONFIG_IP_NF_NAT) += iptable_nat.o
# matches
obj-$(CONFIG_IP_NF_MATCH_HELPER) += ipt_helper.o
--- a/Documentation/Configure.help
+++ b/Documentation/Configure.help
-@@ -2914,6 +2914,15 @@
+@@ -2914,6 +2914,15 @@ CONFIG_IP_NF_MATCH_MAC
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
Netfilter MARK match support
CONFIG_IP_NF_MATCH_MARK
Netfilter mark matching allows you to match packets based on the
-@@ -3229,6 +3238,7 @@
+@@ -3229,6 +3238,7 @@ CONFIG_IP_NF_MATCH_HELPER
If you want to compile it as a module, say M here and read
Documentation/modules.txt. If unsure, say `Y'.
TCPMSS match support
CONFIG_IP_NF_MATCH_TCPMSS
This option adds a `tcpmss' match, which allows you to examine the
-@@ -3376,6 +3386,14 @@
+@@ -3376,6 +3386,14 @@ CONFIG_IP6_NF_MATCH_MAC
If you want to compile it as a module, say M here and read
<file:Documentation/modules.txt>. If unsure, say `N'.
+#endif /*_IP6T_RAND_H*/
--- a/net/ipv4/netfilter/Config.in
+++ b/net/ipv4/netfilter/Config.in
-@@ -48,6 +48,7 @@
+@@ -48,6 +48,7 @@ if [ "$CONFIG_IP_NF_IPTABLES" != "n" ];
dep_tristate ' netfilter MARK match support' CONFIG_IP_NF_MATCH_MARK $CONFIG_IP_NF_IPTABLES
dep_tristate ' Multiple port match support' CONFIG_IP_NF_MATCH_MULTIPORT $CONFIG_IP_NF_IPTABLES
dep_tristate ' TOS match support' CONFIG_IP_NF_MATCH_TOS $CONFIG_IP_NF_IPTABLES
+module_exit(fini);
--- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile
-@@ -114,6 +114,8 @@
+@@ -114,6 +114,8 @@ obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_o
obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o
obj-$(CONFIG_IP_NF_MATCH_CONDITION) += ipt_condition.o
obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o
--- a/net/ipv6/netfilter/Config.in
+++ b/net/ipv6/netfilter/Config.in
-@@ -19,6 +19,7 @@
+@@ -19,6 +19,7 @@ if [ "$CONFIG_IP6_NF_IPTABLES" != "n" ];
dep_tristate ' limit match support' CONFIG_IP6_NF_MATCH_LIMIT $CONFIG_IP6_NF_IPTABLES
dep_tristate ' condition match support' CONFIG_IP6_NF_MATCH_CONDITION $CONFIG_IP6_NF_IPTABLES
dep_tristate ' MAC address match support' CONFIG_IP6_NF_MATCH_MAC $CONFIG_IP6_NF_IPTABLES
+module_exit(fini);
--- a/net/ipv6/netfilter/Makefile
+++ b/net/ipv6/netfilter/Makefile
-@@ -32,6 +32,7 @@
+@@ -32,6 +32,7 @@ obj-$(CONFIG_IP6_NF_TARGET_MARK) += ip6t
obj-$(CONFIG_IP6_NF_TARGET_IMQ) += ip6t_IMQ.o
obj-$(CONFIG_IP6_NF_QUEUE) += ip6_queue.o
obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o
-Index: linux-2.4.35.4/Documentation/Configure.help
-===================================================================
---- linux-2.4.35.4.orig/Documentation/Configure.help
-+++ linux-2.4.35.4/Documentation/Configure.help
+--- a/Documentation/Configure.help
++++ b/Documentation/Configure.help
@@ -11153,6 +11153,24 @@ CONFIG_NET_SCH_HFSC
whenever you want). If you want to compile it as a module, say M
here and read <file:Documentation/modules.txt>.
CSZ packet scheduler
CONFIG_NET_SCH_CSZ
Say Y here if you want to use the Clark-Shenker-Zhang (CSZ) packet
-Index: linux-2.4.35.4/include/linux/pkt_sched.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/pkt_sched.h
-+++ linux-2.4.35.4/include/linux/pkt_sched.h
+--- a/include/linux/pkt_sched.h
++++ b/include/linux/pkt_sched.h
@@ -173,8 +173,36 @@ struct tc_sfq_qopt
*
* The only reason for this is efficiency, it is possible
/* RED section */
enum
-Index: linux-2.4.35.4/net/sched/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/sched/Config.in
-+++ linux-2.4.35.4/net/sched/Config.in
+--- a/net/sched/Config.in
++++ b/net/sched/Config.in
@@ -12,6 +12,7 @@ fi
tristate ' The simplest PRIO pseudoscheduler' CONFIG_NET_SCH_PRIO
tristate ' RED queue' CONFIG_NET_SCH_RED
tristate ' TEQL queue' CONFIG_NET_SCH_TEQL
tristate ' TBF queue' CONFIG_NET_SCH_TBF
tristate ' GRED queue' CONFIG_NET_SCH_GRED
-Index: linux-2.4.35.4/net/sched/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/sched/Makefile
-+++ linux-2.4.35.4/net/sched/Makefile
+--- a/net/sched/Makefile
++++ b/net/sched/Makefile
@@ -19,6 +19,7 @@ obj-$(CONFIG_NET_SCH_HPFQ) += sch_hpfq.o
obj-$(CONFIG_NET_SCH_HFSC) += sch_hfsc.o
obj-$(CONFIG_NET_SCH_HTB) += sch_htb.o
obj-$(CONFIG_NET_SCH_RED) += sch_red.o
obj-$(CONFIG_NET_SCH_TBF) += sch_tbf.o
obj-$(CONFIG_NET_SCH_PRIO) += sch_prio.o
-Index: linux-2.4.35.4/net/sched/sch_esfq.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/sched/sch_esfq.c
++++ b/net/sched/sch_esfq.c
@@ -0,0 +1,649 @@
+/*
+ * net/sched/sch_esfq.c Extended Stochastic Fairness Queueing discipline.
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_ipporthash.h
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_set_ipporthash.h
++++ b/include/linux/netfilter_ipv4/ip_set_ipporthash.h
@@ -0,0 +1,34 @@
+#ifndef __IP_SET_IPPORTHASH_H
+#define __IP_SET_IPPORTHASH_H
-Index: linux-2.4.35.4/net/ipv6/netfilter/ip6t_REJECT.c
-===================================================================
--- /dev/null
-+++ linux-2.4.35.4/net/ipv6/netfilter/ip6t_REJECT.c
++++ b/net/ipv6/netfilter/ip6t_REJECT.c
@@ -0,0 +1,301 @@
+/*
+ * This is a module which is used for rejecting packets.
+
+module_init(init);
+module_exit(fini);
-Index: linux-2.4.35.4/include/linux/netfilter_ipv6/ip6t_REJECT.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/netfilter_ipv6/ip6t_REJECT.h
-+++ linux-2.4.35.4/include/linux/netfilter_ipv6/ip6t_REJECT.h
+--- a/include/linux/netfilter_ipv6/ip6t_REJECT.h
++++ b/include/linux/netfilter_ipv6/ip6t_REJECT.h
@@ -2,15 +2,17 @@
#define _IP6T_REJECT_H
-#endif /*_IPT_REJECT_H*/
+#endif /*_IP6T_REJECT_H*/
-Index: linux-2.4.35.4/net/ipv6/netfilter/Makefile
-===================================================================
---- linux-2.4.35.4.orig/net/ipv6/netfilter/Makefile
-+++ linux-2.4.35.4/net/ipv6/netfilter/Makefile
+--- a/net/ipv6/netfilter/Makefile
++++ b/net/ipv6/netfilter/Makefile
@@ -34,5 +34,7 @@ obj-$(CONFIG_IP6_NF_QUEUE) += ip6_queue.
obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o
obj-$(CONFIG_IP6_NF_MATCH_RANDOM) += ip6t_random.o
+
include $(TOPDIR)/Rules.make
-Index: linux-2.4.35.4/net/ipv6/netfilter/Config.in
-===================================================================
---- linux-2.4.35.4.orig/net/ipv6/netfilter/Config.in
-+++ linux-2.4.35.4/net/ipv6/netfilter/Config.in
+--- a/net/ipv6/netfilter/Config.in
++++ b/net/ipv6/netfilter/Config.in
@@ -61,6 +61,9 @@ if [ "$CONFIG_IP6_NF_IPTABLES" != "n" ];
if [ "$CONFIG_IP6_NF_FILTER" != "n" ]; then
dep_tristate ' LOG target support' CONFIG_IP6_NF_TARGET_LOG $CONFIG_IP6_NF_FILTER
-Index: linux-2.4.35.4/include/linux/netfilter_ipv4/ip_nat.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/netfilter_ipv4/ip_nat.h
-+++ linux-2.4.35.4/include/linux/netfilter_ipv4/ip_nat.h
+--- a/include/linux/netfilter_ipv4/ip_nat.h
++++ b/include/linux/netfilter_ipv4/ip_nat.h
@@ -121,5 +121,13 @@ extern int ip_nat_used_tuple(const struc
extern u_int16_t ip_nat_cheat_check(u_int32_t oldvalinv,
u_int32_t newval,
+
#endif /*__KERNEL__*/
#endif
-Index: linux-2.4.35.4/include/linux/rtnetlink.h
-===================================================================
---- linux-2.4.35.4.orig/include/linux/rtnetlink.h
-+++ linux-2.4.35.4/include/linux/rtnetlink.h
+--- a/include/linux/rtnetlink.h
++++ b/include/linux/rtnetlink.h
@@ -234,6 +234,8 @@ struct rtnexthop
#define RTNH_F_DEAD 1 /* Nexthop is dead (used by multipath) */
#define RTNH_F_PERVASIVE 2 /* Do recursive gateway lookup */
/* Macros to handle hexthops */
-Index: linux-2.4.35.4/include/net/ip_fib.h
-===================================================================
---- linux-2.4.35.4.orig/include/net/ip_fib.h
-+++ linux-2.4.35.4/include/net/ip_fib.h
+--- a/include/net/ip_fib.h
++++ b/include/net/ip_fib.h
@@ -162,7 +162,8 @@ static inline int fib_lookup(const struc
static inline void fib_select_default(const struct rt_key *key, struct fib_result *res)
+extern rwlock_t fib_nhflags_lock;
#endif /* _NET_FIB_H */
-Index: linux-2.4.35.4/include/net/route.h
-===================================================================
---- linux-2.4.35.4.orig/include/net/route.h
-+++ linux-2.4.35.4/include/net/route.h
+--- a/include/net/route.h
++++ b/include/net/route.h
@@ -49,6 +49,8 @@ struct rt_key
{
__u32 dst;
static inline void ip_rt_put(struct rtable * rt)
{
if (rt)
-Index: linux-2.4.35.4/net/ipv4/fib_frontend.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/fib_frontend.c
-+++ linux-2.4.35.4/net/ipv4/fib_frontend.c
+--- a/net/ipv4/fib_frontend.c
++++ b/net/ipv4/fib_frontend.c
@@ -54,6 +54,8 @@
struct fib_table *local_table;
struct fib_table *main_table;
rt_cache_flush(-1);
break;
case NETDEV_DOWN:
-Index: linux-2.4.35.4/net/ipv4/fib_hash.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/fib_hash.c
-+++ linux-2.4.35.4/net/ipv4/fib_hash.c
+--- a/net/ipv4/fib_hash.c
++++ b/net/ipv4/fib_hash.c
@@ -71,6 +71,7 @@ struct fib_node
struct fib_info *fn_info;
#define FIB_INFO(f) ((f)->fn_info)
new_f->fn_key = key;
#ifdef CONFIG_IP_ROUTE_TOS
new_f->fn_tos = tos;
-Index: linux-2.4.35.4/net/ipv4/fib_rules.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/fib_rules.c
-+++ linux-2.4.35.4/net/ipv4/fib_rules.c
+--- a/net/ipv4/fib_rules.c
++++ b/net/ipv4/fib_rules.c
@@ -307,6 +307,11 @@ static void fib_rules_attach(struct net_
}
}
struct fib_table *tb;
if ((tb = fib_get_table(res->r->r_table)) != NULL)
tb->tb_select_default(tb, key, res);
-Index: linux-2.4.35.4/net/ipv4/fib_semantics.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/fib_semantics.c
-+++ linux-2.4.35.4/net/ipv4/fib_semantics.c
+--- a/net/ipv4/fib_semantics.c
++++ b/net/ipv4/fib_semantics.c
@@ -48,6 +48,7 @@
static struct fib_info *fib_info_list;
static rwlock_t fib_info_lock = RW_LOCK_UNLOCKED;
spin_unlock_bh(&fib_multipath_lock);
}
#endif
-Index: linux-2.4.35.4/net/ipv4/ip_nat_dumb.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/ip_nat_dumb.c
-+++ linux-2.4.35.4/net/ipv4/ip_nat_dumb.c
+--- a/net/ipv4/ip_nat_dumb.c
++++ b/net/ipv4/ip_nat_dumb.c
@@ -124,6 +124,7 @@ ip_do_nat(struct sk_buff *skb)
key.dst = ciph->saddr;
key.iif = skb->dev->ifindex;
#ifdef CONFIG_IP_ROUTE_TOS
key.tos = RT_TOS(ciph->tos);
#endif
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_fw_compat_masq.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_fw_compat_masq.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_fw_compat_masq.c
+--- a/net/ipv4/netfilter/ip_fw_compat_masq.c
++++ b/net/ipv4/netfilter/ip_fw_compat_masq.c
@@ -41,6 +41,10 @@ do_masquerade(struct sk_buff **pskb, con
enum ip_conntrack_info ctinfo;
struct ip_conntrack *ct;
}
void
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_nat_core.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_nat_core.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_nat_core.c
+--- a/net/ipv4/netfilter/ip_nat_core.c
++++ b/net/ipv4/netfilter/ip_nat_core.c
@@ -994,6 +994,60 @@ icmp_reply_translation(struct sk_buff *s
return NF_ACCEPT;
}
int __init ip_nat_init(void)
{
size_t i;
-Index: linux-2.4.35.4/net/ipv4/netfilter/ip_nat_standalone.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ip_nat_standalone.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ip_nat_standalone.c
+--- a/net/ipv4/netfilter/ip_nat_standalone.c
++++ b/net/ipv4/netfilter/ip_nat_standalone.c
@@ -245,6 +245,9 @@ ip_nat_local_fn(unsigned int hooknum,
/* Before packet filtering, change destination */
static struct nf_hook_ops ip_nat_in_ops
cleanup_inops:
nf_unregister_hook(&ip_nat_in_ops);
cleanup_nat:
-Index: linux-2.4.35.4/net/ipv4/netfilter/ipt_MASQUERADE.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/netfilter/ipt_MASQUERADE.c
-+++ linux-2.4.35.4/net/ipv4/netfilter/ipt_MASQUERADE.c
+--- a/net/ipv4/netfilter/ipt_MASQUERADE.c
++++ b/net/ipv4/netfilter/ipt_MASQUERADE.c
@@ -87,7 +87,8 @@ masquerade_target(struct sk_buff **pskb,
key.dst = (*pskb)->nh.iph->daddr;
key.src = 0; /* Unknown: that's what we're trying to establish */
newsrc = rt->rt_src;
DEBUGP("newsrc = %u.%u.%u.%u\n", NIPQUAD(newsrc));
-Index: linux-2.4.35.4/net/ipv4/route.c
-===================================================================
---- linux-2.4.35.4.orig/net/ipv4/route.c
-+++ linux-2.4.35.4/net/ipv4/route.c
+--- a/net/ipv4/route.c
++++ b/net/ipv4/route.c
@@ -919,6 +919,7 @@ void ip_rt_redirect(u32 old_gw, u32 dadd
/* Gateway is different ... */
#ifdef CONFIG_IP_ROUTE_FWMARK
rth->key.fwmark == key->fwmark &&
#endif
-Index: linux-2.4.35.4/net/netsyms.c
-===================================================================
---- linux-2.4.35.4.orig/net/netsyms.c
-+++ linux-2.4.35.4/net/netsyms.c
+--- a/net/netsyms.c
++++ b/net/netsyms.c
@@ -260,6 +260,7 @@ EXPORT_SYMBOL(inet_register_protosw);
EXPORT_SYMBOL(inet_unregister_protosw);
EXPORT_SYMBOL(ip_route_output_key);
-Index: linux-2.4.35.4/drivers/usb/serial/usbserial.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/usb/serial/usbserial.c
-+++ linux-2.4.35.4/drivers/usb/serial/usbserial.c
+--- a/drivers/usb/serial/usbserial.c
++++ b/drivers/usb/serial/usbserial.c
@@ -331,6 +331,7 @@ static void generic_shutdown (struct us
#ifdef CONFIG_USB_SERIAL_GENERIC
static __u16 vendor = 0x05f9;
-Index: linux-2.4.35.4/drivers/usb/serial/usbserial.c
-===================================================================
---- linux-2.4.35.4.orig/drivers/usb/serial/usbserial.c
-+++ linux-2.4.35.4/drivers/usb/serial/usbserial.c
+--- a/drivers/usb/serial/usbserial.c
++++ b/drivers/usb/serial/usbserial.c
@@ -333,7 +333,7 @@ static __u16 vendor = 0x05f9;
static __u16 product = 0xffff;
static int maxSize = 0;
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -1364,6 +1364,71 @@
+@@ -1364,6 +1364,71 @@ config CRAMFS
If unsure, say N.
depends on BLOCK
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -72,6 +72,7 @@
+@@ -72,6 +72,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
-@@ -13,7 +13,7 @@
+@@ -13,7 +13,7 @@ lib-$(CONFIG_SMP) += cpumask.o
lib-y += kobject.o kref.o kobject_uevent.o klist.o
obj-y += div64.o sort.o parser.o halfmd4.o debug_locks.o random32.o \
ifeq ($(CONFIG_DEBUG_KOBJECT),y)
CFLAGS_kobject.o += -DDEBUG
-@@ -62,6 +62,7 @@
+@@ -62,6 +62,7 @@ obj-$(CONFIG_SMP) += percpu_counter.o
obj-$(CONFIG_AUDIT_GENERIC) += audit.o
obj-$(CONFIG_SWIOTLB) += swiotlb.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
-@@ -508,6 +508,9 @@
+@@ -508,6 +508,9 @@ CFLAGS += $(call cc-option, -fn
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
CHECKFLAGS += $(NOSTDINC_FLAGS)
--- a/include/asm-mips/system.h
+++ b/include/asm-mips/system.h
-@@ -181,7 +181,7 @@
+@@ -181,7 +181,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 *);
-@@ -294,12 +295,19 @@
+@@ -294,12 +295,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
-@@ -933,7 +933,7 @@
+@@ -933,7 +933,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;
-@@ -942,7 +942,7 @@
+@@ -942,7 +942,7 @@ static int __xipram xip_wait_for_operati
flstate_t oldstate, newstate;
start = xip_currtime();
if (usec == 0)
usec = 500000;
done = 0;
-@@ -1052,8 +1052,8 @@
+@@ -1052,8 +1052,8 @@ static int __xipram xip_wait_for_operati
#define XIP_INVAL_CACHED_RANGE(map, from, size) \
INVALIDATE_CACHED_RANGE(map, from, size)
#else
-@@ -1065,65 +1065,65 @@
+@@ -1065,65 +1065,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;
-@@ -1132,7 +1132,8 @@
+@@ -1132,7 +1132,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)
-@@ -1356,7 +1357,7 @@
+@@ -1356,7 +1357,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);
-@@ -1593,7 +1594,7 @@
+@@ -1593,7 +1594,7 @@ static int __xipram do_write_buffer(stru
ret = INVAL_CACHE_AND_WAIT(map, chip, cmd_adr,
adr, len,
if (ret) {
map_write(map, CMD(0x70), cmd_adr);
chip->state = FL_STATUS;
-@@ -1728,7 +1729,7 @@
+@@ -1728,7 +1729,7 @@ static int __xipram do_erase_oneblock(st
ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
adr, len,
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
-@@ -902,7 +902,6 @@
+@@ -902,7 +902,6 @@ static __init void build_tlb_write_entry
case CPU_R10000:
case CPU_R12000:
case CPU_R14000:
case CPU_SB1:
case CPU_SB1A:
case CPU_4KSC:
-@@ -933,6 +932,7 @@
+@@ -933,6 +932,7 @@ static __init void build_tlb_write_entry
tlbw(p);
break;
--- a/arch/mips/kernel/gdb-stub.c
+++ b/arch/mips/kernel/gdb-stub.c
-@@ -656,6 +656,7 @@
+@@ -656,6 +656,7 @@ void set_async_breakpoint(unsigned long
*epc = (unsigned long)async_breakpoint;
}
static void kgdb_wait(void *arg)
{
unsigned flags;
-@@ -668,6 +669,7 @@
+@@ -668,6 +669,7 @@ static void kgdb_wait(void *arg)
local_irq_restore(flags);
}
#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;
-@@ -298,15 +304,18 @@
+@@ -298,15 +304,18 @@ static struct block2mtd_dev *add_device(
dev->mtd.read = block2mtd_read;
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)
-@@ -412,8 +421,10 @@
+@@ -412,8 +421,10 @@ static int block2mtd_setup2(const char *
parse_err("illegal erase size");
}
}
return 0;
}
-@@ -447,7 +458,7 @@
+@@ -447,7 +458,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
-@@ -308,6 +310,312 @@
+@@ -308,6 +310,312 @@ 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
-@@ -320,168 +628,31 @@
+@@ -320,168 +628,31 @@ int add_mtd_partitions(struct mtd_info *
int nbparts)
{
struct mtd_part *slave;
}
}
-@@ -557,6 +728,32 @@
+@@ -557,6 +728,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>
-@@ -753,6 +754,13 @@
+@@ -753,6 +754,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;
-@@ -195,6 +196,9 @@
+@@ -195,6 +196,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
-@@ -236,14 +236,21 @@
+@@ -236,14 +236,21 @@ static int parse_redboot_partitions(stru
#endif
names += strlen(names)+1;
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
-@@ -572,6 +572,7 @@
+@@ -572,6 +572,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
-@@ -70,7 +70,18 @@
+@@ -70,7 +70,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
-@@ -633,6 +633,27 @@
+@@ -633,6 +633,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
-@@ -71,6 +71,7 @@
+@@ -71,6 +71,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_QUOTA) +
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
-@@ -207,6 +207,14 @@
+@@ -207,6 +207,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
-@@ -179,7 +179,12 @@
+@@ -179,7 +179,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
-@@ -127,6 +127,22 @@
+@@ -127,6 +127,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
-@@ -63,6 +63,12 @@
+@@ -63,6 +63,12 @@ config IP_NF_MATCH_IPRANGE
To compile it as a module, choose M here. If unsure, say N.
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_AH) += ipt_ah.o
obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o
+extern int udp4_unregister_esp_rcvencap(xfrm4_rcv_encap_t func);
--- a/net/ipv4/Kconfig
+++ b/net/ipv4/Kconfig
-@@ -224,6 +224,12 @@
+@@ -224,6 +224,12 @@ config NET_IPGRE_BROADCAST
Network), but can be distributed all over the Internet. If you want
to do that, say Y here and to "IP multicast routing" below.
static int xfrm4_parse_spi(struct sk_buff *skb, u8 nexthdr, __be32 *spi, __be32 *seq)
{
-@@ -161,6 +162,29 @@
+@@ -161,6 +162,29 @@ drop:
return 0;
}
/* If it's a keepalive packet, then just eat it.
* If it's an encapsulated packet, then pass it to the
* IPsec xfrm input.
-@@ -251,7 +275,13 @@
+@@ -251,7 +275,13 @@ int xfrm4_udp_encap_rcv(struct sock *sk,
iph->protocol = IPPROTO_ESP;
/* process ESP */
return ret;
drop:
-@@ -265,3 +295,8 @@
+@@ -265,3 +295,8 @@ int xfrm4_rcv(struct sk_buff *skb)
}
EXPORT_SYMBOL(xfrm4_rcv);
+module_exit(ipt_SET_fini);
--- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig
-@@ -408,5 +408,122 @@
+@@ -408,5 +408,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
-@@ -48,6 +48,7 @@
+@@ -48,6 +48,7 @@ obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_
obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn.o
obj-$(CONFIG_IP_NF_MATCH_AH) += ipt_ah.o
obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
obj-$(CONFIG_IP_NF_MATCH_ADDRTYPE) += ipt_addrtype.o
obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_ipp2p.o
-@@ -64,6 +65,18 @@
+@@ -64,6 +65,18 @@ obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LO
obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o
obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o
obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o
+}
--- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig
-@@ -78,6 +78,22 @@
+@@ -78,6 +78,22 @@ config IP_NF_MATCH_TOS
To compile it as a module, choose M here. If unsure, say N.
depends on IP_NF_IPTABLES
--- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile
-@@ -44,6 +44,7 @@
+@@ -44,6 +44,7 @@ obj-$(CONFIG_IP_NF_RAW) += iptable_raw.o
obj-$(CONFIG_IP_NF_MATCH_IPRANGE) += ipt_iprange.o
obj-$(CONFIG_IP_NF_MATCH_OWNER) += ipt_owner.o
obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o
+MODULE_LICENSE("GPL");
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
-@@ -112,6 +112,129 @@
+@@ -112,6 +112,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
-@@ -131,6 +131,7 @@
+@@ -131,6 +131,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
-@@ -295,6 +295,10 @@
+@@ -295,6 +295,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
-@@ -1725,6 +1729,10 @@
+@@ -1725,6 +1729,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>
-@@ -1462,7 +1465,11 @@
+@@ -1462,7 +1465,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
-@@ -333,6 +333,17 @@
+@@ -333,6 +333,17 @@ config IP_NF_MANGLE
To compile it as a module, choose M here. If unsure, say N.
depends on IP_NF_MANGLE
--- 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_REJECT) += ipt_REJECT.o
obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o
obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
+MODULE_LICENSE("GPL");
--- a/net/ipv6/netfilter/Kconfig
+++ b/net/ipv6/netfilter/Kconfig
-@@ -173,6 +173,15 @@
+@@ -173,6 +173,15 @@ config IP6_NF_MANGLE
To compile it as a module, choose M here. If unsure, say N.
depends on IP6_NF_MANGLE
--- a/net/ipv6/netfilter/Makefile
+++ b/net/ipv6/netfilter/Makefile
-@@ -13,6 +13,7 @@
+@@ -13,6 +13,7 @@ obj-$(CONFIG_IP6_NF_MATCH_EUI64) += ip6t
obj-$(CONFIG_IP6_NF_MATCH_OWNER) += ip6t_owner.o
obj-$(CONFIG_IP6_NF_FILTER) += ip6table_filter.o
obj-$(CONFIG_IP6_NF_MANGLE) += ip6table_mangle.o
obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_LOG.o
--- a/net/sched/sch_generic.c
+++ b/net/sched/sch_generic.c
-@@ -191,6 +191,11 @@
+@@ -191,6 +191,11 @@ static inline int qdisc_restart(struct n
return ret;
}
void __qdisc_run(struct net_device *dev)
{
do {
-@@ -620,3 +625,4 @@
+@@ -620,3 +625,4 @@ EXPORT_SYMBOL(qdisc_destroy);
EXPORT_SYMBOL(qdisc_reset);
EXPORT_SYMBOL(qdisc_lock_tree);
EXPORT_SYMBOL(qdisc_unlock_tree);
+module_exit(fini);
--- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig
-@@ -552,5 +552,22 @@
+@@ -552,5 +552,22 @@ config IP_NF_TARGET_SET
To compile it as a module, choose M here. If unsure, say N.
--- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile
-@@ -61,6 +61,7 @@
+@@ -61,6 +61,7 @@ obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_EC
obj-$(CONFIG_IP_NF_TARGET_IMQ) += ipt_IMQ.o
obj-$(CONFIG_IP_NF_TARGET_MASQUERADE) += ipt_MASQUERADE.o
obj-$(CONFIG_IP_NF_TARGET_REDIRECT) += ipt_REDIRECT.o
obj-$(CONFIG_IP_NF_TARGET_LOG) += ipt_LOG.o
--- a/net/ipv6/ndisc.c
+++ b/net/ipv6/ndisc.c
-@@ -154,6 +154,8 @@
+@@ -154,6 +154,8 @@ struct neigh_table nd_tbl = {
.gc_thresh3 = 1024,
};
+MODULE_LICENSE("GPL");
--- a/net/ipv6/netfilter/Kconfig
+++ b/net/ipv6/netfilter/Kconfig
-@@ -209,5 +209,18 @@
+@@ -209,5 +209,18 @@ config IP6_NF_RAW
If you want to compile it as a module, say M here and read
<file:Documentation/kbuild/modules.txt>. If unsure, say `N'.
--- a/net/ipv6/netfilter/Makefile
+++ b/net/ipv6/netfilter/Makefile
-@@ -20,6 +20,7 @@
+@@ -20,6 +20,7 @@ obj-$(CONFIG_IP6_NF_TARGET_LOG) += ip6t_
obj-$(CONFIG_IP6_NF_RAW) += ip6table_raw.o
obj-$(CONFIG_IP6_NF_MATCH_HL) += ip6t_hl.o
obj-$(CONFIG_IP6_NF_TARGET_REJECT) += ip6t_REJECT.o
+#define xt_request_find_match xt_request_find_match_lo
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -265,6 +265,14 @@
+@@ -265,6 +265,14 @@ config NETFILTER_XTABLES
# alphabetically ordered list of targets
config NETFILTER_XT_TARGET_CLASSIFY
tristate '"CLASSIFY" target support'
depends on NETFILTER_XTABLES
-@@ -292,6 +300,14 @@
+@@ -292,6 +300,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" target support'
depends on NETFILTER_XTABLES
-@@ -556,6 +572,14 @@
+@@ -556,6 +572,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
-@@ -49,6 +49,8 @@
+@@ -49,6 +49,8 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE)
obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o
obj-$(CONFIG_NETFILTER_XT_TARGET_CONNSECMARK) += xt_CONNSECMARK.o
# matches
obj-$(CONFIG_NETFILTER_XT_MATCH_COMMENT) += xt_comment.o
-@@ -78,3 +80,4 @@
+@@ -78,3 +80,4 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_TCPMSS)
obj-$(CONFIG_NETFILTER_XT_MATCH_PHYSDEV) += xt_physdev.o
obj-$(CONFIG_NETFILTER_XT_MATCH_U32) += xt_u32.o
obj-$(CONFIG_NETFILTER_XT_MATCH_HASHLIMIT) += xt_hashlimit.o
+MODULE_ALIAS("ipt_portscan");
--- a/drivers/char/random.c
+++ b/drivers/char/random.c
-@@ -1564,6 +1564,8 @@
+@@ -1564,6 +1564,8 @@ __u32 secure_tcp_sequence_number(__be32
return seq;
}
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -401,6 +401,23 @@
+@@ -401,6 +401,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
-@@ -47,6 +47,7 @@
+@@ -47,6 +47,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NFLOG)
obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK) += xt_NOTRACK.o
obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) += xt_TRACE.o
obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -143,7 +143,7 @@
+@@ -143,7 +143,7 @@ config NF_CONNTRACK_FTP
config NF_CONNTRACK_H323
tristate "H.323 protocol support (EXPERIMENTAL)"
help
H.323 is a VoIP signalling protocol from ITU-T. As one of the most
important VoIP protocols, it is widely used by voice hardware and
-@@ -420,7 +420,7 @@
+@@ -420,7 +420,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
-@@ -249,6 +249,16 @@
+@@ -249,6 +249,16 @@ config NF_CONNTRACK_TFTP
To compile it as a module, choose M here. If unsure, say N.
depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK
--- 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
-@@ -296,6 +296,11 @@
+@@ -296,6 +296,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
-@@ -155,8 +155,37 @@
+@@ -155,8 +155,37 @@ struct tc_sfq_qopt
*
* 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
-@@ -144,6 +144,37 @@
+@@ -144,6 +144,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
-@@ -22,6 +22,7 @@
+@@ -22,6 +22,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/include/linux/rtnetlink.h
+++ b/include/linux/rtnetlink.h
-@@ -293,6 +293,8 @@
+@@ -293,6 +293,8 @@ struct rtnexthop
#define RTNH_F_DEAD 1 /* Nexthop is dead (used by multipath) */
#define RTNH_F_PERVASIVE 2 /* Do recursive gateway lookup */
#define RTNH_F_ONLINK 4 /* Gateway is forced on link */
--- a/include/net/flow.h
+++ b/include/net/flow.h
-@@ -19,6 +19,8 @@
+@@ -19,6 +19,8 @@ struct flowi {
struct {
__be32 daddr;
__be32 saddr;
__u8 tos;
__u8 scope;
} ip4_u;
-@@ -43,6 +45,8 @@
+@@ -43,6 +45,8 @@ struct flowi {
#define fl6_flowlabel nl_u.ip6_u.flowlabel
#define fl4_dst nl_u.ip4_u.daddr
#define fl4_src nl_u.ip4_u.saddr
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
-@@ -1116,6 +1116,7 @@
+@@ -1116,6 +1116,7 @@ void ip_rt_redirect(__be32 old_gw, __be3
/* Gateway is different ... */
rt->rt_gateway = new_gw;
/* Redirect received -> path was valid */
dst_confirm(&rth->u.dst);
-@@ -1551,6 +1552,7 @@
+@@ -1551,6 +1552,7 @@ static int ip_route_input_mc(struct sk_b
rth->fl.fl4_tos = tos;
rth->fl.mark = skb->mark;
rth->fl.fl4_src = saddr;
rth->rt_src = saddr;
#ifdef CONFIG_NET_CLS_ROUTE
rth->u.dst.tclassid = itag;
-@@ -1561,6 +1563,7 @@
+@@ -1561,6 +1563,7 @@ static int ip_route_input_mc(struct sk_b
dev_hold(rth->u.dst.dev);
rth->idev = in_dev_get(rth->u.dst.dev);
rth->fl.oif = 0;
rth->rt_gateway = daddr;
rth->rt_spec_dst= spec_dst;
rth->rt_type = RTN_MULTICAST;
-@@ -1624,7 +1627,7 @@
+@@ -1624,7 +1627,7 @@ static void ip_handle_martian_source(str
static inline int __mkroute_input(struct sk_buff *skb,
struct fib_result* res,
struct in_device *in_dev,
struct rtable **result)
{
-@@ -1659,6 +1662,7 @@
+@@ -1659,6 +1662,7 @@ static inline int __mkroute_input(struct
flags |= RTCF_DIRECTSRC;
if (out_dev == in_dev && err && !(flags & (RTCF_NAT | RTCF_MASQ)) &&
(IN_DEV_SHARED_MEDIA(out_dev) ||
inet_addr_onlink(out_dev, saddr, FIB_RES_GW(*res))))
flags |= RTCF_DOREDIRECT;
-@@ -1692,6 +1696,7 @@
+@@ -1692,6 +1696,7 @@ static inline int __mkroute_input(struct
rth->fl.mark = skb->mark;
rth->fl.fl4_src = saddr;
rth->rt_src = saddr;
rth->rt_gateway = daddr;
rth->rt_iif =
rth->fl.iif = in_dev->dev->ifindex;
-@@ -1699,6 +1704,7 @@
+@@ -1699,6 +1704,7 @@ static inline int __mkroute_input(struct
dev_hold(rth->u.dst.dev);
rth->idev = in_dev_get(rth->u.dst.dev);
rth->fl.oif = 0;
rth->rt_spec_dst= spec_dst;
rth->u.dst.input = ip_forward;
-@@ -1720,19 +1726,21 @@
+@@ -1720,19 +1726,21 @@ static inline int ip_mkroute_input(struc
struct fib_result* res,
const struct flowi *fl,
struct in_device *in_dev,
if (err)
return err;
-@@ -1752,18 +1760,18 @@
+@@ -1752,18 +1760,18 @@ static inline int ip_mkroute_input(struc
*/
static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
unsigned flags = 0;
u32 itag = 0;
struct rtable * rth;
-@@ -1796,6 +1804,12 @@
+@@ -1796,6 +1804,12 @@ static int ip_route_input_slow(struct sk
if (BADCLASS(daddr) || ZERONET(daddr) || LOOPBACK(daddr))
goto martian_destination;
/*
* Now we are ready to route packet.
*/
-@@ -1805,6 +1819,10 @@
+@@ -1805,6 +1819,10 @@ static int ip_route_input_slow(struct sk
goto no_route;
}
free_res = 1;
RT_CACHE_STAT_INC(in_slow_tot);
-@@ -1829,7 +1847,7 @@
+@@ -1829,7 +1847,7 @@ static int ip_route_input_slow(struct sk
if (res.type != RTN_UNICAST)
goto martian_destination;
if (err == -ENOBUFS)
goto e_nobufs;
if (err == -EINVAL)
-@@ -1844,6 +1862,8 @@
+@@ -1844,6 +1862,8 @@ out: return err;
brd_input:
if (skb->protocol != htons(ETH_P_IP))
goto e_inval;
if (ZERONET(saddr))
spec_dst = inet_select_addr(dev, 0, RT_SCOPE_LINK);
-@@ -1884,6 +1904,7 @@
+@@ -1884,6 +1904,7 @@ local_input:
rth->u.dst.dev = &loopback_dev;
dev_hold(rth->u.dst.dev);
rth->idev = in_dev_get(rth->u.dst.dev);
rth->rt_gateway = daddr;
rth->rt_spec_dst= spec_dst;
rth->u.dst.input= ip_local_deliver;
-@@ -1933,8 +1954,9 @@
+@@ -1933,8 +1954,9 @@ martian_source:
goto e_inval;
}
{
struct rtable * rth;
unsigned hash;
-@@ -1949,6 +1971,7 @@
+@@ -1949,6 +1971,7 @@ int ip_route_input(struct sk_buff *skb,
if (rth->fl.fl4_dst == daddr &&
rth->fl.fl4_src == saddr &&
rth->fl.iif == iif &&
rth->fl.oif == 0 &&
rth->fl.mark == skb->mark &&
rth->fl.fl4_tos == tos) {
-@@ -1995,7 +2018,19 @@
+@@ -1995,7 +2018,19 @@ int ip_route_input(struct sk_buff *skb,
rcu_read_unlock();
return -EINVAL;
}
}
static inline int __mkroute_output(struct rtable **result,
-@@ -2067,6 +2102,7 @@
+@@ -2067,6 +2102,7 @@ static inline int __mkroute_output(struc
rth->fl.fl4_tos = tos;
rth->fl.fl4_src = oldflp->fl4_src;
rth->fl.oif = oldflp->oif;
rth->fl.mark = oldflp->mark;
rth->rt_dst = fl->fl4_dst;
rth->rt_src = fl->fl4_src;
-@@ -2145,6 +2181,7 @@
+@@ -2145,6 +2181,7 @@ static int ip_route_output_slow(struct r
struct flowi fl = { .nl_u = { .ip4_u =
{ .daddr = oldflp->fl4_dst,
.saddr = oldflp->fl4_src,
.tos = tos & IPTOS_RT_MASK,
.scope = ((tos & RTO_ONLINK) ?
RT_SCOPE_LINK :
-@@ -2248,6 +2285,7 @@
+@@ -2248,6 +2285,7 @@ static int ip_route_output_slow(struct r
dev_out = &loopback_dev;
dev_hold(dev_out);
fl.oif = loopback_dev.ifindex;
res.type = RTN_LOCAL;
flags |= RTCF_LOCAL;
goto make_route;
-@@ -2255,7 +2293,7 @@
+@@ -2255,7 +2293,7 @@ static int ip_route_output_slow(struct r
if (fib_lookup(&fl, &res)) {
res.fi = NULL;
/* Apparently, routing tables are wrong. Assume,
that the destination is on link.
-@@ -2295,6 +2333,7 @@
+@@ -2295,6 +2333,7 @@ static int ip_route_output_slow(struct r
dev_out = &loopback_dev;
dev_hold(dev_out);
fl.oif = dev_out->ifindex;
if (res.fi)
fib_info_put(res.fi);
res.fi = NULL;
-@@ -2302,13 +2341,12 @@
+@@ -2302,13 +2341,12 @@ static int ip_route_output_slow(struct r
goto make_route;
}
if (!fl.fl4_src)
fl.fl4_src = FIB_RES_PREFSRC(res);
-@@ -2345,6 +2383,7 @@
+@@ -2345,6 +2383,7 @@ int __ip_route_output_key(struct rtable
rth->fl.fl4_src == flp->fl4_src &&
rth->fl.iif == 0 &&
rth->fl.oif == flp->oif &&
rth->fl.mark == flp->mark &&
!((rth->fl.fl4_tos ^ flp->fl4_tos) &
(IPTOS_RT_MASK | RTO_ONLINK))) {
-@@ -3030,3 +3069,4 @@
+@@ -3030,3 +3069,4 @@ int __init ip_rt_init(void)
EXPORT_SYMBOL(__ip_select_ident);
EXPORT_SYMBOL(ip_route_input);
EXPORT_SYMBOL(ip_route_output_key);
--- a/arch/mips/Makefile
+++ b/arch/mips/Makefile
-@@ -565,6 +565,9 @@
+@@ -565,6 +565,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
-@@ -105,6 +105,17 @@
+@@ -105,6 +105,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
-@@ -142,9 +142,12 @@
+@@ -142,9 +142,12 @@ 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;
-@@ -545,6 +548,17 @@
+@@ -545,6 +548,17 @@ static int jffs2_scan_eraseblock (struct
return err;
}
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
-@@ -1459,7 +1459,7 @@
+@@ -1459,7 +1459,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
},
-@@ -1467,7 +1467,7 @@
+@@ -1467,7 +1467,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
},
-@@ -1475,7 +1475,7 @@
+@@ -1475,7 +1475,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
}
-@@ -2779,10 +2779,12 @@
+@@ -2779,10 +2779,12 @@ static irqreturn_t rtl8169_interrupt(int
break;
}
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -458,6 +458,9 @@
+@@ -458,6 +458,9 @@ config OCFS2_DEBUG_MASKLOG
This option will enlarge your kernel, but it allows debugging of
ocfs2 filesystem issues.
help
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -76,6 +76,7 @@
+@@ -76,6 +76,7 @@ obj-$(CONFIG_SQUASHFS) += squashfs/
obj-$(CONFIG_RAMFS) += ramfs/
obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
obj-$(CONFIG_CODA_FS) += coda/
--- a/include/linux/ieee80211.h
+++ b/include/linux/ieee80211.h
-@@ -106,6 +106,75 @@
+@@ -106,6 +106,75 @@ struct ieee80211_hdr {
} __attribute__ ((packed));
struct ieee80211_mgmt {
__le16 frame_control;
__le16 duration;
-@@ -173,9 +242,51 @@
+@@ -173,9 +242,51 @@ struct ieee80211_mgmt {
struct {
u8 action_code;
u8 dialog_token;
struct{
u8 action_code;
u8 element_id;
-@@ -184,6 +295,25 @@
+@@ -184,6 +295,25 @@ struct ieee80211_mgmt {
u8 new_chan;
u8 switch_count;
} __attribute__((packed)) chan_switch;
} u;
} __attribute__ ((packed)) action;
} u;
-@@ -270,6 +400,18 @@
+@@ -270,6 +400,18 @@ enum ieee80211_statuscode {
WLAN_STATUS_UNSUPP_RSN_VERSION = 44,
WLAN_STATUS_INVALID_RSN_IE_CAP = 45,
WLAN_STATUS_CIPHER_SUITE_REJECTED = 46,
};
-@@ -300,9 +442,50 @@
+@@ -300,9 +442,50 @@ enum ieee80211_reasoncode {
WLAN_REASON_INVALID_RSN_IE_CAP = 22,
WLAN_REASON_IEEE8021X_FAILED = 23,
WLAN_REASON_CIPHER_SUITE_REJECTED = 24,
/* Information Element IDs */
enum ieee80211_eid {
WLAN_EID_SSID = 0,
-@@ -318,6 +501,15 @@
+@@ -318,6 +501,15 @@ enum ieee80211_eid {
WLAN_EID_HP_PARAMS = 8,
WLAN_EID_HP_TABLE = 9,
WLAN_EID_REQUEST = 10,
/* 802.11h */
WLAN_EID_PWR_CONSTRAINT = 32,
WLAN_EID_PWR_CAPABILITY = 33,
-@@ -332,6 +524,9 @@
+@@ -332,6 +524,9 @@ enum ieee80211_eid {
/* 802.11g */
WLAN_EID_ERP_INFO = 42,
WLAN_EID_EXT_SUPP_RATES = 50,
/* 802.11i */
WLAN_EID_RSN = 48,
WLAN_EID_WPA = 221,
-@@ -340,6 +535,9 @@
+@@ -340,6 +535,9 @@ enum ieee80211_eid {
WLAN_EID_QOS_PARAMETER = 222
};
/* cipher suite selectors */
#define WLAN_CIPHER_SUITE_USE_GROUP 0x000FAC00
#define WLAN_CIPHER_SUITE_WEP40 0x000FAC01
-@@ -350,4 +548,37 @@
+@@ -350,4 +548,37 @@ enum ieee80211_eid {
#define WLAN_MAX_KEY_LEN 32
* enum nl80211_iftype - (virtual) interface types
* @NL80211_IFTYPE_UNSPECIFIED: unspecified type, driver decides
* @NL80211_IFTYPE_ADHOC: independent BSS member
-@@ -35,4 +246,56 @@
+@@ -35,4 +246,56 @@ enum nl80211_iftype {
};
#define NL80211_IFTYPE_MAX (__NL80211_IFTYPE_AFTER_LAST - 1)
#include <net/genetlink.h>
/*
-@@ -49,6 +50,69 @@
+@@ -49,6 +50,69 @@ extern int ieee80211_radiotap_iterator_n
struct ieee80211_radiotap_iterator *iterator);
/* from net/wireless.h */
struct wiphy;
-@@ -68,11 +132,62 @@
+@@ -68,11 +132,62 @@ struct wiphy;
* @add_virtual_intf: create a new virtual interface with the given name
*
* @del_virtual_intf: remove the virtual interface determined by ifindex.
#endif /* __NET_CFG80211_H */
--- a/include/net/iw_handler.h
+++ b/include/net/iw_handler.h
-@@ -431,7 +431,13 @@
+@@ -431,7 +431,13 @@ struct iw_public_data {
* Those may be called only within the kernel.
*/
extern void wireless_send_event(struct net_device * dev,
--- a/include/net/mac80211.h
+++ b/include/net/mac80211.h
-@@ -300,7 +300,6 @@
+@@ -300,7 +300,6 @@ struct ieee80211_conf {
/* Following five fields are used for IEEE 802.11H */
unsigned int radar_detect;
unsigned int spect_mgmt;
unsigned int quiet_duration; /* duration of quiet period */
unsigned int quiet_offset; /* how far into the beacon is the quiet
* period */
-@@ -521,6 +520,9 @@
+@@ -521,6 +520,9 @@ struct ieee80211_hw {
* per-packet RC4 key with each TX frame when doing hwcrypto */
#define IEEE80211_HW_TKIP_REQ_PHASE2_KEY (1<<14)
u32 flags; /* hardware flags defined above */
/* Set to the size of a needed device specific skb headroom for TX skbs. */
-@@ -649,8 +651,7 @@
+@@ -649,8 +651,7 @@ struct ieee80211_ops {
* used if the wlan hardware or low-level driver implements PAE.
* 80211.o module will anyway filter frames based on authorization
* state, so this function pointer can be NULL if low-level driver does
int (*set_port_auth)(struct ieee80211_hw *hw, u8 *addr,
int authorized);
-@@ -702,8 +703,9 @@
+@@ -702,8 +703,9 @@ struct ieee80211_ops {
/* Get statistics of the current TX queue status. This is used to get
* number of currently queued packets (queue length), maximum queue
* size (limit), and total number of packets sent using each TX queue
int (*get_tx_stats)(struct ieee80211_hw *hw,
struct ieee80211_tx_queue_stats *stats);
-@@ -713,12 +715,25 @@
+@@ -713,12 +715,25 @@ struct ieee80211_ops {
* Must be atomic. */
u64 (*get_tsf)(struct ieee80211_hw *hw);
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
-@@ -40,9 +40,22 @@
+@@ -40,9 +40,22 @@ u64 uevent_seqnum;
char uevent_helper[UEVENT_HELPER_PATH_LEN] = "/sbin/hotplug";
static DEFINE_SPINLOCK(sequence_lock);
#if defined(CONFIG_NET)
/**
* kobject_uevent_env - send an uevent with environmental data
*
-@@ -159,9 +172,7 @@
+@@ -159,9 +172,7 @@ int kobject_uevent_env(struct kobject *k
}
/* we will send an event, 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
+#endif /* _SYS_TIMEPPS_H_ */
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -3011,6 +3011,13 @@
+@@ -3011,6 +3011,13 @@ P: James Chapman
M: jchapman@katalix.com
S: Maintained
M: rml@tech9.net
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
-@@ -52,6 +52,8 @@
+@@ -52,6 +52,8 @@ source "drivers/i2c/Kconfig"
source "drivers/spi/Kconfig"
source "drivers/power/Kconfig"
--- a/drivers/Makefile
+++ b/drivers/Makefile
-@@ -63,6 +63,7 @@
+@@ -63,6 +63,7 @@ obj-$(CONFIG_INPUT) += input/
obj-$(CONFIG_I2O) += message/
obj-$(CONFIG_RTC_LIB) += rtc/
obj-y += i2c/
obj-$(CONFIG_HWMON) += hwmon/
--- a/drivers/char/lp.c
+++ b/drivers/char/lp.c
-@@ -746,6 +746,27 @@
+@@ -746,6 +746,27 @@ static struct console lpcons = {
#endif /* console on line printer */
/* --- initialisation code ------------------------------------- */
static int parport_nr[LP_NO] = { [0 ... LP_NO-1] = LP_PARPORT_UNSPEC };
-@@ -817,6 +838,38 @@
+@@ -817,6 +838,38 @@ static int lp_register(int nr, struct pa
}
#endif
return 0;
}
-@@ -860,6 +913,14 @@
+@@ -860,6 +913,14 @@ static void lp_detach (struct parport *p
console_registered = NULL;
}
#endif /* CONFIG_LP_CONSOLE */
+}
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
-@@ -2118,6 +2118,8 @@
+@@ -2118,6 +2118,8 @@ serial8250_set_termios(struct uart_port
up->ier |= UART_IER_MSI;
if (up->capabilities & UART_CAP_UUE)
up->ier |= UART_IER_UUE | UART_IER_RTOIE;
#include <asm/irq.h>
#include <asm/uaccess.h>
-@@ -633,6 +634,54 @@
+@@ -633,6 +634,54 @@ static int uart_get_info(struct uart_sta
return 0;
}
static int uart_set_info(struct uart_state *state,
struct serial_struct __user *newinfo)
{
-@@ -807,11 +856,19 @@
+@@ -807,11 +856,19 @@ static int uart_set_info(struct uart_sta
(port->flags & UPF_LOW_LATENCY) ? 1 : 0;
check_and_exit:
old_custom_divisor != port->custom_divisor) {
/*
* If they're setting up a custom divisor or speed,
-@@ -2110,6 +2167,12 @@
+@@ -2110,6 +2167,12 @@ uart_configure_port(struct uart_driver *
port->ops->config_port(port, flags);
}
if (port->type != PORT_UNKNOWN) {
unsigned long flags;
-@@ -2359,6 +2422,12 @@
+@@ -2359,6 +2422,12 @@ int uart_remove_one_port(struct uart_dri
mutex_unlock(&state->mutex);
/*
tty_unregister_device(drv->tty_driver, port->line);
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
-@@ -295,6 +295,7 @@
+@@ -295,6 +295,7 @@ unifdef-y += pmu.h
unifdef-y += poll.h
unifdef-y += ppp_defs.h
unifdef-y += ppp-comp.h
unifdef-y += quota.h
--- a/include/linux/parport.h
+++ b/include/linux/parport.h
-@@ -100,6 +100,7 @@
+@@ -100,6 +100,7 @@ typedef enum {
#include <linux/proc_fs.h>
#include <linux/spinlock.h>
#include <linux/wait.h>
#include <asm/system.h>
#include <asm/ptrace.h>
#include <asm/semaphore.h>
-@@ -327,6 +328,11 @@
+@@ -327,6 +328,11 @@ struct parport {
struct list_head full_list;
struct parport *slaves[3];
};
#define DEFAULT_SPIN_TIME 500 /* us */
-@@ -517,6 +523,12 @@
+@@ -517,6 +523,12 @@ extern int parport_daisy_select (struct
/* Lowlevel drivers _can_ call this support function to handle irqs. */
static __inline__ void parport_generic_irq(int irq, struct parport *port)
{
struct uart_port;
struct uart_info;
-@@ -236,6 +237,9 @@
+@@ -236,6 +237,9 @@ struct uart_port {
unsigned char regshift; /* reg offset shift */
unsigned char iotype; /* io access style */
unsigned char unused1;
#define UPIO_PORT (0)
#define UPIO_HUB6 (1)
-@@ -280,7 +284,8 @@
+@@ -280,7 +284,8 @@ struct uart_port {
#define UPF_IOREMAP ((__force upf_t) (1 << 31))
#define UPF_CHANGE_MASK ((__force upf_t) (0x17fff))
unsigned int mctrl; /* current modem ctrl settings */
unsigned int timeout; /* character-based timeout */
-@@ -312,6 +317,10 @@
+@@ -312,6 +317,10 @@ struct uart_state {
struct uart_info *info;
struct uart_port *port;
struct mutex mutex;
};
-@@ -476,13 +485,22 @@
+@@ -476,13 +485,22 @@ uart_handle_dcd_change(struct uart_port
{
struct uart_info *info = port->info;
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
-@@ -100,3 +100,16 @@
+@@ -100,3 +100,16 @@ config MMC_TIFM_SD
To compile this driver as a module, choose M here: the
module will be called tifm_sd.
+
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
-@@ -15,4 +15,5 @@
+@@ -15,4 +15,5 @@ obj-$(CONFIG_MMC_AU1X) += au1xmmc.o
obj-$(CONFIG_MMC_OMAP) += omap.o
obj-$(CONFIG_MMC_AT91) += at91_mci.o
obj-$(CONFIG_MMC_TIFM_SD) += tifm_sd.o
#include "bus.h"
#define dev_to_mmc_card(d) container_of(d, struct mmc_card, dev)
-@@ -34,6 +35,8 @@
+@@ -34,6 +35,8 @@ static ssize_t mmc_type_show(struct devi
return sprintf(buf, "MMC\n");
case MMC_TYPE_SD:
return sprintf(buf, "SD\n");
default:
return -EFAULT;
}
-@@ -55,36 +58,37 @@
+@@ -55,36 +58,37 @@ static int mmc_bus_match(struct device *
}
static int
}
static int mmc_bus_probe(struct device *dev)
-@@ -176,6 +180,11 @@
+@@ -176,6 +180,11 @@ static void mmc_release_card(struct devi
{
struct mmc_card *card = dev_to_mmc_card(dev);
kfree(card);
}
-@@ -221,15 +230,25 @@
+@@ -221,15 +230,25 @@ int mmc_add_card(struct mmc_card *card)
if (mmc_card_blockaddr(card))
type = "SDHC";
break;
card->dev.uevent_suppress = 1;
-@@ -261,8 +280,13 @@
+@@ -261,8 +280,13 @@ int mmc_add_card(struct mmc_card *card)
void mmc_remove_card(struct mmc_card *card)
{
if (mmc_card_present(card)) {
* Internal function. Schedule delayed work in the MMC work queue.
*/
static int mmc_schedule_delayed_work(struct delayed_work *work,
-@@ -68,6 +79,11 @@
+@@ -68,6 +79,11 @@ void mmc_request_done(struct mmc_host *h
struct mmc_command *cmd = mrq->cmd;
int err = cmd->error;
if (err && cmd->retries) {
pr_debug("%s: req failed (CMD%u): %d, retrying...\n",
mmc_hostname(host), cmd->opcode, err);
-@@ -76,6 +92,8 @@
+@@ -76,6 +92,8 @@ void mmc_request_done(struct mmc_host *h
cmd->error = 0;
host->ops->request(host, mrq);
} else {
pr_debug("%s: req done (CMD%u): %d: %08x %08x %08x %08x\n",
mmc_hostname(host), cmd->opcode, err,
cmd->resp[0], cmd->resp[1],
-@@ -118,7 +136,7 @@
+@@ -118,7 +136,7 @@ mmc_start_request(struct mmc_host *host,
"tsac %d ms nsac %d\n",
mmc_hostname(host), mrq->data->blksz,
mrq->data->blocks, mrq->data->flags,
mrq->data->timeout_clks);
}
-@@ -130,6 +148,8 @@
+@@ -130,6 +148,8 @@ mmc_start_request(struct mmc_host *host,
WARN_ON(!host->claimed);
mrq->cmd->error = 0;
mrq->cmd->mrq = mrq;
if (mrq->data) {
-@@ -199,7 +219,7 @@
+@@ -199,7 +219,7 @@ int mmc_wait_for_cmd(struct mmc_host *ho
{
struct mmc_request mrq;
memset(&mrq, 0, sizeof(struct mmc_request));
-@@ -220,17 +240,24 @@
+@@ -220,17 +240,24 @@ EXPORT_SYMBOL(mmc_wait_for_cmd);
* mmc_set_data_timeout - set the timeout for a data command
* @data: data phase for command
* @card: the MMC card associated with the data transfer
* SD cards use a 100 multiplier rather than 10
*/
mult = mmc_card_sd(card) ? 100 : 10;
-@@ -239,7 +266,7 @@
+@@ -239,7 +266,7 @@ void mmc_set_data_timeout(struct mmc_dat
* Scale up the multiplier (and therefore the timeout) by
* the r2w factor for writes.
*/
mult <<= card->csd.r2w_factor;
data->timeout_ns = card->csd.tacc_ns * mult;
-@@ -255,7 +282,7 @@
+@@ -255,7 +282,7 @@ void mmc_set_data_timeout(struct mmc_dat
timeout_us += data->timeout_clks * 1000 /
(card->host->ios.clock / 1000);
limit_us = 250000;
else
limit_us = 100000;
-@@ -272,15 +299,20 @@
+@@ -272,15 +299,20 @@ void mmc_set_data_timeout(struct mmc_dat
EXPORT_SYMBOL(mmc_set_data_timeout);
/**
might_sleep();
-@@ -288,19 +320,24 @@
+@@ -288,19 +320,24 @@ void mmc_claim_host(struct mmc_host *hos
spin_lock_irqsave(&host->lock, flags);
while (1) {
set_current_state(TASK_UNINTERRUPTIBLE);
/**
* mmc_release_host - release a host
-@@ -313,7 +350,7 @@
+@@ -313,7 +350,7 @@ void mmc_release_host(struct mmc_host *h
{
unsigned long flags;
spin_lock_irqsave(&host->lock, flags);
host->claimed = 0;
-@@ -433,19 +470,32 @@
+@@ -433,19 +470,32 @@ static void mmc_power_up(struct mmc_host
int bit = fls(host->ocr_avail) - 1;
host->ios.vdd = bit;
mmc_delay(2);
}
-@@ -453,8 +503,10 @@
+@@ -453,8 +503,10 @@ static void mmc_power_off(struct mmc_hos
{
host->ios.clock = 0;
host->ios.vdd = 0;
host->ios.power_mode = MMC_POWER_OFF;
host->ios.bus_width = MMC_BUS_WIDTH_1;
host->ios.timing = MMC_TIMING_LEGACY;
-@@ -511,7 +563,7 @@
+@@ -511,7 +563,7 @@ void mmc_attach_bus(struct mmc_host *hos
BUG_ON(!host);
BUG_ON(!ops);
spin_lock_irqsave(&host->lock, flags);
-@@ -535,8 +587,8 @@
+@@ -535,8 +587,8 @@ void mmc_detach_bus(struct mmc_host *hos
BUG_ON(!host);
spin_lock_irqsave(&host->lock, flags);
-@@ -564,7 +616,7 @@
+@@ -564,7 +616,7 @@ void mmc_detect_change(struct mmc_host *
#ifdef CONFIG_MMC_DEBUG
unsigned long flags;
spin_lock_irqsave(&host->lock, flags);
spin_unlock_irqrestore(&host->lock, flags);
#endif
-@@ -597,24 +649,38 @@
+@@ -597,24 +649,38 @@ void mmc_rescan(struct work_struct *work
mmc_send_if_cond(host, host->ocr_avail);
} else {
if (host->bus_ops->detect && !host->bus_dead)
host->bus_ops->detect(host);
-@@ -725,22 +791,38 @@
+@@ -725,22 +791,38 @@ static int __init mmc_init(void)
return -ENOMEM;
ret = mmc_register_bus();
MODULE_LICENSE("GPL");
--- a/drivers/mmc/core/core.h
+++ b/drivers/mmc/core/core.h
-@@ -48,5 +48,7 @@
+@@ -48,5 +48,7 @@ void mmc_rescan(struct work_struct *work
void mmc_start_host(struct mmc_host *host);
void mmc_stop_host(struct mmc_host *host);
#include <linux/mmc/host.h>
-@@ -100,6 +101,9 @@
+@@ -100,6 +101,9 @@ int mmc_add_host(struct mmc_host *host)
{
int err;
if (!idr_pre_get(&mmc_host_idr, GFP_KERNEL))
return -ENOMEM;
-@@ -112,6 +116,8 @@
+@@ -112,6 +116,8 @@ int mmc_add_host(struct mmc_host *host)
snprintf(host->class_dev.bus_id, BUS_ID_SIZE,
"mmc%d", host->index);
err = device_add(&host->class_dev);
if (err)
return err;
-@@ -137,6 +143,8 @@
+@@ -137,6 +143,8 @@ void mmc_remove_host(struct mmc_host *ho
device_del(&host->class_dev);
spin_unlock(&mmc_host_lock);
--- a/drivers/mmc/core/mmc.c
+++ b/drivers/mmc/core/mmc.c
-@@ -161,13 +161,12 @@
+@@ -161,13 +161,12 @@ static int mmc_read_ext_csd(struct mmc_c
{
int err;
u8 *ext_csd;
/*
* As the ext_csd is so large and mostly unused, we don't store the
-@@ -176,13 +175,19 @@
+@@ -176,13 +175,19 @@ static int mmc_read_ext_csd(struct mmc_c
ext_csd = kmalloc(512, GFP_KERNEL);
if (!ext_csd) {
printk(KERN_ERR "%s: could not allocate a buffer to "
/*
* High capacity cards should have this "magic" size
* stored in their CSD.
-@@ -197,18 +202,30 @@
+@@ -197,18 +202,30 @@ static int mmc_read_ext_csd(struct mmc_c
"EXT_CSD, performance might "
"suffer.\n",
mmc_hostname(card->host));
switch (ext_csd[EXT_CSD_CARD_TYPE]) {
case EXT_CSD_CARD_TYPE_52 | EXT_CSD_CARD_TYPE_26:
-@@ -246,7 +263,7 @@
+@@ -246,7 +263,7 @@ static int mmc_init_card(struct mmc_host
unsigned int max_dtr;
BUG_ON(!host);
/*
* Since we're changing the OCR value, we seem to
-@@ -258,19 +275,33 @@
+@@ -258,19 +275,33 @@ static int mmc_init_card(struct mmc_host
/* The extra bit indicates that we support high capacity */
err = mmc_send_op_cond(host, ocr | (1 << 30), NULL);
card = oldcard;
} else {
-@@ -278,8 +309,10 @@
+@@ -278,8 +309,10 @@ static int mmc_init_card(struct mmc_host
* Allocate card structure.
*/
card = mmc_alloc_card(host);
card->type = MMC_TYPE_MMC;
card->rca = 1;
-@@ -287,43 +320,47 @@
+@@ -287,43 +320,47 @@ static int mmc_init_card(struct mmc_host
}
/*
goto free_card;
}
-@@ -334,7 +371,7 @@
+@@ -334,7 +371,7 @@ static int mmc_init_card(struct mmc_host
(host->caps & MMC_CAP_MMC_HIGHSPEED)) {
err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
EXT_CSD_HS_TIMING, 1);
goto free_card;
mmc_card_set_highspeed(card);
-@@ -363,7 +400,7 @@
+@@ -363,7 +400,7 @@ static int mmc_init_card(struct mmc_host
(host->caps & MMC_CAP_4_BIT_DATA)) {
err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
EXT_CSD_BUS_WIDTH, EXT_CSD_BUS_WIDTH_4);
goto free_card;
mmc_set_bus_width(card->host, MMC_BUS_WIDTH_4);
-@@ -372,14 +409,14 @@
+@@ -372,14 +409,14 @@ static int mmc_init_card(struct mmc_host
if (!oldcard)
host->card = card;
}
/*
-@@ -413,7 +450,7 @@
+@@ -413,7 +450,7 @@ static void mmc_detect(struct mmc_host *
mmc_release_host(host);
mmc_remove(host);
mmc_claim_host(host);
-@@ -480,7 +517,8 @@
+@@ -480,7 +517,8 @@ static void mmc_suspend(struct mmc_host
BUG_ON(!host->card);
mmc_claim_host(host);
host->card->state &= ~MMC_STATE_HIGHSPEED;
mmc_release_host(host);
}
-@@ -502,7 +540,7 @@
+@@ -502,7 +540,7 @@ static void mmc_resume(struct mmc_host *
err = mmc_init_card(host, host->ocr, host->card);
mmc_release_host(host);
mmc_remove(host);
mmc_claim_host(host);
-@@ -536,11 +574,20 @@
+@@ -536,11 +574,20 @@ int mmc_attach_mmc(struct mmc_host *host
int err;
BUG_ON(!host);
* Sanity check the voltages that the card claims to
* support.
*/
-@@ -565,7 +612,7 @@
+@@ -565,7 +612,7 @@ int mmc_attach_mmc(struct mmc_host *host
* Detect and init the card.
*/
err = mmc_init_card(host, host->ocr, NULL);
goto err;
mmc_release_host(host);
-@@ -587,6 +634,6 @@
+@@ -587,6 +634,6 @@ err:
printk(KERN_ERR "%s: error %d whilst initialising MMC card\n",
mmc_hostname(host), err);
#include <linux/scatterlist.h>
#include <linux/mmc/host.h>
-@@ -40,10 +39,10 @@
+@@ -40,10 +39,10 @@ static int _mmc_select_card(struct mmc_h
}
err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES);
}
int mmc_select_card(struct mmc_card *card)
-@@ -63,23 +62,36 @@
+@@ -63,23 +62,36 @@ int mmc_go_idle(struct mmc_host *host)
int err;
struct mmc_command cmd;
return err;
}
-@@ -94,23 +106,33 @@
+@@ -94,23 +106,33 @@ int mmc_send_op_cond(struct mmc_host *ho
memset(&cmd, 0, sizeof(struct mmc_command));
cmd.opcode = MMC_SEND_OP_COND;
*rocr = cmd.resp[0];
return err;
-@@ -131,12 +153,12 @@
+@@ -131,12 +153,12 @@ int mmc_all_send_cid(struct mmc_host *ho
cmd.flags = MMC_RSP_R2 | MMC_CMD_BCR;
err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES);
}
int mmc_set_relative_addr(struct mmc_card *card)
-@@ -154,46 +176,52 @@
+@@ -154,46 +176,52 @@ int mmc_set_relative_addr(struct mmc_car
cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
err = mmc_wait_for_cmd(card->host, &cmd, MMC_CMD_RETRIES);
memset(&mrq, 0, sizeof(struct mmc_request));
memset(&cmd, 0, sizeof(struct mmc_command));
-@@ -202,28 +230,117 @@
+@@ -202,28 +230,117 @@ int mmc_send_ext_csd(struct mmc_card *ca
mrq.cmd = &cmd;
mrq.data = &data;
}
int mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value)
-@@ -241,13 +358,13 @@
+@@ -241,13 +358,13 @@ int mmc_switch(struct mmc_card *card, u8
(index << 16) |
(value << 8) |
set;
}
int mmc_send_status(struct mmc_card *card, u32 *status)
-@@ -261,16 +378,20 @@
+@@ -261,16 +378,20 @@ int mmc_send_status(struct mmc_card *car
memset(&cmd, 0, sizeof(struct mmc_command));
cmd.opcode = MMC_SEND_STATUS;
--- a/drivers/mmc/core/mmc_ops.h
+++ b/drivers/mmc/core/mmc_ops.h
-@@ -22,6 +22,9 @@
+@@ -22,6 +22,9 @@ int mmc_send_csd(struct mmc_card *card,
int mmc_send_ext_csd(struct mmc_card *card, u8 *ext_csd);
int mmc_switch(struct mmc_card *card, u8 set, u8 index, u8 value);
int mmc_send_status(struct mmc_card *card, u32 *status);
--- a/drivers/mmc/core/sd.c
+++ b/drivers/mmc/core/sd.c
-@@ -166,8 +166,6 @@
+@@ -166,8 +166,6 @@ static int mmc_decode_scr(struct mmc_car
unsigned int scr_struct;
u32 resp[4];
resp[3] = card->raw_scr[1];
resp[2] = card->raw_scr[0];
-@@ -193,30 +191,38 @@
+@@ -193,30 +191,38 @@ static int mmc_read_switch(struct mmc_ca
u8 *status;
if (card->scr.sda_vsn < SCR_SPEC_VER_1)
goto out;
}
-@@ -238,28 +244,28 @@
+@@ -238,28 +244,28 @@ static int mmc_switch_hs(struct mmc_card
u8 *status;
if (card->scr.sda_vsn < SCR_SPEC_VER_1)
goto out;
if ((status[16] & 0xF) != 1) {
-@@ -292,7 +298,7 @@
+@@ -292,7 +298,7 @@ static int mmc_sd_init_card(struct mmc_h
unsigned int max_dtr;
BUG_ON(!host);
/*
* Since we're changing the OCR value, we seem to
-@@ -309,23 +315,37 @@
+@@ -309,23 +315,37 @@ static int mmc_sd_init_card(struct mmc_h
* block-addressed SDHC cards.
*/
err = mmc_send_if_cond(host, ocr);
card = oldcard;
} else {
-@@ -333,32 +353,36 @@
+@@ -333,32 +353,36 @@ static int mmc_sd_init_card(struct mmc_h
* Allocate card structure.
*/
card = mmc_alloc_card(host);
goto free_card;
mmc_decode_cid(card);
-@@ -367,16 +391,18 @@
+@@ -367,16 +391,18 @@ static int mmc_sd_init_card(struct mmc_h
/*
* Select card, as all following commands rely on that.
*/
goto free_card;
err = mmc_decode_scr(card);
-@@ -387,7 +413,7 @@
+@@ -387,7 +413,7 @@ static int mmc_sd_init_card(struct mmc_h
* Fetch switch information from card.
*/
err = mmc_read_switch(card);
goto free_card;
}
-@@ -395,7 +421,7 @@
+@@ -395,7 +421,7 @@ static int mmc_sd_init_card(struct mmc_h
* Attempt to change to high-speed (if supported)
*/
err = mmc_switch_hs(card);
goto free_card;
/*
-@@ -418,7 +444,7 @@
+@@ -418,7 +444,7 @@ static int mmc_sd_init_card(struct mmc_h
if ((host->caps & MMC_CAP_4_BIT_DATA) &&
(card->scr.bus_widths & SD_SCR_BUS_WIDTH_4)) {
err = mmc_app_set_bus_width(card, MMC_BUS_WIDTH_4);
goto free_card;
mmc_set_bus_width(host, MMC_BUS_WIDTH_4);
-@@ -442,14 +468,14 @@
+@@ -442,14 +468,14 @@ static int mmc_sd_init_card(struct mmc_h
if (!oldcard)
host->card = card;
}
/*
-@@ -483,7 +509,7 @@
+@@ -483,7 +509,7 @@ static void mmc_sd_detect(struct mmc_hos
mmc_release_host(host);
mmc_sd_remove(host);
mmc_claim_host(host);
-@@ -552,7 +578,8 @@
+@@ -552,7 +578,8 @@ static void mmc_sd_suspend(struct mmc_ho
BUG_ON(!host->card);
mmc_claim_host(host);
host->card->state &= ~MMC_STATE_HIGHSPEED;
mmc_release_host(host);
}
-@@ -574,7 +601,7 @@
+@@ -574,7 +601,7 @@ static void mmc_sd_resume(struct mmc_hos
err = mmc_sd_init_card(host, host->ocr, host->card);
mmc_release_host(host);
mmc_sd_remove(host);
mmc_claim_host(host);
-@@ -608,11 +635,22 @@
+@@ -608,11 +635,22 @@ int mmc_attach_sd(struct mmc_host *host,
int err;
BUG_ON(!host);
* Sanity check the voltages that the card claims to
* support.
*/
-@@ -644,7 +682,7 @@
+@@ -644,7 +682,7 @@ int mmc_attach_sd(struct mmc_host *host,
* Detect and init the card.
*/
err = mmc_sd_init_card(host, host->ocr, NULL);
goto err;
mmc_release_host(host);
-@@ -666,6 +704,6 @@
+@@ -666,6 +704,6 @@ err:
printk(KERN_ERR "%s: error %d whilst initialising SD card\n",
mmc_hostname(host), err);
#include <linux/scatterlist.h>
#include <linux/mmc/host.h>
-@@ -33,21 +32,21 @@
+@@ -33,21 +32,21 @@ static int mmc_app_cmd(struct mmc_host *
if (card) {
cmd.arg = card->rca << 16;
}
/**
-@@ -73,7 +72,7 @@
+@@ -73,7 +72,7 @@ int mmc_wait_for_app_cmd(struct mmc_host
BUG_ON(!cmd);
BUG_ON(retries < 0);
/*
* We have to resend MMC_APP_CMD for each attempt so
-@@ -83,8 +82,14 @@
+@@ -83,8 +82,14 @@ int mmc_wait_for_app_cmd(struct mmc_host
memset(&mrq, 0, sizeof(struct mmc_request));
err = mmc_app_cmd(host, card);
memset(&mrq, 0, sizeof(struct mmc_request));
-@@ -97,8 +102,14 @@
+@@ -97,8 +102,14 @@ int mmc_wait_for_app_cmd(struct mmc_host
mmc_wait_for_req(host, &mrq);
err = cmd->error;
}
return err;
-@@ -127,14 +138,14 @@
+@@ -127,14 +138,14 @@ int mmc_app_set_bus_width(struct mmc_car
cmd.arg = SD_BUS_WIDTH_4;
break;
default:
}
int mmc_send_app_op_cond(struct mmc_host *host, u32 ocr, u32 *rocr)
-@@ -147,23 +158,36 @@
+@@ -147,23 +158,36 @@ int mmc_send_app_op_cond(struct mmc_host
memset(&cmd, 0, sizeof(struct mmc_command));
cmd.opcode = SD_APP_OP_COND;
*rocr = cmd.resp[0];
return err;
-@@ -174,6 +198,7 @@
+@@ -174,6 +198,7 @@ int mmc_send_if_cond(struct mmc_host *ho
struct mmc_command cmd;
int err;
static const u8 test_pattern = 0xAA;
/*
* To support SD 2.0 cards, we must always invoke SD_SEND_IF_COND
-@@ -182,16 +207,21 @@
+@@ -182,16 +207,21 @@ int mmc_send_if_cond(struct mmc_host *ho
*/
cmd.opcode = SD_SEND_IF_COND;
cmd.arg = ((ocr & 0xFF8000) != 0) << 8 | test_pattern;
}
int mmc_send_relative_addr(struct mmc_host *host, unsigned int *rca)
-@@ -209,12 +239,12 @@
+@@ -209,12 +239,12 @@ int mmc_send_relative_addr(struct mmc_ho
cmd.flags = MMC_RSP_R6 | MMC_CMD_BCR;
err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES);
}
int mmc_app_send_scr(struct mmc_card *card, u32 *scr)
-@@ -229,8 +259,10 @@
+@@ -229,8 +259,10 @@ int mmc_app_send_scr(struct mmc_card *ca
BUG_ON(!card->host);
BUG_ON(!scr);
return err;
memset(&mrq, 0, sizeof(struct mmc_request));
-@@ -242,7 +274,7 @@
+@@ -242,7 +274,7 @@ int mmc_app_send_scr(struct mmc_card *ca
cmd.opcode = SD_APP_SEND_SCR;
cmd.arg = 0;
data.blksz = 8;
data.blocks = 1;
-@@ -252,19 +284,19 @@
+@@ -252,19 +284,19 @@ int mmc_app_send_scr(struct mmc_card *ca
sg_init_one(&sg, scr, 8);
}
int mmc_sd_switch(struct mmc_card *card, int mode, int group,
-@@ -278,6 +310,8 @@
+@@ -278,6 +310,8 @@ int mmc_sd_switch(struct mmc_card *card,
BUG_ON(!card);
BUG_ON(!card->host);
mode = !!mode;
value &= 0xF;
-@@ -292,7 +326,7 @@
+@@ -292,7 +326,7 @@ int mmc_sd_switch(struct mmc_card *card,
cmd.arg = mode << 31 | 0x00FFFFFF;
cmd.arg &= ~(0xF << (group * 4));
cmd.arg |= value << (group * 4);
data.blksz = 64;
data.blocks = 1;
-@@ -302,15 +336,15 @@
+@@ -302,15 +336,15 @@ int mmc_sd_switch(struct mmc_card *card,
sg_init_one(&sg, resp, 64);
+
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
-@@ -55,7 +55,28 @@
+@@ -55,7 +55,28 @@ struct sd_switch_caps {
unsigned int hs_max_dtr;
};
/*
* MMC device
-@@ -67,11 +88,13 @@
+@@ -67,11 +88,13 @@ struct mmc_card {
unsigned int type; /* card type */
#define MMC_TYPE_MMC 0 /* MMC card */
#define MMC_TYPE_SD 1 /* SD card */
u32 raw_cid[4]; /* raw card CID */
u32 raw_csd[4]; /* raw card CSD */
u32 raw_scr[2]; /* raw card SCR */
-@@ -80,10 +103,19 @@
+@@ -80,10 +103,19 @@ struct mmc_card {
struct mmc_ext_csd ext_csd; /* mmc v4 extended card specific */
struct sd_scr scr; /* extra SD information */
struct sd_switch_caps sw_caps; /* switch (CMD6) caps */
#define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY)
--- a/include/linux/mmc/core.h
+++ b/include/linux/mmc/core.h
-@@ -25,14 +25,20 @@
+@@ -25,14 +25,20 @@ struct mmc_command {
#define MMC_RSP_CRC (1 << 2) /* expect valid crc */
#define MMC_RSP_BUSY (1 << 3) /* card may send busy */
#define MMC_RSP_OPCODE (1 << 4) /* response contains opcode */
* patterns of the above flags. One additional valid pattern
* is all zeros, which means we don't expect a response.
*/
-@@ -41,12 +47,30 @@
+@@ -41,12 +47,30 @@ struct mmc_command {
#define MMC_RSP_R1B (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY)
#define MMC_RSP_R2 (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC)
#define MMC_RSP_R3 (MMC_RSP_PRESENT)
* These are the command types.
*/
#define mmc_cmd_type(cmd) ((cmd)->flags & MMC_CMD_MASK)
-@@ -54,12 +78,19 @@
+@@ -54,12 +78,19 @@ struct mmc_command {
unsigned int retries; /* max number of retries */
unsigned int error; /* command error */
struct mmc_data *data; /* data segment associated with cmd */
struct mmc_request *mrq; /* associated request */
-@@ -76,7 +107,6 @@
+@@ -76,7 +107,6 @@ struct mmc_data {
#define MMC_DATA_WRITE (1 << 8)
#define MMC_DATA_READ (1 << 9)
#define MMC_DATA_STREAM (1 << 10)
unsigned int bytes_xfered;
-@@ -104,9 +134,20 @@
+@@ -104,9 +134,20 @@ extern int mmc_wait_for_cmd(struct mmc_h
extern int mmc_wait_for_app_cmd(struct mmc_host *, struct mmc_card *,
struct mmc_command *, int);
#include <linux/mmc/core.h>
struct mmc_ios {
-@@ -51,6 +53,7 @@
+@@ -51,6 +53,7 @@ struct mmc_host_ops {
void (*request)(struct mmc_host *host, struct mmc_request *req);
void (*set_ios)(struct mmc_host *host, struct mmc_ios *ios);
int (*get_ro)(struct mmc_host *host);
};
struct mmc_card;
-@@ -87,9 +90,10 @@
+@@ -87,9 +90,10 @@ struct mmc_host {
#define MMC_CAP_4_BIT_DATA (1 << 0) /* Can the host do 4 bit transfers */
#define MMC_CAP_MULTIWRITE (1 << 1) /* Can accurately report bytes sent to card on error */
/* host specific block data */
unsigned int max_seg_size; /* see blk_queue_max_segment_size */
-@@ -106,23 +110,30 @@
+@@ -106,23 +110,30 @@ struct mmc_host {
struct mmc_ios ios; /* current io bus settings */
u32 ocr; /* the current OCR setting */
unsigned long private[0] ____cacheline_aligned;
};
-@@ -137,6 +148,8 @@
+@@ -137,6 +148,8 @@ static inline void *mmc_priv(struct mmc_
return (void *)host->private;
}
#define mmc_dev(x) ((x)->parent)
#define mmc_classdev(x) (&(x)->class_dev)
#define mmc_hostname(x) ((x)->class_dev.bus_id)
-@@ -147,5 +160,11 @@
+@@ -147,5 +160,11 @@ extern int mmc_resume_host(struct mmc_ho
extern void mmc_detect_change(struct mmc_host *, unsigned long delay);
extern void mmc_request_done(struct mmc_host *, struct mmc_request *);
/* These are unpacked versions of the actual responses */
struct _mmc_csd {
-@@ -182,6 +207,7 @@
+@@ -182,6 +207,7 @@ struct _mmc_csd {
*/
#define CCC_BASIC (1<<0) /* (0) Basic protocol functions */
/* (CMD0,1,2,3,4,7,9,10,12,13,15) */
#define CCC_STREAM_READ (1<<1) /* (1) Stream read commands */
/* (CMD11) */
#define CCC_BLOCK_READ (1<<2) /* (2) Block read commands */
-@@ -227,6 +253,7 @@
+@@ -227,6 +253,7 @@ struct _mmc_csd {
#define EXT_CSD_BUS_WIDTH 183 /* R/W */
#define EXT_CSD_HS_TIMING 185 /* R/W */
#define EXT_CSD_CARD_TYPE 196 /* RO */
+#endif
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
-@@ -22,6 +22,18 @@
+@@ -22,6 +22,18 @@ struct pci_device_id {
};
#define IEEE1394_MATCH_SPECIFIER_ID 0x0004
--- a/drivers/mmc/card/Kconfig
+++ b/drivers/mmc/card/Kconfig
-@@ -32,3 +32,10 @@
+@@ -32,3 +32,10 @@ config MMC_BLOCK_BOUNCE
If unsure, say Y here.
+
--- a/drivers/mmc/card/Makefile
+++ b/drivers/mmc/card/Makefile
-@@ -9,3 +9,5 @@
+@@ -9,3 +9,5 @@ endif
obj-$(CONFIG_MMC_BLOCK) += mmc_block.o
mmc_block-objs := block.o queue.o
/*
* There is one mmc_blk_data per slot.
-@@ -80,6 +83,9 @@
+@@ -80,6 +83,9 @@ static void mmc_blk_put(struct mmc_blk_d
mutex_lock(&open_lock);
md->usage--;
if (md->usage == 0) {
put_disk(md->disk);
kfree(md);
}
-@@ -151,17 +157,19 @@
+@@ -151,17 +157,19 @@ static u32 mmc_sd_num_wr_blocks(struct m
cmd.opcode = MMC_APP_CMD;
cmd.arg = card->rca << 16;
memset(&data, 0, sizeof(struct mmc_data));
-@@ -192,7 +200,7 @@
+@@ -192,7 +200,7 @@ static u32 mmc_sd_num_wr_blocks(struct m
mmc_wait_for_req(card->host, &mrq);
return (u32)-1;
blocks = ntohl(blocks);
-@@ -220,17 +228,15 @@
+@@ -220,17 +228,15 @@ static int mmc_blk_issue_rq(struct mmc_q
brq.cmd.arg = req->sector;
if (!mmc_card_blockaddr(card))
brq.cmd.arg <<= 9;
/*
* If the host doesn't support multiple block writes, force
* block writes to single block. SD cards are excepted from
-@@ -243,8 +249,12 @@
+@@ -243,8 +249,12 @@ static int mmc_blk_issue_rq(struct mmc_q
brq.data.blocks = 1;
if (brq.data.blocks > 1) {
readcmd = MMC_READ_MULTIPLE_BLOCK;
writecmd = MMC_WRITE_MULTIPLE_BLOCK;
} else {
-@@ -261,6 +271,8 @@
+@@ -261,6 +271,8 @@ static int mmc_blk_issue_rq(struct mmc_q
brq.data.flags |= MMC_DATA_WRITE;
}
brq.data.sg = mq->sg;
brq.data.sg_len = mmc_queue_map_sg(mq);
-@@ -302,7 +314,7 @@
+@@ -302,7 +314,7 @@ static int mmc_blk_issue_rq(struct mmc_q
goto cmd_err;
}
do {
int err;
-@@ -315,7 +327,13 @@
+@@ -315,7 +327,13 @@ static int mmc_blk_issue_rq(struct mmc_q
req->rq_disk->disk_name, err);
goto cmd_err;
}
#if 0
if (cmd.resp[0] & ~0x00000900)
-@@ -394,9 +412,6 @@
+@@ -394,9 +412,6 @@ static int mmc_blk_issue_rq(struct mmc_q
return 0;
}
static inline int mmc_blk_readonly(struct mmc_card *card)
{
-@@ -510,7 +525,7 @@
+@@ -510,7 +525,7 @@ mmc_blk_set_blksize(struct mmc_blk_data
mmc_claim_host(card->host);
cmd.opcode = MMC_SET_BLOCKLEN;
cmd.arg = 1 << md->block_bits;
err = mmc_wait_for_cmd(card->host, &cmd, 5);
mmc_release_host(card->host);
-@@ -562,17 +577,12 @@
+@@ -562,17 +577,12 @@ static void mmc_blk_remove(struct mmc_ca
struct mmc_blk_data *md = mmc_get_drvdata(card);
if (md) {
/*
* Prepare a MMC request. This just filters out odd stuff.
*/
-@@ -159,6 +166,7 @@
+@@ -159,6 +166,7 @@ int mmc_init_queue(struct mmc_queue *mq,
ret = -ENOMEM;
goto cleanup_queue;
}
mq->bounce_sg = kmalloc(sizeof(struct scatterlist) *
bouncesz / 512, GFP_KERNEL);
-@@ -166,6 +174,7 @@
+@@ -166,6 +174,7 @@ int mmc_init_queue(struct mmc_queue *mq,
ret = -ENOMEM;
goto cleanup_queue;
}
}
}
#endif
-@@ -183,6 +192,7 @@
+@@ -183,6 +192,7 @@ int mmc_init_queue(struct mmc_queue *mq,
ret = -ENOMEM;
goto cleanup_queue;
}
}
init_MUTEX(&mq->thread_sem);
-@@ -302,12 +312,12 @@
+@@ -302,12 +312,12 @@ static void copy_sg(struct scatterlist *
BUG_ON(dst_len == 0);
if (dst_size == 0) {
src_size = src->length;
}
-@@ -353,9 +363,7 @@
+@@ -353,9 +363,7 @@ unsigned int mmc_queue_map_sg(struct mmc
return 1;
}
+MODULE_LICENSE("GPL");
--- a/drivers/mmc/core/Makefile
+++ b/drivers/mmc/core/Makefile
-@@ -8,5 +8,7 @@
+@@ -8,5 +8,7 @@ endif
obj-$(CONFIG_MMC) += mmc_core.o
mmc_core-y := core.o sysfs.o bus.o host.o \
--- a/drivers/mmc/host/sdhci.c
+++ b/drivers/mmc/host/sdhci.c
-@@ -481,16 +481,16 @@
+@@ -481,16 +481,16 @@ static void sdhci_finish_data(struct sdh
* Controller doesn't count down when in single block mode.
*/
if (data->blocks == 1)
}
if (data->stop) {
-@@ -498,7 +498,7 @@
+@@ -498,7 +498,7 @@ static void sdhci_finish_data(struct sdh
* The controller needs a reset of internal state machines
* upon error conditions.
*/
sdhci_reset(host, SDHCI_RESET_CMD);
sdhci_reset(host, SDHCI_RESET_DATA);
}
-@@ -533,7 +533,7 @@
+@@ -533,7 +533,7 @@ static void sdhci_send_command(struct sd
printk(KERN_ERR "%s: Controller never released "
"inhibit bit(s).\n", mmc_hostname(host->mmc));
sdhci_dumpregs(host);
tasklet_schedule(&host->finish_tasklet);
return;
}
-@@ -554,7 +554,7 @@
+@@ -554,7 +554,7 @@ static void sdhci_send_command(struct sd
if ((cmd->flags & MMC_RSP_136) && (cmd->flags & MMC_RSP_BUSY)) {
printk(KERN_ERR "%s: Unsupported response type!\n",
mmc_hostname(host->mmc));
tasklet_schedule(&host->finish_tasklet);
return;
}
-@@ -601,7 +601,7 @@
+@@ -601,7 +601,7 @@ static void sdhci_finish_command(struct
}
}
if (host->data && host->data_early)
sdhci_finish_data(host);
-@@ -722,7 +722,7 @@
+@@ -722,7 +722,7 @@ static void sdhci_request(struct mmc_hos
host->mrq = mrq;
if (!(readl(host->ioaddr + SDHCI_PRESENT_STATE) & SDHCI_CARD_PRESENT)) {
tasklet_schedule(&host->finish_tasklet);
} else
sdhci_send_command(host, mrq->cmd);
-@@ -831,7 +831,7 @@
+@@ -831,7 +831,7 @@ static void sdhci_tasklet_card(unsigned
sdhci_reset(host, SDHCI_RESET_CMD);
sdhci_reset(host, SDHCI_RESET_DATA);
tasklet_schedule(&host->finish_tasklet);
}
}
-@@ -859,9 +859,9 @@
+@@ -859,9 +859,9 @@ static void sdhci_tasklet_finish(unsigne
* The controller needs a reset of internal state machines
* upon error conditions.
*/
/* Some controllers need this kick or reset won't work here */
if (host->chip->quirks & SDHCI_QUIRK_CLOCK_BEFORE_RESET) {
-@@ -906,13 +906,13 @@
+@@ -906,13 +906,13 @@ static void sdhci_timeout_timer(unsigned
sdhci_dumpregs(host);
if (host->data) {
tasklet_schedule(&host->finish_tasklet);
}
-@@ -941,13 +941,12 @@
+@@ -941,13 +941,12 @@ static void sdhci_cmd_irq(struct sdhci_h
}
if (intmask & SDHCI_INT_TIMEOUT)
tasklet_schedule(&host->finish_tasklet);
else if (intmask & SDHCI_INT_RESPONSE)
sdhci_finish_command(host);
-@@ -974,13 +973,11 @@
+@@ -974,13 +973,11 @@ static void sdhci_data_irq(struct sdhci_
}
if (intmask & SDHCI_INT_DATA_TIMEOUT)
sdhci_finish_data(host);
else {
if (intmask & (SDHCI_INT_DATA_AVAIL | SDHCI_INT_SPACE_AVAIL))
-@@ -1312,7 +1309,7 @@
+@@ -1312,7 +1309,7 @@ static int __devinit sdhci_probe_slot(st
mmc->ops = &sdhci_ops;
mmc->f_min = host->max_clk / 256;
mmc->f_max = host->max_clk;
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -133,4 +133,8 @@
+@@ -133,4 +133,8 @@ config LEDS_TRIGGER_HEARTBEAT
load average.
If unsure, say Y.
endif # NEW_LEDS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -22,3 +22,4 @@
+@@ -22,3 +22,4 @@ obj-$(CONFIG_LEDS_GPIO) += leds-gpio.o
obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -81,6 +81,12 @@
+@@ -81,6 +81,12 @@ config LEDS_WRAP
help
This option enables support for the PCEngines WRAP programmable LEDs.
depends LEDS_CLASS && ARCH_H1940
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -14,6 +14,7 @@
+@@ -14,6 +14,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
-@@ -143,4 +143,11 @@
+@@ -143,4 +143,11 @@ config LEDS_TRIGGER_MORSE
tristate "LED Morse Trigger"
depends on LEDS_TRIGGERS
endif # NEW_LEDS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -24,3 +24,4 @@
+@@ -24,3 +24,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_MORSE) += ledtrig-morse.o
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -150,4 +150,11 @@
+@@ -150,4 +150,11 @@ 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
-@@ -25,3 +25,4 @@
+@@ -25,3 +25,4 @@ obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += l
obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
obj-$(CONFIG_LEDS_TRIGGER_MORSE) += ledtrig-morse.o
obj-$(CONFIG_LEDS_TRIGGER_DEFAULT_ON) += ledtrig-default-on.o
--- a/drivers/input/misc/Kconfig
+++ b/drivers/input/misc/Kconfig
-@@ -183,4 +183,20 @@
+@@ -183,4 +183,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
-@@ -18,3 +18,4 @@
+@@ -18,3 +18,4 @@ obj-$(CONFIG_INPUT_POWERMATE) += powerm
obj-$(CONFIG_INPUT_YEALINK) += yealink.o
obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o
obj-$(CONFIG_INPUT_UINPUT) += uinput.o
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -419,6 +419,7 @@
+@@ -419,6 +419,7 @@ config FS_POSIX_ACL
source "fs/xfs/Kconfig"
source "fs/gfs2/Kconfig"
tristate "OCFS2 file system support"
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -120,3 +120,4 @@
+@@ -120,3 +120,4 @@ obj-$(CONFIG_HPPFS) += hppfs/
obj-$(CONFIG_DEBUG_FS) += debugfs/
obj-$(CONFIG_OCFS2_FS) += ocfs2/
obj-$(CONFIG_GFS2_FS) += gfs2/
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -344,6 +344,50 @@
+@@ -344,6 +344,50 @@ int phy_ethtool_gset(struct phy_device *
}
EXPORT_SYMBOL(phy_ethtool_gset);
* @phydev: the phy_device struct
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -393,6 +393,7 @@
+@@ -393,6 +393,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
-@@ -131,6 +131,9 @@
+@@ -131,6 +131,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
-@@ -319,6 +319,11 @@
+@@ -319,6 +319,11 @@ struct phy_driver {
u32 features;
u32 flags;
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -60,6 +60,11 @@
+@@ -60,6 +60,11 @@ config ICPLUS_PHY
---help---
Currently supports the IP175C PHY.
---help---
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
-@@ -12,4 +12,5 @@
+@@ -12,4 +12,5 @@ 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
-@@ -44,6 +44,18 @@
+@@ -44,6 +44,18 @@ static struct phy_driver genphy_driver;
extern int mdio_bus_init(void);
extern void mdio_bus_exit(void);
struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id)
{
struct phy_device *dev;
-@@ -67,6 +79,8 @@
+@@ -67,6 +79,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
-@@ -289,6 +289,17 @@
+@@ -289,6 +289,17 @@ struct phy_device {
void (*adjust_link)(struct net_device *dev);
void (*adjust_state)(struct net_device *dev);
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -426,6 +426,7 @@
+@@ -426,6 +426,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
-@@ -65,6 +65,12 @@
+@@ -65,6 +65,12 @@ config ADM6996_PHY
---help---
Currently supports the ADM6996F switch
---help---
--- a/drivers/net/phy/Makefile
+++ b/drivers/net/phy/Makefile
-@@ -13,4 +13,5 @@
+@@ -13,4 +13,5 @@ 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/init/main.c
+++ b/init/main.c
-@@ -780,7 +780,7 @@
+@@ -780,7 +780,7 @@ static int noinline init_post(void)
numa_default_policy();
if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
--- 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);
-@@ -866,7 +867,7 @@
+@@ -866,7 +867,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);
-@@ -1276,3 +1277,5 @@
+@@ -1276,3 +1277,5 @@ MODULE_LICENSE("GPL");
module_param(debug, bool, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(debug, "Debug enabled or not");
#include <linux/types.h>
#ifdef __KERNEL__
-@@ -227,4 +231,6 @@
+@@ -227,4 +231,6 @@ struct itimerval {
*/
#define TIMER_ABSTIME 0x01
#ifdef __KERNEL__
#define BITS_TO_LONGS(bits) \
-@@ -162,6 +170,8 @@
+@@ -162,6 +170,8 @@ typedef unsigned long blkcnt_t;
#endif /* __KERNEL_STRICT_NAMES */
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
-@@ -88,6 +88,9 @@
+@@ -88,6 +88,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/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/scripts/gen_initramfs_list.sh
+++ b/scripts/gen_initramfs_list.sh
-@@ -125,7 +125,7 @@
+@@ -125,7 +125,7 @@ parse() {
str="${ftype} ${name} ${location} ${str}"
;;
"nod")
local maj=`field 5 ${dev}`
local min=`field 6 ${dev}`
maj=${maj%,}
-@@ -135,7 +135,7 @@
+@@ -135,7 +135,7 @@ parse() {
str="${ftype} ${name} ${str} ${dev} ${maj} ${min}"
;;
"slink")
---
--- a/include/asm-ppc/io.h
+++ b/include/asm-ppc/io.h
-@@ -453,11 +453,21 @@
+@@ -453,11 +453,21 @@ static inline unsigned int ioread16(void
return readw(addr);
}
static inline void iowrite8(u8 val, void __iomem *addr)
{
writeb(val, addr);
-@@ -468,11 +478,21 @@
+@@ -468,11 +478,21 @@ static inline void iowrite16(u16 val, vo
writew(val, addr);
}
--- a/drivers/w1/masters/Kconfig
+++ b/drivers/w1/masters/Kconfig
-@@ -42,5 +42,15 @@
+@@ -42,5 +42,15 @@ config W1_MASTER_DS1WM
in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like
hx4700.
--- a/drivers/w1/masters/Makefile
+++ b/drivers/w1/masters/Makefile
-@@ -6,3 +6,4 @@
+@@ -6,3 +6,4 @@ obj-$(CONFIG_W1_MASTER_MATROX) += matro
obj-$(CONFIG_W1_MASTER_DS2490) += ds2490.o
obj-$(CONFIG_W1_MASTER_DS2482) += ds2482.o
obj-$(CONFIG_W1_MASTER_DS1WM) += ds1wm.o
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -1405,6 +1405,71 @@
+@@ -1405,6 +1405,71 @@ config CRAMFS
If unsure, say N.
depends on BLOCK
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -72,6 +72,7 @@
+@@ -72,6 +72,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 \
ifeq ($(CONFIG_DEBUG_KOBJECT),y)
CFLAGS_kobject.o += -DDEBUG
-@@ -64,6 +64,7 @@
+@@ -64,6 +64,7 @@ obj-$(CONFIG_SMP) += percpu_counter.o
obj-$(CONFIG_AUDIT_GENERIC) += audit.o
obj-$(CONFIG_SWIOTLB) += swiotlb.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
-@@ -527,6 +527,9 @@
+@@ -527,6 +527,9 @@ KBUILD_CFLAGS += $(call cc-optio
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 *);
-@@ -294,12 +295,19 @@
+@@ -294,12 +295,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
-@@ -944,7 +944,7 @@
+@@ -944,7 +944,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;
-@@ -953,7 +953,7 @@
+@@ -953,7 +953,7 @@ static int __xipram xip_wait_for_operati
flstate_t oldstate, newstate;
start = xip_currtime();
if (usec == 0)
usec = 500000;
done = 0;
-@@ -1063,8 +1063,8 @@
+@@ -1063,8 +1063,8 @@ static int __xipram xip_wait_for_operati
#define XIP_INVAL_CACHED_RANGE(map, from, size) \
INVALIDATE_CACHED_RANGE(map, from, size)
#else
-@@ -1076,65 +1076,65 @@
+@@ -1076,65 +1076,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;
-@@ -1143,7 +1143,8 @@
+@@ -1143,7 +1143,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)
-@@ -1374,7 +1375,7 @@
+@@ -1374,7 +1375,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);
-@@ -1614,7 +1615,7 @@
+@@ -1614,7 +1615,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;
-@@ -1749,7 +1750,7 @@
+@@ -1749,7 +1750,7 @@ static int __xipram do_erase_oneblock(st
ret = INVAL_CACHE_AND_WAIT(map, chip, adr,
adr, len,
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
-@@ -902,7 +902,6 @@
+@@ -902,7 +902,6 @@ static __init void build_tlb_write_entry
case CPU_R10000:
case CPU_R12000:
case CPU_R14000:
case CPU_SB1:
case CPU_SB1A:
case CPU_4KSC:
-@@ -935,6 +934,7 @@
+@@ -935,6 +934,7 @@ static __init void build_tlb_write_entry
tlbw(p);
break;
--- a/arch/mips/kernel/gdb-stub.c
+++ b/arch/mips/kernel/gdb-stub.c
-@@ -656,6 +656,7 @@
+@@ -656,6 +656,7 @@ void set_async_breakpoint(unsigned long
*epc = (unsigned long)async_breakpoint;
}
static void kgdb_wait(void *arg)
{
unsigned flags;
-@@ -668,6 +669,7 @@
+@@ -668,6 +669,7 @@ static void kgdb_wait(void *arg)
local_irq_restore(flags);
}
#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;
-@@ -298,15 +304,18 @@
+@@ -298,15 +304,18 @@ static struct block2mtd_dev *add_device(
dev->mtd.read = block2mtd_read;
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
-@@ -308,6 +310,312 @@
+@@ -308,6 +310,312 @@ 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
-@@ -320,168 +628,31 @@
+@@ -320,168 +628,31 @@ int add_mtd_partitions(struct mtd_info *
int nbparts)
{
struct mtd_part *slave;
}
}
-@@ -557,6 +728,32 @@
+@@ -557,6 +728,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>
-@@ -754,6 +755,13 @@
+@@ -754,6 +755,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;
-@@ -202,6 +203,9 @@
+@@ -202,6 +203,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
-@@ -236,14 +236,21 @@
+@@ -236,14 +236,21 @@ static int parse_redboot_partitions(stru
#endif
names += strlen(names)+1;
--- 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
-@@ -70,7 +70,18 @@
+@@ -70,7 +70,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
-@@ -633,6 +633,27 @@
+@@ -633,6 +633,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
-@@ -73,6 +73,7 @@
+@@ -73,6 +73,7 @@ obj-$(CONFIG_NETFILTER_XT_MATCH_QUOTA) +
obj-$(CONFIG_NETFILTER_XT_MATCH_REALM) += xt_realm.o
obj-$(CONFIG_NETFILTER_XT_MATCH_SCTP) += xt_sctp.o
obj-$(CONFIG_NETFILTER_XT_MATCH_STATE) += xt_state.o
+}
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
-@@ -206,6 +206,14 @@
+@@ -206,6 +206,14 @@ destroy_conntrack(struct nf_conntrack *n
* too. */
nf_ct_remove_expectations(ct);
BUG_ON(hlist_unhashed(&ct->tuplehash[IP_CT_DIR_ORIGINAL].hnode));
--- a/net/netfilter/nf_conntrack_standalone.c
+++ b/net/netfilter/nf_conntrack_standalone.c
-@@ -180,7 +180,12 @@
+@@ -180,7 +180,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
-@@ -63,6 +63,12 @@
+@@ -63,6 +63,12 @@ config IP_NF_MATCH_IPRANGE
To compile it as a module, choose M here. If unsure, say N.
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_RECENT) += ipt_
obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.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
-@@ -408,5 +408,122 @@
+@@ -408,5 +408,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_OWNER) += ipt_o
obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o
obj-$(CONFIG_IP_NF_MATCH_TOS) += ipt_tos.o
obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o
obj-$(CONFIG_IP_NF_MATCH_IPP2P) += ipt_ipp2p.o
-@@ -64,6 +65,18 @@
+@@ -64,6 +65,18 @@ obj-$(CONFIG_IP_NF_TARGET_SAME) += ipt_S
obj-$(CONFIG_IP_NF_TARGET_TOS) += ipt_TOS.o
obj-$(CONFIG_IP_NF_TARGET_TTL) += ipt_TTL.o
obj-$(CONFIG_IP_NF_TARGET_ULOG) += ipt_ULOG.o
+MODULE_LICENSE("GPL");
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
-@@ -112,6 +112,129 @@
+@@ -112,6 +112,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
-@@ -139,6 +139,7 @@
+@@ -139,6 +139,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
-@@ -295,6 +295,10 @@
+@@ -295,6 +295,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
-@@ -1728,6 +1732,10 @@
+@@ -1728,6 +1732,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>
-@@ -1533,7 +1536,11 @@
+@@ -1533,7 +1536,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
-@@ -333,6 +333,17 @@
+@@ -317,6 +317,17 @@ config IP_NF_MANGLE
To compile it as a module, choose M here. If unsure, say N.
depends on IP_NF_MANGLE
--- a/net/ipv4/netfilter/Makefile
+++ b/net/ipv4/netfilter/Makefile
-@@ -58,6 +58,7 @@
+@@ -57,6 +57,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
-@@ -173,6 +173,15 @@
+@@ -173,6 +173,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
-@@ -176,6 +176,11 @@
+@@ -176,6 +176,11 @@ static inline int qdisc_restart(struct n
return ret;
}
void __qdisc_run(struct net_device *dev)
{
unsigned long start_time = jiffies;
-@@ -650,3 +655,4 @@
+@@ -650,3 +655,4 @@ EXPORT_SYMBOL(qdisc_destroy);
EXPORT_SYMBOL(qdisc_reset);
EXPORT_SYMBOL(qdisc_lock_tree);
EXPORT_SYMBOL(qdisc_unlock_tree);
+#define xt_request_find_match xt_request_find_match_lo
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -265,6 +265,14 @@
+@@ -265,6 +265,14 @@ config NETFILTER_XTABLES
# alphabetically ordered list of targets
config NETFILTER_XT_TARGET_CLASSIFY
tristate '"CLASSIFY" target support'
depends on NETFILTER_XTABLES
-@@ -292,6 +300,14 @@
+@@ -292,6 +300,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" target support'
depends on NETFILTER_XTABLES
-@@ -556,6 +572,14 @@
+@@ -556,6 +572,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
-@@ -49,6 +49,8 @@
+@@ -49,6 +49,8 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK
obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
obj-$(CONFIG_NETFILTER_XT_TARGET_TCPMSS) += xt_TCPMSS.o
obj-$(CONFIG_NETFILTER_XT_TARGET_TRACE) += xt_TRACE.o
# matches
obj-$(CONFIG_NETFILTER_XT_MATCH_COMMENT) += xt_comment.o
-@@ -79,3 +81,4 @@
+@@ -79,3 +81,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
-@@ -1564,6 +1564,8 @@
+@@ -1564,6 +1564,8 @@ __u32 secure_tcp_sequence_number(__be32
return seq;
}
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -401,6 +401,23 @@
+@@ -401,6 +401,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
-@@ -47,6 +47,7 @@
+@@ -47,6 +47,7 @@ obj-$(CONFIG_NETFILTER_XT_TARGET_NFLOG)
obj-$(CONFIG_NETFILTER_XT_TARGET_NFQUEUE) += xt_NFQUEUE.o
obj-$(CONFIG_NETFILTER_XT_TARGET_NOTRACK) += xt_NOTRACK.o
obj-$(CONFIG_NETFILTER_XT_TARGET_SECMARK) += xt_SECMARK.o
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -143,7 +143,7 @@
+@@ -143,7 +143,7 @@ config NF_CONNTRACK_FTP
config NF_CONNTRACK_H323
tristate "H.323 protocol support (EXPERIMENTAL)"
help
H.323 is a VoIP signalling protocol from ITU-T. As one of the most
important VoIP protocols, it is widely used by voice hardware and
-@@ -420,7 +420,7 @@
+@@ -420,7 +420,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
-@@ -249,6 +249,16 @@
+@@ -249,6 +249,16 @@ config NF_CONNTRACK_TFTP
To compile it as a module, choose M here. If unsure, say N.
depends on EXPERIMENTAL && NF_CONNTRACK && NETFILTER_NETLINK
--- 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
-@@ -296,6 +296,11 @@
+@@ -280,6 +280,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
-@@ -155,8 +155,37 @@
+@@ -155,8 +155,37 @@ struct tc_sfq_qopt
*
* 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
-@@ -139,6 +139,37 @@
+@@ -139,6 +139,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
-@@ -576,6 +576,9 @@
+@@ -576,6 +576,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
-@@ -105,6 +105,17 @@
+@@ -105,6 +105,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
-@@ -142,9 +142,12 @@
+@@ -142,9 +142,12 @@ 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;
-@@ -545,6 +548,17 @@
+@@ -545,6 +548,17 @@ static int jffs2_scan_eraseblock (struct
return err;
}
--- a/drivers/net/r8169.c
+++ b/drivers/net/r8169.c
-@@ -1537,7 +1537,7 @@
+@@ -1537,7 +1537,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
-@@ -1546,7 +1546,7 @@
+@@ -1546,7 +1546,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
-@@ -1555,7 +1555,7 @@
+@@ -1555,7 +1555,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
-@@ -2903,10 +2903,12 @@
+@@ -2903,10 +2903,12 @@ static irqreturn_t rtl8169_interrupt(int
break;
}
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -468,6 +468,9 @@
+@@ -468,6 +468,9 @@ config OCFS2_DEBUG_FS
this option for debugging only as it is likely to decrease
performance of the filesystem.
help
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -76,6 +76,7 @@
+@@ -76,6 +76,7 @@ obj-$(CONFIG_SQUASHFS) += squashfs/
obj-y += ramfs/
obj-$(CONFIG_HUGETLBFS) += hugetlbfs/
obj-$(CONFIG_CODA_FS) += coda/
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
-@@ -27,7 +27,8 @@
+@@ -27,7 +27,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 */
-@@ -40,6 +41,18 @@
+@@ -40,6 +41,18 @@ static const char *kobject_actions[] = {
[KOBJ_OFFLINE] = "offline",
};
/**
* kobject_action_type - translate action string to numeric type
*
-@@ -173,9 +186,7 @@
+@@ -173,9 +186,7 @@ int kobject_uevent_env(struct kobject *k
}
/* 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
-@@ -146,4 +146,8 @@
+@@ -146,4 +146,8 @@ config LEDS_TRIGGER_HEARTBEAT
load average.
If unsure, say Y.
endif # NEW_LEDS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -24,3 +24,4 @@
+@@ -24,3 +24,4 @@ obj-$(CONFIG_LEDS_CM_X270)
obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -81,6 +81,12 @@
+@@ -81,6 +81,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
-@@ -14,6 +14,7 @@
+@@ -14,6 +14,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
-@@ -156,4 +156,11 @@
+@@ -156,4 +156,11 @@ config LEDS_TRIGGER_MORSE
tristate "LED Morse Trigger"
depends on LEDS_TRIGGERS
endif # NEW_LEDS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -26,3 +26,4 @@
+@@ -26,3 +26,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_MORSE) += ledtrig-morse.o
--- a/drivers/input/misc/Kconfig
+++ b/drivers/input/misc/Kconfig
-@@ -183,4 +183,20 @@
+@@ -183,4 +183,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
-@@ -18,3 +18,4 @@
+@@ -18,3 +18,4 @@ obj-$(CONFIG_INPUT_POWERMATE) += powerm
obj-$(CONFIG_INPUT_YEALINK) += yealink.o
obj-$(CONFIG_HP_SDC_RTC) += hp_sdc_rtc.o
obj-$(CONFIG_INPUT_UINPUT) += uinput.o
--- a/drivers/char/Kconfig
+++ b/drivers/char/Kconfig
-@@ -946,6 +946,13 @@
+@@ -946,6 +946,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
-@@ -93,6 +93,7 @@
+@@ -93,6 +93,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
-@@ -420,6 +420,7 @@
+@@ -420,6 +420,7 @@ config FS_POSIX_ACL
source "fs/xfs/Kconfig"
source "fs/gfs2/Kconfig"
tristate "OCFS2 file system support"
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -120,3 +120,4 @@
+@@ -120,3 +120,4 @@ obj-$(CONFIG_HPPFS) += hppfs/
obj-$(CONFIG_DEBUG_FS) += debugfs/
obj-$(CONFIG_OCFS2_FS) += ocfs2/
obj-$(CONFIG_GFS2_FS) += gfs2/
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
-@@ -345,6 +345,50 @@
+@@ -345,6 +345,50 @@ int phy_ethtool_gset(struct phy_device *
}
EXPORT_SYMBOL(phy_ethtool_gset);
* @phydev: the phy_device struct
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -398,6 +398,7 @@
+@@ -398,6 +398,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);
};
/*
-@@ -55,10 +65,10 @@
+@@ -55,10 +65,10 @@ struct atm_newif_br2684 {
#define BR2684_FIND_BYNUM (1)
#define BR2684_FIND_BYIFNAME (2)
struct br2684_if_spec {
} spec;
};
-@@ -68,16 +78,16 @@
+@@ -68,16 +78,16 @@ struct br2684_if_spec {
* is per-backend specific
*/
struct atm_backend_br2684 {
};
/*
-@@ -86,8 +96,8 @@
+@@ -86,8 +96,8 @@ struct atm_backend_br2684 {
* efficient per-if in/out filters, this support will be removed
*/
struct br2684_filter {
};
struct br2684_filter_set {
-@@ -95,7 +105,13 @@
+@@ -95,7 +105,13 @@ struct br2684_filter_set {
struct br2684_filter filter;
};
#include <linux/module.h>
#include <linux/init.h>
-@@ -39,21 +41,35 @@
+@@ -39,21 +41,35 @@ static void skb_debug(const struct sk_bu
#define skb_debug(skb) do {} while (0)
#endif
enum br2684_encaps encaps;
struct list_head brvccs;
#ifdef CONFIG_ATM_BR2684_IPFILTER
-@@ -66,9 +82,10 @@
+@@ -66,9 +82,10 @@ struct br2684_dev {
struct net_device *net_dev;
struct list_head br2684_devs;
int number;
};
/*
-@@ -84,7 +101,7 @@
+@@ -84,7 +101,7 @@ static LIST_HEAD(br2684_devs);
static inline struct br2684_dev *BRPRIV(const struct net_device *net_dev)
{
}
static inline struct net_device *list_entry_brdev(const struct list_head *le)
-@@ -94,7 +111,7 @@
+@@ -94,7 +111,7 @@ static inline struct net_device *list_en
static inline struct br2684_vcc *BR2684_VCC(const struct atm_vcc *atmvcc)
{
}
static inline struct br2684_vcc *list_entry_brvcc(const struct list_head *le)
-@@ -132,10 +149,11 @@
+@@ -132,10 +149,11 @@ static struct net_device *br2684_find_de
* otherwise false
*/
static int br2684_xmit_vcc(struct sk_buff *skb, struct br2684_dev *brdev,
if (skb_headroom(skb) < minheadroom) {
struct sk_buff *skb2 = skb_realloc_headroom(skb, minheadroom);
brvcc->copies_needed++;
-@@ -146,23 +164,48 @@
+@@ -146,23 +164,48 @@ static int br2684_xmit_vcc(struct sk_buf
}
skb = skb2;
}
atomic_add(skb->truesize, &sk_atm(atmvcc)->sk_wmem_alloc);
ATM_SKB(skb)->atm_options = atmvcc->atm_options;
brdev->stats.tx_packets++;
-@@ -172,10 +215,9 @@
+@@ -172,10 +215,9 @@ static int br2684_xmit_vcc(struct sk_buf
}
static inline struct br2684_vcc *pick_outgoing_vcc(struct sk_buff *skb,
}
static int br2684_start_xmit(struct sk_buff *skb, struct net_device *dev)
-@@ -199,11 +241,10 @@
+@@ -199,11 +241,10 @@ static int br2684_start_xmit(struct sk_b
/*
* We should probably use netif_*_queue() here, but that
* involves added complication. We need to walk before
brdev->stats.tx_errors++;
brdev->stats.tx_fifo_errors++;
}
-@@ -217,12 +258,11 @@
+@@ -217,12 +258,11 @@ static struct net_device_stats *br2684_g
return &BRPRIV(dev)->stats;
}
static int br2684_mac_addr(struct net_device *dev, void *p)
{
int err = my_eth_mac_addr(dev, p);
-@@ -233,7 +273,7 @@
+@@ -233,7 +273,7 @@ static int br2684_mac_addr(struct net_de
#ifdef CONFIG_ATM_BR2684_IPFILTER
/* this IOCTL is experimental. */
{
struct br2684_vcc *brvcc;
struct br2684_filter_set fs;
-@@ -243,13 +283,12 @@
+@@ -243,13 +283,12 @@ static int br2684_setfilt(struct atm_vcc
if (fs.ifspec.method != BR2684_FIND_BYNOTHING) {
/*
* This is really a per-vcc thing, but we can also search
brvcc = NULL;
else
brvcc = list_entry_brvcc(brdev->brvccs.next);
-@@ -267,15 +306,16 @@
+@@ -267,15 +306,16 @@ static inline int
packet_fails_filter(__be16 type, struct br2684_vcc *brvcc, struct sk_buff *skb)
{
if (brvcc->filter.netmask == 0)
*/
return 1; /* drop */
}
-@@ -299,7 +339,6 @@
+@@ -299,7 +339,6 @@ static void br2684_push(struct atm_vcc *
struct br2684_vcc *brvcc = BR2684_VCC(atmvcc);
struct net_device *net_dev = brvcc->device;
struct br2684_dev *brdev = BRPRIV(net_dev);
pr_debug("br2684_push\n");
-@@ -320,35 +359,58 @@
+@@ -320,35 +359,58 @@ static void br2684_push(struct atm_vcc *
atm_return(atmvcc, skb->truesize);
pr_debug("skb from brdev %p\n", brdev);
if (brvcc->encaps == e_llc) {
#ifdef CONFIG_ATM_BR2684_IPFILTER
if (unlikely(packet_fails_filter(skb->protocol, brvcc, skb))) {
brdev->stats.rx_dropped++;
-@@ -372,11 +434,12 @@
+@@ -372,11 +434,12 @@ static void br2684_push(struct atm_vcc *
netif_rx(skb);
}
int err;
struct br2684_vcc *brvcc;
struct sk_buff *skb;
-@@ -395,7 +458,7 @@
+@@ -395,7 +458,7 @@ Note: we do not have explicit unassign,
net_dev = br2684_find_dev(&be.ifspec);
if (net_dev == NULL) {
printk(KERN_ERR
err = -ENXIO;
goto error;
}
-@@ -411,13 +474,15 @@
+@@ -411,13 +474,15 @@ Note: we do not have explicit unassign,
}
if (be.fcs_in != BR2684_FCSIN_NO || be.fcs_out != BR2684_FCSOUT_NO ||
be.fcs_auto || be.has_vpiid || be.send_padding || (be.encaps !=
if (list_empty(&brdev->brvccs) && !brdev->mac_was_set) {
unsigned char *esi = atmvcc->dev->esi;
if (esi[0] | esi[1] | esi[2] | esi[3] | esi[4] | esi[5])
-@@ -430,7 +495,7 @@
+@@ -430,7 +495,7 @@ Note: we do not have explicit unassign,
brvcc->device = net_dev;
brvcc->atmvcc = atmvcc;
atmvcc->user_back = brvcc;
brvcc->old_push = atmvcc->push;
barrier();
atmvcc->push = br2684_push;
-@@ -461,7 +526,7 @@
+@@ -461,7 +526,7 @@ Note: we do not have explicit unassign,
}
__module_get(THIS_MODULE);
return 0;
write_unlock_irq(&devs_lock);
kfree(brvcc);
return err;
-@@ -482,25 +547,52 @@
+@@ -482,25 +547,52 @@ static void br2684_setup(struct net_devi
INIT_LIST_HEAD(&brdev->brvccs);
}
if (!netdev)
return -ENOMEM;
-@@ -516,6 +608,7 @@
+@@ -516,6 +608,7 @@ static int br2684_create(void __user *ar
}
write_lock_irq(&devs_lock);
brdev->number = list_empty(&br2684_devs) ? 1 :
BRPRIV(list_entry_brdev(br2684_devs.prev))->number + 1;
list_add_tail(&brdev->br2684_devs, &br2684_devs);
-@@ -528,16 +621,16 @@
+@@ -528,16 +621,16 @@ static int br2684_create(void __user *ar
* -ENOIOCTLCMD for any unrecognized ioctl
*/
static int br2684_ioctl(struct socket *sock, unsigned int cmd,
err = get_user(b, (atm_backend_t __user *) argp);
if (err)
return -EFAULT;
-@@ -549,7 +642,6 @@
+@@ -549,7 +642,6 @@ static int br2684_ioctl(struct socket *s
return br2684_regvcc(atmvcc, argp);
else
return br2684_create(argp);
#ifdef CONFIG_ATM_BR2684_IPFILTER
case BR2684_SETFILT:
if (atmvcc->push != br2684_push)
-@@ -557,6 +649,7 @@
+@@ -557,6 +649,7 @@ static int br2684_ioctl(struct socket *s
if (!capable(CAP_NET_ADMIN))
return -EPERM;
err = br2684_setfilt(atmvcc, argp);
return err;
#endif /* CONFIG_ATM_BR2684_IPFILTER */
}
-@@ -564,24 +657,25 @@
+@@ -564,24 +657,25 @@ static int br2684_ioctl(struct socket *s
}
static struct atm_ioctl br2684_ioctl_ops = {
{
read_unlock(&devs_lock);
}
-@@ -589,7 +683,7 @@
+@@ -589,7 +683,7 @@ static void br2684_seq_stop(struct seq_f
static int br2684_seq_show(struct seq_file *seq, void *v)
{
const struct br2684_dev *brdev = list_entry(v, struct br2684_dev,
const struct net_device *net_dev = brdev->net_dev;
const struct br2684_vcc *brvcc;
DECLARE_MAC_BUF(mac);
-@@ -601,21 +695,19 @@
+@@ -601,21 +695,19 @@ static int br2684_seq_show(struct seq_fi
brdev->mac_was_set ? "set" : "auto");
list_for_each_entry(brvcc, &brdev->brvccs, brvccs) {
#undef bs
#undef b1
#endif /* CONFIG_ATM_BR2684_IPFILTER */
-@@ -625,9 +717,9 @@
+@@ -625,9 +717,9 @@ static int br2684_seq_show(struct seq_fi
static const struct seq_operations br2684_seq_ops = {
.start = br2684_seq_start,
};
static int br2684_proc_open(struct inode *inode, struct file *file)
-@@ -636,26 +728,28 @@
+@@ -636,26 +728,28 @@ static int br2684_proc_open(struct inode
}
static const struct file_operations br2684_proc_ops = {
}
static void __exit br2684_exit(void)
-@@ -689,3 +783,4 @@
+@@ -689,3 +783,4 @@ module_exit(br2684_exit);
MODULE_AUTHOR("Marcell GAL");
MODULE_DESCRIPTION("RFC2684 bridged protocols over ATM/AAL5");
MODULE_LICENSE("GPL");
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
-@@ -686,6 +686,7 @@
+@@ -686,6 +686,7 @@ and is between 256 and 4096 characters.
See Documentation/isdn/README.HiSax.
hugepages= [HW,X86-32,IA-64] Maximal number of HugeTLB pages.
i8042.dumbkbd [HW] Pretend that controller can only read data from
--- a/Documentation/powerpc/00-INDEX
+++ b/Documentation/powerpc/00-INDEX
-@@ -28,3 +28,6 @@
+@@ -28,3 +28,6 @@ sound.txt
- info on sound support under Linux/PPC
zImage_layout.txt
- info on the kernel images for Linux/PPC
+ Engine and the code that parses and uploads the microcode therein.
--- a/Documentation/powerpc/booting-without-of.txt
+++ b/Documentation/powerpc/booting-without-of.txt
-@@ -52,7 +52,11 @@
+@@ -52,7 +52,11 @@ Table of Contents
i) Freescale QUICC Engine module (QE)
j) CFI or JEDEC memory-mapped NOR flash
k) Global Utilities Block
VII - Specifying interrupt information for devices
1) interrupts property
-@@ -671,10 +675,10 @@
+@@ -671,10 +675,10 @@ device or bus to be described by the dev
In general, the format of an address for a device is defined by the
parent bus type, based on the #address-cells and #size-cells
Those 2 properties define 'cells' for representing an address and a
size. A "cell" is a 32-bit number. For example, if both contain 2
-@@ -711,13 +715,14 @@
+@@ -711,13 +715,14 @@ define a bus type with a more complex ad
like address space bits, you'll have to add a bus translator to the
prom_parse.c file of the recent kernels for your bus type.
bus address, parent bus address, size
-@@ -735,6 +740,10 @@
+@@ -735,6 +740,10 @@ fit in a single 32-bit word. New 32-bi
1/1 format, unless the processor supports physical addresses greater
than 32-bits, in which case a 2/1 format is recommended.
2) Note about "compatible" properties
-------------------------------------
-@@ -1218,16 +1227,14 @@
+@@ -1218,16 +1227,14 @@ platforms are moved over to use the flat
Required properties:
- reg : Offset and length of the register set for the device
ethernet-phy@0 {
......
-@@ -1254,6 +1261,10 @@
+@@ -1254,6 +1261,10 @@ platforms are moved over to use the flat
services interrupts for this device.
- phy-handle : The phandle for the PHY connected to this ethernet
controller.
Recommended properties:
-@@ -1408,7 +1419,6 @@
+@@ -1408,7 +1419,6 @@ platforms are moved over to use the flat
Example multi port host USB controller device node :
usb@22000 {
compatible = "fsl-usb2-mph";
reg = <22000 1000>;
#address-cells = <1>;
-@@ -1422,7 +1432,6 @@
+@@ -1422,7 +1432,6 @@ platforms are moved over to use the flat
Example dual role USB controller device node :
usb@23000 {
compatible = "fsl-usb2-dr";
reg = <23000 1000>;
#address-cells = <1>;
-@@ -1586,7 +1595,6 @@
+@@ -1586,7 +1595,6 @@ platforms are moved over to use the flat
iii) USB (Universal Serial Bus Controller)
Required properties:
- compatible : could be "qe_udc" or "fhci-hcd".
- mode : the could be "host" or "slave".
- reg : Offset and length of the register set for the device
-@@ -1600,7 +1608,6 @@
+@@ -1600,7 +1608,6 @@ platforms are moved over to use the flat
Example(slave):
usb@6c0 {
compatible = "qe_udc";
reg = <6c0 40>;
interrupts = <8b 0>;
-@@ -1613,7 +1620,7 @@
+@@ -1613,7 +1620,7 @@ platforms are moved over to use the flat
Required properties:
- device_type : should be "network", "hldc", "uart", "transparent"
- compatible : could be "ucc_geth" or "fsl_atm" and so on.
- model : should be "UCC".
- device-id : the ucc number(1-8), corresponding to UCCx in UM.
-@@ -1626,6 +1633,26 @@
+@@ -1626,6 +1633,26 @@ platforms are moved over to use the flat
- interrupt-parent : the phandle for the interrupt controller that
services interrupts for this device.
- pio-handle : The phandle for the Parallel I/O port configuration.
- rx-clock : represents the UCC receive clock source.
0x00 : clock source is disabled;
0x1~0x10 : clock source is BRG1~BRG16 respectively;
-@@ -1772,6 +1799,32 @@
+@@ -1772,6 +1799,32 @@ platforms are moved over to use the flat
};
};
j) CFI or JEDEC memory-mapped NOR flash
Flash chips (Memory Technology Devices) are often used for solid state
-@@ -2075,8 +2128,7 @@
+@@ -2075,8 +2128,7 @@ platforms are moved over to use the flat
Example:
localbus@f0010100 {
"fsl,pq2-localbus";
#address-cells = <2>;
#size-cells = <1>;
-@@ -2254,7 +2306,7 @@
+@@ -2254,7 +2306,7 @@ platforms are moved over to use the flat
available.
For Axon: 0x0000012a
The Xilinx EDK toolchain ships with a set of IP cores (devices) for use
in Xilinx Spartan and Virtex FPGAs. The devices cover the whole range
-@@ -2276,7 +2328,7 @@
+@@ -2276,7 +2328,7 @@ platforms are moved over to use the flat
properties of the device node. In general, device nodes for IP-cores
will take the following form:
compatible = "xlnx,(ip-core-name)-(HW_VER)"
[, (list of compatible devices), ...];
reg = <(baseaddr) (size)>;
-@@ -2286,6 +2338,9 @@
+@@ -2286,6 +2338,9 @@ platforms are moved over to use the flat
xlnx,(parameter2) = <(int-value)>;
};
(ip-core-name): the name of the ip block (given after the BEGIN
directive in system.mhs). Should be in lowercase
and all underscores '_' converted to dashes '-'.
-@@ -2294,9 +2349,9 @@
+@@ -2294,9 +2349,9 @@ platforms are moved over to use the flat
dropped from the parameter name, the name is converted
to lowercase and all underscore '_' characters are
converted to dashes '-'.
Typically, the compatible list will include the exact IP core version
followed by an older IP core version which implements the same
-@@ -2326,11 +2381,11 @@
+@@ -2326,11 +2381,11 @@ platforms are moved over to use the flat
becomes the following device tree node:
interrupts = <1 0>; // got this from the opb_intc parameters
current-speed = <d#115200>; // standard serial device prop
clock-frequency = <d#50000000>; // standard serial device prop
-@@ -2339,16 +2394,19 @@
+@@ -2339,16 +2394,19 @@ platforms are moved over to use the flat
xlnx,use-parity = <0>;
};
BEGIN opb_ps2_dual_ref
PARAMETER INSTANCE = opb_ps2_dual_ref_0
-@@ -2370,21 +2428,24 @@
+@@ -2370,21 +2428,24 @@ platforms are moved over to use the flat
It would result in the following device tree nodes:
interrupts = <3 0>;
cell-index = <0>;
};
-@@ -2447,17 +2508,18 @@
+@@ -2447,17 +2508,18 @@ platforms are moved over to use the flat
Gives this device tree (some properties removed for clarity):
#address-cells = <1>;
#size-cells = <1>;
ranges = <20000000 20000000 20000000
-@@ -2465,11 +2527,11 @@
+@@ -2465,11 +2527,11 @@ platforms are moved over to use the flat
80000000 80000000 40000000
c0000000 c0000000 20000000>;
reg = <d1000fc0 20>;
};
};
-@@ -2514,6 +2576,46 @@
+@@ -2514,6 +2576,46 @@ platforms are moved over to use the flat
Requred properties:
- current-speed : Baud rate of uartlite
+distributed by Freescale can be found on http://opensource.freescale.com.
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
-@@ -140,6 +140,9 @@
+@@ -140,6 +140,9 @@ config DEFAULT_UIMAGE
Used to allow a board to specify it wants a uImage built by default
default n
config PPC64_SWSUSP
bool
depends on PPC64 && (BROKEN || (PPC_PMAC64 && EXPERIMENTAL))
-@@ -160,11 +163,13 @@
+@@ -160,11 +163,13 @@ config PPC_DCR
config PPC_OF_PLATFORM_PCI
bool
source "arch/powerpc/platforms/Kconfig"
menu "Kernel options"
-@@ -417,7 +422,7 @@
+@@ -417,7 +422,7 @@ endmenu
config ISA_DMA_API
bool
menu "Bus options"
-@@ -467,7 +472,7 @@
+@@ -467,7 +472,7 @@ config MCA
config PCI
bool "PCI support" if 40x || CPM2 || PPC_83xx || PPC_85xx || PPC_86xx \
|| PPC_MPC52xx || (EMBEDDED && (PPC_PSERIES || PPC_ISERIES)) \
default PCI_PERMEDIA if !4xx && !CPM2 && !8xx
--- a/arch/powerpc/Kconfig.debug
+++ b/arch/powerpc/Kconfig.debug
-@@ -151,6 +151,13 @@
+@@ -151,6 +151,13 @@ config BOOTX_TEXT
config PPC_EARLY_DEBUG
bool "Early debugging (dangerous)"
choice
prompt "Early debugging console"
-@@ -218,7 +225,16 @@
+@@ -218,7 +225,16 @@ config PPC_EARLY_DEBUG_44x
depends on 44x
help
Select this to enable early debugging for IBM 44x chips via the
config PPC_EARLY_DEBUG_CPM
bool "Early serial debugging for Freescale CPM-based serial ports"
-@@ -235,12 +251,20 @@
+@@ -235,12 +251,20 @@ config PPC_EARLY_DEBUG_44x_PHYSLOW
hex "Low 32 bits of early debug UART physical address"
depends on PPC_EARLY_DEBUG_44x
default "0x40000200"
depends on PPC_EARLY_DEBUG_CPM
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
-@@ -167,6 +167,9 @@
+@@ -167,6 +167,9 @@ boot := arch/$(ARCH)/boot
$(BOOT_TARGETS): vmlinux
$(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
if (bank_config & SDRAM_CONFIG_BANK_ENABLE)
memsize += SDRAM_CONFIG_BANK_SIZE(bank_config);
}
-@@ -39,6 +37,69 @@
+@@ -39,6 +37,69 @@ void ibm4xx_fixup_memsize(void)
dt_fixup_memory(0, memsize);
}
/* 4xx DDR1/2 Denali memory controller support */
/* DDR0 registers */
#define DDR0_02 2
-@@ -77,19 +138,13 @@
+@@ -77,19 +138,13 @@ void ibm4xx_fixup_memsize(void)
#define DDR_GET_VAL(val, mask, shift) (((val) >> (shift)) & (mask))
if (!DDR_GET_VAL(val, DDR_START, DDR_START_SHIFT))
fatal("DDR controller is not initialized\n");
-@@ -99,12 +154,12 @@
+@@ -99,12 +154,12 @@ void ibm4xx_denali_fixup_memsize(void)
max_row = DDR_GET_VAL(val, DDR_MAX_ROW_REG, DDR_MAX_ROW_REG_SHIFT);
/* get CS value */
cs++;
val = val >> 1;
}
-@@ -115,15 +170,15 @@
+@@ -115,15 +170,15 @@ void ibm4xx_denali_fixup_memsize(void)
fatal("DDR wrong CS configuration\n");
/* get data path bytes */
row = DDR_GET_VAL(val, DDR_APIN, DDR_APIN_SHIFT);
if (row > max_row)
-@@ -131,7 +186,7 @@
+@@ -131,7 +186,7 @@ void ibm4xx_denali_fixup_memsize(void)
row = max_row - row;
/* get collomn size and banks */
col = DDR_GET_VAL(val, DDR_COL_SZ, DDR_COL_SZ_SHIFT);
if (col > max_col)
-@@ -179,13 +234,17 @@
+@@ -179,13 +234,17 @@ void ibm40x_dbcr_reset(void)
#define EMAC_RESET 0x20000000
void ibm4xx_quiesce_eth(u32 *emac0, u32 *emac1)
{
}
/* Read 4xx EBC bus bridge registers to get mappings of the peripheral
-@@ -217,84 +276,335 @@
+@@ -217,84 +276,335 @@ void ibm4xx_fixup_ebc_ranges(const char
setprop(devp, "ranges", ranges, (p - ranges) * sizeof(u32));
}
#endif /* _POWERPC_BOOT_4XX_H_ */
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
-@@ -33,12 +33,15 @@
+@@ -33,12 +33,15 @@ ifeq ($(call cc-option-yn, -fstack-prote
BOOTCFLAGS += -fno-stack-protector
endif
zlib := inffast.c inflate.c inftrees.c
zlibheader := inffast.h inffixed.h inflate.h inftrees.h infutil.h
zliblinuxheader := zlib.h zconf.h zutil.h
-@@ -46,17 +49,21 @@
+@@ -46,17 +49,21 @@ zliblinuxheader := zlib.h zconf.h zutil.
$(addprefix $(obj)/,$(zlib) gunzip_util.o main.o): \
$(addprefix $(obj)/,$(zliblinuxheader)) $(addprefix $(obj)/,$(zlibheader))
src-boot := $(src-wlib) $(src-plat) empty.c
src-boot := $(addprefix $(obj)/, $(src-boot))
-@@ -101,24 +108,61 @@
+@@ -101,24 +108,61 @@ quiet_cmd_bootar = BOOTAR $@
cmd_bootar = $(CROSS32AR) -cr $@.$$$$ $(filter-out FORCE,$^); mv $@.$$$$ $@
$(patsubst %.c,%.o, $(filter %.c, $(src-boot))): %.o: %.c FORCE
# Bits for building various flavours of zImage
ifneq ($(CROSS32_COMPILE),)
-@@ -150,15 +194,26 @@
+@@ -150,15 +194,26 @@ image-$(CONFIG_DEFAULT_UIMAGE) += uImag
ifneq ($(CONFIG_DEVICE_TREE),"")
image-$(CONFIG_PPC_8xx) += cuImage.8xx
image-$(CONFIG_PPC_EP88XC) += zImage.ep88xc
endif
# For 32-bit powermacs, build the COFF and miboot images
-@@ -243,3 +298,51 @@
+@@ -243,3 +298,51 @@ clean-kernel := vmlinux.strip vmlinux.bi
clean-kernel += $(addsuffix .gz,$(clean-kernel))
# If not absolute clean-files are relative to $(obj).
clean-files += $(addprefix $(objtree)/, $(clean-kernel))
+
--- a/arch/powerpc/boot/bamboo.c
+++ b/arch/powerpc/boot/bamboo.c
-@@ -30,8 +30,8 @@
+@@ -30,8 +30,8 @@ static void bamboo_fixups(void)
{
unsigned long sysclk = 33333333;
ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
dt_fixup_mac_addresses(bamboo_mac0, bamboo_mac1);
}
-@@ -42,6 +42,6 @@
+@@ -42,6 +42,6 @@ void bamboo_init(void *mac0, void *mac1)
platform_ops.exit = ibm44x_dbcr_reset;
bamboo_mac0 = mac0;
bamboo_mac1 = mac1;
}
--- a/arch/powerpc/boot/cuboot-52xx.c
+++ b/arch/powerpc/boot/cuboot-52xx.c
-@@ -53,7 +53,7 @@
+@@ -53,7 +53,7 @@ void platform_init(unsigned long r3, uns
unsigned long r6, unsigned long r7)
{
CUBOOT_INIT();
+}
--- a/arch/powerpc/boot/cuboot-83xx.c
+++ b/arch/powerpc/boot/cuboot-83xx.c
-@@ -24,7 +24,8 @@
+@@ -24,7 +24,8 @@ static void platform_fixups(void)
void *soc;
dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);
dt_fixup_cpu_clocks(bd.bi_intfreq, bd.bi_busfreq / 4, bd.bi_busfreq);
/* Unfortunately, the specific model number is encoded in the
-@@ -52,7 +53,7 @@
+@@ -52,7 +53,7 @@ void platform_init(unsigned long r3, uns
unsigned long r6, unsigned long r7)
{
CUBOOT_INIT();
}
--- a/arch/powerpc/boot/cuboot-85xx.c
+++ b/arch/powerpc/boot/cuboot-85xx.c
-@@ -24,8 +24,9 @@
+@@ -24,8 +24,9 @@ static void platform_fixups(void)
void *soc;
dt_fixup_memory(bd.bi_memstart, bd.bi_memsize);
dt_fixup_cpu_clocks(bd.bi_intfreq, bd.bi_busfreq / 8, bd.bi_busfreq);
/* Unfortunately, the specific model number is encoded in the
-@@ -53,7 +54,7 @@
+@@ -53,7 +54,7 @@ void platform_init(unsigned long r3, uns
unsigned long r6, unsigned long r7)
{
CUBOOT_INIT();
}
--- a/arch/powerpc/boot/cuboot-8xx.c
+++ b/arch/powerpc/boot/cuboot-8xx.c
-@@ -41,7 +41,7 @@
+@@ -41,7 +41,7 @@ void platform_init(unsigned long r3, uns
unsigned long r6, unsigned long r7)
{
CUBOOT_INIT();
}
--- a/arch/powerpc/boot/cuboot-hpc2.c
+++ b/arch/powerpc/boot/cuboot-hpc2.c
-@@ -42,7 +42,7 @@
+@@ -42,7 +42,7 @@ void platform_init(unsigned long r3, uns
unsigned long r6, unsigned long r7)
{
CUBOOT_INIT();
+}
--- a/arch/powerpc/boot/cuboot-pq2.c
+++ b/arch/powerpc/boot/cuboot-pq2.c
-@@ -255,7 +255,7 @@
+@@ -255,7 +255,7 @@ void platform_init(unsigned long r3, uns
unsigned long r6, unsigned long r7)
{
CUBOOT_INIT();
+}
--- a/arch/powerpc/boot/cuboot-sequoia.c
+++ b/arch/powerpc/boot/cuboot-sequoia.c
-@@ -39,7 +39,7 @@
+@@ -39,7 +39,7 @@ static void sequoia_fixups(void)
{
unsigned long sysclk = 33333333;
ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
ibm4xx_denali_fixup_memsize();
dt_fixup_mac_addresses(&bd.bi_enetaddr, &bd.bi_enet1addr);
-@@ -51,6 +51,6 @@
+@@ -51,6 +51,6 @@ void platform_init(unsigned long r3, uns
CUBOOT_INIT();
platform_ops.fixups = sequoia_fixups;
platform_ops.exit = ibm44x_dbcr_reset;
#define SDRAM_CONFIG_BANK_ENABLE 0x00000001
#define SDRAM_CONFIG_SIZE_MASK 0x000e0000
-@@ -138,5 +146,54 @@
+@@ -138,5 +146,54 @@ static const unsigned long sdram_bxcr[]
#define DCRN_CPC0_PLLMR 0xb0
#define DCRN_405_CPC0_CR0 0xb1
#define DCRN_405_CPC0_CR1 0xb2
#endif /* _PPC_BOOT_DCR_H_ */
--- a/arch/powerpc/boot/devtree.c
+++ b/arch/powerpc/boot/devtree.c
-@@ -88,6 +88,20 @@
+@@ -88,6 +88,20 @@ void dt_fixup_clock(const char *path, u3
}
}
};
--- a/arch/powerpc/boot/dts/kuroboxHD.dts
+++ b/arch/powerpc/boot/dts/kuroboxHD.dts
-@@ -23,6 +23,12 @@
+@@ -23,6 +23,12 @@ XXXX add flash parts, rtc, ??
#address-cells = <1>;
#size-cells = <1>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
-@@ -60,7 +66,7 @@
+@@ -60,7 +66,7 @@ XXXX add flash parts, rtc, ??
i2c@80003000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <80003000 1000>;
interrupts = <5 2>;
-@@ -73,7 +79,8 @@
+@@ -73,7 +79,8 @@ XXXX add flash parts, rtc, ??
};
};
device_type = "serial";
compatible = "ns16550";
reg = <80004500 8>;
-@@ -83,7 +90,8 @@
+@@ -83,7 +90,8 @@ XXXX add flash parts, rtc, ??
interrupt-parent = <&mpic>;
};
device_type = "serial";
compatible = "ns16550";
reg = <80004600 8>;
-@@ -102,7 +110,7 @@
+@@ -102,7 +110,7 @@ XXXX add flash parts, rtc, ??
reg = <80040000 40000>;
};
#interrupt-cells = <1>;
--- a/arch/powerpc/boot/dts/kuroboxHG.dts
+++ b/arch/powerpc/boot/dts/kuroboxHG.dts
-@@ -23,6 +23,12 @@
+@@ -23,6 +23,12 @@ XXXX add flash parts, rtc, ??
#address-cells = <1>;
#size-cells = <1>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
-@@ -60,7 +66,7 @@
+@@ -60,7 +66,7 @@ XXXX add flash parts, rtc, ??
i2c@80003000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl-i2c";
reg = <80003000 1000>;
interrupts = <5 2>;
-@@ -73,7 +79,8 @@
+@@ -73,7 +79,8 @@ XXXX add flash parts, rtc, ??
};
};
device_type = "serial";
compatible = "ns16550";
reg = <80004500 8>;
-@@ -83,7 +90,8 @@
+@@ -83,7 +90,8 @@ XXXX add flash parts, rtc, ??
interrupt-parent = <&mpic>;
};
device_type = "serial";
compatible = "ns16550";
reg = <80004600 8>;
-@@ -102,7 +110,7 @@
+@@ -102,7 +110,7 @@ XXXX add flash parts, rtc, ??
reg = <80040000 40000>;
};
#define EBONY_FPGA_PATH "/plb/opb/ebc/fpga"
#define EBONY_FPGA_FLASH_SEL 0x01
#define EBONY_SMALL_FLASH_PATH "/plb/opb/ebc/small-flash"
-@@ -134,7 +74,7 @@
+@@ -134,7 +74,7 @@ static void ebony_fixups(void)
unsigned long sysclk = 33000000;
ibm440gp_fixup_clocks(sysclk, 6 * 1843200);
dt_fixup_mac_addresses(ebony_mac0, ebony_mac1);
ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
ebony_flashsel_fixup();
-@@ -146,6 +86,6 @@
+@@ -146,6 +86,6 @@ void ebony_init(void *mac0, void *mac1)
platform_ops.exit = ibm44x_dbcr_reset;
ebony_mac0 = mac0;
ebony_mac1 = mac1;
+}
--- a/arch/powerpc/boot/ep88xc.c
+++ b/arch/powerpc/boot/ep88xc.c
-@@ -45,7 +45,7 @@
+@@ -45,7 +45,7 @@ void platform_init(unsigned long r3, uns
mem_size *= 1024 * 1024;
simple_alloc_init(_end, mem_size - (unsigned long)_end, 32, 64);
-}
--- a/arch/powerpc/boot/holly.c
+++ b/arch/powerpc/boot/holly.c
-@@ -28,6 +28,6 @@
+@@ -28,6 +28,6 @@ void platform_init(unsigned long r3, uns
u32 heapsize = 0x8000000 - (u32)_end; /* 128M */
simple_alloc_init(_end, heapsize, 32, 64);
static struct gunzip_state gzstate;
--- a/arch/powerpc/boot/ops.h
+++ b/arch/powerpc/boot/ops.h
-@@ -79,7 +79,7 @@
+@@ -79,7 +79,7 @@ struct loader_info {
extern struct loader_info loader_info;
void start(void);
int serial_console_init(void);
int ns16550_console_init(void *devp, struct serial_console_data *scdp);
int mpsc_console_init(void *devp, struct serial_console_data *scdp);
-@@ -159,9 +159,23 @@
+@@ -159,9 +159,23 @@ static inline void *find_node_by_devtype
return find_node_by_prop_value_str(prev, "device_type", type);
}
#define dt_fixup_mac_addresses(...) \
--- a/arch/powerpc/boot/prpmc2800.c
+++ b/arch/powerpc/boot/prpmc2800.c
-@@ -547,8 +547,7 @@
+@@ -547,8 +547,7 @@ void platform_init(unsigned long r3, uns
if (!dtb)
exit();
memmove(dtb, _dtb_start, dt_size);
--- a/arch/powerpc/boot/ps3.c
+++ b/arch/powerpc/boot/ps3.c
-@@ -131,7 +131,7 @@
+@@ -131,7 +131,7 @@ void platform_init(void)
printf("\n-- PS3 bootwrapper --\n");
simple_alloc_init(_end, heapsize, 32, 64);
+#endif
--- a/arch/powerpc/boot/reg.h
+++ b/arch/powerpc/boot/reg.h
-@@ -16,6 +16,14 @@
+@@ -16,6 +16,14 @@ static inline u32 mfpvr(void)
return pvr;
}
--- a/arch/powerpc/boot/serial.c
+++ b/arch/powerpc/boot/serial.c
-@@ -128,7 +128,8 @@
+@@ -128,7 +128,8 @@ int serial_console_init(void)
rc = cpm_console_init(devp, &serial_cd);
else if (dt_is_compatible(devp, "mpc5200-psc-uart"))
rc = mpc5200_psc_console_init(devp, &serial_cd);
static void walnut_flashsel_fixup(void)
{
void *devp, *sram;
-@@ -112,7 +63,7 @@
+@@ -112,7 +63,7 @@ static void walnut_flashsel_fixup(void)
#define WALNUT_OPENBIOS_MAC_OFF 0xfffffe0b
static void walnut_fixups(void)
{
ibm405gp_fixup_clocks(33330000, 0xa8c000);
ibm4xx_quiesce_eth((u32 *)0xef600800, NULL);
ibm4xx_fixup_ebc_ranges("/plb/ebc");
-@@ -128,6 +79,6 @@
+@@ -128,6 +79,6 @@ void platform_init(void)
simple_alloc_init(_end, avail_ram, 32, 32);
platform_ops.fixups = walnut_fixups;
platform_ops.exit = ibm40x_dbcr_reset;
}
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
-@@ -45,6 +45,7 @@
+@@ -45,6 +45,7 @@ CROSS=
# directory for object and other files used by this script
object=arch/powerpc/boot
# directory for working files
tmpdir=.
-@@ -95,6 +96,7 @@
+@@ -95,6 +96,7 @@ while [ "$#" -gt 0 ]; do
shift
[ "$#" -gt 0 ] || usage
object="$1"
;;
-W)
shift
-@@ -116,10 +118,13 @@
+@@ -116,10 +118,13 @@ while [ "$#" -gt 0 ]; do
done
if [ -n "$dts" ]; then
fi
if [ -z "$kernel" ]; then
-@@ -163,7 +168,7 @@
+@@ -163,7 +168,7 @@ ps3)
ksection=.kernel:vmlinux.bin
isection=.kernel:initrd
;;
platformo="$object/fixed-head.o $object/$platform.o"
binary=y
;;
-@@ -246,11 +251,11 @@
+@@ -246,11 +251,11 @@ fi
# post-processing needed for some platforms
case "$platform" in
pseries|chrp)
;;
cuboot*)
gzip -f -9 "$ofile"
-@@ -259,7 +264,7 @@
+@@ -259,7 +264,7 @@ cuboot*)
;;
treeboot*)
mv "$ofile" "$ofile.elf"
if [ -z "$cacheit" ]; then
rm -f "$ofile.elf"
fi
-@@ -287,8 +292,6 @@
+@@ -287,8 +292,6 @@ ps3)
overlay_dest="256"
overlay_size="256"
${CROSS}objcopy -O binary "$ofile" "$ofile.bin"
dd if="$ofile.bin" of="$ofile.bin" conv=notrunc \
-@@ -299,6 +302,8 @@
+@@ -299,6 +302,8 @@ ps3)
skip=$system_reset_overlay seek=$overlay_dest \
count=$overlay_size bs=1
#
# CONFIG_PPC64 is not set
-@@ -131,6 +131,7 @@
+@@ -131,6 +131,7 @@ CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
# Platform support
-@@ -143,6 +144,9 @@
+@@ -143,6 +144,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_BAMBOO=y
# CONFIG_EBONY is not set
# CONFIG_SEQUOIA is not set
CONFIG_440EP=y
CONFIG_IBM440EP_ERR42=y
# CONFIG_MPIC is not set
-@@ -372,9 +376,7 @@
+@@ -372,9 +376,7 @@ CONFIG_MISC_DEVICES=y
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
CONFIG_NETDEVICES=y
# CONFIG_NETDEVICES_MULTIQUEUE is not set
# CONFIG_DUMMY is not set
-@@ -736,19 +738,7 @@
+@@ -736,19 +738,7 @@ CONFIG_DEBUGGER=y
# CONFIG_KGDB is not set
# CONFIG_XMON is not set
# CONFIG_BDI_SWITCH is not set
# Security options
--- a/arch/powerpc/configs/celleb_defconfig
+++ b/arch/powerpc/configs/celleb_defconfig
-@@ -50,7 +50,8 @@
+@@ -50,7 +50,8 @@ CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
# CONFIG_DEFAULT_UIMAGE is not set
# CONFIG_PPC_DCR_NATIVE is not set
CONFIG_PPC_OF_PLATFORM_PCI=y
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
-@@ -148,7 +149,7 @@
+@@ -148,7 +149,7 @@ CONFIG_PPC_MULTIPLATFORM=y
CONFIG_PPC_CELLEB=y
# CONFIG_PPC_PS3 is not set
CONFIG_PPC_CELL=y
# CONFIG_PPC_IBM_CELL_BLADE is not set
#
-@@ -157,13 +158,19 @@
+@@ -157,13 +158,19 @@ CONFIG_PPC_CELL=y
CONFIG_SPU_FS=y
CONFIG_SPU_FS_64K_LS=y
CONFIG_SPU_BASE=y
# CONFIG_MMIO_NVRAM is not set
# CONFIG_PPC_MPC106 is not set
# CONFIG_PPC_970_NAP is not set
-@@ -593,10 +600,11 @@
+@@ -593,10 +600,11 @@ CONFIG_MII=y
# CONFIG_NET_VENDOR_3COM is not set
# CONFIG_NET_TULIP is not set
# CONFIG_HP100 is not set
# CONFIG_NET_PCI is not set
# CONFIG_B44 is not set
CONFIG_NETDEV_1000=y
-@@ -741,6 +749,7 @@
+@@ -741,6 +749,7 @@ CONFIG_SERIAL_TXX9_CONSOLE=y
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
CONFIG_HVC_DRIVER=y
CONFIG_HVC_BEAT=y
# CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set
-@@ -822,6 +831,7 @@
+@@ -822,6 +831,7 @@ CONFIG_WATCHDOG=y
# Watchdog Device Drivers
#
# CONFIG_SOFT_WATCHDOG is not set
#
# PCI-based Watchdog Cards
-@@ -1245,17 +1255,7 @@
+@@ -1245,17 +1255,7 @@ CONFIG_XMON_DISASSEMBLY=y
CONFIG_IRQSTACKS=y
# CONFIG_VIRQ_DEBUG is not set
# CONFIG_BOOTX_TEXT is not set
#
# CONFIG_PPC64 is not set
-@@ -130,6 +130,7 @@
+@@ -130,6 +130,7 @@ CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
# Platform support
-@@ -142,6 +143,9 @@
+@@ -142,6 +143,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
# CONFIG_BAMBOO is not set
CONFIG_EBONY=y
# CONFIG_SEQUOIA is not set
#
# CONFIG_PPC64 is not set
-@@ -40,7 +40,7 @@
+@@ -40,7 +40,7 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y
CONFIG_OF=y
# CONFIG_GENERIC_TBSYNC is not set
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
-@@ -125,6 +125,7 @@
+@@ -125,6 +125,7 @@ CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
# Platform support
-@@ -134,9 +135,12 @@
+@@ -134,9 +135,12 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
# CONFIG_PPC_CELL is not set
# CONFIG_PPC_CELL_NATIVE is not set
# CONFIG_PQ2ADS is not set
# CONFIG_MPIC is not set
# CONFIG_MPIC_WEIRD is not set
# CONFIG_PPC_I8259 is not set
-@@ -199,11 +203,17 @@
+@@ -199,11 +203,17 @@ CONFIG_ISA_DMA_API=y
# Bus options
#
CONFIG_ZONE_DMA=y
#
# Advanced setup
-@@ -368,11 +378,13 @@
+@@ -368,11 +378,13 @@ CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
-@@ -395,9 +407,14 @@
+@@ -395,9 +407,14 @@ CONFIG_OF_DEVICE=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=35000
-@@ -417,6 +434,14 @@
+@@ -417,6 +434,14 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
# CONFIG_SCSI_NETLINK is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_NETDEVICES_MULTIQUEUE is not set
-@@ -426,9 +451,33 @@
+@@ -426,9 +451,33 @@ CONFIG_NETDEVICES=y
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_VETH is not set
#
# Wireless LAN
-@@ -436,6 +485,8 @@
+@@ -436,6 +485,8 @@ CONFIG_NETDEVICES=y
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
# CONFIG_WAN is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
-@@ -467,6 +518,7 @@
+@@ -467,6 +518,7 @@ CONFIG_NETDEVICES=y
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
-@@ -481,6 +533,7 @@
+@@ -481,6 +533,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
-@@ -490,8 +543,10 @@
+@@ -490,8 +543,10 @@ CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_NVRAM is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_I2C is not set
#
-@@ -525,6 +580,8 @@
+@@ -525,6 +580,8 @@ CONFIG_SSB_POSSIBLE=y
#
# Graphics support
#
# CONFIG_VGASTATE is not set
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
# CONFIG_FB is not set
-@@ -542,6 +599,7 @@
+@@ -542,6 +599,7 @@ CONFIG_SSB_POSSIBLE=y
# CONFIG_USB_SUPPORT is not set
# CONFIG_MMC is not set
# CONFIG_NEW_LEDS is not set
#
# CONFIG_PPC64 is not set
-@@ -144,6 +144,7 @@
+@@ -144,6 +144,7 @@ CONFIG_MPC8313_RDB=y
# CONFIG_MPC834x_MDS is not set
# CONFIG_MPC834x_ITX is not set
# CONFIG_MPC836x_MDS is not set
CONFIG_PPC_MPC831x=y
# CONFIG_MPIC is not set
# CONFIG_MPIC_WEIRD is not set
-@@ -336,15 +337,16 @@
+@@ -336,15 +337,16 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
# CONFIG_INFTL is not set
-@@ -381,11 +383,8 @@
+@@ -381,11 +383,8 @@ CONFIG_MTD_CFI_UTIL=y
# Mapping drivers for chip access
#
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_INTEL_VR_NOR is not set
# CONFIG_MTD_PLATRAM is not set
-@@ -406,7 +405,16 @@
+@@ -406,7 +405,16 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
# CONFIG_MTD_ONENAND is not set
#
-@@ -1178,7 +1186,17 @@
+@@ -1178,7 +1186,17 @@ CONFIG_TMPFS=y
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_HPFS_FS is not set
-@@ -1242,6 +1260,8 @@
+@@ -1242,6 +1260,8 @@ CONFIG_BITREVERSE=y
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
# CONFIG_LIBCRC32C is not set
CONFIG_HAS_IOPORT=y
--- a/arch/powerpc/configs/mpc834x_itx_defconfig
+++ b/arch/powerpc/configs/mpc834x_itx_defconfig
-@@ -570,7 +570,8 @@
+@@ -570,7 +570,8 @@ CONFIG_SATA_SIL=y
# CONFIG_PATA_SIS is not set
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
+CONFIG_CRYPTO_HW=y
--- a/arch/powerpc/configs/mpc8610_hpcd_defconfig
+++ b/arch/powerpc/configs/mpc8610_hpcd_defconfig
-@@ -696,7 +696,7 @@
+@@ -696,7 +696,7 @@ CONFIG_SERIAL_8250_RSA=y
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
# CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y
# CONFIG_LEGACY_PTYS is not set
# CONFIG_IPMI_HANDLER is not set
-@@ -708,7 +708,60 @@
+@@ -708,7 +708,60 @@ CONFIG_UNIX98_PTYS=y
# CONFIG_RAW_DRIVER is not set
# CONFIG_TCG_TPM is not set
CONFIG_DEVPORT=y
#
# SPI support
-@@ -763,7 +816,119 @@
+@@ -763,7 +816,119 @@ CONFIG_DUMMY_CONSOLE=y
#
# Sound
#
#
CONFIG_PPC64=y
-@@ -152,7 +152,6 @@
+@@ -152,7 +152,6 @@ CONFIG_PPC_PASEMI=y
CONFIG_PPC_PASEMI_IOMMU=y
# CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE is not set
CONFIG_PPC_PASEMI_MDIO=y
# CONFIG_PPC_CELLEB is not set
# CONFIG_PPC_PS3 is not set
# CONFIG_PPC_CELL is not set
-@@ -256,7 +255,7 @@
+@@ -256,7 +255,7 @@ CONFIG_PCI_DOMAINS=y
CONFIG_PCI_SYSCALL=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set
CONFIG_PCCARD=y
-@@ -663,7 +662,26 @@
+@@ -663,7 +662,26 @@ CONFIG_PATA_PCMCIA=y
# CONFIG_PATA_VIA is not set
# CONFIG_PATA_WINBOND is not set
CONFIG_PATA_PLATFORM=y
# CONFIG_FUSION is not set
#
-@@ -1686,6 +1704,10 @@
+@@ -1686,6 +1704,10 @@ CONFIG_XMON_DISASSEMBLY=y
# CONFIG_KEYS is not set
# CONFIG_SECURITY is not set
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
#
CONFIG_PPC64=y
-@@ -211,7 +211,7 @@
+@@ -211,7 +211,7 @@ CONFIG_MMIO_NVRAM=y
CONFIG_MPIC_U3_HT_IRQS=y
CONFIG_MPIC_BROKEN_REGREAD=y
CONFIG_IBMVIO=y
# CONFIG_PPC_MPC106 is not set
CONFIG_PPC_970_NAP=y
CONFIG_PPC_INDIRECT_IO=y
-@@ -375,7 +375,7 @@
+@@ -375,7 +375,7 @@ CONFIG_INET_TUNNEL=y
CONFIG_INET_XFRM_MODE_TRANSPORT=y
CONFIG_INET_XFRM_MODE_TUNNEL=y
CONFIG_INET_XFRM_MODE_BEET=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
# CONFIG_TCP_CONG_ADVANCED is not set
-@@ -929,6 +929,7 @@
+@@ -929,6 +929,7 @@ CONFIG_SPIDER_NET=m
CONFIG_NETDEV_10000=y
# CONFIG_CHELSIO_T1 is not set
# CONFIG_CHELSIO_T3 is not set
# CONFIG_IXGBE is not set
CONFIG_IXGB=m
# CONFIG_IXGB_NAPI is not set
-@@ -1558,6 +1559,7 @@
+@@ -1558,6 +1559,7 @@ CONFIG_INFINIBAND_ADDR_TRANS=y
CONFIG_INFINIBAND_MTHCA=m
CONFIG_INFINIBAND_MTHCA_DEBUG=y
# CONFIG_INFINIBAND_IPATH is not set
#
CONFIG_PPC64=y
-@@ -103,6 +103,7 @@
+@@ -103,6 +103,7 @@ CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0
-@@ -154,7 +155,6 @@
+@@ -154,7 +155,6 @@ CONFIG_PPC_PS3=y
# CONFIG_PS3_ADVANCED is not set
CONFIG_PS3_HTAB_SIZE=20
# CONFIG_PS3_DYNAMIC_DMA is not set
CONFIG_PS3_VUART=y
CONFIG_PS3_PS3AV=y
CONFIG_PS3_SYS_MANAGER=y
-@@ -162,6 +162,7 @@
+@@ -162,6 +162,7 @@ CONFIG_PS3_STORAGE=y
CONFIG_PS3_DISK=y
CONFIG_PS3_ROM=y
CONFIG_PS3_FLASH=y
CONFIG_PPC_CELL=y
# CONFIG_PPC_CELL_NATIVE is not set
# CONFIG_PPC_IBM_CELL_BLADE is not set
-@@ -225,7 +226,7 @@
+@@ -225,7 +226,7 @@ CONFIG_HAVE_MEMORY_PRESENT=y
# CONFIG_SPARSEMEM_STATIC is not set
CONFIG_SPARSEMEM_EXTREME=y
CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y
CONFIG_MEMORY_HOTPLUG=y
CONFIG_MEMORY_HOTPLUG_SPARSE=y
CONFIG_SPLIT_PTLOCK_CPUS=4
-@@ -338,7 +339,26 @@
+@@ -338,7 +339,26 @@ CONFIG_IPV6_SIT=y
# CONFIG_NET_PKTGEN is not set
# CONFIG_HAMRADIO is not set
# CONFIG_IRDA is not set
# CONFIG_AF_RXRPC is not set
#
-@@ -666,14 +686,14 @@
+@@ -666,14 +686,14 @@ CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
#
# CONFIG_SND_SEQUENCER is not set
# CONFIG_SND_MIXER_OSS is not set
# CONFIG_SND_PCM_OSS is not set
-@@ -702,7 +722,7 @@
+@@ -702,7 +722,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
#
# ALSA PowerPC devices
#
CONFIG_SND_PS3_DEFAULT_START_DELAY=2000
#
-@@ -747,7 +767,7 @@
+@@ -747,7 +767,7 @@ CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
CONFIG_USB_ARCH_HAS_OHCI=y
CONFIG_USB_ARCH_HAS_EHCI=y
# CONFIG_USB_DEBUG is not set
#
-@@ -761,13 +781,13 @@
+@@ -761,13 +781,13 @@ CONFIG_USB_DEVICEFS=y
#
# USB Host Controller Drivers
#
# CONFIG_USB_OHCI_HCD_PPC_OF is not set
# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
-@@ -1033,7 +1053,8 @@
+@@ -1033,7 +1053,8 @@ CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
CONFIG_INSTRUMENTATION=y
#
# CONFIG_PPC64 is not set
-@@ -129,6 +129,7 @@
+@@ -129,6 +129,7 @@ CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
# Platform support
-@@ -141,8 +142,10 @@
+@@ -141,8 +142,10 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
# CONFIG_BAMBOO is not set
# CONFIG_EBONY is not set
CONFIG_SEQUOIA=y
# CONFIG_MPIC is not set
# CONFIG_MPIC_WEIRD is not set
# CONFIG_PPC_I8259 is not set
-@@ -446,9 +449,7 @@
+@@ -446,9 +449,7 @@ CONFIG_MISC_DEVICES=y
# CONFIG_FIREWIRE is not set
# CONFIG_IEEE1394 is not set
# CONFIG_I2O is not set
CONFIG_NETDEVICES=y
# CONFIG_NETDEVICES_MULTIQUEUE is not set
# CONFIG_DUMMY is not set
-@@ -459,10 +460,28 @@
+@@ -459,10 +460,28 @@ CONFIG_NETDEVICES=y
# CONFIG_VETH is not set
# CONFIG_IP1000 is not set
# CONFIG_ARCNET is not set
CONFIG_NETDEV_1000=y
# CONFIG_ACENIC is not set
# CONFIG_DL2K is not set
-@@ -811,6 +830,7 @@
+@@ -811,6 +830,7 @@ CONFIG_PPC_EARLY_DEBUG=y
# CONFIG_PPC_EARLY_DEBUG_PAS_REALMODE is not set
# CONFIG_PPC_EARLY_DEBUG_BEAT is not set
CONFIG_PPC_EARLY_DEBUG_44x=y
#
# CONFIG_PPC64 is not set
-@@ -40,7 +40,7 @@
+@@ -40,7 +40,7 @@ CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y
CONFIG_OF=y
# CONFIG_GENERIC_TBSYNC is not set
CONFIG_AUDIT_ARCH=y
CONFIG_GENERIC_BUG=y
-@@ -127,6 +127,7 @@
+@@ -127,6 +127,7 @@ CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
#
# Platform support
-@@ -136,7 +137,9 @@
+@@ -136,7 +137,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
# CONFIG_PPC_CELL is not set
# CONFIG_PPC_CELL_NATIVE is not set
# CONFIG_PQ2ADS is not set
CONFIG_WALNUT=y
# CONFIG_XILINX_VIRTEX_GENERIC_BOARD is not set
CONFIG_405GP=y
-@@ -204,11 +207,17 @@
+@@ -204,11 +207,17 @@ CONFIG_ISA_DMA_API=y
# Bus options
#
CONFIG_ZONE_DMA=y
#
# Advanced setup
-@@ -373,11 +382,13 @@
+@@ -373,11 +382,13 @@ CONFIG_MTD_CFI_UTIL=y
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
# CONFIG_MTD_PHYSMAP is not set
CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_SLRAM is not set
# CONFIG_MTD_PHRAM is not set
# CONFIG_MTD_MTDRAM is not set
-@@ -400,9 +411,14 @@
+@@ -400,9 +411,14 @@ CONFIG_OF_DEVICE=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
# CONFIG_BLK_DEV_FD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=35000
-@@ -411,7 +427,10 @@
+@@ -411,7 +427,10 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_XILINX_SYSACE is not set
CONFIG_MISC_DEVICES=y
# CONFIG_IDE is not set
#
-@@ -423,6 +442,14 @@
+@@ -423,6 +442,14 @@ CONFIG_MISC_DEVICES=y
# CONFIG_SCSI_NETLINK is not set
# CONFIG_ATA is not set
# CONFIG_MD is not set
# CONFIG_MACINTOSH_DRIVERS is not set
CONFIG_NETDEVICES=y
# CONFIG_NETDEVICES_MULTIQUEUE is not set
-@@ -432,9 +459,17 @@
+@@ -432,9 +459,17 @@ CONFIG_NETDEVICES=y
# CONFIG_EQUALIZER is not set
# CONFIG_TUN is not set
# CONFIG_VETH is not set
CONFIG_IBM_NEW_EMAC=y
CONFIG_IBM_NEW_EMAC_RXB=128
CONFIG_IBM_NEW_EMAC_TXB=64
-@@ -446,9 +481,38 @@
+@@ -446,9 +481,38 @@ CONFIG_IBM_NEW_EMAC_ZMII=y
# CONFIG_IBM_NEW_EMAC_RGMII is not set
# CONFIG_IBM_NEW_EMAC_TAH is not set
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
#
# Wireless LAN
-@@ -456,6 +520,8 @@
+@@ -456,6 +520,8 @@ CONFIG_NETDEV_10000=y
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
# CONFIG_WAN is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
-@@ -487,6 +553,7 @@
+@@ -487,6 +553,7 @@ CONFIG_NETDEV_10000=y
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
-@@ -501,6 +568,7 @@
+@@ -501,6 +568,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y
# CONFIG_SERIAL_UARTLITE is not set
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_OF_PLATFORM=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
-@@ -510,8 +578,10 @@
+@@ -510,8 +578,10 @@ CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_NVRAM is not set
# CONFIG_GEN_RTC is not set
# CONFIG_R3964 is not set
# CONFIG_I2C is not set
#
-@@ -545,6 +615,8 @@
+@@ -545,6 +615,8 @@ CONFIG_SSB_POSSIBLE=y
#
# Graphics support
#
# CONFIG_VGASTATE is not set
CONFIG_VIDEO_OUTPUT_CONTROL=m
# CONFIG_FB is not set
-@@ -560,9 +632,10 @@
+@@ -560,9 +632,10 @@ CONFIG_VIDEO_OUTPUT_CONTROL=m
#
# CONFIG_SOUND is not set
CONFIG_USB_SUPPORT=y
#
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
-@@ -574,6 +647,7 @@
+@@ -574,6 +647,7 @@ CONFIG_USB_SUPPORT=y
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
# CONFIG_NEW_LEDS is not set
endif
ifeq ($(CONFIG_PPC32),y)
CFLAGS_prom_init.o += -fPIC
-@@ -70,6 +70,7 @@
+@@ -70,6 +70,7 @@ pci64-$(CONFIG_PPC64) += pci_dn.o isa-b
obj-$(CONFIG_PCI) += pci_$(CONFIG_WORD_SIZE).o $(pci64-y) \
pci-common.o
obj-$(CONFIG_PCI_MSI) += msi.o
obj-$(CONFIG_KEXEC) += machine_kexec.o crash.o \
machine_kexec_$(CONFIG_WORD_SIZE).o
obj-$(CONFIG_AUDIT) += audit.o
-@@ -91,3 +92,13 @@
+@@ -91,3 +92,13 @@ obj-$(CONFIG_PPC64) += $(obj64-y)
extra-$(CONFIG_PPC_FPU) += fpu.o
extra-$(CONFIG_PPC64) += entry_64.o
+ $(call cmd,systbl_chk)
--- a/arch/powerpc/kernel/btext.c
+++ b/arch/powerpc/kernel/btext.c
-@@ -236,7 +236,7 @@
+@@ -236,7 +236,7 @@ int __init btext_find_display(int allow_
if (rc == 0 || !allow_nonstdout)
return rc;
rc = btext_initialize(np);
--- a/arch/powerpc/kernel/cpu_setup_44x.S
+++ b/arch/powerpc/kernel/cpu_setup_44x.S
-@@ -23,11 +23,24 @@
+@@ -23,11 +23,24 @@ _GLOBAL(__setup_cpu_440epx)
mflr r4
bl __init_fpu_44x
bl __plb_disable_wrp
_GLOBAL(__init_fpu_44x)
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
-@@ -33,7 +33,9 @@
+@@ -33,7 +33,9 @@ EXPORT_SYMBOL(cur_cpu_spec);
#ifdef CONFIG_PPC32
extern void __setup_cpu_440ep(unsigned long offset, struct cpu_spec* spec);
extern void __setup_cpu_440epx(unsigned long offset, struct cpu_spec* spec);
extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec);
extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec);
extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec);
-@@ -85,6 +87,7 @@
+@@ -85,6 +87,7 @@ static struct cpu_spec __initdata cpu_sp
.pmc_type = PPC_PMC_IBM,
.oprofile_cpu_type = "ppc64/power3",
.oprofile_type = PPC_OPROFILE_RS64,
.platform = "power3",
},
{ /* Power3+ */
-@@ -99,6 +102,7 @@
+@@ -99,6 +102,7 @@ static struct cpu_spec __initdata cpu_sp
.pmc_type = PPC_PMC_IBM,
.oprofile_cpu_type = "ppc64/power3",
.oprofile_type = PPC_OPROFILE_RS64,
.platform = "power3",
},
{ /* Northstar */
-@@ -113,6 +117,7 @@
+@@ -113,6 +117,7 @@ static struct cpu_spec __initdata cpu_sp
.pmc_type = PPC_PMC_IBM,
.oprofile_cpu_type = "ppc64/rs64",
.oprofile_type = PPC_OPROFILE_RS64,
.platform = "rs64",
},
{ /* Pulsar */
-@@ -127,6 +132,7 @@
+@@ -127,6 +132,7 @@ static struct cpu_spec __initdata cpu_sp
.pmc_type = PPC_PMC_IBM,
.oprofile_cpu_type = "ppc64/rs64",
.oprofile_type = PPC_OPROFILE_RS64,
.platform = "rs64",
},
{ /* I-star */
-@@ -141,6 +147,7 @@
+@@ -141,6 +147,7 @@ static struct cpu_spec __initdata cpu_sp
.pmc_type = PPC_PMC_IBM,
.oprofile_cpu_type = "ppc64/rs64",
.oprofile_type = PPC_OPROFILE_RS64,
.platform = "rs64",
},
{ /* S-star */
-@@ -155,6 +162,7 @@
+@@ -155,6 +162,7 @@ static struct cpu_spec __initdata cpu_sp
.pmc_type = PPC_PMC_IBM,
.oprofile_cpu_type = "ppc64/rs64",
.oprofile_type = PPC_OPROFILE_RS64,
.platform = "rs64",
},
{ /* Power4 */
-@@ -169,6 +177,7 @@
+@@ -169,6 +177,7 @@ static struct cpu_spec __initdata cpu_sp
.pmc_type = PPC_PMC_IBM,
.oprofile_cpu_type = "ppc64/power4",
.oprofile_type = PPC_OPROFILE_POWER4,
.platform = "power4",
},
{ /* Power4+ */
-@@ -183,6 +192,7 @@
+@@ -183,6 +192,7 @@ static struct cpu_spec __initdata cpu_sp
.pmc_type = PPC_PMC_IBM,
.oprofile_cpu_type = "ppc64/power4",
.oprofile_type = PPC_OPROFILE_POWER4,
.platform = "power4",
},
{ /* PPC970 */
-@@ -200,6 +210,7 @@
+@@ -200,6 +210,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_restore = __restore_cpu_ppc970,
.oprofile_cpu_type = "ppc64/970",
.oprofile_type = PPC_OPROFILE_POWER4,
.platform = "ppc970",
},
{ /* PPC970FX */
-@@ -217,6 +228,7 @@
+@@ -217,6 +228,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_restore = __restore_cpu_ppc970,
.oprofile_cpu_type = "ppc64/970",
.oprofile_type = PPC_OPROFILE_POWER4,
.platform = "ppc970",
},
{ /* PPC970MP DD1.0 - no DEEPNAP, use regular 970 init */
-@@ -234,6 +246,7 @@
+@@ -234,6 +246,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_restore = __restore_cpu_ppc970,
.oprofile_cpu_type = "ppc64/970MP",
.oprofile_type = PPC_OPROFILE_POWER4,
.platform = "ppc970",
},
{ /* PPC970MP */
-@@ -251,6 +264,7 @@
+@@ -251,6 +264,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_restore = __restore_cpu_ppc970,
.oprofile_cpu_type = "ppc64/970MP",
.oprofile_type = PPC_OPROFILE_POWER4,
.platform = "ppc970",
},
{ /* PPC970GX */
-@@ -267,6 +281,7 @@
+@@ -267,6 +281,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_setup = __setup_cpu_ppc970,
.oprofile_cpu_type = "ppc64/970",
.oprofile_type = PPC_OPROFILE_POWER4,
.platform = "ppc970",
},
{ /* Power5 GR */
-@@ -286,6 +301,7 @@
+@@ -286,6 +301,7 @@ static struct cpu_spec __initdata cpu_sp
*/
.oprofile_mmcra_sihv = MMCRA_SIHV,
.oprofile_mmcra_sipr = MMCRA_SIPR,
.platform = "power5",
},
{ /* Power5++ */
-@@ -301,6 +317,7 @@
+@@ -301,6 +317,7 @@ static struct cpu_spec __initdata cpu_sp
.oprofile_type = PPC_OPROFILE_POWER4,
.oprofile_mmcra_sihv = MMCRA_SIHV,
.oprofile_mmcra_sipr = MMCRA_SIPR,
.platform = "power5+",
},
{ /* Power5 GS */
-@@ -317,6 +334,7 @@
+@@ -317,6 +334,7 @@ static struct cpu_spec __initdata cpu_sp
.oprofile_type = PPC_OPROFILE_POWER4,
.oprofile_mmcra_sihv = MMCRA_SIHV,
.oprofile_mmcra_sipr = MMCRA_SIPR,
.platform = "power5+",
},
{ /* POWER6 in P5+ mode; 2.04-compliant processor */
-@@ -327,6 +345,7 @@
+@@ -327,6 +345,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER_POWER5_PLUS,
.icache_bsize = 128,
.dcache_bsize = 128,
.platform = "power5+",
},
{ /* Power6 */
-@@ -346,6 +365,7 @@
+@@ -346,6 +365,7 @@ static struct cpu_spec __initdata cpu_sp
.oprofile_mmcra_sipr = POWER6_MMCRA_SIPR,
.oprofile_mmcra_clear = POWER6_MMCRA_THRM |
POWER6_MMCRA_OTHER,
.platform = "power6x",
},
{ /* 2.05-compliant processor, i.e. Power6 "architected" mode */
-@@ -356,6 +376,7 @@
+@@ -356,6 +376,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER_POWER6,
.icache_bsize = 128,
.dcache_bsize = 128,
.platform = "power6",
},
{ /* Cell Broadband Engine */
-@@ -372,6 +393,7 @@
+@@ -372,6 +393,7 @@ static struct cpu_spec __initdata cpu_sp
.pmc_type = PPC_PMC_IBM,
.oprofile_cpu_type = "ppc64/cell-be",
.oprofile_type = PPC_OPROFILE_CELL,
.platform = "ppc-cell-be",
},
{ /* PA Semi PA6T */
-@@ -388,6 +410,7 @@
+@@ -388,6 +410,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_restore = __restore_cpu_pa6t,
.oprofile_cpu_type = "ppc64/pa6t",
.oprofile_type = PPC_OPROFILE_PA6T,
.platform = "pa6t",
},
{ /* default match */
-@@ -400,6 +423,7 @@
+@@ -400,6 +423,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 128,
.num_pmcs = 6,
.pmc_type = PPC_PMC_IBM,
.platform = "power4",
}
#endif /* CONFIG_PPC64 */
-@@ -414,6 +438,7 @@
+@@ -414,6 +438,7 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_UNIFIED_CACHE | PPC_FEATURE_NO_TB,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc601",
},
{ /* 603 */
-@@ -425,6 +450,7 @@
+@@ -425,6 +450,7 @@ static struct cpu_spec __initdata cpu_sp
.icache_bsize = 32,
.dcache_bsize = 32,
.cpu_setup = __setup_cpu_603,
.platform = "ppc603",
},
{ /* 603e */
-@@ -436,6 +462,7 @@
+@@ -436,6 +462,7 @@ static struct cpu_spec __initdata cpu_sp
.icache_bsize = 32,
.dcache_bsize = 32,
.cpu_setup = __setup_cpu_603,
.platform = "ppc603",
},
{ /* 603ev */
-@@ -447,6 +474,7 @@
+@@ -447,6 +474,7 @@ static struct cpu_spec __initdata cpu_sp
.icache_bsize = 32,
.dcache_bsize = 32,
.cpu_setup = __setup_cpu_603,
.platform = "ppc603",
},
{ /* 604 */
-@@ -459,6 +487,7 @@
+@@ -459,6 +487,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 2,
.cpu_setup = __setup_cpu_604,
.platform = "ppc604",
},
{ /* 604e */
-@@ -471,6 +500,7 @@
+@@ -471,6 +500,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_604,
.platform = "ppc604",
},
{ /* 604r */
-@@ -483,6 +513,7 @@
+@@ -483,6 +513,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_604,
.platform = "ppc604",
},
{ /* 604ev */
-@@ -495,6 +526,7 @@
+@@ -495,6 +526,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_604,
.platform = "ppc604",
},
{ /* 740/750 (0x4202, don't support TAU ?) */
-@@ -507,6 +539,7 @@
+@@ -507,6 +539,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_750,
.platform = "ppc750",
},
{ /* 750CX (80100 and 8010x?) */
-@@ -519,6 +552,7 @@
+@@ -519,6 +552,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_750cx,
.platform = "ppc750",
},
{ /* 750CX (82201 and 82202) */
-@@ -531,6 +565,7 @@
+@@ -531,6 +565,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_750cx,
.platform = "ppc750",
},
{ /* 750CXe (82214) */
-@@ -543,6 +578,7 @@
+@@ -543,6 +578,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_750cx,
.platform = "ppc750",
},
{ /* 750CXe "Gekko" (83214) */
-@@ -555,6 +591,7 @@
+@@ -555,6 +591,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_750cx,
.platform = "ppc750",
},
{ /* 750CL */
-@@ -567,6 +604,7 @@
+@@ -567,6 +604,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_750,
.platform = "ppc750",
},
{ /* 745/755 */
-@@ -579,6 +617,7 @@
+@@ -579,6 +617,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_750,
.platform = "ppc750",
},
{ /* 750FX rev 1.x */
-@@ -591,6 +630,7 @@
+@@ -591,6 +630,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_750,
.platform = "ppc750",
},
{ /* 750FX rev 2.0 must disable HID0[DPM] */
-@@ -603,6 +643,7 @@
+@@ -603,6 +643,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_750,
.platform = "ppc750",
},
{ /* 750FX (All revs except 2.0) */
-@@ -615,6 +656,7 @@
+@@ -615,6 +656,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_750fx,
.platform = "ppc750",
},
{ /* 750GX */
-@@ -627,6 +669,7 @@
+@@ -627,6 +669,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_750fx,
.platform = "ppc750",
},
{ /* 740/750 (L2CR bit need fixup for 740) */
-@@ -639,6 +682,7 @@
+@@ -639,6 +682,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_750,
.platform = "ppc750",
},
{ /* 7400 rev 1.1 ? (no TAU) */
-@@ -652,6 +696,7 @@
+@@ -652,6 +696,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_7400,
.platform = "ppc7400",
},
{ /* 7400 */
-@@ -665,6 +710,7 @@
+@@ -665,6 +710,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_7400,
.platform = "ppc7400",
},
{ /* 7410 */
-@@ -678,6 +724,7 @@
+@@ -678,6 +724,7 @@ static struct cpu_spec __initdata cpu_sp
.dcache_bsize = 32,
.num_pmcs = 4,
.cpu_setup = __setup_cpu_7410,
.platform = "ppc7400",
},
{ /* 7450 2.0 - no doze/nap */
-@@ -693,6 +740,7 @@
+@@ -693,6 +740,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_setup = __setup_cpu_745x,
.oprofile_cpu_type = "ppc/7450",
.oprofile_type = PPC_OPROFILE_G4,
.platform = "ppc7450",
},
{ /* 7450 2.1 */
-@@ -708,6 +756,7 @@
+@@ -708,6 +756,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_setup = __setup_cpu_745x,
.oprofile_cpu_type = "ppc/7450",
.oprofile_type = PPC_OPROFILE_G4,
.platform = "ppc7450",
},
{ /* 7450 2.3 and newer */
-@@ -723,6 +772,7 @@
+@@ -723,6 +772,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_setup = __setup_cpu_745x,
.oprofile_cpu_type = "ppc/7450",
.oprofile_type = PPC_OPROFILE_G4,
.platform = "ppc7450",
},
{ /* 7455 rev 1.x */
-@@ -738,6 +788,7 @@
+@@ -738,6 +788,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_setup = __setup_cpu_745x,
.oprofile_cpu_type = "ppc/7450",
.oprofile_type = PPC_OPROFILE_G4,
.platform = "ppc7450",
},
{ /* 7455 rev 2.0 */
-@@ -753,6 +804,7 @@
+@@ -753,6 +804,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_setup = __setup_cpu_745x,
.oprofile_cpu_type = "ppc/7450",
.oprofile_type = PPC_OPROFILE_G4,
.platform = "ppc7450",
},
{ /* 7455 others */
-@@ -768,6 +820,7 @@
+@@ -768,6 +820,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_setup = __setup_cpu_745x,
.oprofile_cpu_type = "ppc/7450",
.oprofile_type = PPC_OPROFILE_G4,
.platform = "ppc7450",
},
{ /* 7447/7457 Rev 1.0 */
-@@ -783,6 +836,7 @@
+@@ -783,6 +836,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_setup = __setup_cpu_745x,
.oprofile_cpu_type = "ppc/7450",
.oprofile_type = PPC_OPROFILE_G4,
.platform = "ppc7450",
},
{ /* 7447/7457 Rev 1.1 */
-@@ -798,6 +852,7 @@
+@@ -798,6 +852,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_setup = __setup_cpu_745x,
.oprofile_cpu_type = "ppc/7450",
.oprofile_type = PPC_OPROFILE_G4,
.platform = "ppc7450",
},
{ /* 7447/7457 Rev 1.2 and later */
-@@ -812,6 +867,7 @@
+@@ -812,6 +867,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_setup = __setup_cpu_745x,
.oprofile_cpu_type = "ppc/7450",
.oprofile_type = PPC_OPROFILE_G4,
.platform = "ppc7450",
},
{ /* 7447A */
-@@ -827,6 +883,7 @@
+@@ -827,6 +883,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_setup = __setup_cpu_745x,
.oprofile_cpu_type = "ppc/7450",
.oprofile_type = PPC_OPROFILE_G4,
.platform = "ppc7450",
},
{ /* 7448 */
-@@ -842,6 +899,7 @@
+@@ -842,6 +899,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_setup = __setup_cpu_745x,
.oprofile_cpu_type = "ppc/7450",
.oprofile_type = PPC_OPROFILE_G4,
.platform = "ppc7450",
},
{ /* 82xx (8240, 8245, 8260 are all 603e cores) */
-@@ -853,6 +911,7 @@
+@@ -853,6 +911,7 @@ static struct cpu_spec __initdata cpu_sp
.icache_bsize = 32,
.dcache_bsize = 32,
.cpu_setup = __setup_cpu_603,
.platform = "ppc603",
},
{ /* All G2_LE (603e core, plus some) have the same pvr */
-@@ -864,6 +923,7 @@
+@@ -864,6 +923,7 @@ static struct cpu_spec __initdata cpu_sp
.icache_bsize = 32,
.dcache_bsize = 32,
.cpu_setup = __setup_cpu_603,
.platform = "ppc603",
},
{ /* e300c1 (a 603e core, plus some) on 83xx */
-@@ -875,6 +935,7 @@
+@@ -875,6 +935,7 @@ static struct cpu_spec __initdata cpu_sp
.icache_bsize = 32,
.dcache_bsize = 32,
.cpu_setup = __setup_cpu_603,
.platform = "ppc603",
},
{ /* e300c2 (an e300c1 core, plus some, minus FPU) on 83xx */
-@@ -886,9 +947,10 @@
+@@ -886,9 +947,10 @@ static struct cpu_spec __initdata cpu_sp
.icache_bsize = 32,
.dcache_bsize = 32,
.cpu_setup = __setup_cpu_603,
.pvr_mask = 0x7fff0000,
.pvr_value = 0x00850000,
.cpu_name = "e300c3",
-@@ -899,6 +961,18 @@
+@@ -899,6 +961,18 @@ static struct cpu_spec __initdata cpu_sp
.cpu_setup = __setup_cpu_603,
.platform = "ppc603",
},
{ /* default match, we assume split I/D cache & TB (non-601)... */
.pvr_mask = 0x00000000,
.pvr_value = 0x00000000,
-@@ -907,6 +981,7 @@
+@@ -907,6 +981,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc603",
},
#endif /* CLASSIC_PPC */
-@@ -933,6 +1008,7 @@
+@@ -933,6 +1008,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
.icache_bsize = 16,
.dcache_bsize = 16,
.platform = "ppc403",
},
{ /* 403GCX */
-@@ -944,6 +1020,7 @@
+@@ -944,6 +1020,7 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_MMU | PPC_FEATURE_NO_TB,
.icache_bsize = 16,
.dcache_bsize = 16,
.platform = "ppc403",
},
{ /* 403G ?? */
-@@ -954,6 +1031,7 @@
+@@ -954,6 +1031,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
.icache_bsize = 16,
.dcache_bsize = 16,
.platform = "ppc403",
},
{ /* 405GP */
-@@ -965,6 +1043,7 @@
+@@ -965,6 +1043,7 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc405",
},
{ /* STB 03xxx */
-@@ -976,6 +1055,7 @@
+@@ -976,6 +1055,7 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc405",
},
{ /* STB 04xxx */
-@@ -987,6 +1067,7 @@
+@@ -987,6 +1067,7 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc405",
},
{ /* NP405L */
-@@ -998,6 +1079,7 @@
+@@ -998,6 +1079,7 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc405",
},
{ /* NP4GS3 */
-@@ -1009,6 +1091,7 @@
+@@ -1009,6 +1091,7 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc405",
},
{ /* NP405H */
-@@ -1020,6 +1103,7 @@
+@@ -1020,6 +1103,7 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc405",
},
{ /* 405GPr */
-@@ -1031,6 +1115,7 @@
+@@ -1031,6 +1115,7 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc405",
},
{ /* STBx25xx */
-@@ -1042,6 +1127,7 @@
+@@ -1042,6 +1127,7 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc405",
},
{ /* 405LP */
-@@ -1052,6 +1138,7 @@
+@@ -1052,6 +1138,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = PPC_FEATURE_32 | PPC_FEATURE_HAS_MMU,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc405",
},
{ /* Xilinx Virtex-II Pro */
-@@ -1063,6 +1150,7 @@
+@@ -1063,6 +1150,7 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc405",
},
{ /* Xilinx Virtex-4 FX */
-@@ -1074,6 +1162,7 @@
+@@ -1074,6 +1162,7 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc405",
},
{ /* 405EP */
-@@ -1085,17 +1174,31 @@
+@@ -1085,17 +1174,31 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_MMU | PPC_FEATURE_HAS_4xxMAC,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc405",
},
-@@ -1109,6 +1212,7 @@
+@@ -1109,6 +1212,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER_BOOKE,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc440",
},
{ /* Use logical PVR for 440EP (logical pvr = pvr | 0x8) */
-@@ -1120,6 +1224,7 @@
+@@ -1120,6 +1224,7 @@ static struct cpu_spec __initdata cpu_sp
.icache_bsize = 32,
.dcache_bsize = 32,
.cpu_setup = __setup_cpu_440ep,
.platform = "ppc440",
},
{
-@@ -1130,6 +1235,19 @@
+@@ -1130,6 +1235,19 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER_BOOKE | PPC_FEATURE_HAS_FPU,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc440",
},
{ /* Use logical PVR for 440EP (logical pvr = pvr | 0x8) */
-@@ -1141,6 +1259,7 @@
+@@ -1141,6 +1259,7 @@ static struct cpu_spec __initdata cpu_sp
.icache_bsize = 32,
.dcache_bsize = 32,
.cpu_setup = __setup_cpu_440ep,
.platform = "ppc440",
},
{ /* 440GRX */
-@@ -1152,6 +1271,7 @@
+@@ -1152,6 +1271,7 @@ static struct cpu_spec __initdata cpu_sp
.icache_bsize = 32,
.dcache_bsize = 32,
.cpu_setup = __setup_cpu_440grx,
.platform = "ppc440",
},
{ /* Use logical PVR for 440EPx (logical pvr = pvr | 0x8) */
-@@ -1163,6 +1283,7 @@
+@@ -1163,6 +1283,7 @@ static struct cpu_spec __initdata cpu_sp
.icache_bsize = 32,
.dcache_bsize = 32,
.cpu_setup = __setup_cpu_440epx,
.platform = "ppc440",
},
{ /* 440GP Rev. B */
-@@ -1173,6 +1294,7 @@
+@@ -1173,6 +1294,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER_BOOKE,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc440gp",
},
{ /* 440GP Rev. C */
-@@ -1183,6 +1305,7 @@
+@@ -1183,6 +1305,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER_BOOKE,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc440gp",
},
{ /* 440GX Rev. A */
-@@ -1193,6 +1316,8 @@
+@@ -1193,6 +1316,8 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER_BOOKE,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc440",
},
{ /* 440GX Rev. B */
-@@ -1203,6 +1328,8 @@
+@@ -1203,6 +1328,8 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER_BOOKE,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc440",
},
{ /* 440GX Rev. C */
-@@ -1213,6 +1340,8 @@
+@@ -1213,6 +1340,8 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER_BOOKE,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc440",
},
{ /* 440GX Rev. F */
-@@ -1223,6 +1352,8 @@
+@@ -1223,6 +1352,8 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER_BOOKE,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc440",
},
{ /* 440SP Rev. A */
-@@ -1233,6 +1364,7 @@
+@@ -1233,6 +1364,7 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER_BOOKE,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc440",
},
{ /* 440SPe Rev. A */
-@@ -1243,6 +1375,8 @@
+@@ -1243,6 +1375,8 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER_BOOKE,
.icache_bsize = 32,
.dcache_bsize = 32,
.platform = "ppc440",
},
{ /* 440SPe Rev. B */
-@@ -1253,10 +1387,13 @@
+@@ -1253,10 +1387,13 @@ static struct cpu_spec __initdata cpu_sp
.cpu_user_features = COMMON_USER_BOOKE,
.icache_bsize = 32,
.dcache_bsize = 32,
{ /* e200z5 */
.pvr_mask = 0xfff00000,
.pvr_value = 0x81000000,
-@@ -1267,6 +1404,7 @@
+@@ -1267,6 +1404,7 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_EFP_SINGLE |
PPC_FEATURE_UNIFIED_CACHE,
.dcache_bsize = 32,
.platform = "ppc5554",
},
{ /* e200z6 */
-@@ -1280,8 +1418,10 @@
+@@ -1280,8 +1418,10 @@ static struct cpu_spec __initdata cpu_sp
PPC_FEATURE_HAS_EFP_SINGLE_COMP |
PPC_FEATURE_UNIFIED_CACHE,
.dcache_bsize = 32,
{ /* e500 */
.pvr_mask = 0xffff0000,
.pvr_value = 0x80200000,
-@@ -1296,6 +1436,7 @@
+@@ -1296,6 +1436,7 @@ static struct cpu_spec __initdata cpu_sp
.num_pmcs = 4,
.oprofile_cpu_type = "ppc/e500",
.oprofile_type = PPC_OPROFILE_BOOKE,
.platform = "ppc8540",
},
{ /* e500v2 */
-@@ -1313,9 +1454,11 @@
+@@ -1313,9 +1454,11 @@ static struct cpu_spec __initdata cpu_sp
.num_pmcs = 4,
.oprofile_cpu_type = "ppc/e500",
.oprofile_type = PPC_OPROFILE_BOOKE,
#ifdef DEBUG
#include <asm/udbg.h>
-@@ -45,6 +47,11 @@
+@@ -45,6 +47,11 @@ int crashing_cpu = -1;
static cpumask_t cpus_in_crash = CPU_MASK_NONE;
cpumask_t cpus_in_sr = CPU_MASK_NONE;
#ifdef CONFIG_SMP
static atomic_t enter_on_soft_reset = ATOMIC_INIT(0);
-@@ -285,9 +292,72 @@
+@@ -285,9 +292,72 @@ static inline void crash_kexec_stop_spus
}
#endif /* CONFIG_SPU_BASE */
/*
* This function is only called after the system
-@@ -301,15 +371,36 @@
+@@ -301,15 +371,36 @@ void default_machine_crash_shutdown(stru
*/
hard_irq_disable();
* Make a note of crashing cpu. Will be used in machine_kexec
--- a/arch/powerpc/kernel/dma_64.c
+++ b/arch/powerpc/kernel/dma_64.c
-@@ -112,10 +112,16 @@
+@@ -112,10 +112,16 @@ EXPORT_SYMBOL(dma_iommu_ops);
/*
* Generic direct DMA implementation
*
static void *dma_direct_alloc_coherent(struct device *dev, size_t size,
dma_addr_t *dma_handle, gfp_t flag)
-@@ -124,13 +130,12 @@
+@@ -124,13 +130,12 @@ static void *dma_direct_alloc_coherent(s
void *ret;
int node = dev->archdata.numa_node;
return ret;
}
-@@ -145,7 +150,7 @@
+@@ -145,7 +150,7 @@ static dma_addr_t dma_direct_map_single(
size_t size,
enum dma_data_direction direction)
{
}
static void dma_direct_unmap_single(struct device *dev, dma_addr_t dma_addr,
-@@ -161,7 +166,7 @@
+@@ -161,7 +166,7 @@ static int dma_direct_map_sg(struct devi
int i;
for_each_sg(sgl, sg, nents, i) {
--- a/arch/powerpc/kernel/head_44x.S
+++ b/arch/powerpc/kernel/head_44x.S
-@@ -289,11 +289,8 @@
+@@ -289,11 +289,8 @@ interrupt_base:
CRITICAL_EXCEPTION(0x0100, CriticalInput, unknown_exception)
/* Machine Check Interrupt */
/* Data Storage Interrupt */
START_EXCEPTION(DataStorage)
-@@ -674,6 +671,15 @@
+@@ -674,6 +671,15 @@ finish_tlb_load:
*/
/*
* The 44x core does not have an AltiVec unit.
--- a/arch/powerpc/kernel/head_booke.h
+++ b/arch/powerpc/kernel/head_booke.h
-@@ -166,7 +166,7 @@
+@@ -166,7 +166,7 @@ label:
mfspr r5,SPRN_ESR; \
stw r5,_ESR(r11); \
addi r3,r1,STACK_FRAME_OVERHEAD; \
--- a/arch/powerpc/kernel/head_fsl_booke.S
+++ b/arch/powerpc/kernel/head_fsl_booke.S
-@@ -73,8 +73,8 @@
+@@ -73,8 +73,8 @@ _ENTRY(_start);
/* We try to not make any assumptions about how the boot loader
* setup or used the TLBs. We invalidate all mappings from the
* boot loader and load a single entry in TLB1[0] to map the
*
* Requirement on bootloader:
* - The page we're executing in needs to reside in TLB1 and
-@@ -167,7 +167,7 @@
+@@ -167,7 +167,7 @@ skpinv: addi r6,r6,1 /* Increment */
mtspr SPRN_MAS0,r7
tlbre
lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */
rlwimi r7,r5,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r5) */
mtspr SPRN_MAS0,r7
-@@ -177,9 +177,12 @@
+@@ -177,9 +177,12 @@ skpinv: addi r6,r6,1 /* Increment */
ori r6,r6,(MAS1_TSIZE(BOOKE_PAGESZ_4K))@l
mtspr SPRN_MAS1,r6
mfspr r6,SPRN_MAS2
tlbwe
xori r6,r4,1
-@@ -222,11 +225,11 @@
+@@ -222,11 +225,11 @@ skpinv: addi r6,r6,1 /* Increment */
lis r6,0x1000 /* Set MAS0(TLBSEL) = TLB1(1), ESEL = 0 */
mtspr SPRN_MAS0,r6
lis r6,(MAS1_VALID|MAS1_IPROT)@h
rlwimi r6,r7,0,20,31
mtspr SPRN_MAS2,r6
li r7,(MAS3_SX|MAS3_SW|MAS3_SR)
-@@ -234,6 +237,9 @@
+@@ -234,6 +237,9 @@ skpinv: addi r6,r6,1 /* Increment */
tlbwe
/* 7. Jump to KERNELBASE mapping */
#include <linux/of_platform.h>
#include <asm/ibmebus.h>
#include <asm/abs_addr.h>
-@@ -52,7 +53,7 @@
+@@ -52,7 +53,7 @@ static struct device ibmebus_bus_device
struct bus_type ibmebus_bus_type;
/* These devices will automatically be added to the bus during init */
{ .compatible = "IBM,lhca" },
{ .compatible = "IBM,lhea" },
{},
-@@ -171,7 +172,7 @@
+@@ -171,7 +172,7 @@ static int ibmebus_create_devices(const
root = of_find_node_by_path("/");
if (!of_match_node(matches, child))
continue;
-@@ -197,16 +198,13 @@
+@@ -197,16 +198,13 @@ int ibmebus_register_driver(struct of_pl
/* If the driver uses devices that ibmebus doesn't know, add them */
ibmebus_create_devices(drv->match_table);
--- a/arch/powerpc/kernel/iommu.c
+++ b/arch/powerpc/kernel/iommu.c
-@@ -532,16 +532,14 @@
+@@ -532,16 +532,14 @@ struct iommu_table *iommu_init_table(str
return tbl;
}
return;
}
-@@ -550,7 +548,7 @@
+@@ -550,7 +548,7 @@ void iommu_free_table(struct device_node
for (i = 0; i < (tbl->it_size/64); i++) {
if (tbl->it_map[i] != 0) {
printk(KERN_WARNING "%s: Unexpected TCEs for %s\n",
}
--- a/arch/powerpc/kernel/isa-bridge.c
+++ b/arch/powerpc/kernel/isa-bridge.c
-@@ -108,7 +108,7 @@
+@@ -108,7 +108,7 @@ static void __devinit pci_process_ISA_OF
if (size > 0x10000)
size = 0x10000;
"mapping 64k\n");
__ioremap_at(phb_io_base_phys, (void *)ISA_IO_BASE,
-@@ -116,7 +116,7 @@
+@@ -116,7 +116,7 @@ static void __devinit pci_process_ISA_OF
return;
inval_range:
"mapping 64k\n");
__ioremap_at(phb_io_base_phys, (void *)ISA_IO_BASE,
0x10000, _PAGE_NO_CACHE|_PAGE_GUARDED);
-@@ -145,7 +145,7 @@
+@@ -145,7 +145,7 @@ void __init isa_bridge_find_early(struct
for_each_node_by_type(np, "isa") {
/* Look for our hose being a parent */
for (parent = of_get_parent(np); parent;) {
}
--- a/arch/powerpc/kernel/legacy_serial.c
+++ b/arch/powerpc/kernel/legacy_serial.c
-@@ -307,7 +307,7 @@
+@@ -307,7 +307,7 @@ void __init find_legacy_serial_ports(voi
}
/* First fill our array with SOC ports */
struct device_node *soc = of_get_parent(np);
if (soc && !strcmp(soc->type, "soc")) {
index = add_legacy_soc_port(np, np);
-@@ -318,7 +318,7 @@
+@@ -318,7 +318,7 @@ void __init find_legacy_serial_ports(voi
}
/* First fill our array with ISA ports */
struct device_node *isa = of_get_parent(np);
if (isa && !strcmp(isa->name, "isa")) {
index = add_legacy_isa_port(np, isa);
-@@ -329,7 +329,7 @@
+@@ -329,7 +329,7 @@ void __init find_legacy_serial_ports(voi
}
/* First fill our array with tsi-bridge ports */
struct device_node *tsi = of_get_parent(np);
if (tsi && !strcmp(tsi->type, "tsi-bridge")) {
index = add_legacy_soc_port(np, np);
-@@ -340,7 +340,7 @@
+@@ -340,7 +340,7 @@ void __init find_legacy_serial_ports(voi
}
/* First fill our array with opb bus ports */
struct device_node *opb = of_get_parent(np);
if (opb && (!strcmp(opb->type, "opb") ||
of_device_is_compatible(opb, "ibm,opb"))) {
-@@ -474,7 +474,7 @@
+@@ -474,7 +474,7 @@ static int __init serial_dev_init(void)
/*
* Before we register the platfrom serial devices, we need
/*
* Track sum of all purrs across all processors. This is used to further
-@@ -595,13 +594,6 @@
+@@ -595,13 +594,6 @@ int __init lparcfg_init(void)
ent = create_proc_entry("ppc64/lparcfg", mode, NULL);
if (ent) {
ent->proc_fops = &lparcfg_fops;
} else {
printk(KERN_ERR "Failed to create ppc64/lparcfg\n");
return -EIO;
-@@ -613,10 +605,8 @@
+@@ -613,10 +605,8 @@ int __init lparcfg_init(void)
void __exit lparcfg_cleanup(void)
{
.text
-@@ -43,3 +48,71 @@
+@@ -43,3 +48,71 @@ _GLOBAL(add_reloc_offset)
add r3,r3,r5
mtlr r0
blr
+ blr
--- a/arch/powerpc/kernel/misc_32.S
+++ b/arch/powerpc/kernel/misc_32.S
-@@ -206,6 +206,45 @@
+@@ -206,6 +206,45 @@ _GLOBAL(_nmask_and_or_msr)
isync
blr /* Done */
/*
* Flush MMU TLB
-@@ -793,13 +832,6 @@
+@@ -793,13 +832,6 @@ _GLOBAL(kernel_thread)
addi r1,r1,16
blr
*/
--- a/arch/powerpc/kernel/misc_64.S
+++ b/arch/powerpc/kernel/misc_64.S
-@@ -518,13 +518,6 @@
+@@ -518,13 +518,6 @@ _GLOBAL(giveup_altivec)
#endif /* CONFIG_ALTIVEC */
#include "setup.h"
-@@ -54,22 +55,60 @@
+@@ -54,22 +55,60 @@ void module_free(struct module *mod, voi
addend) */
static unsigned int count_relocs(const Elf32_Rela *rela, unsigned int num)
{
}
/* Get the potential trampolines size required of the init and
-@@ -100,6 +139,16 @@
+@@ -100,6 +139,16 @@ static unsigned long get_plt_size(const
DEBUGP("Ptr: %p. Number: %u\n",
(void *)hdr + sechdrs[i].sh_offset,
sechdrs[i].sh_size / sizeof(Elf32_Rela));
#include "setup.h"
-@@ -81,25 +82,23 @@
+@@ -81,25 +82,23 @@ static struct ppc64_stub_entry ppc64_stu
different addend) */
static unsigned int count_relocs(const Elf64_Rela *rela, unsigned int num)
{
}
void *module_alloc(unsigned long size)
-@@ -118,6 +117,44 @@
+@@ -118,6 +117,44 @@ void module_free(struct module *mod, voi
table entries. */
}
/* Get size of potential trampolines required. */
static unsigned long get_stubs_size(const Elf64_Ehdr *hdr,
const Elf64_Shdr *sechdrs)
-@@ -133,6 +170,16 @@
+@@ -133,6 +170,16 @@ static unsigned long get_stubs_size(cons
DEBUGP("Ptr: %p. Number: %lu\n",
(void *)sechdrs[i].sh_addr,
sechdrs[i].sh_size / sizeof(Elf64_Rela));
relocs += count_relocs((void *)sechdrs[i].sh_addr,
sechdrs[i].sh_size
/ sizeof(Elf64_Rela));
-@@ -343,7 +390,7 @@
+@@ -343,7 +390,7 @@ int apply_relocate_add(Elf64_Shdr *sechd
/* Simply set it */
*(u32 *)location = value;
break;
case R_PPC64_ADDR64:
/* Simply set it */
*(unsigned long *)location = value;
-@@ -399,7 +446,7 @@
+@@ -399,7 +446,7 @@ int apply_relocate_add(Elf64_Shdr *sechd
}
/* Only replace bits 2 through 26 */
{ .type = "soc", },
{ .compatible = "soc", },
{ .type = "spider", },
-@@ -64,26 +65,6 @@
+@@ -64,26 +65,6 @@ static int __init of_bus_driver_init(voi
postcore_initcall(of_bus_driver_init);
struct of_device* of_platform_device_create(struct device_node *np,
const char *bus_id,
struct device *parent)
-@@ -120,15 +101,15 @@
+@@ -120,15 +101,15 @@ EXPORT_SYMBOL(of_platform_device_create)
* @matches: match table, NULL to use the default, OF_NO_DEEP_PROBE to
* disallow recursive creation of child busses
*/
pr_debug(" create child: %s\n", child->full_name);
dev = of_platform_device_create(child, NULL, parent);
if (dev == NULL)
-@@ -157,7 +138,7 @@
+@@ -157,7 +138,7 @@ static int of_platform_bus_create(struct
*/
int of_platform_bus_probe(struct device_node *root,
struct device *parent)
{
struct device_node *child;
-@@ -190,7 +171,7 @@
+@@ -190,7 +171,7 @@ int of_platform_bus_probe(struct device_
rc = of_platform_bus_create(root, matches, &dev->dev);
goto bail;
}
phb->is_dynamic = mem_init_done;
#ifdef CONFIG_PPC64
if (dev) {
-@@ -126,15 +120,10 @@
+@@ -126,15 +120,10 @@ int pcibios_vaddr_is_ioport(void __iomem
*/
int pci_domain_nr(struct pci_bus *bus)
{
EXPORT_SYMBOL(pci_domain_nr);
#ifdef CONFIG_PPC_OF
-@@ -153,7 +142,7 @@
+@@ -153,7 +142,7 @@ struct pci_controller* pci_find_hose_for
while(node) {
struct pci_controller *hose, *tmp;
list_for_each_entry_safe(hose, tmp, &hose_list, list_node)
return hose;
node = node->parent;
}
-@@ -201,6 +190,20 @@
+@@ -201,6 +190,20 @@ int pci_read_irq_line(struct pci_dev *pc
struct of_irq oirq;
unsigned int virq;
DBG("Try to map irq for %s...\n", pci_name(pci_dev));
#ifdef DEBUG
-@@ -222,10 +225,11 @@
+@@ -222,10 +225,11 @@ int pci_read_irq_line(struct pci_dev *pc
if (pin == 0)
return -1;
if (pci_read_config_byte(pci_dev, PCI_INTERRUPT_LINE, &line) ||
virq = irq_create_mapping(NULL, line);
if (virq != NO_IRQ)
-@@ -475,3 +479,717 @@
+@@ -475,3 +479,717 @@ void pci_resource_to_user(const struct p
*start = rsrc->start - offset;
*end = rsrc->end - offset;
}
static void fixup_cpc710_pci64(struct pci_dev* dev);
#ifdef CONFIG_PPC_OF
static u8* pci_to_OF_bus_map;
-@@ -53,7 +47,7 @@
+@@ -53,7 +47,7 @@ static u8* pci_to_OF_bus_map;
/* By default, we don't re-assign bus numbers. We do this only on
* some pmacs
*/
LIST_HEAD(hose_list);
-@@ -100,505 +94,6 @@
+@@ -100,505 +94,6 @@ fixup_cpc710_pci64(struct pci_dev* dev)
}
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_CPC710_PCI64, fixup_cpc710_pci64);
#ifdef CONFIG_PPC_OF
/*
* Functions below are used on OpenFirmware machines.
-@@ -619,7 +114,7 @@
+@@ -619,7 +114,7 @@ make_one_node_map(struct device_node* no
} else
pci_to_OF_bus_map[pci_bus] = bus_range[0];
struct pci_dev* dev;
const unsigned int *class_code, *reg;
-@@ -662,8 +157,8 @@
+@@ -662,8 +157,8 @@ pcibios_make_OF_bus_map(void)
/* For each hose, we begin searching bridges */
list_for_each_entry_safe(hose, tmp, &hose_list, list_node) {
if (!node)
continue;
make_one_node_map(node, hose->first_busno);
-@@ -688,15 +183,18 @@
+@@ -688,15 +183,18 @@ pcibios_make_OF_bus_map(void)
typedef int (*pci_OF_scan_iterator)(struct device_node* node, void* data);
static struct device_node*
/* For PCI<->PCI bridges or CardBus bridges, we go down
* Note: some OFs create a parent node "multifunc-device" as
-@@ -708,9 +206,11 @@
+@@ -708,9 +206,11 @@ scan_OF_pci_childs(struct device_node* n
(*class_code >> 8) != PCI_CLASS_BRIDGE_CARDBUS)) &&
strcmp(node->name, "multifunc-device"))
continue;
}
return NULL;
}
-@@ -718,11 +218,11 @@
+@@ -718,11 +218,11 @@ scan_OF_pci_childs(struct device_node* n
static struct device_node *scan_OF_for_pci_dev(struct device_node *parent,
unsigned int devfn)
{
reg = of_get_property(np, "reg", &psize);
if (reg == NULL || psize < 4)
continue;
-@@ -742,7 +242,7 @@
+@@ -742,7 +242,7 @@ static struct device_node *scan_OF_for_p
struct pci_controller *hose = pci_bus_to_host(bus);
if (hose == NULL)
return NULL;
}
/* not a root bus, we need to get our parent */
-@@ -812,9 +312,9 @@
+@@ -812,9 +312,9 @@ pci_device_from_OF_node(struct device_no
return -ENODEV;
/* Make sure it's really a PCI device */
hose = pci_find_hose_for_OF_device(node);
find_OF_pci_device_filter, (void *)node))
return -ENODEV;
reg = of_get_property(node, "reg", NULL);
-@@ -843,120 +343,6 @@
+@@ -843,120 +343,6 @@ pci_device_from_OF_node(struct device_no
}
EXPORT_SYMBOL(pci_device_from_OF_node);
/* We create the "pci-OF-bus-map" property now so it appears in the
* /proc device tree
*/
-@@ -986,219 +372,7 @@
+@@ -986,219 +372,7 @@ void pcibios_make_OF_bus_map(void)
}
#endif /* CONFIG_PPC_OF */
{
struct pci_controller *hose, *tmp;
struct pci_bus *bus;
-@@ -1206,6 +380,9 @@
+@@ -1206,6 +380,9 @@ pcibios_init(void)
printk(KERN_INFO "PCI: Probing PCI hardware\n");
/* Scan all of the recorded PCI controllers. */
list_for_each_entry_safe(hose, tmp, &hose_list, list_node) {
if (pci_assign_all_buses)
-@@ -1213,9 +390,10 @@
+@@ -1213,9 +390,10 @@ pcibios_init(void)
hose->last_busno = 0xff;
bus = pci_scan_bus_parented(hose->parent, hose->first_busno,
hose->ops, hose);
if (pci_assign_all_buses || next_busno <= hose->last_busno)
next_busno = hose->last_busno + pcibios_assign_bus_offset;
}
-@@ -1228,18 +406,8 @@
+@@ -1228,18 +406,8 @@ pcibios_init(void)
if (pci_assign_all_buses && have_of)
pcibios_make_OF_bus_map();
/* Call machine dependent post-init code */
if (ppc_md.pcibios_after_init)
-@@ -1250,14 +418,14 @@
+@@ -1250,14 +418,14 @@ pcibios_init(void)
subsys_initcall(pcibios_init);
io_offset = (unsigned long)hose->io_base_virt - isa_io_base;
if (bus->parent == NULL) {
/* This is a host bridge - fill in its resources */
-@@ -1272,8 +440,8 @@
+@@ -1272,8 +440,8 @@ void pcibios_fixup_bus(struct pci_bus *b
res->end = IO_SPACE_LIMIT;
res->flags = IORESOURCE_IO;
}
for (i = 0; i < 3; ++i) {
res = &hose->mem_resources[i];
-@@ -1288,35 +456,6 @@
+@@ -1288,35 +456,6 @@ void pcibios_fixup_bus(struct pci_bus *b
}
bus->resource[i+1] = res;
}
}
}
-@@ -1328,37 +467,6 @@
+@@ -1328,37 +467,6 @@ pcibios_update_irq(struct pci_dev *dev,
/* XXX FIXME - update OF device tree node interrupt property */
}
static struct pci_controller*
pci_bus_to_hose(int bus)
{
-@@ -1381,17 +489,6 @@
+@@ -1381,17 +489,6 @@ long sys_pciconfig_iobase(long which, un
struct pci_controller* hose;
long result = -EOPNOTSUPP;
/* pci_io_base -- the base address from which io bars are offsets.
* This is the lowest I/O base address (so bar values are always positive),
-@@ -70,139 +65,31 @@
+@@ -70,139 +65,31 @@ struct dma_mapping_ops *get_pci_dma_ops(
}
EXPORT_SYMBOL(get_pci_dma_ops);
static u32 get_int_prop(struct device_node *np, const char *name, u32 def)
{
-@@ -270,7 +157,6 @@
+@@ -270,7 +157,6 @@ static void pci_parse_of_addrs(struct de
res->end = base + size - 1;
res->flags = flags;
res->name = pci_name(dev);
}
}
-@@ -339,16 +225,17 @@
+@@ -339,16 +225,17 @@ struct pci_dev *of_create_pci_dev(struct
EXPORT_SYMBOL(of_create_pci_dev);
void __devinit of_scan_bus(struct device_node *node,
DBG(" * %s\n", child->full_name);
reg = of_get_property(child, "reg", ®len);
if (reg == NULL || reglen < 20)
-@@ -359,19 +246,26 @@
+@@ -359,19 +246,26 @@ void __devinit of_scan_bus(struct device
dev = of_create_pci_dev(child, bus, devfn);
if (!dev)
continue;
{
struct pci_bus *bus;
const u32 *busrange, *ranges;
-@@ -441,7 +335,6 @@
+@@ -441,7 +335,6 @@ void __devinit of_scan_pci_bridge(struct
res->start = of_read_number(&ranges[1], 2);
res->end = res->start + size - 1;
res->flags = flags;
}
sprintf(bus->name, "PCI Bus %04x:%02x", pci_domain_nr(bus),
bus->number);
-@@ -462,12 +355,12 @@
+@@ -462,12 +355,12 @@ EXPORT_SYMBOL(of_scan_pci_bridge);
void __devinit scan_phb(struct pci_controller *hose)
{
struct pci_bus *bus;
bus = pci_create_bus(hose->parent, hose->first_busno, hose->ops, node);
if (bus == NULL) {
printk(KERN_ERR "Failed to create bus for PCI domain %04x\n",
-@@ -477,27 +370,27 @@
+@@ -477,27 +370,27 @@ void __devinit scan_phb(struct pci_contr
bus->secondary = hose->first_busno;
hose->bus = bus;
if (node && ppc_md.pci_probe_mode)
mode = ppc_md.pci_probe_mode(bus);
DBG(" probe mode: %d\n", mode);
-@@ -514,15 +407,15 @@
+@@ -514,15 +407,15 @@ static int __init pcibios_init(void)
{
struct pci_controller *hose, *tmp;
/* Scan all of the recorded PCI controllers. */
list_for_each_entry_safe(hose, tmp, &hose_list, list_node) {
-@@ -530,19 +423,8 @@
+@@ -530,19 +423,8 @@ static int __init pcibios_init(void)
pci_bus_add_devices(hose->bus);
}
printk(KERN_DEBUG "PCI: Probing PCI hardware done\n");
-@@ -551,141 +433,6 @@
+@@ -551,141 +433,6 @@ static int __init pcibios_init(void)
subsys_initcall(pcibios_init);
#ifdef CONFIG_HOTPLUG
int pcibios_unmap_io_space(struct pci_bus *bus)
-@@ -719,8 +466,7 @@
+@@ -719,8 +466,7 @@ int pcibios_unmap_io_space(struct pci_bu
if (hose->io_base_alloc == 0)
return 0;
DBG(" alloc=0x%p\n", hose->io_base_alloc);
/* This is a PHB, we fully unmap the IO area */
-@@ -779,8 +525,7 @@
+@@ -779,8 +525,7 @@ int __devinit pcibios_map_io_space(struc
hose->io_base_virt = (void __iomem *)(area->addr +
hose->io_base_phys - phys_page);
DBG(" phys=0x%016lx, virt=0x%p (alloc=0x%p)\n",
hose->io_base_phys, hose->io_base_virt, hose->io_base_alloc);
DBG(" size=0x%016lx (alloc=0x%016lx)\n",
-@@ -803,51 +548,13 @@
+@@ -803,51 +548,13 @@ int __devinit pcibios_map_io_space(struc
}
EXPORT_SYMBOL_GPL(pcibios_map_io_space);
sd->of_node ? sd->of_node->full_name : "<none>");
sd->dma_ops = pci_dma_ops;
-@@ -861,7 +568,7 @@
+@@ -861,7 +568,7 @@ void __devinit pcibios_setup_new_device(
}
EXPORT_SYMBOL(pcibios_setup_new_device);
{
struct pci_dev *dev;
-@@ -870,42 +577,7 @@
+@@ -870,42 +577,7 @@ static void __devinit do_bus_setup(struc
list_for_each_entry(dev, &bus->devices, bus_list)
pcibios_setup_new_device(dev);
{
--- a/arch/powerpc/kernel/pci_dn.c
+++ b/arch/powerpc/kernel/pci_dn.c
-@@ -56,11 +56,6 @@
+@@ -56,11 +56,6 @@ static void * __devinit update_dn_pci_in
pdn->busno = (regs[0] >> 16) & 0xff;
pdn->devfn = (regs[0] >> 8) & 0xff;
}
pdn->pci_ext_config_space = (type && *type == 1);
return NULL;
-@@ -133,7 +128,7 @@
+@@ -133,7 +128,7 @@ void *traverse_pci_devices(struct device
*/
void __devinit pci_devs_phb_init_dynamic(struct pci_controller *phb)
{
/* PHB nodes themselves must not match */
--- a/arch/powerpc/kernel/ppc_ksyms.c
+++ b/arch/powerpc/kernel/ppc_ksyms.c
-@@ -59,6 +59,7 @@
+@@ -59,6 +59,7 @@ extern void single_step_exception(struct
extern int sys_sigreturn(struct pt_regs *regs);
EXPORT_SYMBOL(clear_pages);
EXPORT_SYMBOL(DMA_MODE_WRITE);
--- a/arch/powerpc/kernel/prom.c
+++ b/arch/powerpc/kernel/prom.c
-@@ -583,6 +583,20 @@
+@@ -583,6 +583,20 @@ static void __init check_cpu_pa_features
ibm_pa_features, ARRAY_SIZE(ibm_pa_features));
}
static struct feature_property {
const char *name;
u32 min_value;
-@@ -600,6 +614,29 @@
+@@ -600,6 +614,29 @@ static struct feature_property {
#endif /* CONFIG_PPC64 */
};
static void __init check_cpu_feature_properties(unsigned long node)
{
unsigned long i;
-@@ -697,22 +734,13 @@
+@@ -697,22 +734,13 @@ static int __init early_init_dt_scan_cpu
prop = of_get_flat_dt_prop(node, "cpu-version", NULL);
if (prop && (*prop & 0xff000000) == 0x0f000000)
identify_cpu(0, *prop);
if (nthreads > 1)
--- a/arch/powerpc/kernel/prom_parse.c
+++ b/arch/powerpc/kernel/prom_parse.c
-@@ -273,7 +273,7 @@
+@@ -273,7 +273,7 @@ int of_irq_map_pci(struct pci_dev *pdev,
#else
struct pci_controller *host;
host = pci_bus_to_host(pdev->bus);
#endif
/* No node for host bridge ? give up */
if (ppnode == NULL)
-@@ -419,7 +419,7 @@
+@@ -419,7 +419,7 @@ static struct of_bus *of_match_bus(struc
static int of_translate_one(struct device_node *parent, struct of_bus *bus,
struct of_bus *pbus, u32 *addr,
{
const u32 *ranges;
unsigned int rlen;
-@@ -438,7 +438,7 @@
+@@ -438,7 +438,7 @@ static int of_translate_one(struct devic
* to translate addresses that aren't supposed to be translated in
* the first place. --BenH.
*/
if (ranges == NULL || rlen == 0) {
offset = of_read_number(addr, na);
memset(addr, 0, pna * 4);
-@@ -481,7 +481,8 @@
+@@ -481,7 +481,8 @@ static int of_translate_one(struct devic
* that can be mapped to a cpu physical address). This is not really specified
* that way, but this is traditionally the way IBM at least do things
*/
{
struct device_node *parent = NULL;
struct of_bus *bus, *pbus;
-@@ -540,7 +541,7 @@
+@@ -540,7 +541,7 @@ u64 of_translate_address(struct device_n
pbus->name, pna, pns, parent->full_name);
/* Apply bus translation */
break;
/* Complete the move up one level */
-@@ -556,8 +557,19 @@
+@@ -556,8 +557,19 @@ u64 of_translate_address(struct device_n
return result;
}
+subsys_initcall(ppc_rio_init);
--- a/arch/powerpc/kernel/rtas_pci.c
+++ b/arch/powerpc/kernel/rtas_pci.c
-@@ -260,7 +260,7 @@
+@@ -260,7 +260,7 @@ static int phb_set_bus_ranges(struct dev
int __devinit rtas_setup_phb(struct pci_controller *phb)
{
if (is_python(dev))
python_countermeasures(dev);
-@@ -280,10 +280,7 @@
+@@ -280,10 +280,7 @@ void __init find_and_init_phbs(void)
struct pci_controller *phb;
struct device_node *root = of_find_node_by_path("/");
if (node->type == NULL || (strcmp(node->type, "pci") != 0 &&
strcmp(node->type, "pciex") != 0))
continue;
-@@ -311,10 +308,12 @@
+@@ -311,10 +308,12 @@ void __init find_and_init_phbs(void)
if (prop)
pci_probe_only = *prop;
#include "setup.h"
-@@ -327,6 +329,31 @@
+@@ -327,6 +329,31 @@ void __init check_for_initrd(void)
#ifdef CONFIG_SMP
/**
* setup_cpu_maps - initialize the following cpu maps:
* cpu_possible_map
-@@ -350,22 +377,32 @@
+@@ -350,22 +377,32 @@ void __init smp_setup_cpu_maps(void)
{
struct device_node *dn = NULL;
int cpu = 0;
cpu_set(cpu, cpu_present_map);
set_hard_smp_processor_id(cpu, intserv[j]);
cpu_set(cpu, cpu_possible_map);
-@@ -373,6 +410,12 @@
+@@ -373,6 +410,12 @@ void __init smp_setup_cpu_maps(void)
}
}
#ifdef CONFIG_PPC64
/*
* On pSeries LPAR, we need to know how many cpus
-@@ -395,7 +438,7 @@
+@@ -395,7 +438,7 @@ void __init smp_setup_cpu_maps(void)
/* Double maxcpus for processors which have SMT capability */
if (cpu_has_feature(CPU_FTR_SMT))
if (maxcpus > NR_CPUS) {
printk(KERN_WARNING
-@@ -412,9 +455,16 @@
+@@ -412,9 +455,16 @@ void __init smp_setup_cpu_maps(void)
out:
of_node_put(dn);
}
}
/*
-@@ -424,17 +474,19 @@
+@@ -424,17 +474,19 @@ void __init smp_setup_cpu_maps(void)
*/
void __init smp_setup_cpu_sibling_map(void)
{
#include <linux/tty.h>
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
-@@ -76,6 +76,8 @@
+@@ -76,6 +76,8 @@ void smp_call_function_interrupt(void);
int smt_enabled_at_boot = 1;
static void (*crash_ipi_function_ptr)(struct pt_regs *) = NULL;
#ifdef CONFIG_PPC64
-@@ -181,12 +183,13 @@
+@@ -181,12 +183,13 @@ static struct call_data_struct {
* <wait> If true, wait (atomically) until function has completed on other CPUs.
* [RETURNS] 0 on success, else a negative status code. Does not return until
* remote CPUs are nearly ready to execute <<func>> or are or have executed.
{
struct call_data_struct data;
int ret = -1, num_cpus;
-@@ -203,8 +206,6 @@
+@@ -203,8 +206,6 @@ int smp_call_function_map(void (*func) (
if (wait)
atomic_set(&data.finished, 0);
/* remove 'self' from the map */
if (cpu_isset(smp_processor_id(), map))
cpu_clear(smp_processor_id(), map);
-@@ -231,7 +232,8 @@
+@@ -231,7 +232,8 @@ int smp_call_function_map(void (*func) (
printk("smp_call_function on cpu %d: other cpus not "
"responding (%d)\n", smp_processor_id(),
atomic_read(&data.started));
goto out;
}
}
-@@ -258,14 +260,18 @@
+@@ -258,14 +260,18 @@ int smp_call_function_map(void (*func) (
out:
call_data = NULL;
HMT_medium();
}
int smp_call_function(void (*func) (void *info), void *info, int nonatomic,
-@@ -278,8 +284,8 @@
+@@ -278,8 +284,8 @@ int smp_call_function(void (*func) (void
}
EXPORT_SYMBOL(smp_call_function);
{
cpumask_t map = CPU_MASK_NONE;
int ret = 0;
-@@ -291,9 +297,11 @@
+@@ -291,9 +297,11 @@ int smp_call_function_single(int cpu, vo
return -EINVAL;
cpu_set(cpu, map);
local_irq_disable();
func(info);
local_irq_enable();
-@@ -305,7 +313,22 @@
+@@ -305,7 +313,22 @@ EXPORT_SYMBOL(smp_call_function_single);
void smp_send_stop(void)
{
+ }' "$1"
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
-@@ -116,9 +116,12 @@
+@@ -116,9 +116,12 @@ static struct clock_event_device decreme
.features = CLOCK_EVT_FEAT_ONESHOT,
};
#ifdef CONFIG_PPC_ISERIES
static unsigned long __initdata iSeries_recal_titan;
-@@ -216,7 +219,11 @@
+@@ -216,7 +219,11 @@ static u64 read_purr(void)
*/
static u64 read_spurr(u64 purr)
{
return mfspr(SPRN_SPURR);
return purr;
}
-@@ -227,29 +234,30 @@
+@@ -227,29 +234,30 @@ static u64 read_spurr(u64 purr)
*/
void account_system_vtime(struct task_struct *tsk)
{
get_paca()->spurrdelta = deltascaled;
local_irq_restore(flags);
}
-@@ -326,11 +334,9 @@
+@@ -326,11 +334,9 @@ void calculate_steal_time(void)
s64 stolen;
struct cpu_purr_data *pme;
tb = mftb();
purr = mfspr(SPRN_PURR);
stolen = (tb - pme->tb) - (purr - pme->purr);
-@@ -353,7 +359,7 @@
+@@ -353,7 +359,7 @@ static void snapshot_purr(void)
if (!cpu_has_feature(CPU_FTR_PURR))
return;
local_irq_save(flags);
pme->tb = mftb();
pme->purr = mfspr(SPRN_PURR);
pme->initialized = 1;
-@@ -556,8 +562,8 @@
+@@ -556,8 +562,8 @@ void __init iSeries_time_init_early(void
void timer_interrupt(struct pt_regs * regs)
{
struct pt_regs *old_regs;
u64 now;
/* Ensure a positive value is written to the decrementer, or else
-@@ -570,9 +576,9 @@
+@@ -570,9 +576,9 @@ void timer_interrupt(struct pt_regs * re
#endif
now = get_tb_or_rtc();
if (now <= DECREMENTER_MAX)
set_dec((int)now);
return;
-@@ -623,6 +629,45 @@
+@@ -623,6 +629,45 @@ void wakeup_decrementer(void)
set_dec(ticks);
}
#ifdef CONFIG_SMP
void __init smp_space_timers(unsigned int max_cpus)
{
-@@ -811,7 +856,7 @@
+@@ -811,7 +856,7 @@ void __init clocksource_init(void)
static int decrementer_set_next_event(unsigned long evt,
struct clock_event_device *dev)
{
set_dec(evt);
return 0;
}
-@@ -825,7 +870,7 @@
+@@ -825,7 +870,7 @@ static void decrementer_set_mode(enum cl
static void register_decrementer_clockevent(int cpu)
{
*dec = decrementer_clockevent;
dec->cpumask = cpumask_of_cpu(cpu);
-@@ -836,7 +881,7 @@
+@@ -836,7 +881,7 @@ static void register_decrementer_clockev
clockevents_register_device(dec);
}
--- a/arch/powerpc/kernel/traps.c
+++ b/arch/powerpc/kernel/traps.c
-@@ -334,18 +334,25 @@
+@@ -334,18 +334,25 @@ static inline int check_io_access(struct
#define clear_single_step(regs) ((regs)->msr &= ~MSR_SE)
#endif
printk("Machine check in kernel mode.\n");
if (reason & ESR_IMCP){
printk("Instruction Synchronous Machine Check exception\n");
-@@ -375,7 +382,13 @@
+@@ -375,7 +382,13 @@ static int generic_machine_check_excepti
/* Clear MCSR */
mtspr(SPRN_MCSR, mcsr);
}
printk("Machine check in kernel mode.\n");
printk("Caused by (from MCSR=%lx): ", reason);
-@@ -403,7 +416,14 @@
+@@ -403,7 +416,14 @@ static int generic_machine_check_excepti
printk("Bus - Instruction Parity Error\n");
if (reason & MCSR_BUS_RPERR)
printk("Bus - Read Parity Error\n");
printk("Machine check in kernel mode.\n");
printk("Caused by (from MCSR=%lx): ", reason);
-@@ -421,7 +441,14 @@
+@@ -421,7 +441,14 @@ static int generic_machine_check_excepti
printk("Bus - Read Bus Error on data load\n");
if (reason & MCSR_BUS_WRERR)
printk("Bus - Write Bus Error on buffered store or cache line push\n");
printk("Machine check in kernel mode.\n");
printk("Caused by (from SRR1=%lx): ", reason);
switch (reason & 0x601F0000) {
-@@ -451,22 +478,26 @@
+@@ -451,22 +478,26 @@ static int generic_machine_check_excepti
default:
printk("Unknown values in msr\n");
}
return;
if (user_mode(regs)) {
-@@ -476,7 +507,12 @@
+@@ -476,7 +507,12 @@ void machine_check_exception(struct pt_r
}
#if defined(CONFIG_8xx) && defined(CONFIG_PCI)
bad_page_fault(regs, regs->dar, SIGBUS);
return;
#endif
-@@ -622,6 +658,9 @@
+@@ -622,6 +658,9 @@ static void parse_fpe(struct pt_regs *re
#define INST_POPCNTB 0x7c0000f4
#define INST_POPCNTB_MASK 0xfc0007fe
static int emulate_string_inst(struct pt_regs *regs, u32 instword)
{
u8 rT = (instword >> 21) & 0x1f;
-@@ -707,6 +746,23 @@
+@@ -707,6 +746,23 @@ static int emulate_popcntb_inst(struct p
return 0;
}
static int emulate_instruction(struct pt_regs *regs)
{
u32 instword;
-@@ -749,6 +805,11 @@
+@@ -749,6 +805,11 @@ static int emulate_instruction(struct pt
return emulate_popcntb_inst(regs, instword);
}
--- a/arch/powerpc/kernel/udbg.c
+++ b/arch/powerpc/kernel/udbg.c
-@@ -54,9 +54,16 @@
+@@ -54,9 +54,16 @@ void __init udbg_early_init(void)
#elif defined(CONFIG_PPC_EARLY_DEBUG_44x)
/* PPC44x debug */
udbg_init_44x_as1();
/* udbg library, used by xmon et al */
--- a/arch/powerpc/kernel/udbg_16550.c
+++ b/arch/powerpc/kernel/udbg_16550.c
-@@ -46,7 +46,7 @@
+@@ -46,7 +46,7 @@ struct NS16550 {
#define LCR_DLAB 0x80
static void udbg_550_putc(char c)
{
-@@ -117,7 +117,7 @@
+@@ -117,7 +117,7 @@ unsigned int udbg_probe_uart_speed(void
{
unsigned int dll, dlm, divisor, prescaler, speed;
u8 old_lcr;
old_lcr = in_8(&port->lcr);
-@@ -162,7 +162,7 @@
+@@ -162,7 +162,7 @@ void udbg_maple_real_putc(char c)
void __init udbg_init_maple_realmode(void)
{
udbg_putc = udbg_maple_real_putc;
udbg_getc = NULL;
-@@ -184,7 +184,7 @@
+@@ -184,7 +184,7 @@ void udbg_pas_real_putc(char c)
void udbg_init_pas_realmode(void)
{
udbg_putc = udbg_pas_real_putc;
udbg_getc = NULL;
-@@ -219,9 +219,42 @@
+@@ -219,9 +219,42 @@ static int udbg_44x_as1_getc(void)
void __init udbg_init_44x_as1(void)
{
udbg_comport =
#ifndef __FP_FRAC_ADDI_4
--- a/arch/powerpc/mm/fault.c
+++ b/arch/powerpc/mm/fault.c
-@@ -167,10 +167,8 @@
+@@ -167,10 +167,8 @@ int __kprobes do_page_fault(struct pt_re
if (notify_page_fault(regs))
return 0;
/* On a kernel SLB miss we can only check for a valid exception entry */
if (!user_mode(regs) && (address >= TASK_SIZE))
-@@ -189,7 +187,7 @@
+@@ -189,7 +187,7 @@ int __kprobes do_page_fault(struct pt_re
return SIGSEGV;
/* in_atomic() in user mode is really bad,
as is current->mm == NULL. */
regs->nip, regs->msr);
--- a/arch/powerpc/mm/fsl_booke_mmu.c
+++ b/arch/powerpc/mm/fsl_booke_mmu.c
-@@ -165,15 +165,15 @@
+@@ -165,15 +165,15 @@ void invalidate_tlbcam_entry(int index)
void __init cam_mapin_ram(unsigned long cam0, unsigned long cam1,
unsigned long cam2)
{
--- a/arch/powerpc/mm/hash_utils_64.c
+++ b/arch/powerpc/mm/hash_utils_64.c
-@@ -96,6 +96,7 @@
+@@ -96,6 +96,7 @@ int mmu_vmalloc_psize = MMU_PAGE_4K;
int mmu_io_psize = MMU_PAGE_4K;
int mmu_kernel_ssize = MMU_SEGSIZE_256M;
int mmu_highuser_ssize = MMU_SEGSIZE_256M;
#ifdef CONFIG_HUGETLB_PAGE
int mmu_huge_psize = MMU_PAGE_16M;
unsigned int HPAGE_SHIFT;
-@@ -368,18 +369,11 @@
+@@ -368,18 +369,11 @@ static void __init htab_init_page_sizes(
* on what is available
*/
if (mmu_psize_defs[MMU_PAGE_16M].shift)
#define HUGEPD_SIZE (1UL << HUGEPD_SHIFT)
#define HUGEPD_MASK (~(HUGEPD_SIZE-1))
-@@ -82,11 +81,35 @@
+@@ -82,11 +81,35 @@ static int __hugepte_alloc(struct mm_str
return 0;
}
BUG_ON(get_slice_psize(mm, addr) != mmu_huge_psize);
-@@ -96,14 +119,9 @@
+@@ -96,14 +119,9 @@ pte_t *huge_pte_offset(struct mm_struct
if (!pgd_none(*pg)) {
pu = pud_offset(pg, addr);
if (!pud_none(*pu)) {
}
}
-@@ -114,6 +132,7 @@
+@@ -114,6 +132,7 @@ pte_t *huge_pte_alloc(struct mm_struct *
{
pgd_t *pg;
pud_t *pu;
hugepd_t *hpdp = NULL;
BUG_ON(get_slice_psize(mm, addr) != mmu_huge_psize);
-@@ -124,14 +143,9 @@
+@@ -124,14 +143,9 @@ pte_t *huge_pte_alloc(struct mm_struct *
pu = pud_alloc(mm, pg, addr);
if (pu) {
}
if (! hpdp)
-@@ -158,7 +172,6 @@
+@@ -158,7 +172,6 @@ static void free_hugepte_range(struct mm
PGF_CACHENUM_MASK));
}
static void hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud,
unsigned long addr, unsigned long end,
unsigned long floor, unsigned long ceiling)
-@@ -191,7 +204,6 @@
+@@ -191,7 +204,6 @@ static void hugetlb_free_pmd_range(struc
pud_clear(pud);
pmd_free_tlb(tlb, pmd);
}
static void hugetlb_free_pud_range(struct mmu_gather *tlb, pgd_t *pgd,
unsigned long addr, unsigned long end,
-@@ -210,9 +222,15 @@
+@@ -210,9 +222,15 @@ static void hugetlb_free_pud_range(struc
continue;
hugetlb_free_pmd_range(tlb, pud, addr, next, floor, ceiling);
#else
#endif
} while (pud++, addr = next, addr != end);
-@@ -526,6 +544,57 @@
+@@ -526,6 +544,57 @@ repeat:
return err;
}
memset(addr, 0, kmem_cache_size(cache));
--- a/arch/powerpc/mm/lmb.c
+++ b/arch/powerpc/mm/lmb.c
-@@ -342,3 +342,16 @@
+@@ -342,3 +342,16 @@ void __init lmb_enforce_memory_limit(uns
}
}
}
+}
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
-@@ -213,15 +213,30 @@
+@@ -213,15 +213,30 @@ void __init do_init_bootmem(void)
*/
#ifdef CONFIG_HIGHMEM
free_bootmem_with_active_regions(0, total_lowmem >> PAGE_SHIFT);
/* XXX need to clip this if using highmem? */
sparse_memory_present_with_active_regions(0);
-@@ -334,11 +349,13 @@
+@@ -334,11 +349,13 @@ void __init mem_init(void)
highmem_mapnr = total_lowmem >> PAGE_SHIFT;
for (pfn = highmem_mapnr; pfn < max_mapnr; ++pfn) {
struct page *page = pfn_to_page(pfn);
printk(KERN_DEBUG "High memory: %luk\n",
--- a/arch/powerpc/mm/slb.c
+++ b/arch/powerpc/mm/slb.c
-@@ -256,6 +256,7 @@
+@@ -256,6 +256,7 @@ void slb_initialize(void)
static int slb_encoding_inited;
extern unsigned int *slb_miss_kernel_load_linear;
extern unsigned int *slb_miss_kernel_load_io;
/* Prepare our SLB miss handler based on our page size */
linear_llp = mmu_psize_defs[mmu_linear_psize].sllp;
-@@ -269,6 +270,8 @@
+@@ -269,6 +270,8 @@ void slb_initialize(void)
SLB_VSID_KERNEL | linear_llp);
patch_slb_encoding(slb_miss_kernel_load_io,
SLB_VSID_KERNEL | io_llp);
DBG("SLB: io LLP = %04x\n", io_llp);
--- a/arch/powerpc/mm/slb_low.S
+++ b/arch/powerpc/mm/slb_low.S
-@@ -227,8 +227,9 @@
+@@ -227,8 +227,9 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISER
7: ld r10,PACASTABRR(r13)
addi r10,r10,1
li r10,SLB_NUM_BOLTED
--- a/arch/powerpc/oprofile/op_model_cell.c
+++ b/arch/powerpc/oprofile/op_model_cell.c
-@@ -61,7 +61,7 @@
+@@ -61,7 +61,7 @@ static unsigned int spu_cycle_reset;
#define NUM_THREADS 2 /* number of physical threads in
* physical processor
*/
#define NUM_INPUT_BUS_WORDS 2
#define MAX_SPU_COUNT 0xFFFFFF /* maximum 24 bit LFSR value */
-@@ -169,7 +169,6 @@
+@@ -169,7 +169,6 @@ static DEFINE_SPINLOCK(virt_cntr_lock);
static u32 ctr_enabled;
static unsigned char input_bus[NUM_INPUT_BUS_WORDS];
/*
-@@ -298,7 +297,7 @@
+@@ -298,7 +297,7 @@ static void set_pm_event(u32 ctr, int ev
p->signal_group = event / 100;
p->bus_word = bus_word;
pm_regs.pm07_cntrl[ctr] = 0;
pm_regs.pm07_cntrl[ctr] |= PM07_CTR_COUNT_CYCLES(count_cycles);
-@@ -334,16 +333,16 @@
+@@ -334,16 +333,16 @@ static void set_pm_event(u32 ctr, int ev
p->bit = signal_bit;
}
break;
}
-@@ -450,6 +449,12 @@
+@@ -450,6 +449,12 @@ static void cell_virtual_cntr(unsigned l
hdw_thread = 1 ^ hdw_thread;
next_hdw_thread = hdw_thread;
/*
* There are some per thread events. Must do the
* set event, for the thread that is being started
-@@ -619,9 +624,6 @@
+@@ -619,9 +624,6 @@ static int cell_reg_setup(struct op_coun
pmc_cntrl[1][i].vcntr = i;
}
#config REDWOOD_5
# bool "Redwood-5"
# depends on 40x
-@@ -65,6 +71,7 @@
+@@ -65,6 +71,7 @@ config WALNUT
depends on 40x
default y
select 405GP
help
This option enables support for the IBM PPC405GP evaluation board.
-@@ -105,6 +112,11 @@
+@@ -105,6 +112,11 @@ config 405GP
config 405EP
bool
{ .compatible = "ibm,plb4", },
{ .compatible = "ibm,opb", },
{ .compatible = "ibm,ebc", },
-@@ -29,14 +30,11 @@
+@@ -29,14 +30,11 @@ static struct of_device_id kilauea_of_bu
static int __init kilauea_device_probe(void)
{
static int __init kilauea_probe(void)
{
-@@ -45,6 +43,8 @@
+@@ -45,6 +43,8 @@ static int __init kilauea_probe(void)
if (!of_flat_dt_is_compatible(root, "amcc,kilauea"))
return 0;
{ .compatible = "ibm,plb3", },
{ .compatible = "ibm,opb", },
{ .compatible = "ibm,ebc", },
-@@ -34,15 +35,12 @@
+@@ -34,15 +35,12 @@ static struct of_device_id walnut_of_bus
static int __init walnut_device_probe(void)
{
static int __init walnut_probe(void)
{
-@@ -51,6 +49,8 @@
+@@ -51,6 +49,8 @@ static int __init walnut_probe(void)
if (!of_flat_dt_is_compatible(root, "ibm,walnut"))
return 0;
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
-@@ -3,6 +3,7 @@
+@@ -3,6 +3,7 @@ config BAMBOO
depends on 44x
default n
select 440EP
help
This option enables support for the IBM PPC440EP evaluation board.
-@@ -11,6 +12,8 @@
+@@ -11,6 +12,8 @@ config EBONY
depends on 44x
default y
select 440GP
help
This option enables support for the IBM PPC440GP evaluation board.
-@@ -22,6 +25,48 @@
+@@ -22,6 +25,48 @@ config SEQUOIA
help
This option enables support for the AMCC PPC440EPX evaluation board.
#config LUAN
# bool "Luan"
# depends on 44x
-@@ -44,6 +89,7 @@
+@@ -44,6 +89,7 @@ config 440EP
select PPC_FPU
select IBM440EP_ERR42
select IBM_NEW_EMAC_ZMII
config 440EPX
bool
-@@ -52,20 +98,29 @@
+@@ -52,20 +98,29 @@ config 440EPX
select IBM_NEW_EMAC_RGMII
select IBM_NEW_EMAC_ZMII
{ .compatible = "ibm,plb4", },
{ .compatible = "ibm,opb", },
{ .compatible = "ibm,ebc", },
-@@ -32,14 +34,11 @@
+@@ -32,14 +34,11 @@ static struct of_device_id bamboo_of_bus
static int __init bamboo_device_probe(void)
{
static int __init bamboo_probe(void)
{
-@@ -48,6 +47,8 @@
+@@ -48,6 +47,8 @@ static int __init bamboo_probe(void)
if (!of_flat_dt_is_compatible(root, "amcc,bamboo"))
return 0;
{ .compatible = "ibm,plb4", },
{ .compatible = "ibm,opb", },
{ .compatible = "ibm,ebc", },
-@@ -36,14 +38,12 @@
+@@ -36,14 +38,12 @@ static struct of_device_id ebony_of_bus[
static int __init ebony_device_probe(void)
{
/*
* Called very early, MMU is off, device-tree isn't unflattened
-@@ -55,6 +55,8 @@
+@@ -55,6 +55,8 @@ static int __init ebony_probe(void)
if (!of_flat_dt_is_compatible(root, "ibm,ebony"))
return 0;
{ .compatible = "ibm,plb4", },
{ .compatible = "ibm,opb", },
{ .compatible = "ibm,ebc", },
-@@ -32,14 +34,11 @@
+@@ -32,14 +34,11 @@ static struct of_device_id sequoia_of_bu
static int __init sequoia_device_probe(void)
{
static int __init sequoia_probe(void)
{
-@@ -48,6 +47,8 @@
+@@ -48,6 +47,8 @@ static int __init sequoia_probe(void)
if (!of_flat_dt_is_compatible(root, "amcc,sequoia"))
return 0;
+#endif
--- a/arch/powerpc/platforms/52xx/Kconfig
+++ b/arch/powerpc/platforms/52xx/Kconfig
-@@ -19,6 +19,28 @@
+@@ -19,6 +19,28 @@ config PPC_MPC5200_BUGFIX
It is safe to say 'Y' here
config PPC_EFIKA
bool "bPlan Efika 5k2. MPC5200B based computer"
depends on PPC_MULTIPLATFORM && PPC32
-@@ -31,8 +53,7 @@
+@@ -31,8 +53,7 @@ config PPC_EFIKA
config PPC_LITE5200
bool "Freescale Lite5200 Eval Board"
depends on PPC_MULTIPLATFORM && PPC32
-
--- a/arch/powerpc/platforms/52xx/Makefile
+++ b/arch/powerpc/platforms/52xx/Makefile
-@@ -6,6 +6,7 @@
+@@ -6,6 +6,7 @@ obj-y += mpc52xx_pic.o mpc52xx_common
obj-$(CONFIG_PCI) += mpc52xx_pci.o
endif
if (!cdm) {
printk(KERN_ERR "%s() failed; expect abnormal behaviour\n",
__FUNCTION__);
-@@ -74,10 +77,13 @@
+@@ -74,10 +77,13 @@ lite5200_fix_clock_config(void)
static void __init
lite5200_fix_port_config(void)
{
if (!gpio) {
printk(KERN_ERR "%s() failed. expect abnormal behavior\n",
__FUNCTION__);
-@@ -131,10 +137,6 @@
+@@ -131,10 +137,6 @@ static void lite5200_resume_finish(void
static void __init lite5200_setup_arch(void)
{
if (ppc_md.progress)
ppc_md.progress("lite5200_setup_arch()", 0);
-@@ -154,13 +156,7 @@
+@@ -154,13 +156,7 @@ static void __init lite5200_setup_arch(v
lite5200_pm_init();
#endif
/*
--- a/arch/powerpc/platforms/52xx/lite5200_pm.c
+++ b/arch/powerpc/platforms/52xx/lite5200_pm.c
-@@ -42,6 +42,8 @@
+@@ -42,6 +42,8 @@ static int lite5200_pm_set_target(suspen
static int lite5200_pm_prepare(void)
{
/* deep sleep? let mpc52xx code handle that */
if (lite5200_pm_target_state == PM_SUSPEND_STANDBY)
return mpc52xx_pm_prepare();
-@@ -50,7 +52,9 @@
+@@ -50,7 +52,9 @@ static int lite5200_pm_prepare(void)
return -EINVAL;
/* map registers */
/**
* mpc52xx_find_ipb_freq - Find the IPB bus frequency for a device
* @node: device node
-@@ -101,9 +62,12 @@
+@@ -101,9 +62,12 @@ EXPORT_SYMBOL(mpc52xx_find_ipb_freq);
void __init
mpc5200_setup_xlb_arbiter(void)
{
if (!xlb) {
printk(KERN_ERR __FILE__ ": "
"Error mapping XLB in mpc52xx_setup_cpu(). "
-@@ -124,11 +88,21 @@
+@@ -124,11 +88,21 @@ mpc5200_setup_xlb_arbiter(void)
iounmap(xlb);
}
printk(KERN_ERR __FILE__ ": "
"Error while probing of_platform bus\n");
}
-@@ -146,16 +120,19 @@
+@@ -146,16 +120,19 @@ mpc52xx_map_wdt(void)
for_each_compatible_node(np, NULL, "fsl,mpc5200-gpt") {
has_wdt = of_get_property(np, "fsl,has-wdt", NULL);
if (has_wdt) {
--- a/arch/powerpc/platforms/52xx/mpc52xx_pci.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_pci.c
-@@ -363,7 +363,7 @@
+@@ -363,7 +363,7 @@ mpc52xx_add_bridge(struct device_node *n
pr_debug("Adding MPC52xx PCI host bridge %s\n", node->full_name);
if (of_address_to_resource(node, 0, &rsrc) != 0) {
printk(KERN_ERR "Can't get %s resources\n", node->full_name);
-@@ -406,3 +406,17 @@
+@@ -406,3 +406,17 @@ mpc52xx_add_bridge(struct device_node *n
return 0;
}
+}
--- a/arch/powerpc/platforms/52xx/mpc52xx_pic.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_pic.c
-@@ -364,16 +364,18 @@
+@@ -364,16 +364,18 @@ void __init mpc52xx_init_irq(void)
{
u32 intr_ctrl;
struct device_node *picnode;
"Check node !");
--- a/arch/powerpc/platforms/52xx/mpc52xx_pm.c
+++ b/arch/powerpc/platforms/52xx/mpc52xx_pm.c
-@@ -59,10 +59,14 @@
+@@ -59,10 +59,14 @@ int mpc52xx_set_wakeup_gpio(u8 pin, u8 l
int mpc52xx_pm_prepare(void)
{
/* these offsets are from mpc5200 users manual */
--- a/arch/powerpc/platforms/82xx/Kconfig
+++ b/arch/powerpc/platforms/82xx/Kconfig
-@@ -26,6 +26,19 @@
+@@ -26,6 +26,19 @@ config PQ2FADS
help
This option enables support for the PQ2FADS board
config PQ2ADS
--- a/arch/powerpc/platforms/82xx/Makefile
+++ b/arch/powerpc/platforms/82xx/Makefile
-@@ -5,3 +5,4 @@
+@@ -5,3 +5,4 @@ obj-$(CONFIG_MPC8272_ADS) += mpc8272_ads
obj-$(CONFIG_CPM2) += pq2.o
obj-$(CONFIG_PQ2_ADS_PCI_PIC) += pq2ads-pci-pic.o
obj-$(CONFIG_PQ2FADS) += pq2fads.o
+};
--- a/arch/powerpc/platforms/82xx/pq2.c
+++ b/arch/powerpc/platforms/82xx/pq2.c
-@@ -53,13 +53,13 @@
+@@ -53,13 +53,13 @@ static void __init pq2_pci_add_bridge(st
if (of_address_to_resource(np, 0, &r) || r.end - r.start < 0x10b)
goto err;
#include <sysdev/fsl_soc.h>
--- a/arch/powerpc/platforms/83xx/Kconfig
+++ b/arch/powerpc/platforms/83xx/Kconfig
-@@ -50,6 +50,11 @@
+@@ -50,6 +50,11 @@ config MPC836x_MDS
help
This option enables support for the MPC836x MDS Processor Board.
endchoice
config PPC_MPC831x
-@@ -75,3 +80,9 @@
+@@ -75,3 +80,9 @@ config PPC_MPC836x
select PPC_UDBG_16550
select PPC_INDIRECT_PCI
default y if MPC836x_MDS
+ default y if MPC837x_MDS
--- a/arch/powerpc/platforms/83xx/Makefile
+++ b/arch/powerpc/platforms/83xx/Makefile
-@@ -9,3 +9,4 @@
+@@ -9,3 +9,4 @@ obj-$(CONFIG_MPC834x_MDS) += mpc834x_mds
obj-$(CONFIG_MPC834x_ITX) += mpc834x_itx.o
obj-$(CONFIG_MPC836x_MDS) += mpc836x_mds.o
obj-$(CONFIG_MPC832x_MDS) += mpc832x_mds.o
#include <asm/time.h>
#include <asm/ipic.h>
-@@ -70,11 +71,23 @@
+@@ -70,11 +71,23 @@ void __init mpc8313_rdb_init_IRQ(void)
*/
static int __init mpc8313_rdb_probe(void)
{
#include <asm/system.h>
#include <asm/atomic.h>
#include <asm/time.h>
-@@ -110,15 +110,12 @@
+@@ -110,15 +110,12 @@ static struct of_device_id mpc832x_ids[]
static int __init mpc832x_declare_of_platform_devices(void)
{
#include <asm/time.h>
#include <asm/ipic.h>
#include <asm/udbg.h>
-@@ -63,9 +63,6 @@
+@@ -63,9 +63,6 @@ static struct spi_board_info mpc832x_spi
static int __init mpc832x_spi_init(void)
{
par_io_config_pin(3, 0, 3, 0, 1, 0); /* SPI1 MOSI, I/O */
par_io_config_pin(3, 1, 3, 0, 1, 0); /* SPI1 MISO, I/O */
par_io_config_pin(3, 2, 3, 0, 1, 0); /* SPI1 CLK, I/O */
-@@ -80,7 +77,7 @@
+@@ -80,7 +77,7 @@ static int __init mpc832x_spi_init(void)
mpc83xx_spi_deactivate_cs);
}
/* ************************************************************************
*
-@@ -123,15 +120,12 @@
+@@ -123,15 +120,12 @@ static struct of_device_id mpc832x_ids[]
static int __init mpc832x_declare_of_platform_devices(void)
{
#include <asm/system.h>
#include <asm/atomic.h>
-@@ -106,14 +107,27 @@
+@@ -106,14 +107,27 @@ static void __init mpc834x_mds_init_IRQ(
ipic_set_default_priority();
}
#include <asm/system.h>
#include <asm/atomic.h>
#include <asm/time.h>
-@@ -141,15 +141,12 @@
+@@ -141,15 +141,12 @@ static struct of_device_id mpc836x_ids[]
static int __init mpc836x_declare_of_platform_devices(void)
{
#define MPC83XX_SICRH_OFFS 0x118
--- a/arch/powerpc/platforms/83xx/pci.c
+++ b/arch/powerpc/platforms/83xx/pci.c
-@@ -54,7 +54,7 @@
+@@ -54,7 +54,7 @@ int __init mpc83xx_add_bridge(struct dev
" bus 0\n", dev->full_name);
}
return -ENOMEM;
--- a/arch/powerpc/platforms/83xx/usb.c
+++ b/arch/powerpc/platforms/83xx/usb.c
-@@ -41,7 +41,7 @@
+@@ -41,7 +41,7 @@ int mpc834x_usb_cfg(void)
sicrl = in_be32(immap + MPC83XX_SICRL_OFFS) & ~MPC834X_SICRL_USB_MASK;
sicrh = in_be32(immap + MPC83XX_SICRH_OFFS) & ~MPC834X_SICRH_USB_UTMI;
if (np) {
sccr |= MPC83XX_SCCR_USB_DRCM_11; /* 1:3 */
-@@ -67,7 +67,7 @@
+@@ -67,7 +67,7 @@ int mpc834x_usb_cfg(void)
port0_is_dr = 1;
of_node_put(np);
}
if (np) {
sccr |= MPC83XX_SCCR_USB_MPHCM_11; /* 1:3 */
-@@ -111,7 +111,7 @@
+@@ -111,7 +111,7 @@ int mpc831x_usb_cfg(void)
const void *dr_mode;
#endif
if (!np)
return -ENODEV;
prop = of_get_property(np, "phy_type", NULL);
-@@ -179,3 +179,43 @@
+@@ -179,3 +179,43 @@ int mpc831x_usb_cfg(void)
return ret;
}
#endif /* CONFIG_PPC_MPC831x */
+#endif /* CONFIG_PPC_MPC837x */
--- a/arch/powerpc/platforms/85xx/mpc85xx_ads.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_ads.c
-@@ -52,9 +52,9 @@
+@@ -52,9 +52,9 @@ static void cpm2_cascade(unsigned int ir
{
int cascade_irq;
desc->chip->eoi(irq);
}
-@@ -70,13 +70,12 @@
+@@ -70,13 +70,12 @@ static void __init mpc85xx_ads_pic_init(
#endif
np = of_find_node_by_type(np, "open-pic");
printk(KERN_ERR "Could not map mpic register space\n");
of_node_put(np);
return;
-@@ -100,6 +99,7 @@
+@@ -100,6 +99,7 @@ static void __init mpc85xx_ads_pic_init(
irq = irq_of_parse_and_map(np, 0);
cpm2_pic_init(np);
set_irq_chained_handler(irq, cpm2_cascade);
#endif
}
-@@ -112,7 +112,7 @@
+@@ -112,7 +112,7 @@ struct cpm_pin {
int port, pin, flags;
};
/* SCC1 */
{3, 29, CPM_PIN_OUTPUT | CPM_PIN_PRIMARY},
{3, 30, CPM_PIN_OUTPUT | CPM_PIN_SECONDARY},
-@@ -233,13 +233,11 @@
+@@ -233,13 +233,11 @@ static struct of_device_id __initdata of
static int __init declare_of_platform_devices(void)
{
* Called very early, device-tree isn't unflattened
--- a/arch/powerpc/platforms/85xx/mpc85xx_cds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_cds.c
-@@ -222,9 +222,6 @@
+@@ -222,9 +222,6 @@ static int mpc85xx_cds_8259_attach(void)
struct device_node *cascade_node = NULL;
int cascade_irq;
/* Initialize the i8259 controller */
for_each_node_by_type(np, "interrupt-controller")
if (of_device_is_compatible(np, "chrp,iic")) {
-@@ -262,8 +259,7 @@
+@@ -262,8 +259,7 @@ static int mpc85xx_cds_8259_attach(void)
return 0;
}
--- a/arch/powerpc/platforms/85xx/mpc85xx_ds.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_ds.c
-@@ -123,7 +123,7 @@
+@@ -123,7 +123,7 @@ static int mpc85xx_exclude_device(struct
struct device_node* node;
struct resource rsrc;
#include <asm/system.h>
#include <asm/atomic.h>
#include <asm/time.h>
-@@ -144,15 +144,12 @@
+@@ -144,15 +144,12 @@ static struct of_device_id mpc85xx_ids[]
static int __init mpc85xx_publish_devices(void)
{
void __init
mpc86xx_hpcd_init_irq(void)
{
-@@ -124,7 +139,7 @@
+@@ -124,7 +139,7 @@ static void __devinit quirk_uli5229(stru
static void __devinit final_uli5288(struct pci_dev *dev)
{
struct pci_controller *hose = pci_bus_to_host(dev->bus);
#include <asm/system.h>
#include <asm/time.h>
-@@ -116,7 +117,7 @@
+@@ -116,7 +117,7 @@ static int mpc86xx_exclude_device(struct
struct device_node* node;
struct resource rsrc;
of_address_to_resource(node, 0, &rsrc);
if ((rsrc.start & 0xfffff) == 0x8000) {
-@@ -212,6 +213,19 @@
+@@ -212,6 +213,19 @@ mpc86xx_time_init(void)
return 0;
}
.probe = mpc86xx_hpcn_probe,
--- a/arch/powerpc/platforms/8xx/Kconfig
+++ b/arch/powerpc/platforms/8xx/Kconfig
-@@ -18,6 +18,7 @@
+@@ -18,6 +18,7 @@ config MPC8XXFADS
config MPC86XADS
bool "MPC86XADS"
select CPM1
help
MPC86x Application Development System by Freescale Semiconductor.
The MPC86xADS is meant to serve as a platform for s/w and h/w
-@@ -43,6 +44,15 @@
+@@ -43,6 +44,15 @@ config PPC_EP88XC
This board is also resold by Freescale as the QUICCStart
MPC885 Evaluation System and/or the CWH-PPC-885XN-VE.
menu "Freescale Ethernet driver platform-specific options"
--- a/arch/powerpc/platforms/8xx/Makefile
+++ b/arch/powerpc/platforms/8xx/Makefile
-@@ -5,3 +5,4 @@
+@@ -5,3 +5,4 @@ obj-$(CONFIG_PPC_8xx) += m8xx_setup.o
obj-$(CONFIG_MPC885ADS) += mpc885ads_setup.o
obj-$(CONFIG_MPC86XADS) += mpc86xads_setup.o
obj-$(CONFIG_PPC_EP88XC) += ep88xc.o
+};
--- a/arch/powerpc/platforms/8xx/ep88xc.c
+++ b/arch/powerpc/platforms/8xx/ep88xc.c
-@@ -155,12 +155,11 @@
+@@ -155,12 +155,11 @@ static struct of_device_id __initdata of
static int __init declare_of_platform_devices(void)
{
/* Publish the QE devices */
.name = "Embedded Planet EP88xC",
--- a/arch/powerpc/platforms/8xx/m8xx_setup.c
+++ b/arch/powerpc/platforms/8xx/m8xx_setup.c
-@@ -120,7 +120,7 @@
+@@ -120,7 +120,7 @@ void __init mpc8xx_calibrate_decr(void)
ppc_tb_freq /= 16;
ppc_proc_freq = 50000000;
if (!get_freq("clock-frequency", &ppc_proc_freq))
define_machine(mpc86x_ads) {
.name = "MPC86x ADS",
-@@ -275,4 +144,5 @@
+@@ -275,4 +144,5 @@ define_machine(mpc86x_ads) {
.calibrate_decr = mpc8xx_calibrate_decr,
.set_rtc_time = mpc8xx_set_rtc_time,
.get_rtc_time = mpc8xx_get_rtc_time,
};
--- a/arch/powerpc/platforms/8xx/mpc885ads_setup.c
+++ b/arch/powerpc/platforms/8xx/mpc885ads_setup.c
-@@ -264,12 +264,11 @@
+@@ -264,12 +264,11 @@ static struct of_device_id __initdata of
static int __init declare_of_platform_devices(void)
{
/* Publish the QE devices */
.name = "Freescale MPC885 ADS",
--- a/arch/powerpc/platforms/Kconfig
+++ b/arch/powerpc/platforms/Kconfig
-@@ -22,6 +22,7 @@
+@@ -22,6 +22,7 @@ config PPC_83xx
depends on 6xx
select FSL_SOC
select 83xx
select WANT_DEVICE_TREE
config PPC_86xx
-@@ -80,6 +81,10 @@
+@@ -80,6 +81,10 @@ config XICS
bool
default y
config MPIC
bool
default n
-@@ -265,6 +270,7 @@
+@@ -265,6 +270,7 @@ config TAU_AVERAGE
config QUICC_ENGINE
bool
select PPC_LIB_RHEAP
help
The QUICC Engine (QE) is a new generation of communications
coprocessors on Freescale embedded CPUs (akin to CPM in older chips).
-@@ -315,6 +321,12 @@
+@@ -315,6 +321,12 @@ config FSL_ULI1575
config CPM
bool
endmenu
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
-@@ -43,6 +43,7 @@
+@@ -43,6 +43,7 @@ config 40x
bool "AMCC 40x"
select PPC_DCR_NATIVE
select WANT_DEVICE_TREE
bool "AMCC 44x"
--- a/arch/powerpc/platforms/cell/Makefile
+++ b/arch/powerpc/platforms/cell/Makefile
-@@ -20,7 +20,7 @@
+@@ -20,7 +20,7 @@ spu-manage-$(CONFIG_PPC_CELL_NATIVE) +=
obj-$(CONFIG_SPU_BASE) += spu_callbacks.o spu_base.o \
spu_notify.o \
#include <asm/cell-regs.h>
/*
-@@ -256,6 +256,7 @@
+@@ -256,6 +256,7 @@ void __init cbe_regs_init(void)
printk(KERN_ERR "cbe_regs: More BE chips than supported"
"!\n");
cbe_regs_map_count--;
map->cpu_node = cpu;
--- a/arch/powerpc/platforms/cell/io-workarounds.c
+++ b/arch/powerpc/platforms/cell/io-workarounds.c
-@@ -238,7 +238,7 @@
+@@ -238,7 +238,7 @@ static void __init spider_pci_setup_chip
static void __init spider_pci_add_one(struct pci_controller *phb)
{
struct spider_pci_bus *bus = &spider_pci_busses[spider_pci_count];
struct resource rsrc;
void __iomem *regs;
-@@ -309,15 +309,12 @@
+@@ -309,15 +309,12 @@ static int __init spider_pci_workaround_
{
struct pci_controller *phb;
const char *model = of_get_property(np, "model", NULL);
/* If no model property or name isn't exactly "pci", skip */
-@@ -343,4 +340,4 @@
+@@ -343,4 +340,4 @@ static int __init spider_pci_workaround_
return 0;
}
#include <asm/cell-regs.h>
#include "interrupt.h"
-@@ -309,8 +310,8 @@
+@@ -309,8 +310,8 @@ static void cell_iommu_setup_hardware(st
{
struct page *page;
int ret, i;
unsigned int virq;
if (cell_iommu_find_ioc(iommu->nid, &xlate_base))
-@@ -327,7 +328,8 @@
+@@ -327,7 +328,8 @@ static void cell_iommu_setup_hardware(st
__FUNCTION__, iommu->nid, segments, pages_per_segment);
/* set up the segment table */
BUG_ON(!page);
iommu->stab = page_address(page);
clear_page(iommu->stab);
-@@ -489,15 +491,18 @@
+@@ -489,15 +491,18 @@ static struct cbe_iommu *cell_iommu_for_
return NULL;
}
/* Current implementation uses the first window available in that
* node's iommu. We -might- do something smarter later though it may
-@@ -653,7 +658,7 @@
+@@ -653,7 +658,7 @@ static int __init cell_iommu_init_disabl
/* If we have no Axon, we set up the spider DMA magic offset */
if (of_find_node_by_name(NULL, "axon") == NULL)
/* Now we need to check to see where the memory is mapped
* in PCI space. We assume that all busses use the same dma
-@@ -687,10 +692,13 @@
+@@ -687,10 +692,13 @@ static int __init cell_iommu_init_disabl
return -ENODEV;
}
return 0;
}
-@@ -699,9 +707,6 @@
+@@ -699,9 +707,6 @@ static int __init cell_iommu_init(void)
{
struct device_node *np;
/* If IOMMU is disabled or we have little enough RAM to not need
* to enable it, we setup a direct mapping.
*
-@@ -744,5 +749,6 @@
+@@ -744,5 +749,6 @@ static int __init cell_iommu_init(void)
return 0;
}
--- a/arch/powerpc/platforms/cell/pmu.c
+++ b/arch/powerpc/platforms/cell/pmu.c
-@@ -213,7 +213,7 @@
+@@ -213,7 +213,7 @@ u32 cbe_read_pm(u32 cpu, enum pm_reg_nam
break;
case pm_interval:
break;
case pm_start_stop:
-@@ -381,9 +381,6 @@
+@@ -381,9 +381,6 @@ static int __init cbe_init_pm_irq(void)
unsigned int irq;
int rc, node;
for_each_node(node) {
irq = irq_create_mapping(NULL, IIC_IRQ_IOEX_PMI |
(node << IIC_IRQ_NODE_SHIFT));
-@@ -404,7 +401,7 @@
+@@ -404,7 +401,7 @@ static int __init cbe_init_pm_irq(void)
return 0;
}
#include <asm/cell-regs.h>
#include "interrupt.h"
-@@ -85,9 +85,6 @@
+@@ -85,9 +85,6 @@ static int __init cell_publish_devices(v
{
int node;
/* Publish OF platform devices for southbridge IOs */
of_platform_bus_probe(NULL, NULL, NULL);
-@@ -101,7 +98,7 @@
+@@ -101,7 +98,7 @@ static int __init cell_publish_devices(v
}
return 0;
}
#include "interrupt.h"
#include <asm/udbg.h>
-@@ -182,7 +183,7 @@
+@@ -182,7 +183,7 @@ static int smp_cell_cpu_bootable(unsigne
*/
if (system_state < SYSTEM_RUNNING &&
cpu_has_feature(CPU_FTR_SMT) &&
#include <asm/xmon.h>
#include <asm/prom.h>
-@@ -47,6 +48,13 @@
+@@ -47,6 +48,13 @@ struct cbe_spu_info cbe_spu_info[MAX_NUM
EXPORT_SYMBOL_GPL(cbe_spu_info);
/*
* Protects cbe_spu_info and spu->number.
*/
static DEFINE_SPINLOCK(spu_lock);
-@@ -66,6 +74,10 @@
+@@ -66,6 +74,10 @@ static LIST_HEAD(spu_full_list);
static DEFINE_SPINLOCK(spu_full_list_lock);
static DEFINE_MUTEX(spu_full_list_mutex);
void spu_invalidate_slbs(struct spu *spu)
{
struct spu_priv2 __iomem *priv2 = spu->priv2;
-@@ -114,40 +126,36 @@
+@@ -114,40 +126,36 @@ void spu_associate_mm(struct spu *spu, s
}
EXPORT_SYMBOL_GPL(spu_associate_mm);
int psize;
pr_debug("%s\n", __FUNCTION__);
-@@ -159,7 +167,7 @@
+@@ -159,7 +167,7 @@ static int __spu_trap_data_seg(struct sp
printk("%s: invalid access during switch!\n", __func__);
return 1;
}
switch(REGION_ID(ea)) {
case USER_REGION_ID:
-@@ -168,21 +176,21 @@
+@@ -168,21 +176,21 @@ static int __spu_trap_data_seg(struct sp
#else
psize = mm->context.user_psize;
#endif
break;
default:
/* Future: support kernel segments so that drivers
-@@ -191,11 +199,9 @@
+@@ -191,11 +199,9 @@ static int __spu_trap_data_seg(struct sp
pr_debug("invalid region access at %016lx\n", ea);
return 1;
}
spu->slb_replace++;
if (spu->slb_replace >= 8)
-@@ -225,13 +231,83 @@
+@@ -225,13 +231,83 @@ static int __spu_trap_data_map(struct sp
return 1;
}
static irqreturn_t
spu_irq_class_0(int irq, void *data)
{
-@@ -240,12 +316,13 @@
+@@ -240,12 +316,13 @@ spu_irq_class_0(int irq, void *data)
spu = data;
spin_unlock(&spu->register_lock);
spu->stop_callback(spu);
-@@ -255,31 +332,6 @@
+@@ -255,31 +332,6 @@ spu_irq_class_0(int irq, void *data)
return IRQ_HANDLED;
}
static irqreturn_t
spu_irq_class_1(int irq, void *data)
{
-@@ -294,24 +346,23 @@
+@@ -294,24 +346,23 @@ spu_irq_class_1(int irq, void *data)
stat = spu_int_stat_get(spu, 1) & mask;
dar = spu_mfc_dar_get(spu);
dsisr = spu_mfc_dsisr_get(spu);
;
return stat ? IRQ_HANDLED : IRQ_NONE;
-@@ -323,6 +374,8 @@
+@@ -323,6 +374,8 @@ spu_irq_class_2(int irq, void *data)
struct spu *spu;
unsigned long stat;
unsigned long mask;
spu = data;
spin_lock(&spu->register_lock);
-@@ -330,31 +383,30 @@
+@@ -330,31 +383,30 @@ spu_irq_class_2(int irq, void *data)
mask = spu_int_mask_get(spu, 2);
/* ignore interrupts we're not waiting for */
stat &= mask;
spu->wbox_callback(spu);
spu->stats.class2_intr++;
-@@ -479,13 +531,27 @@
+@@ -479,13 +531,27 @@ EXPORT_SYMBOL_GPL(spu_add_sysdev_attr);
int spu_add_sysdev_attr_group(struct attribute_group *attrs)
{
struct spu *spu;
#include "interrupt.h"
struct device_node *spu_devnode(struct spu *spu)
-@@ -345,7 +346,7 @@
+@@ -345,7 +346,7 @@ static int __init of_create_spu(struct s
}
ret = spu_map_interrupts_old(spu, spe);
if (ret) {
spu->name);
goto out_unmap;
}
-@@ -369,6 +370,16 @@
+@@ -369,6 +370,16 @@ static int of_destroy_spu(struct spu *sp
return 0;
}
/* Hardcoded affinity idxs for qs20 */
#define QS20_SPES_PER_BE 8
static int qs20_reg_idxs[QS20_SPES_PER_BE] = { 0, 2, 4, 6, 7, 5, 3, 1 };
-@@ -411,10 +422,15 @@
+@@ -411,10 +422,15 @@ static void init_affinity_qs20_harcoded(
static int of_has_vicinity(void)
{
}
static struct spu *devnode_spu(int cbe, struct device_node *dn)
-@@ -525,7 +541,7 @@
+@@ -525,7 +541,7 @@ static int __init init_affinity(void)
if (of_flat_dt_is_compatible(root, "IBM,CPBW-1.0"))
init_affinity_qs20_harcoded();
else
}
return 0;
-@@ -535,5 +551,7 @@
+@@ -535,5 +551,7 @@ const struct spu_management_ops spu_mana
.enumerate_spus = of_enumerate_spus,
.create_spu = of_create_spu,
.destroy_spu = of_destroy_spu,
SPU_CROSS := spu-
--- a/arch/powerpc/platforms/cell/spufs/backing_ops.c
+++ b/arch/powerpc/platforms/cell/spufs/backing_ops.c
-@@ -106,16 +106,20 @@
+@@ -106,16 +106,20 @@ static unsigned int spu_backing_mbox_sta
if (stat & 0xff0000)
ret |= POLLIN | POLLRDNORM;
else {
}
}
spin_unlock_irq(&ctx->csa.register_lock);
-@@ -139,7 +143,7 @@
+@@ -139,7 +143,7 @@ static int spu_backing_ibox_read(struct
ret = 4;
} else {
/* make sure we get woken up by the interrupt */
ret = 0;
}
spin_unlock(&ctx->csa.register_lock);
-@@ -169,7 +173,8 @@
+@@ -169,7 +173,8 @@ static int spu_backing_wbox_write(struct
} else {
/* make sure we get woken up by the interrupt when space
becomes available */
ret = 0;
}
spin_unlock(&ctx->csa.register_lock);
-@@ -268,6 +273,11 @@
+@@ -268,6 +273,11 @@ static char *spu_backing_get_ls(struct s
return ctx->csa.lscsa->ls;
}
static u32 spu_backing_runcntl_read(struct spu_context *ctx)
{
return ctx->csa.prob.spu_runcntl_RW;
-@@ -285,6 +295,11 @@
+@@ -285,6 +295,11 @@ static void spu_backing_runcntl_write(st
spin_unlock(&ctx->csa.register_lock);
}
static void spu_backing_master_start(struct spu_context *ctx)
{
struct spu_state *csa = &ctx->csa;
-@@ -358,7 +373,7 @@
+@@ -358,7 +373,7 @@ static int spu_backing_send_mfc_command(
static void spu_backing_restart_dma(struct spu_context *ctx)
{
}
struct spu_context_ops spu_backing_ops = {
-@@ -379,8 +394,10 @@
+@@ -379,8 +394,10 @@ struct spu_context_ops spu_backing_ops =
.npc_write = spu_backing_npc_write,
.status_read = spu_backing_status_read,
.get_ls = spu_backing_get_ls,
.set_mfc_query = spu_backing_set_mfc_query,
--- a/arch/powerpc/platforms/cell/spufs/context.c
+++ b/arch/powerpc/platforms/cell/spufs/context.c
-@@ -52,6 +52,7 @@
+@@ -52,6 +52,7 @@ struct spu_context *alloc_spu_context(st
init_waitqueue_head(&ctx->wbox_wq);
init_waitqueue_head(&ctx->stop_wq);
init_waitqueue_head(&ctx->mfc_wq);
ctx->state = SPU_STATE_SAVED;
ctx->ops = &spu_backing_ops;
ctx->owner = get_task_mm(current);
-@@ -105,7 +106,17 @@
+@@ -105,7 +106,17 @@ int put_spu_context(struct spu_context *
void spu_forget(struct spu_context *ctx)
{
struct mm_struct *mm;
mm = ctx->owner;
ctx->owner = NULL;
mmput(mm);
-@@ -133,47 +144,23 @@
+@@ -133,47 +144,23 @@ void spu_unmap_mappings(struct spu_conte
}
/**
/**
--- a/arch/powerpc/platforms/cell/spufs/coredump.c
+++ b/arch/powerpc/platforms/cell/spufs/coredump.c
-@@ -148,7 +148,9 @@
+@@ -148,7 +148,9 @@ int spufs_coredump_extra_notes_size(void
fd = 0;
while ((ctx = coredump_next_context(&fd)) != NULL) {
rc = spufs_ctx_note_size(ctx, fd);
spu_release_saved(ctx);
if (rc < 0)
-@@ -224,7 +226,9 @@
+@@ -224,7 +226,9 @@ int spufs_coredump_extra_notes_write(str
fd = 0;
while ((ctx = coredump_next_context(&fd)) != NULL) {
/*
* bottom half handler for page faults, we can't do this from
-@@ -154,7 +108,7 @@
+@@ -154,7 +108,7 @@ int spufs_handle_class1(struct spu_conte
u64 ea, dsisr, access;
unsigned long flags;
unsigned flt = 0;
/*
* dar and dsisr get passed from the registers
-@@ -165,16 +119,8 @@
+@@ -165,16 +119,8 @@ int spufs_handle_class1(struct spu_conte
* in time, we can still expect to get the same fault
* the immediately after the context restore.
*/
if (!(dsisr & (MFC_DSISR_PTE_NOT_FOUND | MFC_DSISR_ACCESS_DENIED)))
return 0;
-@@ -201,7 +147,22 @@
+@@ -201,7 +147,22 @@ int spufs_handle_class1(struct spu_conte
if (ret)
ret = spu_handle_mm_fault(current->mm, ea, dsisr, &flt);
/*
* If we handled the fault successfully and are in runnable
* state, restart the DMA.
-@@ -222,9 +183,9 @@
+@@ -222,9 +183,9 @@ int spufs_handle_class1(struct spu_conte
if (ctx->spu)
ctx->ops->restart_dma(ctx);
} else
static int
spufs_mem_open(struct inode *inode, struct file *file)
-@@ -84,9 +198,12 @@
+@@ -84,9 +198,12 @@ spufs_mem_read(struct file *file, char _
struct spu_context *ctx = file->private_data;
ssize_t ret;
return ret;
}
-@@ -106,7 +223,10 @@
+@@ -106,7 +223,10 @@ spufs_mem_write(struct file *file, const
if (size > LS_SIZE - pos)
size = LS_SIZE - pos;
local_store = ctx->ops->get_ls(ctx);
ret = copy_from_user(local_store + pos, buffer, size);
spu_release(ctx);
-@@ -146,7 +266,8 @@
+@@ -146,7 +266,8 @@ static unsigned long spufs_mem_mmap_nopf
pr_debug("spufs_mem_mmap_nopfn address=0x%lx -> 0x%lx, offset=0x%lx\n",
addr0, address, offset);
if (ctx->state == SPU_STATE_SAVED) {
vma->vm_page_prot = __pgprot(pgprot_val(vma->vm_page_prot)
-@@ -236,23 +357,32 @@
+@@ -236,23 +357,32 @@ static unsigned long spufs_ps_nopfn(stru
{
struct spu_context *ctx = vma->vm_file->private_data;
unsigned long area, offset = address - vma->vm_start;
return NOPFN_REFAULT;
}
-@@ -286,25 +416,32 @@
+@@ -286,25 +416,32 @@ static int spufs_cntl_mmap(struct file *
#define spufs_cntl_mmap NULL
#endif /* !SPUFS_MMAP_4K */
}
static int spufs_cntl_open(struct inode *inode, struct file *file)
-@@ -317,7 +454,7 @@
+@@ -317,7 +454,7 @@ static int spufs_cntl_open(struct inode
if (!i->i_openers++)
ctx->cntl = inode->i_mapping;
mutex_unlock(&ctx->mapping_lock);
spufs_cntl_set, "0x%08lx");
}
-@@ -327,7 +464,7 @@
+@@ -327,7 +464,7 @@ spufs_cntl_release(struct inode *inode,
struct spufs_inode_info *i = SPUFS_I(inode);
struct spu_context *ctx = i->i_ctx;
mutex_lock(&ctx->mapping_lock);
if (!--i->i_openers)
-@@ -339,8 +476,8 @@
+@@ -339,8 +476,8 @@ spufs_cntl_release(struct inode *inode,
static const struct file_operations spufs_cntl_fops = {
.open = spufs_cntl_open,
.release = spufs_cntl_release,
.mmap = spufs_cntl_mmap,
};
-@@ -368,7 +505,9 @@
+@@ -368,7 +505,9 @@ spufs_regs_read(struct file *file, char
int ret;
struct spu_context *ctx = file->private_data;
ret = __spufs_regs_read(ctx, buffer, size, pos);
spu_release_saved(ctx);
return ret;
-@@ -387,7 +526,9 @@
+@@ -387,7 +526,9 @@ spufs_regs_write(struct file *file, cons
return -EFBIG;
*pos += size;
ret = copy_from_user(lscsa->gprs + *pos - size,
buffer, size) ? -EFAULT : size;
-@@ -419,7 +560,9 @@
+@@ -419,7 +560,9 @@ spufs_fpcr_read(struct file *file, char
int ret;
struct spu_context *ctx = file->private_data;
ret = __spufs_fpcr_read(ctx, buffer, size, pos);
spu_release_saved(ctx);
return ret;
-@@ -436,10 +579,12 @@
+@@ -436,10 +579,12 @@ spufs_fpcr_write(struct file *file, cons
size = min_t(ssize_t, sizeof(lscsa->fpcr) - *pos, size);
if (size <= 0)
return -EFBIG;
ret = copy_from_user((char *)&lscsa->fpcr + *pos - size,
buffer, size) ? -EFAULT : size;
-@@ -486,7 +631,10 @@
+@@ -486,7 +631,10 @@ static ssize_t spufs_mbox_read(struct fi
udata = (void __user *)buf;
for (count = 0; (count + 4) <= len; count += 4, udata++) {
int ret;
ret = ctx->ops->mbox_read(ctx, &mbox_data);
-@@ -522,12 +670,15 @@
+@@ -522,12 +670,15 @@ static ssize_t spufs_mbox_stat_read(stru
size_t len, loff_t *pos)
{
struct spu_context *ctx = file->private_data;
mbox_stat = ctx->ops->mbox_stat_read(ctx) & 0xff;
-@@ -562,6 +713,9 @@
+@@ -562,6 +713,9 @@ void spufs_ibox_callback(struct spu *spu
{
struct spu_context *ctx = spu->ctx;
wake_up_all(&ctx->ibox_wq);
kill_fasync(&ctx->ibox_fasync, SIGIO, POLLIN);
}
-@@ -593,7 +747,9 @@
+@@ -593,7 +747,9 @@ static ssize_t spufs_ibox_read(struct fi
udata = (void __user *)buf;
/* wait only for the first element */
count = 0;
-@@ -639,7 +795,11 @@
+@@ -639,7 +795,11 @@ static unsigned int spufs_ibox_poll(stru
poll_wait(file, &ctx->ibox_wq, wait);
mask = ctx->ops->mbox_stat_poll(ctx, POLLIN | POLLRDNORM);
spu_release(ctx);
-@@ -657,12 +817,15 @@
+@@ -657,12 +817,15 @@ static ssize_t spufs_ibox_stat_read(stru
size_t len, loff_t *pos)
{
struct spu_context *ctx = file->private_data;
ibox_stat = (ctx->ops->mbox_stat_read(ctx) >> 16) & 0xff;
spu_release(ctx);
-@@ -698,6 +861,9 @@
+@@ -698,6 +861,9 @@ void spufs_wbox_callback(struct spu *spu
{
struct spu_context *ctx = spu->ctx;
wake_up_all(&ctx->wbox_wq);
kill_fasync(&ctx->wbox_fasync, SIGIO, POLLOUT);
}
-@@ -731,7 +897,9 @@
+@@ -731,7 +897,9 @@ static ssize_t spufs_wbox_write(struct f
if (__get_user(wbox_data, udata))
return -EFAULT;
/*
* make sure we can at least write one element, by waiting
-@@ -772,7 +940,11 @@
+@@ -772,7 +940,11 @@ static unsigned int spufs_wbox_poll(stru
poll_wait(file, &ctx->wbox_wq, wait);
mask = ctx->ops->mbox_stat_poll(ctx, POLLOUT | POLLWRNORM);
spu_release(ctx);
-@@ -790,12 +962,15 @@
+@@ -790,12 +962,15 @@ static ssize_t spufs_wbox_stat_read(stru
size_t len, loff_t *pos)
{
struct spu_context *ctx = file->private_data;
wbox_stat = (ctx->ops->mbox_stat_read(ctx) >> 8) & 0xff;
spu_release(ctx);
-@@ -866,7 +1041,9 @@
+@@ -866,7 +1041,9 @@ static ssize_t spufs_signal1_read(struct
int ret;
struct spu_context *ctx = file->private_data;
ret = __spufs_signal1_read(ctx, buf, len, pos);
spu_release_saved(ctx);
-@@ -877,6 +1054,7 @@
+@@ -877,6 +1054,7 @@ static ssize_t spufs_signal1_write(struc
size_t len, loff_t *pos)
{
struct spu_context *ctx;
u32 data;
ctx = file->private_data;
-@@ -887,7 +1065,9 @@
+@@ -887,7 +1065,9 @@ static ssize_t spufs_signal1_write(struc
if (copy_from_user(&data, buf, 4))
return -EFAULT;
ctx->ops->signal1_write(ctx, data);
spu_release(ctx);
-@@ -997,7 +1177,9 @@
+@@ -997,7 +1177,9 @@ static ssize_t spufs_signal2_read(struct
struct spu_context *ctx = file->private_data;
int ret;
ret = __spufs_signal2_read(ctx, buf, len, pos);
spu_release_saved(ctx);
-@@ -1008,6 +1190,7 @@
+@@ -1008,6 +1190,7 @@ static ssize_t spufs_signal2_write(struc
size_t len, loff_t *pos)
{
struct spu_context *ctx;
u32 data;
ctx = file->private_data;
-@@ -1018,7 +1201,9 @@
+@@ -1018,7 +1201,9 @@ static ssize_t spufs_signal2_write(struc
if (copy_from_user(&data, buf, 4))
return -EFAULT;
ctx->ops->signal2_write(ctx, data);
spu_release(ctx);
-@@ -1086,33 +1271,42 @@
+@@ -1086,33 +1271,42 @@ static const struct file_operations spuf
#define SPU_ATTR_ACQUIRE_SAVED 2
#define DEFINE_SPUFS_ATTRIBUTE(__name, __get, __set, __fmt, __acquire) \
}
static u64 spufs_signal1_type_get(struct spu_context *ctx)
-@@ -1123,13 +1317,18 @@
+@@ -1123,13 +1317,18 @@ DEFINE_SPUFS_ATTRIBUTE(spufs_signal1_typ
spufs_signal1_type_set, "%llu", SPU_ATTR_ACQUIRE);
}
static u64 spufs_signal2_type_get(struct spu_context *ctx)
-@@ -1329,6 +1528,9 @@
+@@ -1329,6 +1528,9 @@ void spufs_mfc_callback(struct spu *spu)
{
struct spu_context *ctx = spu->ctx;
wake_up_all(&ctx->mfc_wq);
pr_debug("%s %s\n", __FUNCTION__, spu->name);
-@@ -1375,12 +1577,17 @@
+@@ -1375,12 +1577,17 @@ static ssize_t spufs_mfc_read(struct fil
if (size != 4)
goto out;
ctx->tagwait &= ~status;
} else {
ret = spufs_wait(ctx->mfc_wq,
-@@ -1505,7 +1712,11 @@
+@@ -1505,7 +1712,11 @@ static ssize_t spufs_mfc_write(struct fi
if (ret)
goto out;
if (ret)
goto out;
-@@ -1539,7 +1750,11 @@
+@@ -1539,7 +1750,11 @@ static unsigned int spufs_mfc_poll(struc
poll_wait(file, &ctx->mfc_wq, wait);
ctx->ops->set_mfc_query(ctx, ctx->tagwait, 2);
free_elements = ctx->ops->get_mfc_free_elements(ctx);
tagstatus = ctx->ops->read_mfc_tagstatus(ctx);
-@@ -1562,7 +1777,9 @@
+@@ -1562,7 +1777,9 @@ static int spufs_mfc_flush(struct file *
struct spu_context *ctx = file->private_data;
int ret;
#if 0
/* this currently hangs */
ret = spufs_wait(ctx->mfc_wq,
-@@ -1605,12 +1822,18 @@
+@@ -1605,12 +1822,18 @@ static const struct file_operations spuf
.mmap = spufs_mfc_mmap,
};
}
static u64 spufs_npc_get(struct spu_context *ctx)
-@@ -1620,13 +1843,19 @@
+@@ -1620,13 +1843,19 @@ static u64 spufs_npc_get(struct spu_cont
DEFINE_SPUFS_ATTRIBUTE(spufs_npc_ops, spufs_npc_get, spufs_npc_set,
"0x%llx\n", SPU_ATTR_ACQUIRE);
}
static u64 spufs_decr_get(struct spu_context *ctx)
-@@ -1637,15 +1866,21 @@
+@@ -1637,15 +1866,21 @@ static u64 spufs_decr_get(struct spu_con
DEFINE_SPUFS_ATTRIBUTE(spufs_decr_ops, spufs_decr_get, spufs_decr_set,
"0x%llx\n", SPU_ATTR_ACQUIRE_SAVED);
}
static u64 spufs_decr_status_get(struct spu_context *ctx)
-@@ -1659,13 +1894,19 @@
+@@ -1659,13 +1894,19 @@ DEFINE_SPUFS_ATTRIBUTE(spufs_decr_status
spufs_decr_status_set, "0x%llx\n",
SPU_ATTR_ACQUIRE_SAVED);
}
static u64 spufs_event_mask_get(struct spu_context *ctx)
-@@ -1690,13 +1931,19 @@
+@@ -1690,13 +1931,19 @@ static u64 spufs_event_status_get(struct
DEFINE_SPUFS_ATTRIBUTE(spufs_event_status_ops, spufs_event_status_get,
NULL, "0x%llx\n", SPU_ATTR_ACQUIRE_SAVED)
}
static u64 spufs_srr0_get(struct spu_context *ctx)
-@@ -1727,10 +1974,12 @@
+@@ -1727,10 +1974,12 @@ static u64 spufs_object_id_get(struct sp
return ctx->object_id;
}
}
DEFINE_SPUFS_ATTRIBUTE(spufs_object_id_ops, spufs_object_id_get,
-@@ -1777,13 +2026,13 @@
+@@ -1777,13 +2026,13 @@ static const struct file_operations spuf
static ssize_t __spufs_mbox_info_read(struct spu_context *ctx,
char __user *buf, size_t len, loff_t *pos)
{
return simple_read_from_buffer(buf, len, pos, &data, sizeof data);
}
-@@ -1797,7 +2046,9 @@
+@@ -1797,7 +2046,9 @@ static ssize_t spufs_mbox_info_read(stru
if (!access_ok(VERIFY_WRITE, buf, len))
return -EFAULT;
spin_lock(&ctx->csa.register_lock);
ret = __spufs_mbox_info_read(ctx, buf, len, pos);
spin_unlock(&ctx->csa.register_lock);
-@@ -1815,13 +2066,13 @@
+@@ -1815,13 +2066,13 @@ static const struct file_operations spuf
static ssize_t __spufs_ibox_info_read(struct spu_context *ctx,
char __user *buf, size_t len, loff_t *pos)
{
return simple_read_from_buffer(buf, len, pos, &data, sizeof data);
}
-@@ -1835,7 +2086,9 @@
+@@ -1835,7 +2086,9 @@ static ssize_t spufs_ibox_info_read(stru
if (!access_ok(VERIFY_WRITE, buf, len))
return -EFAULT;
spin_lock(&ctx->csa.register_lock);
ret = __spufs_ibox_info_read(ctx, buf, len, pos);
spin_unlock(&ctx->csa.register_lock);
-@@ -1876,7 +2129,9 @@
+@@ -1876,7 +2129,9 @@ static ssize_t spufs_wbox_info_read(stru
if (!access_ok(VERIFY_WRITE, buf, len))
return -EFAULT;
spin_lock(&ctx->csa.register_lock);
ret = __spufs_wbox_info_read(ctx, buf, len, pos);
spin_unlock(&ctx->csa.register_lock);
-@@ -1926,7 +2181,9 @@
+@@ -1926,7 +2181,9 @@ static ssize_t spufs_dma_info_read(struc
if (!access_ok(VERIFY_WRITE, buf, len))
return -EFAULT;
spin_lock(&ctx->csa.register_lock);
ret = __spufs_dma_info_read(ctx, buf, len, pos);
spin_unlock(&ctx->csa.register_lock);
-@@ -1977,7 +2234,9 @@
+@@ -1977,7 +2234,9 @@ static ssize_t spufs_proxydma_info_read(
struct spu_context *ctx = file->private_data;
int ret;
spin_lock(&ctx->csa.register_lock);
ret = __spufs_proxydma_info_read(ctx, buf, len, pos);
spin_unlock(&ctx->csa.register_lock);
-@@ -2066,8 +2325,12 @@
+@@ -2066,8 +2325,12 @@ static unsigned long long spufs_class2_i
static int spufs_show_stat(struct seq_file *s, void *private)
{
struct spu_context *ctx = s->private;
ctx_state_names[ctx->stats.util_state],
--- a/arch/powerpc/platforms/cell/spufs/hw_ops.c
+++ b/arch/powerpc/platforms/cell/spufs/hw_ops.c
-@@ -76,16 +76,18 @@
+@@ -76,16 +76,18 @@ static unsigned int spu_hw_mbox_stat_pol
if (stat & 0xff0000)
ret |= POLLIN | POLLRDNORM;
else {
}
}
spin_unlock_irq(&spu->register_lock);
-@@ -106,7 +108,7 @@
+@@ -106,7 +108,7 @@ static int spu_hw_ibox_read(struct spu_c
ret = 4;
} else {
/* make sure we get woken up by the interrupt */
ret = 0;
}
spin_unlock_irq(&spu->register_lock);
-@@ -127,7 +129,7 @@
+@@ -127,7 +129,7 @@ static int spu_hw_wbox_write(struct spu_
} else {
/* make sure we get woken up by the interrupt when space
becomes available */
ret = 0;
}
spin_unlock_irq(&spu->register_lock);
-@@ -206,6 +208,11 @@
+@@ -206,6 +208,11 @@ static char *spu_hw_get_ls(struct spu_co
return ctx->spu->local_store;
}
static u32 spu_hw_runcntl_read(struct spu_context *ctx)
{
return in_be32(&ctx->spu->problem->spu_runcntl_RW);
-@@ -215,11 +222,21 @@
+@@ -215,11 +222,21 @@ static void spu_hw_runcntl_write(struct
{
spin_lock_irq(&ctx->spu->register_lock);
if (val & SPU_RUNCNTL_ISOLATE)
static void spu_hw_master_start(struct spu_context *ctx)
{
struct spu *spu = ctx->spu;
-@@ -319,8 +336,10 @@
+@@ -319,8 +336,10 @@ struct spu_context_ops spu_hw_ops = {
.npc_write = spu_hw_npc_write,
.status_read = spu_hw_status_read,
.get_ls = spu_hw_get_ls,
static int spu_alloc_lscsa_std(struct spu_state *csa)
{
struct spu_lscsa *lscsa;
-@@ -73,7 +75,7 @@
+@@ -73,7 +75,7 @@ int spu_alloc_lscsa(struct spu_state *cs
int i, j, n_4k;
/* Check availability of 64K pages */
csa->use_big_pages = 1;
--- a/arch/powerpc/platforms/cell/spufs/run.c
+++ b/arch/powerpc/platforms/cell/spufs/run.c
-@@ -15,24 +15,55 @@
+@@ -15,24 +15,55 @@ void spufs_stop_callback(struct spu *spu
{
struct spu_context *ctx = spu->ctx;
}
static int spu_setup_isolated(struct spu_context *ctx)
-@@ -128,34 +159,66 @@
+@@ -128,34 +159,66 @@ out:
static int spu_run_init(struct spu_context *ctx, u32 *npc)
{
return 0;
}
-@@ -165,6 +228,8 @@
+@@ -165,6 +228,8 @@ static int spu_run_fini(struct spu_conte
{
int ret = 0;
*status = ctx->ops->status_read(ctx);
*npc = ctx->ops->npc_read(ctx);
-@@ -177,26 +242,6 @@
+@@ -177,26 +242,6 @@ static int spu_run_fini(struct spu_conte
return ret;
}
/*
* SPU syscall restarting is tricky because we violate the basic
* assumption that the signal handler is running on the interrupted
-@@ -247,7 +292,7 @@
+@@ -247,7 +292,7 @@ static int spu_process_callback(struct s
u32 ls_pointer, npc;
void __iomem *ls;
long spu_ret;
/* get syscall block from local store */
npc = ctx->ops->npc_read(ctx) & ~3;
-@@ -269,9 +314,11 @@
+@@ -269,9 +314,11 @@ static int spu_process_callback(struct s
if (spu_ret <= -ERESTARTSYS) {
ret = spu_handle_restartsys(ctx, &spu_ret, &npc);
}
}
/* write result, jump over indirect pointer */
-@@ -281,18 +328,6 @@
+@@ -281,18 +328,6 @@ static int spu_process_callback(struct s
return ret;
}
long spufs_run_spu(struct spu_context *ctx, u32 *npc, u32 *event)
{
int ret;
-@@ -302,29 +337,14 @@
+@@ -302,29 +337,14 @@ long spufs_run_spu(struct spu_context *c
if (mutex_lock_interruptible(&ctx->run_mutex))
return -ERESTARTSYS;
ret = spu_run_init(ctx, npc);
if (ret) {
-@@ -358,14 +378,12 @@
+@@ -358,14 +378,12 @@ long spufs_run_spu(struct spu_context *c
if (ret)
break;
} while (!ret && !(status & (SPU_STATUS_STOPPED_BY_STOP |
SPU_STATUS_STOPPED_BY_HALT |
SPU_STATUS_SINGLE_STEP)));
-@@ -376,11 +394,10 @@
+@@ -376,11 +394,10 @@ long spufs_run_spu(struct spu_context *c
ctx->stats.libassist++;
if ((ret == 0) ||
((ret == -ERESTARTSYS) &&
((status & SPU_STATUS_STOPPED_BY_HALT) ||
-@@ -401,6 +418,7 @@
+@@ -401,6 +418,7 @@ out2:
out:
*event = ctx->event_return;
}
--- a/arch/powerpc/platforms/cell/spufs/sched.c
+++ b/arch/powerpc/platforms/cell/spufs/sched.c
-@@ -58,6 +58,7 @@
+@@ -58,6 +58,7 @@ static unsigned long spu_avenrun[3];
static struct spu_prio_array *spu_prio;
static struct task_struct *spusched_task;
static struct timer_list spusched_timer;
/*
* Priority of a normal, non-rt, non-niced'd process (aka nice level 0).
-@@ -105,15 +106,21 @@
+@@ -105,15 +106,21 @@ void spu_set_timeslice(struct spu_contex
void __spu_update_sched_info(struct spu_context *ctx)
{
/*
* contains junk for threads with a realtime scheduling
* policy so we have to look at ->prio in this case.
*/
-@@ -124,23 +131,32 @@
+@@ -124,23 +131,32 @@ void __spu_update_sched_info(struct spu_
ctx->policy = current->policy;
/*
}
static int __node_allowed(struct spu_context *ctx, int node)
-@@ -174,7 +190,7 @@
+@@ -174,7 +190,7 @@ void do_notify_spus_active(void)
* Wake up the active spu_contexts.
*
* When the awakened processes see their "notify_active" flag is set,
*/
for_each_online_node(node) {
struct spu *spu;
-@@ -221,7 +237,6 @@
+@@ -221,7 +237,6 @@ static void spu_bind_context(struct spu
spu->wbox_callback = spufs_wbox_callback;
spu->stop_callback = spufs_stop_callback;
spu->mfc_callback = spufs_mfc_callback;
mb();
spu_unmap_mappings(ctx);
spu_restore(&ctx->csa, spu);
-@@ -409,7 +424,6 @@
+@@ -409,7 +424,6 @@ static void spu_unbind_context(struct sp
spu->wbox_callback = NULL;
spu->stop_callback = NULL;
spu->mfc_callback = NULL;
spu_associate_mm(spu, NULL);
spu->pid = 0;
spu->tgid = 0;
-@@ -454,6 +468,13 @@
+@@ -454,6 +468,13 @@ static void __spu_add_to_rq(struct spu_c
}
}
static void __spu_del_from_rq(struct spu_context *ctx)
{
int prio = ctx->prio;
-@@ -468,10 +489,24 @@
+@@ -468,10 +489,24 @@ static void __spu_del_from_rq(struct spu
}
}
spin_lock(&spu_prio->runq_lock);
prepare_to_wait_exclusive(&ctx->stop_wq, &wait, TASK_INTERRUPTIBLE);
if (!signal_pending(current)) {
-@@ -555,7 +590,7 @@
+@@ -555,7 +590,7 @@ static struct spu *find_victim(struct sp
/*
* Look for a possible preemption candidate on the local node first.
* If there is no candidate look at the other nodes. This isn't
* a strong node affinity. We might want to fine-tune this in
* the future.
*/
-@@ -571,6 +606,7 @@
+@@ -571,6 +606,7 @@ static struct spu *find_victim(struct sp
struct spu_context *tmp = spu->ctx;
if (tmp && tmp->prio > ctx->prio &&
(!victim || tmp->prio > victim->prio))
victim = spu->ctx;
}
-@@ -582,6 +618,10 @@
+@@ -582,6 +618,10 @@ static struct spu *find_victim(struct sp
* higher priority contexts before lower priority
* ones, so this is safe until we introduce
* priority inheritance schemes.
*/
if (!mutex_trylock(&victim->state_mutex)) {
victim = NULL;
-@@ -589,10 +629,10 @@
+@@ -589,10 +629,10 @@ static struct spu *find_victim(struct sp
}
spu = victim->spu;
* restart the search.
*/
mutex_unlock(&victim->state_mutex);
-@@ -607,13 +647,10 @@
+@@ -607,13 +647,10 @@ static struct spu *find_victim(struct sp
victim->stats.invol_ctx_switch++;
spu->stats.invol_ctx_switch++;
return spu;
}
}
-@@ -621,6 +658,50 @@
+@@ -621,6 +658,50 @@ static struct spu *find_victim(struct sp
return NULL;
}
/**
* spu_activate - find a free spu for a context and execute it
* @ctx: spu context to schedule
-@@ -632,39 +713,47 @@
+@@ -632,39 +713,47 @@ static struct spu *find_victim(struct sp
*/
int spu_activate(struct spu_context *ctx, unsigned long flags)
{
}
/**
-@@ -706,21 +795,19 @@
+@@ -706,21 +795,19 @@ static int __spu_deactivate(struct spu_c
if (spu) {
new = grab_runnable_context(max_prio, spu->node);
if (new || force) {
}
return new != NULL;
-@@ -757,43 +844,38 @@
+@@ -757,43 +844,38 @@ void spu_yield(struct spu_context *ctx)
static noinline void spusched_tick(struct spu_context *ctx)
{
}
/**
-@@ -817,35 +899,31 @@
+@@ -817,35 +899,31 @@ static unsigned long count_active_contex
}
/**
}
static int spusched_thread(void *unused)
-@@ -857,17 +935,58 @@
+@@ -857,17 +935,58 @@ static int spusched_thread(void *unused)
set_current_state(TASK_INTERRUPTIBLE);
schedule();
for (node = 0; node < MAX_NUMNODES; node++) {
#define LOAD_INT(x) ((x) >> FSHIFT)
#define LOAD_FRAC(x) LOAD_INT(((x) & (FIXED_1-1)) * 100)
-@@ -881,7 +1000,7 @@
+@@ -881,7 +1000,7 @@ static int show_spu_loadavg(struct seq_f
/*
* Note that last_pid doesn't really make much sense for the
* but we include it here to have a 100% compatible interface.
*/
seq_printf(s, "%d.%02d %d.%02d %d.%02d %ld/%d %d\n",
-@@ -922,6 +1041,7 @@
+@@ -922,6 +1041,7 @@ int __init spu_sched_init(void)
spin_lock_init(&spu_prio->runq_lock);
setup_timer(&spusched_timer, spusched_wake, 0);
spusched_task = kthread_run(spusched_thread, NULL, "spusched");
if (IS_ERR(spusched_task)) {
-@@ -929,6 +1049,8 @@
+@@ -929,6 +1049,8 @@ int __init spu_sched_init(void)
goto out_free_spu_prio;
}
entry = create_proc_entry("spu_loadavg", 0, NULL);
if (!entry)
goto out_stop_kthread;
-@@ -954,6 +1076,7 @@
+@@ -954,6 +1076,7 @@ void spu_sched_exit(void)
remove_proc_entry("spu_loadavg", NULL);
del_timer_sync(&spusched_timer);
for (node = 0; node < MAX_NUMNODES; node++) {
--- a/arch/powerpc/platforms/cell/spufs/spufs.h
+++ b/arch/powerpc/platforms/cell/spufs/spufs.h
-@@ -71,6 +71,7 @@
+@@ -71,6 +71,7 @@ struct spu_context {
wait_queue_head_t wbox_wq;
wait_queue_head_t stop_wq;
wait_queue_head_t mfc_wq;
struct fasync_struct *ibox_fasync;
struct fasync_struct *wbox_fasync;
struct fasync_struct *mfc_fasync;
-@@ -168,8 +169,10 @@
+@@ -168,8 +169,10 @@ struct spu_context_ops {
void (*npc_write) (struct spu_context * ctx, u32 data);
u32(*status_read) (struct spu_context * ctx);
char*(*get_ls) (struct spu_context * ctx);
void (*master_start) (struct spu_context * ctx);
void (*master_stop) (struct spu_context * ctx);
int (*set_mfc_query)(struct spu_context * ctx, u32 mask, u32 mode);
-@@ -219,15 +222,16 @@
+@@ -219,15 +222,16 @@ void spu_gang_add_ctx(struct spu_gang *g
/* fault handling */
int spufs_handle_class1(struct spu_context *ctx);
}
static inline void spu_release(struct spu_context *ctx)
-@@ -242,10 +246,11 @@
+@@ -242,10 +246,11 @@ int put_spu_context(struct spu_context *
void spu_unmap_mappings(struct spu_context *ctx);
void spu_forget(struct spu_context *ctx);
int spu_activate(struct spu_context *ctx, unsigned long flags);
void spu_deactivate(struct spu_context *ctx);
void spu_yield(struct spu_context *ctx);
-@@ -279,7 +284,9 @@
+@@ -279,7 +284,9 @@ extern char *isolated_loader;
} \
spu_release(ctx); \
schedule(); \
} \
finish_wait(&(wq), &__wait); \
__ret; \
-@@ -306,41 +313,16 @@
+@@ -306,41 +313,16 @@ struct spufs_coredump_reader {
extern struct spufs_coredump_reader spufs_coredump_read[];
extern int spufs_coredump_num_notes;
#include "spu_save_dump.h"
#include "spu_restore_dump.h"
-@@ -691,35 +693,9 @@
+@@ -691,35 +693,9 @@ static inline void resume_mfc_queue(stru
out_be64(&priv2->mfc_control_RW, MFC_CNTL_RESUME_DMA_QUEUE);
}
/* Save, Step 47:
* Restore, Step 30.
* If MFC_SR1[R]=1, write 0 to SLB_Invalidate_All
-@@ -735,11 +711,7 @@
+@@ -735,11 +711,7 @@ static inline void setup_mfc_slbs(struct
* translation is desired by OS environment).
*/
spu_invalidate_slbs(spu);
}
static inline void set_switch_active(struct spu_state *csa, struct spu *spu)
-@@ -768,9 +740,9 @@
+@@ -768,9 +740,9 @@ static inline void enable_interrupts(str
* (translation) interrupts.
*/
spin_lock_irq(&spu->register_lock);
spu_int_mask_set(spu, 0, 0ul);
spu_int_mask_set(spu, 1, class1_mask);
spu_int_mask_set(spu, 2, 0ul);
-@@ -927,8 +899,8 @@
+@@ -927,8 +899,8 @@ static inline void wait_tag_complete(str
POLL_WHILE_FALSE(in_be32(&prob->dma_tagstatus_R) & mask);
local_irq_save(flags);
local_irq_restore(flags);
}
-@@ -946,8 +918,8 @@
+@@ -946,8 +918,8 @@ static inline void wait_spu_stopped(stru
POLL_WHILE_TRUE(in_be32(&prob->spu_status_R) & SPU_STATUS_RUNNING);
local_irq_save(flags);
local_irq_restore(flags);
}
-@@ -1423,9 +1395,9 @@
+@@ -1423,9 +1395,9 @@ static inline void clear_interrupts(stru
spu_int_mask_set(spu, 0, 0ul);
spu_int_mask_set(spu, 1, 0ul);
spu_int_mask_set(spu, 2, 0ul);
spin_unlock_irq(&spu->register_lock);
}
-@@ -1866,7 +1838,8 @@
+@@ -1866,7 +1838,8 @@ static void save_lscsa(struct spu_state
*/
resume_mfc_queue(prev, spu); /* Step 46. */
set_switch_active(prev, spu); /* Step 48. */
enable_interrupts(prev, spu); /* Step 49. */
save_ls_16kb(prev, spu); /* Step 50. */
-@@ -1971,7 +1944,8 @@
+@@ -1971,7 +1944,8 @@ static void restore_lscsa(struct spu_sta
setup_spu_status_part1(next, spu); /* Step 27. */
setup_spu_status_part2(next, spu); /* Step 28. */
restore_mfc_rag(next, spu); /* Step 29. */
set_spu_npc(next, spu); /* Step 31. */
set_signot1(next, spu); /* Step 32. */
set_signot2(next, spu); /* Step 33. */
-@@ -2103,10 +2077,6 @@
+@@ -2103,10 +2077,6 @@ int spu_save(struct spu_state *prev, str
int rc;
acquire_spu_lock(spu); /* Step 1. */
rc = __do_spu_save(prev, spu); /* Steps 2-53. */
release_spu_lock(spu);
if (rc != 0 && rc != 2 && rc != 6) {
-@@ -2133,9 +2103,6 @@
+@@ -2133,9 +2103,6 @@ int spu_restore(struct spu_state *new, s
acquire_spu_lock(spu);
harvest(NULL, spu);
spu->slb_replace = 0;
rc = __do_spu_restore(new, spu);
release_spu_lock(spu);
if (rc) {
-@@ -2215,10 +2182,8 @@
+@@ -2215,10 +2182,8 @@ int spu_init_csa(struct spu_state *csa)
return 0;
}
-EXPORT_SYMBOL_GPL(spu_fini_csa);
--- a/arch/powerpc/platforms/celleb/Kconfig
+++ b/arch/powerpc/platforms/celleb/Kconfig
-@@ -2,6 +2,8 @@
+@@ -2,6 +2,8 @@ config PPC_CELLEB
bool "Toshiba's Cell Reference Set 'Celleb' Architecture"
depends on PPC_MULTIPLATFORM && PPC64
select PPC_CELL
#include <linux/of_device.h>
#include <linux/irq.h>
-@@ -222,7 +223,7 @@
+@@ -222,7 +223,7 @@ void __init celleb_pci_add_one(struct pc
void (*dummy_read)(struct pci_controller *))
{
struct celleb_pci_bus *bus = &celleb_pci_busses[celleb_pci_count];
if (celleb_pci_count >= MAX_CELLEB_PCI_BUS) {
printk(KERN_ERR "Too many pci bridges, workarounds"
-@@ -256,13 +257,13 @@
+@@ -256,13 +257,13 @@ int __init celleb_pci_workaround_init(vo
celleb_dummy_page_va = kmalloc(PAGE_SIZE, GFP_KERNEL);
if (!celleb_dummy_page_va) {
#include "beat_wrapper.h"
-@@ -51,6 +52,8 @@
+@@ -51,6 +52,8 @@ static int __init find_dma_window(u64 *i
return 0;
}
static void __init celleb_init_direct_mapping(void)
{
u64 lpar_addr, io_addr;
-@@ -68,7 +71,18 @@
+@@ -68,7 +71,18 @@ static void __init celleb_init_direct_ma
ioid, DMA_FLAGS);
}
}
static int celleb_of_bus_notify(struct notifier_block *nb,
-@@ -80,7 +94,7 @@
+@@ -80,7 +94,7 @@ static int celleb_of_bus_notify(struct n
if (action != BUS_NOTIFY_ADD_DEVICE)
return 0;
return 0;
}
-@@ -91,14 +105,12 @@
+@@ -91,14 +105,12 @@ static struct notifier_block celleb_of_b
static int __init celleb_init_iommu(void)
{
#include <linux/of_device.h>
#include <asm/io.h>
-@@ -138,8 +139,6 @@
+@@ -138,8 +139,6 @@ static void celleb_config_read_fake(unsi
*val = celleb_fake_config_readl(p);
break;
}
}
static void celleb_config_write_fake(unsigned char *config, int where,
-@@ -158,7 +157,6 @@
+@@ -158,7 +157,6 @@ static void celleb_config_write_fake(uns
celleb_fake_config_writel(val, p);
break;
}
}
static int celleb_fake_pci_read_config(struct pci_bus *bus,
-@@ -351,6 +349,10 @@
+@@ -351,6 +349,10 @@ static int __init celleb_setup_fake_pci_
wi1 = of_get_property(node, "vendor-id", NULL);
wi2 = of_get_property(node, "class-code", NULL);
wi3 = of_get_property(node, "revision-id", NULL);
celleb_config_write_fake(*config, PCI_DEVICE_ID, 2, wi0[0] & 0xffff);
celleb_config_write_fake(*config, PCI_VENDOR_ID, 2, wi1[0] & 0xffff);
-@@ -372,6 +374,10 @@
+@@ -372,6 +374,10 @@ static int __init celleb_setup_fake_pci_
celleb_setup_pci_base_addrs(hose, devno, fn, num_base_addr);
li = of_get_property(node, "interrupts", &rlen);
val = li[0];
celleb_config_write_fake(*config, PCI_INTERRUPT_PIN, 1, 1);
celleb_config_write_fake(*config, PCI_INTERRUPT_LINE, 1, val);
-@@ -475,7 +481,7 @@
+@@ -475,7 +481,7 @@ static struct of_device_id celleb_phb_ma
int __init celleb_setup_phb(struct pci_controller *phb)
{
--- a/arch/powerpc/platforms/celleb/scc_epci.c
+++ b/arch/powerpc/platforms/celleb/scc_epci.c
-@@ -95,7 +95,7 @@
+@@ -95,7 +95,7 @@ void __init epci_workaround_init(struct
private->dummy_page_da = dma_map_single(hose->parent,
celleb_dummy_page_va, PAGE_SIZE, DMA_FROM_DEVICE);
if (private->dummy_page_da == DMA_ERROR_CODE) {
}
--- a/arch/powerpc/platforms/celleb/scc_uhc.c
+++ b/arch/powerpc/platforms/celleb/scc_uhc.c
-@@ -47,7 +47,8 @@
+@@ -47,7 +47,8 @@ static void enable_scc_uhc(struct pci_de
u32 val = 0;
int i;
static char celleb_machine_type[128] = "Celleb";
-@@ -88,61 +93,122 @@
+@@ -88,61 +93,122 @@ static void celleb_progress(char *s, uns
printk("*** %04x : %s\n", hex, s ? s : "");
}
.show_cpuinfo = celleb_show_cpuinfo,
.restart = beat_restart,
.power_off = beat_power_off,
-@@ -167,3 +233,26 @@
+@@ -167,3 +233,26 @@ define_machine(celleb) {
.machine_crash_shutdown = default_machine_crash_shutdown,
#endif
};
+};
--- a/arch/powerpc/platforms/chrp/pci.c
+++ b/arch/powerpc/platforms/chrp/pci.c
-@@ -198,7 +198,7 @@
+@@ -198,7 +198,7 @@ static void __init setup_peg2(struct pci
printk ("RTAS supporting Pegasos OF not found, please upgrade"
" your firmware\n");
}
--- a/arch/powerpc/platforms/chrp/setup.c
+++ b/arch/powerpc/platforms/chrp/setup.c
-@@ -115,7 +115,7 @@
+@@ -115,7 +115,7 @@ void chrp_show_cpuinfo(struct seq_file *
seq_printf(m, "machine\t\t: CHRP %s\n", model);
/* longtrail (goldengate) stuff */
/* VLSI VAS96011/12 `Golden Gate 2' */
/* Memory banks */
sdramen = (in_le32(gg2_pci_config_base + GG2_PCI_DRAM_CTRL)
-@@ -203,15 +203,20 @@
+@@ -203,15 +203,20 @@ static void __init sio_fixup_irq(const c
static void __init sio_init(void)
{
struct device_node *root;
of_node_put(root);
}
-@@ -251,6 +256,57 @@
+@@ -251,6 +256,57 @@ static void briq_restart(char *cmd)
for(;;);
}
void __init chrp_setup_arch(void)
{
struct device_node *root = of_find_node_by_path("/");
-@@ -594,6 +650,7 @@
+@@ -594,6 +650,7 @@ define_machine(chrp) {
.probe = chrp_probe,
.setup_arch = chrp_setup_arch,
.init = chrp_init2,
.restart = rtas_restart,
--- a/arch/powerpc/platforms/embedded6xx/Kconfig
+++ b/arch/powerpc/platforms/embedded6xx/Kconfig
-@@ -9,6 +9,8 @@
+@@ -9,6 +9,8 @@ config LINKSTATION
select FSL_SOC
select PPC_UDBG_16550 if SERIAL_8250
select DEFAULT_UIMAGE
help
Select LINKSTATION if configuring for one of PPC- (MPC8241)
based NAS systems from Buffalo Technology. So far only
-@@ -16,6 +18,19 @@
+@@ -16,6 +18,19 @@ config LINKSTATION
Linkstation-I HD-HLAN and HD-HGLAN versions, and PPC-based
Terastation systems should be supported too.
config MPC7448HPC2
bool "Freescale MPC7448HPC2(Taiga)"
depends on EMBEDDED6xx
-@@ -23,6 +38,7 @@
+@@ -23,6 +38,7 @@ config MPC7448HPC2
select DEFAULT_UIMAGE
select PPC_UDBG_16550
select WANT_DEVICE_TREE
help
Select MPC7448HPC2 if configuring for Freescale MPC7448HPC2 (Taiga)
platform
-@@ -33,6 +49,7 @@
+@@ -33,6 +49,7 @@ config PPC_HOLLY
select TSI108_BRIDGE
select PPC_UDBG_16550
select WANT_DEVICE_TREE
help
Select PPC_HOLLY if configuring for an IBM 750GX/CL Eval
Board with TSI108/9 bridge (Hickory/Holly)
-@@ -48,17 +65,13 @@
+@@ -48,17 +65,13 @@ config PPC_PRPMC2800
config TSI108_BRIDGE
bool
config MV64X60
bool
-@@ -67,8 +80,6 @@
+@@ -67,8 +80,6 @@ config MV64X60
config MPC10X_OPENPIC
bool
+};
--- a/arch/powerpc/platforms/iseries/Makefile
+++ b/arch/powerpc/platforms/iseries/Makefile
-@@ -5,7 +5,7 @@
+@@ -5,7 +5,7 @@ extra-y += dt.o
obj-y += exception.o
obj-y += hvlog.o hvlpconfig.o lpardata.o setup.o dt_mod.o mf.o lpevents.o \
hvcall.o proc.o htab.o iommu.o misc.o irq.o
obj-$(CONFIG_MODULES) += ksyms.o
--- a/arch/powerpc/platforms/iseries/iommu.c
+++ b/arch/powerpc/platforms/iseries/iommu.c
-@@ -163,8 +163,10 @@
+@@ -163,8 +163,10 @@ static struct iommu_table *iommu_table_f
(it->it_type == TCE_PCI) &&
(it->it_offset == tbl->it_offset) &&
(it->it_index == tbl->it_index) &&
}
--- a/arch/powerpc/platforms/iseries/lpevents.c
+++ b/arch/powerpc/platforms/iseries/lpevents.c
-@@ -239,7 +239,7 @@
+@@ -239,7 +239,7 @@ int HvLpEvent_unregisterHandler(HvLpEven
* other CPUs, and that the deleted handler isn't
* still running on another CPU when we return.
*/
/*
* Table defines
-@@ -62,6 +62,7 @@
+@@ -62,6 +62,7 @@ static struct pci_ops iSeries_pci_ops;
#define IOMM_TABLE_MAX_ENTRIES 1024
#define IOMM_TABLE_ENTRY_SIZE 0x0000000000400000UL
#define BASE_IO_MEMORY 0xE000000000000000UL
static unsigned long max_io_memory = BASE_IO_MEMORY;
static long current_iomm_table_entry;
-@@ -70,12 +71,237 @@
+@@ -70,12 +71,237 @@ static long current_iomm_table_entry;
* Lookup Tables.
*/
static struct device_node *iomm_table[IOMM_TABLE_MAX_ENTRIES];
* iomm_table_allocate_entry
*
* Adds pci_dev entry in address translation table
-@@ -87,7 +313,7 @@
+@@ -87,7 +313,7 @@ static DEFINE_SPINLOCK(iomm_table_lock);
* - CurrentIndex is incremented to keep track of the last entry.
* - Builds the resource entry for allocated BARs.
*/
{
struct resource *bar_res = &dev->resource[bar_num];
long bar_size = pci_resource_len(dev, bar_num);
-@@ -101,7 +327,6 @@
+@@ -101,7 +327,6 @@ static void iomm_table_allocate_entry(st
* Set Resource values.
*/
spin_lock(&iomm_table_lock);
bar_res->start = BASE_IO_MEMORY +
IOMM_TABLE_ENTRY_SIZE * current_iomm_table_entry;
bar_res->end = bar_res->start + bar_size - 1;
-@@ -110,7 +335,8 @@
+@@ -110,7 +335,8 @@ static void iomm_table_allocate_entry(st
*/
while (bar_size > 0 ) {
iomm_table[current_iomm_table_entry] = dev->sysdata;
bar_size -= IOMM_TABLE_ENTRY_SIZE;
++current_iomm_table_entry;
}
-@@ -130,7 +356,7 @@
+@@ -130,7 +356,7 @@ static void iomm_table_allocate_entry(st
* - Loops through The Bar resources(0 - 5) including the ROM
* is resource(6).
*/
{
int bar_num;
-@@ -145,79 +371,19 @@
+@@ -145,79 +371,19 @@ static void allocate_device_bars(struct
* PCI: Read Vendor Failed 0x18.58.10 Rc: 0x00xx
* PCI: Connect Bus Unit Failed 0x18.58.10 Rc: 0x00xx
*/
{
struct device_node *node;
-@@ -230,22 +396,66 @@
+@@ -230,22 +396,66 @@ static struct device_node *find_Device_N
return NULL;
}
/*
* Config space read and write functions.
-@@ -269,7 +479,7 @@
+@@ -269,7 +479,7 @@ static u64 hv_cfg_write_func[4] = {
static int iSeries_pci_read_config(struct pci_bus *bus, unsigned int devfn,
int offset, int size, u32 *val)
{
u64 fn;
struct HvCallPci_LoadReturn ret;
-@@ -299,7 +509,7 @@
+@@ -299,7 +509,7 @@ static int iSeries_pci_read_config(struc
static int iSeries_pci_write_config(struct pci_bus *bus, unsigned int devfn,
int offset, int size, u32 val)
{
u64 fn;
u64 ret;
-@@ -331,22 +541,22 @@
+@@ -331,22 +541,22 @@ static struct pci_ops iSeries_pci_ops =
* PCI: Device 23.90 ReadL Retry( 1)
* PCI: Device 23.90 ReadL Retry Successful(1)
*/
mf_display_src(0xB6000103);
panic_timeout = 0;
panic("PCI: Hardware I/O Error, SRC B6000103, "
-@@ -363,28 +573,39 @@
+@@ -363,28 +573,39 @@ static int CheckReturnCode(char *TextHdr
* the exposure of being device global.
*/
static inline struct device_node *xlate_iomm_address(
}
/*
-@@ -392,91 +613,58 @@
+@@ -392,91 +613,58 @@ static inline struct device_node *xlate_
* On MM I/O error, all ones are returned and iSeries_pci_IoError is cal
* else, data is returned in Big Endian format.
*/
return ret.value;
}
-@@ -485,134 +673,72 @@
+@@ -485,134 +673,72 @@ static u32 iSeries_Read_Long(const volat
* Write MM I/O Instructions for the iSeries
*
*/
}
static void iseries_readsb(const volatile void __iomem *addr, void *buf,
-@@ -620,7 +746,7 @@
+@@ -620,7 +746,7 @@ static void iseries_readsb(const volatil
{
u8 *dst = buf;
while(count-- > 0)
}
static void iseries_readsw(const volatile void __iomem *addr, void *buf,
-@@ -628,7 +754,7 @@
+@@ -628,7 +754,7 @@ static void iseries_readsw(const volatil
{
u16 *dst = buf;
while(count-- > 0)
}
static void iseries_readsl(const volatile void __iomem *addr, void *buf,
-@@ -636,7 +762,7 @@
+@@ -636,7 +762,7 @@ static void iseries_readsl(const volatil
{
u32 *dst = buf;
while(count-- > 0)
}
static void iseries_writesb(volatile void __iomem *addr, const void *buf,
-@@ -644,7 +770,7 @@
+@@ -644,7 +770,7 @@ static void iseries_writesb(volatile voi
{
const u8 *src = buf;
while(count-- > 0)
}
static void iseries_writesw(volatile void __iomem *addr, const void *buf,
-@@ -652,7 +778,7 @@
+@@ -652,7 +778,7 @@ static void iseries_writesw(volatile voi
{
const u16 *src = buf;
while(count-- > 0)
}
static void iseries_writesl(volatile void __iomem *addr, const void *buf,
-@@ -660,7 +786,7 @@
+@@ -660,7 +786,7 @@ static void iseries_writesl(volatile voi
{
const u32 *src = buf;
while(count-- > 0)
}
static void iseries_memset_io(volatile void __iomem *addr, int c,
-@@ -669,7 +795,7 @@
+@@ -669,7 +795,7 @@ static void iseries_memset_io(volatile v
volatile char __iomem *d = addr;
while (n-- > 0)
}
static void iseries_memcpy_fromio(void *dest, const volatile void __iomem *src,
-@@ -679,7 +805,7 @@
+@@ -679,7 +805,7 @@ static void iseries_memcpy_fromio(void *
const volatile char __iomem *s = src;
while (n-- > 0)
}
static void iseries_memcpy_toio(volatile void __iomem *dest, const void *src,
-@@ -689,7 +815,7 @@
+@@ -689,7 +815,7 @@ static void iseries_memcpy_toio(volatile
volatile char __iomem *d = dest;
while (n-- > 0)
}
/* We only set MMIO ops. The default PIO ops will be default
-@@ -742,6 +868,8 @@
+@@ -742,6 +868,8 @@ void __init iSeries_pcibios_init(void)
/* Install IO hooks */
ppc_pci_io = iseries_pci_io;
/* iSeries has no IO space in the common sense, it needs to set
* the IO base to 0
*/
-@@ -767,11 +895,21 @@
+@@ -767,11 +895,21 @@ void __init iSeries_pcibios_init(void)
phb = pcibios_alloc_controller(node);
if (phb == NULL)
continue;
/*
* Decodes Linux DevFn to iSeries DevFn, bridge device, or function.
* For Linux, see PCI_SLOT and PCI_FUNC in include/linux/pci.h
-@@ -47,17 +43,16 @@
+@@ -47,17 +43,16 @@ struct pci_dev; /* For Forward Refere
#define ISERIES_GET_DEVICE_FROM_SUBBUS(subbus) ((subbus >> 5) & 0x7)
#define ISERIES_GET_FUNCTION_FROM_SUBBUS(subbus) ((subbus >> 2) & 0x7)
struct MemoryBlock {
-@@ -112,13 +108,13 @@
+@@ -112,13 +108,13 @@ static unsigned long iSeries_process_Con
* correctly.
*/
mb_array[0].logicalStart = 0;
holeStart = addr_to_chunk(holeStart);
holeFirstChunk = holeStart;
holeSize = addr_to_chunk(holeSize);
-@@ -128,9 +124,9 @@
+@@ -128,9 +124,9 @@ static unsigned long iSeries_process_Con
mb_array[0].logicalEnd = holeFirstChunk;
mb_array[0].absEnd = holeFirstChunk;
mb_array[1].logicalStart = holeFirstChunk;
}
return numMemoryBlocks;
}
-@@ -234,9 +230,9 @@
+@@ -234,9 +230,9 @@ static unsigned long iSeries_process_Reg
mb_array[i].logicalEnd,
mb_array[i].absStart, mb_array[i].absEnd);
mb_array[i].absStart = addr_to_chunk(mb_array[i].absStart &
mb_array[i].logicalStart =
addr_to_chunk(mb_array[i].logicalStart);
mb_array[i].logicalEnd = addr_to_chunk(mb_array[i].logicalEnd);
-@@ -320,7 +316,7 @@
+@@ -320,7 +316,7 @@ struct mschunks_map mschunks_map = {
};
EXPORT_SYMBOL(mschunks_map);
{
klimit = _ALIGN(klimit, sizeof(u32));
mschunks_map.mapping = (u32 *)klimit;
-@@ -499,6 +495,8 @@
+@@ -499,6 +495,8 @@ static void __init iSeries_setup_arch(vo
itVpdAreas.xSlicMaxLogicalProcs);
printk("Max physical processors = %d\n",
itVpdAreas.xSlicMaxPhysicalProcs);
}
static void iSeries_show_cpuinfo(struct seq_file *m)
-@@ -641,24 +639,25 @@
+@@ -641,24 +639,25 @@ static int __init iseries_probe(void)
}
define_machine(iseries) {
select MPIC_U3_HT_IRQS
--- a/arch/powerpc/platforms/maple/pci.c
+++ b/arch/powerpc/platforms/maple/pci.c
-@@ -558,7 +558,7 @@
+@@ -558,7 +558,7 @@ void __init maple_pci_init(void)
* safe assumptions hopefully.
*/
if (u3_agp) {
#include <asm/rtas.h>
--- a/arch/powerpc/platforms/pasemi/Kconfig
+++ b/arch/powerpc/platforms/pasemi/Kconfig
-@@ -3,6 +3,7 @@
+@@ -3,6 +3,7 @@ config PPC_PASEMI
bool "PA Semi SoC-based platforms"
default n
select MPIC
select PPC_UDBG_16550
select PPC_NATIVE
select MPIC_BROKEN_REGREAD
-@@ -17,7 +18,7 @@
+@@ -17,7 +18,7 @@ config PPC_PASEMI_IOMMU
bool "PA Semi IOMMU support"
depends on PPC_PASEMI
help
config PPC_PASEMI_IOMMU_DMA_FORCE
bool "Force DMA engine to use IOMMU"
-@@ -36,13 +37,4 @@
+@@ -36,13 +37,4 @@ config PPC_PASEMI_MDIO
help
Driver for MDIO via GPIO on PWRficient platforms
#define SDCASR_REG 0x0100
#define SDCASR_REG_STRIDE 0x1000
-@@ -124,6 +125,11 @@
+@@ -124,6 +125,11 @@ static void set_astate(int cpu, unsigned
local_irq_restore(flags);
}
void restore_astate(int cpu)
{
set_astate(cpu, current_astate);
-@@ -147,7 +153,10 @@
+@@ -147,7 +153,10 @@ static int pas_cpufreq_cpu_init(struct c
if (!cpu)
goto out;
if (!dn)
goto out;
err = of_address_to_resource(dn, 0, &res);
-@@ -160,7 +169,10 @@
+@@ -160,7 +169,10 @@ static int pas_cpufreq_cpu_init(struct c
goto out;
}
if (!dn) {
err = -ENODEV;
goto out_unmap_sdcasr;
-@@ -292,7 +304,8 @@
+@@ -292,7 +304,8 @@ static struct cpufreq_driver pas_cpufreq
static int __init pas_cpufreq_init(void)
{
#define DELAY 1
-@@ -218,45 +218,27 @@
+@@ -218,45 +218,27 @@ static int __devinit gpio_mdio_probe(str
const struct of_device_id *match)
{
struct device *dev = &ofdev->dev;
prop = of_get_property(np, "reg", NULL);
new_bus->id = *prop;
-@@ -265,9 +247,24 @@
+@@ -265,9 +247,24 @@ static int __devinit gpio_mdio_probe(str
new_bus->phy_mask = 0;
new_bus->irq = kmalloc(sizeof(int)*PHY_MAX_ADDR, GFP_KERNEL);
prop = of_get_property(np, "mdc-pin", NULL);
priv->mdc_pin = *prop;
-@@ -280,17 +277,21 @@
+@@ -280,17 +277,21 @@ static int __devinit gpio_mdio_probe(str
err = mdiobus_register(new_bus);
return err;
}
-@@ -317,6 +318,7 @@
+@@ -317,6 +318,7 @@ static struct of_device_id gpio_mdio_mat
},
{},
};
static struct of_platform_driver gpio_mdio_driver =
{
-@@ -330,12 +332,32 @@
+@@ -330,12 +332,32 @@ static struct of_platform_driver gpio_md
int gpio_mdio_init(void)
{
+MODULE_DESCRIPTION("Driver for MDIO over GPIO on PA Semi PWRficient-based boards");
--- a/arch/powerpc/platforms/pasemi/idle.c
+++ b/arch/powerpc/platforms/pasemi/idle.c
-@@ -74,9 +74,6 @@
+@@ -74,9 +74,6 @@ static int pasemi_system_reset_exception
static int __init pasemi_idle_init(void)
{
#ifndef CONFIG_PPC_PASEMI_CPUFREQ
printk(KERN_WARNING "No cpufreq driver, powersavings modes disabled\n");
current_mode = 0;
-@@ -88,7 +85,7 @@
+@@ -88,7 +85,7 @@ static int __init pasemi_idle_init(void)
return 0;
}
{
--- a/arch/powerpc/platforms/pasemi/pasemi.h
+++ b/arch/powerpc/platforms/pasemi/pasemi.h
-@@ -16,8 +16,14 @@
+@@ -16,8 +16,14 @@ extern void idle_doze(void);
/* Restore astate to last set */
#ifdef CONFIG_PPC_PASEMI_CPUFREQ
}
--- a/arch/powerpc/platforms/pasemi/powersave.S
+++ b/arch/powerpc/platforms/pasemi/powersave.S
-@@ -62,7 +62,16 @@
+@@ -62,7 +62,16 @@ sleep_common:
mflr r0
std r0, 16(r1)
stdu r1,-64(r1)
LOAD_REG_IMMEDIATE(r6,MSR_DR|MSR_IR|MSR_ME|MSR_EE)
mfmsr r4
andc r5,r4,r6
-@@ -73,7 +82,7 @@
+@@ -73,7 +82,7 @@ sleep_common:
mtmsrd r4,0
/* SDC reset register, must be pre-mapped at reset time */
static void __iomem *reset_reg;
-@@ -56,10 +61,14 @@
+@@ -56,10 +61,14 @@ struct mce_regs {
static struct mce_regs mce_regs[MAX_MCE_REGS];
static int num_mce_regs;
printk("Restarting...\n");
while (1)
out_le32(reset_reg, 0x6000000);
-@@ -126,9 +135,6 @@
+@@ -126,9 +135,6 @@ static int __init pas_setup_mce_regs(voi
struct pci_dev *dev;
int reg;
/* Remap various SoC status registers for use by the MCE handler */
reg = 0;
-@@ -172,7 +178,7 @@
+@@ -172,7 +178,7 @@ static int __init pas_setup_mce_regs(voi
return 0;
}
static __init void pas_init_IRQ(void)
{
-@@ -181,6 +187,8 @@
+@@ -181,6 +187,8 @@ static __init void pas_init_IRQ(void)
unsigned long openpic_addr;
const unsigned int *opprop;
int naddr, opplen;
struct mpic *mpic;
mpic_node = NULL;
-@@ -213,13 +221,26 @@
+@@ -213,13 +221,26 @@ static __init void pas_init_IRQ(void)
openpic_addr = of_read_number(opprop, naddr);
printk(KERN_DEBUG "OpenPIC addr: %lx\n", openpic_addr);
of_node_put(mpic_node);
of_node_put(root);
}
-@@ -239,6 +260,14 @@
+@@ -239,6 +260,14 @@ static int pas_machine_check_handler(str
srr0 = regs->nip;
srr1 = regs->msr;
dsisr = mfspr(SPRN_DSISR);
printk(KERN_ERR "Machine Check on CPU %d\n", cpu);
printk(KERN_ERR "SRR0 0x%016lx SRR1 0x%016lx\n", srr0, srr1);
-@@ -295,14 +324,14 @@
+@@ -295,14 +324,14 @@ static int pas_machine_check_handler(str
int i;
printk(KERN_ERR "slb contents:\n");
/* SRR1[62] is from MSR[62] if recoverable, so pass that back */
return !!(srr1 & 0x2);
}
-@@ -362,16 +391,17 @@
+@@ -362,16 +391,17 @@ static inline void pasemi_pcmcia_init(vo
static struct of_device_id pasemi_bus_ids[] = {
pasemi_pcmcia_init();
/* Publish OF platform devices for SDC and other non-PCI devices */
-@@ -379,7 +409,7 @@
+@@ -379,7 +409,7 @@ static int __init pasemi_publish_devices
return 0;
}
/*
-@@ -389,7 +419,8 @@
+@@ -389,7 +419,8 @@ static int __init pas_probe(void)
{
unsigned long root = of_get_flat_dt_root();
return 0;
hpte_init_native();
-@@ -400,7 +431,7 @@
+@@ -400,7 +431,7 @@ static int __init pas_probe(void)
}
define_machine(pasemi) {
.init_early = pas_init_early,
--- a/arch/powerpc/platforms/powermac/low_i2c.c
+++ b/arch/powerpc/platforms/powermac/low_i2c.c
-@@ -585,8 +585,7 @@
+@@ -585,8 +585,7 @@ static void __init kw_i2c_probe(void)
struct device_node *np, *child, *parent;
/* Probe keywest-i2c busses */
struct pmac_i2c_host_kw *host;
int multibus, chans, i;
-@@ -1462,9 +1461,6 @@
+@@ -1462,9 +1461,6 @@ int __init pmac_i2c_init(void)
return 0;
i2c_inited = 1;
/* Probe keywest-i2c busses */
kw_i2c_probe();
-@@ -1483,7 +1479,7 @@
+@@ -1483,7 +1479,7 @@ int __init pmac_i2c_init(void)
return 0;
}
/* Since pmac_i2c_init can be called too early for the platform device
* registration, we need to do it at a later time. In our case, subsys
-@@ -1515,4 +1511,4 @@
+@@ -1515,4 +1511,4 @@ static int __init pmac_i2c_create_platfo
return 0;
}
#else
static int has_second_ohare;
#endif /* CONFIG_PPC64 */
-@@ -314,12 +312,15 @@
+@@ -314,12 +312,15 @@ static int u3_ht_skip_device(struct pci_
/* We only allow config cycles to devices that are in OF device-tree
* as we are apparently having some weird things going on with some
for (dn = busdn->child; dn; dn = dn->sibling)
if (PCI_DN(dn) && PCI_DN(dn)->devfn == devfn)
break;
-@@ -344,14 +345,15 @@
+@@ -344,14 +345,15 @@ static int u3_ht_skip_device(struct pci_
+ (((unsigned int)bus) << 16) \
+ 0x01000000UL)
} else
return hose->cfg_data + U3_HT_CFA1(bus, devfn, offset);
}
-@@ -360,14 +362,15 @@
+@@ -360,14 +362,15 @@ static int u3_ht_read_config(struct pci_
int offset, int len, u32 *val)
{
struct pci_controller *hose;
if (!addr)
return PCIBIOS_DEVICE_NOT_FOUND;
-@@ -397,10 +400,10 @@
+@@ -397,10 +400,10 @@ static int u3_ht_read_config(struct pci_
*val = in_8(addr);
break;
case 2:
break;
}
return PCIBIOS_SUCCESSFUL;
-@@ -410,14 +413,15 @@
+@@ -410,14 +413,15 @@ static int u3_ht_write_config(struct pci
int offset, int len, u32 val)
{
struct pci_controller *hose;
if (!addr)
return PCIBIOS_DEVICE_NOT_FOUND;
-@@ -439,10 +443,10 @@
+@@ -439,10 +443,10 @@ static int u3_ht_write_config(struct pci
out_8(addr, val);
break;
case 2:
break;
}
return PCIBIOS_SUCCESSFUL;
-@@ -725,7 +729,7 @@
+@@ -725,7 +729,7 @@ static void __init setup_bandit(struct p
static int __init setup_uninorth(struct pci_controller *hose,
struct resource *addr)
{
has_uninorth = 1;
hose->ops = ¯isc_pci_ops;
hose->cfg_addr = ioremap(addr->start + 0x800000, 0x1000);
-@@ -773,31 +777,72 @@
+@@ -773,31 +777,72 @@ static void __init setup_u4_pcie(struct
*/
hose->first_busno = 0x00;
hose->last_busno = 0xff;
*/
hose->io_base_phys = 0xf4000000;
hose->pci_io_size = 0x00400000;
-@@ -808,76 +853,33 @@
+@@ -808,76 +853,33 @@ static void __init setup_u3_ht(struct pc
hose->pci_mem_offset = 0;
hose->first_busno = 0;
hose->last_busno = 0xef;
}
#endif /* CONFIG_PPC64 */
-@@ -994,6 +996,8 @@
+@@ -994,6 +996,8 @@ void __init pmac_pci_init(void)
struct device_node *np, *root;
struct device_node *ht = NULL;
root = of_find_node_by_path("/");
if (root == NULL) {
printk(KERN_CRIT "pmac_pci_init: can't find root "
-@@ -1032,15 +1036,15 @@
+@@ -1032,15 +1036,15 @@ void __init pmac_pci_init(void)
* future though
*/
if (u3_agp) {
#else /* CONFIG_PPC64 */
init_p2pbridge();
-@@ -1051,13 +1055,13 @@
+@@ -1051,13 +1055,13 @@ void __init pmac_pci_init(void)
* some offset between bus number and domains for now when we
* assign all busses should help for now
*/
{
struct device_node* node;
int updatecfg = 0;
-@@ -1099,24 +1103,21 @@
+@@ -1099,24 +1103,21 @@ pmac_pci_enable_device_hook(struct pci_d
updatecfg = 1;
}
pci_write_config_byte(dev, PCI_CACHE_LINE_SIZE,
L1_CACHE_BYTES >> 2);
}
-@@ -1124,6 +1125,18 @@
+@@ -1124,6 +1125,18 @@ pmac_pci_enable_device_hook(struct pci_d
return 0;
}
/* We power down some devices after they have been probed. They'll
* be powered back on later on
*/
-@@ -1171,7 +1184,6 @@
+@@ -1171,7 +1184,6 @@ void __init pmac_pcibios_after_init(void
of_node_put(nd);
}
void pmac_pci_fixup_cardbus(struct pci_dev* dev)
{
if (!machine_is(powermac))
-@@ -1259,7 +1271,7 @@
+@@ -1259,7 +1271,7 @@ void pmac_pci_fixup_pciata(struct pci_de
}
}
DECLARE_PCI_FIXUP_EARLY(PCI_ANY_ID, PCI_ANY_ID, pmac_pci_fixup_pciata);
* Disable second function on K2-SATA, it's broken
--- a/arch/powerpc/platforms/powermac/pfunc_base.c
+++ b/arch/powerpc/platforms/powermac/pfunc_base.c
-@@ -363,8 +363,7 @@
+@@ -363,8 +363,7 @@ int __init pmac_pfunc_base_install(void)
return 0;
}
--- a/arch/powerpc/platforms/powermac/pic.c
+++ b/arch/powerpc/platforms/powermac/pic.c
-@@ -690,6 +690,5 @@
+@@ -690,6 +690,5 @@ static int __init init_pmacpic_sysfs(voi
sysdev_driver_register(&pmacpic_sysclass, &driver_pmacpic);
return 0;
}
--- a/arch/powerpc/platforms/powermac/pmac.h
+++ b/arch/powerpc/platforms/powermac/pmac.h
-@@ -26,7 +26,7 @@
+@@ -26,7 +26,7 @@ extern void pmac_pci_init(void);
extern void pmac_nvram_update(void);
extern unsigned char pmac_nvram_read_byte(int addr);
extern void pmac_nvram_write_byte(int addr, unsigned char val);
#include <asm/mmu_context.h>
#include <asm/iommu.h>
#include <asm/smu.h>
-@@ -94,7 +94,6 @@
+@@ -94,7 +94,6 @@ extern struct machdep_calls pmac_md;
#define DEFAULT_ROOT_DEVICE Root_SDA1 /* sda1 - slightly silly choice */
#ifdef CONFIG_PPC64
int sccdbg;
#endif
-@@ -398,17 +397,13 @@
+@@ -398,17 +397,13 @@ static int initializing = 1;
static int pmac_late_init(void)
{
/*
* This is __init_refok because we check for "initializing" before
-@@ -535,9 +530,6 @@
+@@ -535,9 +530,6 @@ static int __init pmac_declare_of_platfo
if (machine_is(chrp))
return -1;
np = of_find_node_by_name(NULL, "valkyrie");
if (np)
of_platform_device_create(np, "valkyrie", NULL);
-@@ -552,8 +544,7 @@
+@@ -552,8 +544,7 @@ static int __init pmac_declare_of_platfo
return 0;
}
/*
* Called very early, MMU is off, device-tree isn't unflattened
-@@ -613,9 +604,11 @@
+@@ -613,9 +604,11 @@ static int pmac_pci_probe_mode(struct pc
/* We need to use normal PCI probing for the AGP bus,
* since the device for the AGP bridge isn't in the tree.
}
--- a/arch/powerpc/platforms/powermac/time.c
+++ b/arch/powerpc/platforms/powermac/time.c
-@@ -84,12 +84,14 @@
+@@ -84,12 +84,14 @@ long __init pmac_time_init(void)
return delta;
}
{
--- a/arch/powerpc/platforms/ps3/Kconfig
+++ b/arch/powerpc/platforms/ps3/Kconfig
-@@ -61,17 +61,6 @@
+@@ -61,17 +61,6 @@ config PS3_DYNAMIC_DMA
This support is mainly for Linux kernel development. If unsure,
say N.
config PS3_VUART
depends on PPC_PS3
tristate
-@@ -138,4 +127,17 @@
+@@ -138,4 +127,17 @@ config PS3_FLASH
be disabled on the kernel command line using "ps3flash=off", to
not allocate this fixed buffer.
/**
* ps3_setup_gelic_device - Setup and register a gelic device instance.
*
-@@ -238,166 +322,6 @@
+@@ -238,166 +322,6 @@ static int __init ps3_setup_vuart_device
return result;
}
static int ps3_setup_storage_dev(const struct ps3_repository_device *repo,
enum ps3_match_id match_id)
{
-@@ -449,16 +373,6 @@
+@@ -449,16 +373,6 @@ static int ps3_setup_storage_dev(const s
goto fail_find_interrupt;
}
for (i = 0; i < num_regions; i++) {
unsigned int id;
u64 start, size;
-@@ -494,7 +408,6 @@
+@@ -494,7 +408,6 @@ static int ps3_setup_storage_dev(const s
fail_device_register:
fail_read_region:
fail_find_interrupt:
kfree(p);
fail_malloc:
-@@ -659,62 +572,268 @@
+@@ -659,62 +572,268 @@ static int ps3_register_repository_devic
return result;
}
* ps3_start_probe_thread - Starts the background probe thread.
*
*/
-@@ -723,7 +842,7 @@
+@@ -723,7 +842,7 @@ static int __init ps3_start_probe_thread
{
int result;
struct task_struct *task;
pr_debug(" -> %s:%d\n", __func__, __LINE__);
-@@ -746,7 +865,8 @@
+@@ -746,7 +865,8 @@ static int __init ps3_start_probe_thread
return -ENODEV;
}
if (IS_ERR(task)) {
result = PTR_ERR(task);
-@@ -755,6 +875,9 @@
+@@ -755,6 +875,9 @@ static int __init ps3_start_probe_thread
return result;
}
pr_debug(" <- %s:%d\n", __func__, __LINE__);
return 0;
}
-@@ -787,6 +910,8 @@
+@@ -787,6 +910,8 @@ static int __init ps3_register_devices(v
ps3_register_sound_devices();
#if defined(CONFIG_PS3_DYNAMIC_DMA)
USE_DYNAMIC_DMA = 1,
#else
-@@ -137,11 +132,8 @@
+@@ -137,11 +132,8 @@ static struct map map;
unsigned long ps3_mm_phys_to_lpar(unsigned long phys_addr)
{
BUG_ON(is_kernel_addr(phys_addr));
}
EXPORT_SYMBOL(ps3_mm_phys_to_lpar);
-@@ -309,7 +301,7 @@
+@@ -309,7 +301,7 @@ static int __init ps3_mm_add_memory(void
BUG_ON(!mem_init_done);
start_pfn = start_addr >> PAGE_SHIFT;
nr_pages = (map.r1.size + PAGE_SIZE - 1) >> PAGE_SHIFT;
-@@ -359,7 +351,7 @@
+@@ -359,7 +351,7 @@ static unsigned long dma_sb_lpar_to_bus(
static void __maybe_unused _dma_dump_region(const struct ps3_dma_region *r,
const char *func, int line)
{
r->dev->dev_id);
DBG("%s:%d: page_size %u\n", func, line, r->page_size);
DBG("%s:%d: bus_addr %lxh\n", func, line, r->bus_addr);
-@@ -394,7 +386,7 @@
+@@ -394,7 +386,7 @@ struct dma_chunk {
static void _dma_dump_chunk (const struct dma_chunk* c, const char* func,
int line)
{
c->region->dev->bus_id, c->region->dev->dev_id);
DBG("%s:%d: r.bus_addr %lxh\n", func, line, c->region->bus_addr);
DBG("%s:%d: r.page_size %u\n", func, line, c->region->page_size);
-@@ -658,7 +650,7 @@
+@@ -658,7 +650,7 @@ static int dma_sb_region_create(struct p
BUG_ON(!r);
if (!r->dev->bus_id) {
r->dev->bus_id, r->dev->dev_id);
return 0;
}
-@@ -724,7 +716,7 @@
+@@ -724,7 +716,7 @@ static int dma_sb_region_free(struct ps3
BUG_ON(!r);
if (!r->dev->bus_id) {
r->dev->bus_id, r->dev->dev_id);
return 0;
}
-@@ -1007,7 +999,7 @@
+@@ -1007,7 +999,7 @@ static int dma_sb_region_create_linear(s
if (r->offset + r->len > map.rm.size) {
/* Map (part of) 2nd RAM chunk */
virt_addr += r->offset - map.rm.size;
--- a/arch/powerpc/platforms/ps3/platform.h
+++ b/arch/powerpc/platforms/ps3/platform.h
-@@ -89,13 +89,11 @@
+@@ -89,13 +89,11 @@ enum ps3_dev_type {
PS3_DEV_TYPE_STOR_ROM = TYPE_ROM, /* 5 */
PS3_DEV_TYPE_SB_GPIO = 6,
PS3_DEV_TYPE_STOR_FLASH = TYPE_RBC, /* 14 */
int ps3_repository_read_bus_type(unsigned int bus_index,
enum ps3_bus_type *bus_type);
int ps3_repository_read_bus_num_dev(unsigned int bus_index,
-@@ -119,7 +117,7 @@
+@@ -119,7 +117,7 @@ enum ps3_reg_type {
int ps3_repository_read_dev_str(unsigned int bus_index,
unsigned int dev_index, const char *dev_str, u64 *value);
int ps3_repository_read_dev_id(unsigned int bus_index, unsigned int dev_index,
int ps3_repository_read_dev_type(unsigned int bus_index,
unsigned int dev_index, enum ps3_dev_type *dev_type);
int ps3_repository_read_dev_intr(unsigned int bus_index,
-@@ -138,21 +136,17 @@
+@@ -138,21 +136,17 @@ int ps3_repository_read_dev_reg(unsigned
/* repository bus enumerators */
struct ps3_repository_device {
int ps3_repository_find_devices(enum ps3_bus_type bus_type,
int (*callback)(const struct ps3_repository_device *repo));
int ps3_repository_find_bus(enum ps3_bus_type bus_type, unsigned int from,
-@@ -186,10 +180,10 @@
+@@ -186,10 +180,10 @@ int ps3_repository_read_stor_dev_region(
unsigned int dev_index, unsigned int region_index,
unsigned int *region_id, u64 *region_start, u64 *region_size);
int ps3_repository_read_rm_base(unsigned int ppe_id, u64 *rm_base);
int ps3_repository_read_rm_size(unsigned int ppe_id, u64 *rm_size);
int ps3_repository_read_region_total(u64 *region_total);
-@@ -200,9 +194,15 @@
+@@ -200,9 +194,15 @@ int ps3_repository_read_mm_info(u64 *rm_
int ps3_repository_read_num_be(unsigned int *num_be);
int ps3_repository_read_be_node_id(unsigned int be_index, u64 *node_id);
int ps3_repository_read_boot_dat_addr(u64 *lpar_addr);
--- a/arch/powerpc/platforms/ps3/repository.c
+++ b/arch/powerpc/platforms/ps3/repository.c
-@@ -33,7 +33,7 @@
+@@ -33,7 +33,7 @@ enum ps3_lpar_id {
};
#define dump_field(_a, _b) _dump_field(_a, _b, __func__, __LINE__)
{
#if defined(DEBUG)
char s[16];
-@@ -50,8 +50,8 @@
+@@ -50,8 +50,8 @@ static void _dump_field(const char *hdr,
#define dump_node_name(_a, _b, _c, _d, _e) \
_dump_node_name(_a, _b, _c, _d, _e, __func__, __LINE__)
{
pr_debug("%s:%d: lpar: %u\n", func, line, lpar_id);
_dump_field("n1: ", n1, func, line);
-@@ -63,7 +63,7 @@
+@@ -63,7 +63,7 @@ static void _dump_node_name (unsigned in
#define dump_node(_a, _b, _c, _d, _e, _f, _g) \
_dump_node(_a, _b, _c, _d, _e, _f, _g, __func__, __LINE__)
static void _dump_node(unsigned int lpar_id, u64 n1, u64 n2, u64 n3, u64 n4,
{
pr_debug("%s:%d: lpar: %u\n", func, line, lpar_id);
_dump_field("n1: ", n1, func, line);
-@@ -165,21 +165,18 @@
+@@ -165,21 +165,18 @@ int ps3_repository_read_bus_str(unsigned
make_first_field("bus", bus_index),
make_field(bus_str, 0),
0, 0,
return result;
}
-@@ -193,7 +190,7 @@
+@@ -193,7 +190,7 @@ int ps3_repository_read_bus_type(unsigne
make_first_field("bus", bus_index),
make_field("type", 0),
0, 0,
*bus_type = v1;
return result;
}
-@@ -208,7 +205,7 @@
+@@ -208,7 +205,7 @@ int ps3_repository_read_bus_num_dev(unsi
make_first_field("bus", bus_index),
make_field("num_dev", 0),
0, 0,
*num_dev = v1;
return result;
}
-@@ -221,22 +218,20 @@
+@@ -221,22 +218,20 @@ int ps3_repository_read_dev_str(unsigned
make_field("dev", dev_index),
make_field(dev_str, 0),
0,
return result;
}
-@@ -251,14 +246,14 @@
+@@ -251,14 +246,14 @@ int ps3_repository_read_dev_type(unsigne
make_field("dev", dev_index),
make_field("type", 0),
0,
{
int result;
u64 v1;
-@@ -287,7 +282,7 @@
+@@ -287,7 +282,7 @@ int ps3_repository_read_dev_reg_type(uns
make_field("dev", dev_index),
make_field("reg", reg_index),
make_field("type", 0),
*reg_type = v1;
return result;
}
-@@ -332,7 +327,7 @@
+@@ -332,7 +327,7 @@ int ps3_repository_find_device(struct ps
return result;
}
__func__, __LINE__, tmp.bus_type, tmp.bus_index, tmp.bus_id,
num_dev);
-@@ -349,47 +344,95 @@
+@@ -349,47 +344,95 @@ int ps3_repository_find_device(struct ps
return result;
}
*repo = tmp;
return 0;
}
-@@ -402,50 +445,34 @@
+@@ -402,50 +445,34 @@ int __devinit ps3_repository_find_device
pr_debug(" -> %s:%d: find bus_type %u\n", __func__, __LINE__, bus_type);
}
pr_debug(" <- %s:%d\n", __func__, __LINE__);
-@@ -561,7 +588,7 @@
+@@ -561,7 +588,7 @@ int ps3_repository_read_stor_dev_port(un
make_first_field("bus", bus_index),
make_field("dev", dev_index),
make_field("port", 0),
}
int ps3_repository_read_stor_dev_blk_size(unsigned int bus_index,
-@@ -571,7 +598,7 @@
+@@ -571,7 +598,7 @@ int ps3_repository_read_stor_dev_blk_siz
make_first_field("bus", bus_index),
make_field("dev", dev_index),
make_field("blk_size", 0),
}
int ps3_repository_read_stor_dev_num_blocks(unsigned int bus_index,
-@@ -581,7 +608,7 @@
+@@ -581,7 +608,7 @@ int ps3_repository_read_stor_dev_num_blo
make_first_field("bus", bus_index),
make_field("dev", dev_index),
make_field("n_blocks", 0),
}
int ps3_repository_read_stor_dev_num_regions(unsigned int bus_index,
-@@ -594,7 +621,7 @@
+@@ -594,7 +621,7 @@ int ps3_repository_read_stor_dev_num_reg
make_first_field("bus", bus_index),
make_field("dev", dev_index),
make_field("n_regs", 0),
*num_regions = v1;
return result;
}
-@@ -611,7 +638,7 @@
+@@ -611,7 +638,7 @@ int ps3_repository_read_stor_dev_region_
make_field("dev", dev_index),
make_field("region", region_index),
make_field("id", 0),
*region_id = v1;
return result;
}
-@@ -624,7 +651,7 @@
+@@ -624,7 +651,7 @@ int ps3_repository_read_stor_dev_region_
make_field("dev", dev_index),
make_field("region", region_index),
make_field("size", 0),
}
int ps3_repository_read_stor_dev_region_start(unsigned int bus_index,
-@@ -635,7 +662,7 @@
+@@ -635,7 +662,7 @@ int ps3_repository_read_stor_dev_region_
make_field("dev", dev_index),
make_field("region", region_index),
make_field("start", 0),
}
int ps3_repository_read_stor_dev_info(unsigned int bus_index,
-@@ -684,6 +711,35 @@
+@@ -684,6 +711,35 @@ int ps3_repository_read_stor_dev_region(
return result;
}
int ps3_repository_read_rm_size(unsigned int ppe_id, u64 *rm_size)
{
return read_node(PS3_LPAR_ID_CURRENT,
-@@ -691,7 +747,7 @@
+@@ -691,7 +747,7 @@ int ps3_repository_read_rm_size(unsigned
make_field("pu", 0),
ppe_id,
make_field("rm_size", 0),
}
int ps3_repository_read_region_total(u64 *region_total)
-@@ -700,7 +756,7 @@
+@@ -700,7 +756,7 @@ int ps3_repository_read_region_total(u64
make_first_field("bi", 0),
make_field("rgntotal", 0),
0, 0,
}
/**
-@@ -736,7 +792,7 @@
+@@ -736,7 +792,7 @@ int ps3_repository_read_num_spu_reserved
make_first_field("bi", 0),
make_field("spun", 0),
0, 0,
*num_spu_reserved = v1;
return result;
}
-@@ -755,7 +811,7 @@
+@@ -755,7 +811,7 @@ int ps3_repository_read_num_spu_resource
make_first_field("bi", 0),
make_field("spursvn", 0),
0, 0,
*num_resource_id = v1;
return result;
}
-@@ -768,7 +824,7 @@
+@@ -768,7 +824,7 @@ int ps3_repository_read_num_spu_resource
*/
int ps3_repository_read_spu_resource_id(unsigned int res_index,
{
int result;
u64 v1;
-@@ -785,14 +841,14 @@
+@@ -785,14 +841,14 @@ int ps3_repository_read_spu_resource_id(
return result;
}
}
int ps3_repository_read_boot_dat_size(unsigned int *size)
-@@ -805,7 +861,7 @@
+@@ -805,7 +861,7 @@ int ps3_repository_read_boot_dat_size(un
make_field("boot_dat", 0),
make_field("size", 0),
0,
*size = v1;
return result;
}
-@@ -820,7 +876,7 @@
+@@ -820,7 +876,7 @@ int ps3_repository_read_vuart_av_port(un
make_field("vir_uart", 0),
make_field("port", 0),
make_field("avset", 0),
*port = v1;
return result;
}
-@@ -835,7 +891,7 @@
+@@ -835,7 +891,7 @@ int ps3_repository_read_vuart_sysmgr_por
make_field("vir_uart", 0),
make_field("port", 0),
make_field("sysmgr", 0),
*port = v1;
return result;
}
-@@ -856,6 +912,10 @@
+@@ -856,6 +912,10 @@ int ps3_repository_read_boot_dat_info(u6
: ps3_repository_read_boot_dat_size(size);
}
int ps3_repository_read_num_be(unsigned int *num_be)
{
int result;
-@@ -866,11 +926,17 @@
+@@ -866,11 +926,17 @@ int ps3_repository_read_num_be(unsigned
0,
0,
0,
int ps3_repository_read_be_node_id(unsigned int be_index, u64 *node_id)
{
return read_node(PS3_LPAR_ID_PME,
-@@ -878,7 +944,23 @@
+@@ -878,7 +944,23 @@ int ps3_repository_read_be_node_id(unsig
0,
0,
0,
}
int ps3_repository_read_tb_freq(u64 node_id, u64 *tb_freq)
-@@ -888,7 +970,7 @@
+@@ -888,7 +970,7 @@ int ps3_repository_read_tb_freq(u64 node
node_id,
make_field("clock", 0),
0,
}
int ps3_repository_read_be_tb_freq(unsigned int be_index, u64 *tb_freq)
-@@ -897,11 +979,29 @@
+@@ -897,11 +979,29 @@ int ps3_repository_read_be_tb_freq(unsig
u64 node_id;
*tb_freq = 0;
#if defined(DEBUG)
int ps3_repository_dump_resource_info(const struct ps3_repository_device *repo)
-@@ -1034,7 +1134,7 @@
+@@ -1034,7 +1134,7 @@ static int dump_device_info(struct ps3_r
continue;
}
__LINE__, repo->bus_index, repo->dev_index,
repo->dev_type, repo->dev_id);
-@@ -1091,7 +1191,7 @@
+@@ -1091,7 +1191,7 @@ int ps3_repository_dump_bus_info(void)
continue;
}
#include "platform.h"
/* spu_management_ops */
-@@ -419,10 +420,34 @@
+@@ -419,10 +420,34 @@ static int ps3_init_affinity(void)
return 0;
}
.init_affinity = ps3_init_affinity,
};
-@@ -505,8 +530,6 @@
+@@ -505,8 +530,6 @@ static void mfc_sr1_set(struct spu *spu,
static const u64 allowed = ~(MFC_STATE1_LOCAL_STORAGE_DECODE_MASK
| MFC_STATE1_PROBLEM_STATE_MASK);
spu_pdata(spu)->cache.sr1 = sr1;
--- a/arch/powerpc/platforms/ps3/system-bus.c
+++ b/arch/powerpc/platforms/ps3/system-bus.c
-@@ -42,8 +42,8 @@
+@@ -42,8 +42,8 @@ struct {
int gpu;
} static usage_hack;
{
return dev->bus_id == bus_id && dev->dev_id == dev_id;
}
-@@ -182,8 +182,8 @@
+@@ -182,8 +182,8 @@ int ps3_open_hv_device(struct ps3_system
case PS3_MATCH_ID_SYSTEM_MANAGER:
pr_debug("%s:%d: unsupported match_id: %u\n", __func__,
__LINE__, dev->match_id);
BUG();
return -EINVAL;
-@@ -220,8 +220,8 @@
+@@ -220,8 +220,8 @@ int ps3_close_hv_device(struct ps3_syste
case PS3_MATCH_ID_SYSTEM_MANAGER:
pr_debug("%s:%d: unsupported match_id: %u\n", __func__,
__LINE__, dev->match_id);
BUG();
return -EINVAL;
-@@ -240,7 +240,7 @@
+@@ -240,7 +240,7 @@ EXPORT_SYMBOL_GPL(ps3_close_hv_device);
static void _dump_mmio_region(const struct ps3_mmio_region* r,
const char* func, int line)
{
r->dev->dev_id);
pr_debug("%s:%d: bus_addr %lxh\n", func, line, r->bus_addr);
pr_debug("%s:%d: len %lxh\n", func, line, r->len);
-@@ -715,6 +715,7 @@
+@@ -715,6 +715,7 @@ int ps3_system_bus_device_register(struc
static unsigned int dev_ioc0_count;
static unsigned int dev_sb_count;
static unsigned int dev_vuart_count;
if (!dev->core.parent)
dev->core.parent = &ps3_system_bus;
-@@ -737,6 +738,10 @@
+@@ -737,6 +738,10 @@ int ps3_system_bus_device_register(struc
snprintf(dev->core.bus_id, sizeof(dev->core.bus_id),
"vuart_%02x", ++dev_vuart_count);
break;
#include <asm/atomic.h>
#include <asm/eeh.h>
#include <asm/eeh_event.h>
-@@ -169,7 +171,6 @@
+@@ -169,7 +171,6 @@ static void rtas_slot_error_detail(struc
*/
static size_t gather_pci_data(struct pci_dn *pdn, char * buf, size_t len)
{
struct pci_dev *dev = pdn->pcidev;
u32 cfg;
int cap, i;
-@@ -243,12 +244,12 @@
+@@ -243,12 +244,12 @@ static size_t gather_pci_data(struct pci
/* Gather status on devices under the bridge */
if (dev->class >> 16 == PCI_BASE_CLASS_BRIDGE) {
}
}
-@@ -372,7 +373,7 @@
+@@ -372,7 +373,7 @@ struct device_node * find_device_pe(stru
return dn;
}
* Mark the device driver too, so that it can see the failure
* immediately; this is critical, since some drivers poll
* status registers in interrupts ... If a driver is polling,
-@@ -380,9 +381,11 @@
+@@ -380,9 +381,11 @@ struct device_node * find_device_pe(stru
* an interrupt context, which is bad.
*/
if (PCI_DN(dn)) {
/* Mark the pci device driver too */
struct pci_dev *dev = PCI_DN(dn)->pcidev;
-@@ -392,10 +395,8 @@
+@@ -392,10 +395,8 @@ static void __eeh_mark_slot (struct devi
if (dev && dev->driver)
dev->error_state = pci_channel_io_frozen;
}
}
-@@ -415,19 +416,19 @@
+@@ -415,19 +416,19 @@ void eeh_mark_slot (struct device_node *
if (dev)
dev->error_state = pci_channel_io_frozen;
}
}
-@@ -444,7 +445,7 @@
+@@ -444,7 +445,7 @@ void eeh_clear_slot (struct device_node
PCI_DN(dn)->eeh_mode &= ~mode_flag;
PCI_DN(dn)->eeh_check_count = 0;
spin_unlock_irqrestore(&confirm_error_lock, flags);
}
-@@ -480,6 +481,7 @@
+@@ -480,6 +481,7 @@ int eeh_dn_check_failure(struct device_n
no_dn++;
return 0;
}
pdn = PCI_DN(dn);
/* Access to IO BARs might get this far and still not want checking. */
-@@ -545,7 +547,7 @@
+@@ -545,7 +547,7 @@ int eeh_dn_check_failure(struct device_n
/* Note that config-io to empty slots may fail;
* they are empty when they don't have children. */
false_positives++;
pdn->eeh_false_positives ++;
rc = 0;
-@@ -848,11 +850,8 @@
+@@ -848,11 +850,8 @@ void eeh_restore_bars(struct pci_dn *pdn
if ((pdn->eeh_mode & EEH_MODE_SUPPORTED) && !IS_BRIDGE(pdn->class_code))
__restore_bars (pdn);
}
/**
-@@ -1130,7 +1129,8 @@
+@@ -1130,7 +1129,8 @@ static void eeh_add_device_early(struct
void eeh_add_device_tree_early(struct device_node *dn)
{
struct device_node *sib;
}
--- a/arch/powerpc/platforms/pseries/eeh_driver.c
+++ b/arch/powerpc/platforms/pseries/eeh_driver.c
-@@ -310,8 +310,6 @@
+@@ -310,8 +310,6 @@ struct pci_dn * handle_eeh_events (struc
const char *location, *pci_str, *drv_str;
frozen_dn = find_device_pe(event->dn);
if (!frozen_dn) {
location = of_get_property(event->dn, "ibm,loc-code", NULL);
-@@ -321,6 +319,8 @@
+@@ -321,6 +319,8 @@ struct pci_dn * handle_eeh_events (struc
location, pci_name(event->dev));
return NULL;
}
location = of_get_property(frozen_dn, "ibm,loc-code", NULL);
location = location ? location : "unknown";
-@@ -354,13 +354,6 @@
+@@ -354,13 +354,6 @@ struct pci_dn * handle_eeh_events (struc
if (frozen_pdn->eeh_freeze_count > EEH_MAX_ALLOWED_FREEZES)
goto excess_failures;
printk(KERN_WARNING
"EEH: This PCI device has failed %d times in the last hour:\n",
frozen_pdn->eeh_freeze_count);
-@@ -376,6 +369,14 @@
+@@ -376,6 +369,14 @@ struct pci_dn * handle_eeh_events (struc
*/
pci_walk_bus(frozen_bus, eeh_report_error, &result);
* have been informed.
--- a/arch/powerpc/platforms/pseries/iommu.c
+++ b/arch/powerpc/platforms/pseries/iommu.c
-@@ -251,7 +251,7 @@
+@@ -251,7 +251,7 @@ static void iommu_table_setparms(struct
const unsigned long *basep;
const u32 *sizep;
basep = of_get_property(node, "linux,tce-base", NULL);
sizep = of_get_property(node, "linux,tce-size", NULL);
-@@ -296,11 +296,12 @@
+@@ -296,11 +296,12 @@ static void iommu_table_setparms(struct
static void iommu_table_setparms_lpar(struct pci_controller *phb,
struct device_node *dn,
struct iommu_table *tbl,
of_parse_dma_window(dn, dma_window, &tbl->it_index, &offset, &size);
tbl->it_base = 0;
-@@ -420,17 +421,10 @@
+@@ -420,17 +421,10 @@ static void pci_dma_bus_setup_pSeriesLP(
pdn->full_name, ppci->iommu_table);
if (!ppci->iommu_table) {
ppci->iommu_table = iommu_init_table(tbl, ppci->phb->node);
DBG(" created table: %p\n", ppci->iommu_table);
}
-@@ -523,14 +517,10 @@
+@@ -523,14 +517,10 @@ static void pci_dma_dev_setup_pSeriesLP(
pci = PCI_DN(pdn);
if (!pci->iommu_table) {
pci->iommu_table = iommu_init_table(tbl, pci->phb->node);
DBG(" created table: %p\n", pci->iommu_table);
} else {
-@@ -556,7 +546,7 @@
+@@ -556,7 +546,7 @@ static int iommu_reconfig_notifier(struc
case PSERIES_RECONFIG_REMOVE:
if (pci && pci->iommu_table &&
of_get_property(np, "ibm,dma-window", NULL))
err = NOTIFY_DONE;
--- a/arch/powerpc/platforms/pseries/pci_dlpar.c
+++ b/arch/powerpc/platforms/pseries/pci_dlpar.c
-@@ -83,7 +83,7 @@
+@@ -83,7 +83,7 @@ EXPORT_SYMBOL_GPL(pcibios_remove_pci_dev
/* Must be called before pci_bus_add_devices */
void
{
struct pci_dev *dev;
-@@ -98,8 +98,6 @@
+@@ -98,8 +98,6 @@ pcibios_fixup_new_pci_devices(struct pci
/* Fill device archdata and setup iommu table */
pcibios_setup_new_device(dev);
pci_read_irq_line(dev);
for (i = 0; i < PCI_NUM_RESOURCES; i++) {
struct resource *r = &dev->resource[i];
-@@ -132,8 +130,8 @@
+@@ -132,8 +130,8 @@ pcibios_pci_config_bridge(struct pci_dev
pci_scan_child_bus(child_bus);
/* Make the discovered devices available */
pci_bus_add_devices(child_bus);
-@@ -169,7 +167,7 @@
+@@ -169,7 +167,7 @@ pcibios_add_pci_devices(struct pci_bus *
/* use ofdt-based probe */
of_scan_bus(dn, bus);
if (!list_empty(&bus->devices)) {
pci_bus_add_devices(bus);
eeh_add_device_tree_late(bus);
}
-@@ -178,7 +176,7 @@
+@@ -178,7 +176,7 @@ pcibios_add_pci_devices(struct pci_bus *
slotno = PCI_SLOT(PCI_DN(dn->child)->devfn);
num = pci_scan_slot(bus, PCI_DEVFN(slotno, 0));
if (num) {
pci_bus_add_devices(bus);
eeh_add_device_tree_late(bus);
}
-@@ -208,7 +206,7 @@
+@@ -208,7 +206,7 @@ struct pci_controller * __devinit init_p
eeh_add_device_tree_early(dn);
scan_phb(phb);
--- a/arch/powerpc/platforms/pseries/plpar_wrappers.h
+++ b/arch/powerpc/platforms/pseries/plpar_wrappers.h
-@@ -8,11 +8,6 @@
+@@ -8,11 +8,6 @@ static inline long poll_pending(void)
return plpar_hcall_norets(H_POLL_PENDING);
}
#include "plpar_wrappers.h"
#include "pseries.h"
-@@ -202,7 +203,7 @@
+@@ -202,7 +203,7 @@ static int smp_pSeries_cpu_bootable(unsi
*/
if (system_state < SYSTEM_RUNNING &&
cpu_has_feature(CPU_FTR_SMT) &&
return 1;
--- a/arch/powerpc/platforms/pseries/xics.c
+++ b/arch/powerpc/platforms/pseries/xics.c
-@@ -87,19 +87,25 @@
+@@ -87,19 +87,25 @@ static int ibm_int_off;
/* Direct HW low level accessors */
}
static inline void direct_qirr_info(int n_cpu, u8 value)
-@@ -111,7 +117,7 @@
+@@ -111,7 +117,7 @@ static inline void direct_qirr_info(int
/* LPAR low level accessors */
{
unsigned long lpar_rc;
unsigned long return_value;
-@@ -122,7 +128,7 @@
+@@ -122,7 +128,7 @@ static inline unsigned int lpar_xirr_inf
return (unsigned int)return_value;
}
{
unsigned long lpar_rc;
unsigned long val64 = value & 0xffffffff;
-@@ -133,7 +139,7 @@
+@@ -133,7 +139,7 @@ static inline void lpar_xirr_info_set(in
val64);
}
{
unsigned long lpar_rc;
-@@ -275,21 +281,19 @@
+@@ -275,21 +281,19 @@ static unsigned int xics_startup(unsigne
static void xics_eoi_direct(unsigned int virq)
{
}
static inline unsigned int xics_remap_irq(unsigned int vec)
-@@ -312,16 +316,12 @@
+@@ -312,16 +316,12 @@ static inline unsigned int xics_remap_ir
static unsigned int xics_get_irq_direct(void)
{
}
#ifdef CONFIG_SMP
-@@ -387,12 +387,12 @@
+@@ -387,12 +387,12 @@ void xics_cause_IPI(int cpu)
#endif /* CONFIG_SMP */
iosync();
}
-@@ -440,9 +440,7 @@
+@@ -440,9 +440,7 @@ static void xics_set_affinity(unsigned i
void xics_setup_cpu(void)
{
/*
* Put the calling processor into the GIQ. This is really only
-@@ -783,7 +781,7 @@
+@@ -783,7 +781,7 @@ void xics_teardown_cpu(int secondary)
unsigned int ipi;
struct irq_desc *desc;
/*
* Clear IPI
-@@ -824,10 +822,11 @@
+@@ -824,10 +822,11 @@ void xics_teardown_cpu(int secondary)
void xics_migrate_irqs_away(void)
{
int status;
/* remove ourselves from the global interrupt queue */
status = rtas_set_indicator_fast(GLOBAL_INTERRUPT_QUEUE,
-@@ -835,7 +834,7 @@
+@@ -835,7 +834,7 @@ void xics_migrate_irqs_away(void)
WARN_ON(status < 0);
/* Allow IPIs again... */
for_each_irq(virq) {
struct irq_desc *desc;
-@@ -874,7 +873,7 @@
+@@ -874,7 +873,7 @@ void xics_migrate_irqs_away(void)
* The irq has to be migrated only in the single cpu
* case.
*/
printk(KERN_WARNING "IRQ %u affinity broken off cpu %u\n",
--- a/arch/powerpc/platforms/pseries/xics.h
+++ b/arch/powerpc/platforms/pseries/xics.h
-@@ -21,9 +21,6 @@
+@@ -21,9 +21,6 @@ extern void xics_cause_IPI(int cpu);
extern void xics_request_IPIs(void);
extern void xics_migrate_irqs_away(void);
+ default n
--- a/arch/powerpc/sysdev/Makefile
+++ b/arch/powerpc/sysdev/Makefile
-@@ -2,7 +2,7 @@
+@@ -2,7 +2,7 @@ ifeq ($(CONFIG_PPC64),y)
EXTRA_CFLAGS += -mno-minimal-toc
endif
obj-$(CONFIG_MPIC) += mpic.o $(mpic-msi-obj-y)
obj-$(CONFIG_PPC_MPC106) += grackle.o
-@@ -12,6 +12,7 @@
+@@ -12,6 +12,7 @@ obj-$(CONFIG_U3_DART) += dart_iommu.o
obj-$(CONFIG_MMIO_NVRAM) += mmio_nvram.o
obj-$(CONFIG_FSL_SOC) += fsl_soc.o
obj-$(CONFIG_FSL_PCI) += fsl_pci.o
obj-$(CONFIG_TSI108_BRIDGE) += tsi108_pci.o tsi108_dev.o
obj-$(CONFIG_QUICC_ENGINE) += qe_lib/
obj-$(CONFIG_PPC_BESTCOMM) += bestcomm/
-@@ -24,9 +25,13 @@
+@@ -24,9 +25,13 @@ obj-$(CONFIG_AXON_RAM) += axonram.o
ifeq ($(CONFIG_PPC_MERGE),y)
obj-$(CONFIG_PPC_INDIRECT_PCI) += indirect_pci.o
obj-$(CONFIG_PPC_I8259) += i8259.o
--- a/arch/powerpc/sysdev/bestcomm/bestcomm.h
+++ b/arch/powerpc/sysdev/bestcomm/bestcomm.h
-@@ -20,7 +20,7 @@
+@@ -20,7 +20,7 @@ struct bcom_bd; /* defined later on ...
/* ======================================================================== */
/**
--- a/arch/powerpc/sysdev/commproc.c
+++ b/arch/powerpc/sysdev/commproc.c
-@@ -240,6 +240,34 @@
+@@ -240,6 +240,34 @@ void __init cpm_reset(void)
#endif
}
/* We used to do this earlier, but have to postpone as long as possible
* to ensure the kernel VM is now running.
*/
-@@ -408,7 +436,7 @@
+@@ -408,7 +436,7 @@ EXPORT_SYMBOL(cpm_dpram_phys);
#endif /* !CONFIG_PPC_CPM_NEW_BINDING */
struct cpm_ioport16 {
__be16 res[3];
};
-@@ -438,6 +466,13 @@
+@@ -438,6 +466,13 @@ static void cpm1_set_pin32(int port, int
else
clrbits32(&iop->par, pin);
if (port == CPM_PORTE) {
if (flags & CPM_PIN_SECONDARY)
setbits32(&iop->sor, pin);
-@@ -471,11 +506,17 @@
+@@ -471,11 +506,17 @@ static void cpm1_set_pin16(int port, int
else
clrbits16(&iop->par, pin);
--- a/arch/powerpc/sysdev/cpm2_common.c
+++ b/arch/powerpc/sysdev/cpm2_common.c
-@@ -82,6 +82,31 @@
+@@ -82,6 +82,31 @@ void __init cpm2_reset(void)
cpmp = &cpm2_immr->im_cpm;
}
* as clocks. The BRGs are in two different block of internal
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
-@@ -33,8 +33,8 @@
+@@ -33,8 +33,8 @@ void __init setup_pci_atmu(struct pci_co
struct ccsr_pci __iomem *pci;
int i;
pci = ioremap(rsrc->start, rsrc->end - rsrc->start + 1);
/* Disable all windows (except powar0 since its ignored) */
-@@ -46,17 +46,17 @@
+@@ -46,17 +46,17 @@ void __init setup_pci_atmu(struct pci_co
/* Setup outbound MEM window */
for(i = 0; i < 3; i++)
if (hose->mem_resources[i].flags & IORESOURCE_MEM){
/* Enable, Mem R/W */
out_be32(&pci->pow[i+1].powar, 0x80044000
| (__ilog2(hose->mem_resources[i].end
-@@ -65,15 +65,14 @@
+@@ -65,15 +65,14 @@ void __init setup_pci_atmu(struct pci_co
/* Setup outbound IO window */
if (hose->io_resource.flags & IORESOURCE_IO){
/* Enable, IO R/W */
out_be32(&pci->pow[i+1].powar, 0x80088000
| (__ilog2(hose->io_resource.end
-@@ -107,55 +106,17 @@
+@@ -107,55 +106,17 @@ void __init setup_pci_cmd(struct pci_con
}
}
}
int __init fsl_pcie_check_link(struct pci_controller *hose)
-@@ -172,11 +133,24 @@
+@@ -172,11 +133,24 @@ void fsl_pcibios_fixup_bus(struct pci_bu
struct pci_controller *hose = (struct pci_controller *) bus->sysdata;
int i;
}
}
}
-@@ -202,7 +176,7 @@
+@@ -202,7 +176,7 @@ int __init fsl_add_bridge(struct device_
printk(KERN_WARNING "Can't get bus-range for %s, assume"
" bus 0\n", dev->full_name);
hose = pcibios_alloc_controller(dev);
if (!hose)
return -ENOMEM;
-@@ -222,7 +196,7 @@
+@@ -222,7 +196,7 @@ int __init fsl_add_bridge(struct device_
hose->indirect_type |= PPC_INDIRECT_TYPE_NO_PCIE_LINK;
}
"Firmware bus number: %d->%d\n",
(unsigned long long)rsrc.start, hose->first_busno,
hose->last_busno);
-@@ -240,23 +214,23 @@
+@@ -240,23 +214,23 @@ int __init fsl_add_bridge(struct device_
return 0;
}
#include <linux/spi/spi.h>
#include <linux/fsl_devices.h>
#include <linux/fs_enet_pd.h>
-@@ -54,10 +55,18 @@
+@@ -54,10 +55,18 @@ phys_addr_t get_immrbase(void)
soc = of_find_node_by_type(NULL, "soc");
if (soc) {
int size;
of_node_put(soc);
}
-@@ -130,17 +139,51 @@
+@@ -130,17 +139,51 @@ u32 get_baudrate(void)
EXPORT_SYMBOL(get_baudrate);
#endif /* CONFIG_CPM2 */
int k;
struct device_node *child = NULL;
struct gianfar_mdio_data mdio_data;
-@@ -179,11 +222,13 @@
+@@ -179,11 +222,13 @@ static int __init gfar_mdio_of_init(void
goto unreg;
}
return ret;
}
-@@ -193,7 +238,6 @@
+@@ -193,7 +238,6 @@ static const char *gfar_tx_intr = "tx";
static const char *gfar_rx_intr = "rx";
static const char *gfar_err_intr = "error";
static int __init gfar_of_init(void)
{
struct device_node *np;
-@@ -277,29 +321,43 @@
+@@ -277,29 +321,43 @@ static int __init gfar_of_init(void)
gfar_data.interface = PHY_INTERFACE_MODE_MII;
ph = of_get_property(np, "phy-handle", NULL);
ret =
platform_device_add_data(gfar_dev, &gfar_data,
sizeof(struct
-@@ -390,13 +448,11 @@
+@@ -390,13 +448,11 @@ static void __init of_register_i2c_devic
static int __init fsl_i2c_of_init(void)
{
struct device_node *np;
struct resource r[2];
struct fsl_i2c_platform_data i2c_data;
const unsigned char *flags = NULL;
-@@ -432,7 +488,7 @@
+@@ -432,7 +488,7 @@ static int __init fsl_i2c_of_init(void)
if (ret)
goto unreg;
}
return 0;
-@@ -528,14 +584,12 @@
+@@ -528,14 +584,12 @@ static enum fsl_usb2_phy_modes determine
static int __init fsl_usb_of_init(void)
{
struct device_node *np;
struct resource r[2];
struct fsl_usb2_platform_data usb_data;
const unsigned char *prop = NULL;
-@@ -578,11 +632,10 @@
+@@ -578,11 +632,10 @@ static int __init fsl_usb_of_init(void)
fsl_usb2_platform_data));
if (ret)
goto unreg_mph;
struct resource r[2];
struct fsl_usb2_platform_data usb_data;
const unsigned char *prop = NULL;
-@@ -654,6 +707,7 @@
+@@ -654,6 +707,7 @@ static int __init fsl_usb_of_init(void)
fsl_usb2_platform_data))))
goto unreg_dr;
}
}
return 0;
-@@ -1125,13 +1179,12 @@
+@@ -1125,13 +1179,12 @@ arch_initcall(fs_enet_of_init);
static int __init fsl_pcmcia_of_init(void)
{
--- a/arch/powerpc/sysdev/grackle.c
+++ b/arch/powerpc/sysdev/grackle.c
-@@ -57,7 +57,7 @@
+@@ -57,7 +57,7 @@ void __init setup_grackle(struct pci_con
{
setup_indirect_pci(hose, 0xfec00000, 0xfee00000, 0);
if (machine_is_compatible("PowerMac1,1"))
.mask = IPIC_SIMSR_H,
.prio = IPIC_SIPRR_D,
.force = IPIC_SIFCR_H,
-@@ -42,7 +98,6 @@
+@@ -42,7 +98,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 0,
},
[10] = {
.mask = IPIC_SIMSR_H,
.prio = IPIC_SIPRR_D,
.force = IPIC_SIFCR_H,
-@@ -50,15 +105,27 @@
+@@ -50,15 +105,27 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 1,
},
[11] = {
.mask = IPIC_SIMSR_H,
.prio = IPIC_SIPRR_D,
.force = IPIC_SIFCR_H,
-@@ -66,7 +133,6 @@
+@@ -66,7 +133,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 5,
},
[15] = {
.mask = IPIC_SIMSR_H,
.prio = IPIC_SIPRR_D,
.force = IPIC_SIFCR_H,
-@@ -74,7 +140,6 @@
+@@ -74,7 +140,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 6,
},
[16] = {
.mask = IPIC_SIMSR_H,
.prio = IPIC_SIPRR_D,
.force = IPIC_SIFCR_H,
-@@ -82,7 +147,7 @@
+@@ -82,7 +147,7 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 7,
},
[17] = {
.mask = IPIC_SEMSR,
.prio = IPIC_SMPRR_A,
.force = IPIC_SEFCR,
-@@ -90,7 +155,7 @@
+@@ -90,7 +155,7 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 5,
},
[18] = {
.mask = IPIC_SEMSR,
.prio = IPIC_SMPRR_A,
.force = IPIC_SEFCR,
-@@ -98,7 +163,7 @@
+@@ -98,7 +163,7 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 6,
},
[19] = {
.mask = IPIC_SEMSR,
.prio = IPIC_SMPRR_A,
.force = IPIC_SEFCR,
-@@ -106,7 +171,7 @@
+@@ -106,7 +171,7 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 7,
},
[20] = {
.mask = IPIC_SEMSR,
.prio = IPIC_SMPRR_B,
.force = IPIC_SEFCR,
-@@ -114,7 +179,7 @@
+@@ -114,7 +179,7 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 4,
},
[21] = {
.mask = IPIC_SEMSR,
.prio = IPIC_SMPRR_B,
.force = IPIC_SEFCR,
-@@ -122,7 +187,7 @@
+@@ -122,7 +187,7 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 5,
},
[22] = {
.mask = IPIC_SEMSR,
.prio = IPIC_SMPRR_B,
.force = IPIC_SEFCR,
-@@ -130,7 +195,7 @@
+@@ -130,7 +195,7 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 6,
},
[23] = {
.mask = IPIC_SEMSR,
.prio = IPIC_SMPRR_B,
.force = IPIC_SEFCR,
-@@ -138,7 +203,6 @@
+@@ -138,7 +203,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 7,
},
[32] = {
.mask = IPIC_SIMSR_H,
.prio = IPIC_SIPRR_A,
.force = IPIC_SIFCR_H,
-@@ -146,7 +210,6 @@
+@@ -146,7 +210,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 0,
},
[33] = {
.mask = IPIC_SIMSR_H,
.prio = IPIC_SIPRR_A,
.force = IPIC_SIFCR_H,
-@@ -154,7 +217,6 @@
+@@ -154,7 +217,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 1,
},
[34] = {
.mask = IPIC_SIMSR_H,
.prio = IPIC_SIPRR_A,
.force = IPIC_SIFCR_H,
-@@ -162,7 +224,6 @@
+@@ -162,7 +224,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 2,
},
[35] = {
.mask = IPIC_SIMSR_H,
.prio = IPIC_SIPRR_A,
.force = IPIC_SIFCR_H,
-@@ -170,7 +231,6 @@
+@@ -170,7 +231,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 3,
},
[36] = {
.mask = IPIC_SIMSR_H,
.prio = IPIC_SIPRR_A,
.force = IPIC_SIFCR_H,
-@@ -178,7 +238,6 @@
+@@ -178,7 +238,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 4,
},
[37] = {
.mask = IPIC_SIMSR_H,
.prio = IPIC_SIPRR_A,
.force = IPIC_SIFCR_H,
-@@ -186,7 +245,6 @@
+@@ -186,7 +245,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 5,
},
[38] = {
.mask = IPIC_SIMSR_H,
.prio = IPIC_SIPRR_A,
.force = IPIC_SIFCR_H,
-@@ -194,15 +252,69 @@
+@@ -194,15 +252,69 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 6,
},
[39] = {
.mask = IPIC_SEMSR,
.prio = IPIC_SMPRR_A,
.force = IPIC_SEFCR,
-@@ -210,7 +322,6 @@
+@@ -210,7 +322,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 4,
},
[64] = {
.mask = IPIC_SIMSR_L,
.prio = IPIC_SMPRR_A,
.force = IPIC_SIFCR_L,
-@@ -218,7 +329,6 @@
+@@ -218,7 +329,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 0,
},
[65] = {
.mask = IPIC_SIMSR_L,
.prio = IPIC_SMPRR_A,
.force = IPIC_SIFCR_L,
-@@ -226,7 +336,6 @@
+@@ -226,7 +336,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 1,
},
[66] = {
.mask = IPIC_SIMSR_L,
.prio = IPIC_SMPRR_A,
.force = IPIC_SIFCR_L,
-@@ -234,7 +343,6 @@
+@@ -234,7 +343,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 2,
},
[67] = {
.mask = IPIC_SIMSR_L,
.prio = IPIC_SMPRR_A,
.force = IPIC_SIFCR_L,
-@@ -242,7 +350,6 @@
+@@ -242,7 +350,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 3,
},
[68] = {
.mask = IPIC_SIMSR_L,
.prio = IPIC_SMPRR_B,
.force = IPIC_SIFCR_L,
-@@ -250,7 +357,6 @@
+@@ -250,7 +357,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 0,
},
[69] = {
.mask = IPIC_SIMSR_L,
.prio = IPIC_SMPRR_B,
.force = IPIC_SIFCR_L,
-@@ -258,7 +364,6 @@
+@@ -258,7 +364,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 1,
},
[70] = {
.mask = IPIC_SIMSR_L,
.prio = IPIC_SMPRR_B,
.force = IPIC_SIFCR_L,
-@@ -266,7 +371,6 @@
+@@ -266,7 +371,6 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 2,
},
[71] = {
.mask = IPIC_SIMSR_L,
.prio = IPIC_SMPRR_B,
.force = IPIC_SIFCR_L,
-@@ -274,91 +378,120 @@
+@@ -274,91 +378,120 @@ static struct ipic_info ipic_info[] = {
.prio_mask = 3,
},
[72] = {
.mask = IPIC_SIMSR_L,
.prio = 0,
.force = IPIC_SIFCR_L,
-@@ -412,6 +545,10 @@
+@@ -412,6 +545,10 @@ static void ipic_mask_irq(unsigned int v
temp &= ~(1 << (31 - ipic_info[src].bit));
ipic_write(ipic->regs, ipic_info[src].mask, temp);
spin_unlock_irqrestore(&ipic_lock, flags);
}
-@@ -424,9 +561,13 @@
+@@ -424,9 +561,13 @@ static void ipic_ack_irq(unsigned int vi
spin_lock_irqsave(&ipic_lock, flags);
spin_unlock_irqrestore(&ipic_lock, flags);
}
-@@ -444,9 +585,13 @@
+@@ -444,9 +585,13 @@ static void ipic_mask_irq_and_ack(unsign
temp &= ~(1 << (31 - ipic_info[src].bit));
ipic_write(ipic->regs, ipic_info[src].mask, temp);
spin_unlock_irqrestore(&ipic_lock, flags);
}
-@@ -468,14 +613,22 @@
+@@ -468,14 +613,22 @@ static int ipic_set_irq_type(unsigned in
flow_type);
return -EINVAL;
}
}
/* only EXT IRQ senses are programmable on ipic
-@@ -500,7 +653,16 @@
+@@ -500,7 +653,16 @@ static int ipic_set_irq_type(unsigned in
return 0;
}
.typename = " IPIC ",
.unmask = ipic_unmask_irq,
.mask = ipic_mask_irq,
-@@ -519,13 +681,9 @@
+@@ -519,13 +681,9 @@ static int ipic_host_map(struct irq_host
irq_hw_number_t hw)
{
struct ipic *ipic = h->host_data;
/* Set default irq type */
set_irq_type(virq, IRQ_TYPE_NONE);
-@@ -584,7 +742,6 @@
+@@ -584,7 +742,6 @@ struct ipic * __init ipic_init(struct de
ipic->regs = ioremap(res.start, res.end - res.start + 1);
ipic->irqhost->host_data = ipic;
/* init hw */
ipic_write(ipic->regs, IPIC_SICNR, 0x0);
-@@ -593,6 +750,10 @@
+@@ -593,6 +750,10 @@ struct ipic * __init ipic_init(struct de
* configure SICFR accordingly */
if (flags & IPIC_SPREADMODE_GRP_A)
temp |= SICFR_IPSA;
if (flags & IPIC_SPREADMODE_GRP_D)
temp |= SICFR_IPSD;
if (flags & IPIC_SPREADMODE_MIX_A)
-@@ -600,7 +761,7 @@
+@@ -600,7 +761,7 @@ struct ipic * __init ipic_init(struct de
if (flags & IPIC_SPREADMODE_MIX_B)
temp |= SICFR_MPSB;
/* handle MCP route */
temp = 0;
-@@ -672,10 +833,12 @@
+@@ -672,10 +833,12 @@ void ipic_set_highest_priority(unsigned
void ipic_set_default_priority(void)
{
#define SICFR_IPSD 0x00080000
#define SICFR_MPSA 0x00200000
#define SICFR_MPSB 0x00400000
-@@ -45,13 +44,11 @@
+@@ -45,13 +44,11 @@ struct ipic {
/* The remapper for this IPIC */
struct irq_host *irqhost;
u8 force; /* force register offset from base */
--- a/arch/powerpc/sysdev/mmio_nvram.c
+++ b/arch/powerpc/sysdev/mmio_nvram.c
-@@ -99,7 +99,7 @@
+@@ -99,7 +99,7 @@ int __init mmio_nvram_init(void)
nvram_addr = r.start;
mmio_nvram_len = r.end - r.start + 1;
if ( (!mmio_nvram_len) || (!nvram_addr) ) {
}
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
-@@ -83,6 +83,7 @@
+@@ -83,6 +83,7 @@ static u32 mpic_infos[][MPIC_IDX_END] =
MPIC_CPU_WHOAMI,
MPIC_CPU_INTACK,
MPIC_CPU_EOI,
MPIC_IRQ_BASE,
MPIC_IRQ_STRIDE,
-@@ -121,6 +122,7 @@
+@@ -121,6 +122,7 @@ static u32 mpic_infos[][MPIC_IDX_END] =
TSI108_CPU_WHOAMI,
TSI108_CPU_INTACK,
TSI108_CPU_EOI,
TSI108_IRQ_BASE,
TSI108_IRQ_STRIDE,
-@@ -265,7 +267,7 @@
+@@ -265,7 +267,7 @@ static inline void _mpic_irq_write(struc
*/
struct mpic_reg_bank *rb, unsigned int offset,
unsigned int size)
{
-@@ -285,7 +287,7 @@
+@@ -285,7 +287,7 @@ static void _mpic_map_dcr(struct mpic *m
BUG_ON(!DCR_MAP_OK(rb->dhost));
}
struct mpic_reg_bank *rb, unsigned int offset,
unsigned int size)
{
-@@ -612,12 +614,11 @@
+@@ -612,12 +614,11 @@ static inline void mpic_eoi(struct mpic
}
#ifdef CONFIG_SMP
return IRQ_HANDLED;
}
-@@ -842,6 +843,24 @@
+@@ -842,6 +843,24 @@ int mpic_set_irq_type(unsigned int virq,
return 0;
}
static struct irq_chip mpic_irq_chip = {
.mask = mpic_mask_irq,
.unmask = mpic_unmask_irq,
-@@ -1109,6 +1128,11 @@
+@@ -1109,6 +1128,11 @@ struct mpic * __init mpic_alloc(struct d
mb();
}
/* Read feature register, calculate num CPUs and, for non-ISU
* MPICs, num sources as well. On ISU MPICs, sources are counted
* as ISUs are added
-@@ -1230,6 +1254,8 @@
+@@ -1230,6 +1254,8 @@ void __init mpic_init(struct mpic *mpic)
mpic_u3msi_init(mpic);
}
for (i = 0; i < mpic->num_sources; i++) {
/* start with vector = source number, and masked */
u32 vecpri = MPIC_VECPRI_MASK | i |
-@@ -1253,6 +1279,11 @@
+@@ -1253,6 +1279,11 @@ void __init mpic_init(struct mpic *mpic)
mpic_read(mpic->gregs, MPIC_INFO(GREG_GLOBAL_CONF_0))
| MPIC_GREG_GCONF_8259_PTHROU_DIS);
/* Set current processor priority to 0 */
mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), 0);
-@@ -1419,13 +1450,13 @@
+@@ -1419,13 +1450,13 @@ void mpic_send_ipi(unsigned int ipi_no,
mpic_physmask(cpu_mask & cpus_addr(cpu_online_map)[0]));
}
#endif
if (unlikely(src == mpic->spurious_vec)) {
if (mpic->flags & MPIC_SPV_EOI)
-@@ -1443,6 +1474,11 @@
+@@ -1443,6 +1474,11 @@ unsigned int mpic_get_one_irq(struct mpi
return irq_linear_revmap(mpic->irqhost, src);
}
unsigned int mpic_get_irq(void)
{
struct mpic *mpic = mpic_primary;
-@@ -1452,12 +1488,20 @@
+@@ -1452,12 +1488,20 @@ unsigned int mpic_get_irq(void)
return mpic_get_one_irq(mpic);
}
static char *ipi_names[] = {
"IPI0 (call function)",
"IPI1 (reschedule)",
-@@ -1472,14 +1516,14 @@
+@@ -1472,14 +1516,14 @@ void mpic_request_ipis(void)
unsigned int vipi = irq_create_mapping(mpic->irqhost,
mpic->ipi_vecs[0] + i);
if (vipi == NO_IRQ) {
}
--- a/arch/powerpc/sysdev/mpic.h
+++ b/arch/powerpc/sysdev/mpic.h
-@@ -17,6 +17,7 @@
+@@ -17,6 +17,7 @@ extern int mpic_msi_init_allocator(struc
extern irq_hw_number_t mpic_msi_alloc_hwirqs(struct mpic *mpic, int num);
extern void mpic_msi_free_hwirqs(struct mpic *mpic, int offset, int num);
extern int mpic_u3msi_init(struct mpic *mpic);
#else
static inline void mpic_msi_reserve_hwirq(struct mpic *mpic,
irq_hw_number_t hwirq)
-@@ -28,12 +29,15 @@
+@@ -28,12 +29,15 @@ static inline int mpic_u3msi_init(struct
{
return -1;
}
+}
--- a/arch/powerpc/sysdev/mv64x60_dev.c
+++ b/arch/powerpc/sysdev/mv64x60_dev.c
-@@ -241,7 +241,7 @@
+@@ -241,7 +241,7 @@ static int __init mv64x60_eth_device_set
/* only register the shared platform device the first time through */
if (id == 0 && (err = eth_register_shared_pdev(np)))
memset(r, 0, sizeof(r));
of_irq_to_resource(np, 0, &r[0]);
-@@ -451,22 +451,19 @@
+@@ -451,22 +451,19 @@ static int __init mv64x60_device_setup(v
int id;
int err;
goto error;
/* support up to one watchdog timer */
-@@ -477,7 +474,6 @@
+@@ -477,7 +474,6 @@ static int __init mv64x60_device_setup(v
of_node_put(np);
}
error:
--- a/arch/powerpc/sysdev/mv64x60_pci.c
+++ b/arch/powerpc/sysdev/mv64x60_pci.c
-@@ -164,8 +164,8 @@
+@@ -164,8 +164,8 @@ static int __init mv64x60_add_bridge(str
void __init mv64x60_pci_init(void)
{
}
--- a/arch/powerpc/sysdev/mv64x60_udbg.c
+++ b/arch/powerpc/sysdev/mv64x60_udbg.c
-@@ -85,10 +85,10 @@
+@@ -85,10 +85,10 @@ static void mv64x60_udbg_init(void)
if (!stdout)
return;
#include <asm/irq.h>
#include <asm/page.h>
#include <asm/pgtable.h>
-@@ -167,19 +168,20 @@
+@@ -167,19 +168,20 @@ unsigned int get_brg_clk(void)
/* Program the BRG to the given sampling rate and multiplier
*
divisor = get_brg_clk() / (rate * multiplier);
if (divisor > QE_BRGC_DIVISOR_MAX + 1) {
-@@ -196,8 +198,43 @@
+@@ -196,8 +198,43 @@ void qe_setbrg(unsigned int brg, unsigne
tempval = ((divisor - 1) << QE_BRGC_DIVISOR_SHIFT) |
QE_BRGC_ENABLE | div16;
/* Initialize SNUMs (thread serial numbers) according to
* QE Module Control chapter, SNUM table
-@@ -358,3 +395,249 @@
+@@ -358,3 +395,249 @@ void *qe_muram_addr(unsigned long offset
return (void *)&qe_immr->muram[offset];
}
EXPORT_SYMBOL(qe_muram_addr);
#include <asm/io.h>
#include <asm/immap_qe.h>
-@@ -41,6 +42,7 @@
+@@ -41,6 +42,7 @@ u32 ucc_slow_get_qe_cr_subblock(int uccs
default: return QE_CR_SUBBLOCK_INVALID;
}
}
void ucc_slow_poll_transmitter_now(struct ucc_slow_private * uccs)
{
-@@ -56,6 +58,7 @@
+@@ -56,6 +58,7 @@ void ucc_slow_graceful_stop_tx(struct uc
qe_issue_cmd(QE_GRACEFUL_STOP_TX, id,
QE_CR_PROTOCOL_UNSPECIFIED, 0);
}
void ucc_slow_stop_tx(struct ucc_slow_private * uccs)
{
-@@ -65,6 +68,7 @@
+@@ -65,6 +68,7 @@ void ucc_slow_stop_tx(struct ucc_slow_pr
id = ucc_slow_get_qe_cr_subblock(us_info->ucc_num);
qe_issue_cmd(QE_STOP_TX, id, QE_CR_PROTOCOL_UNSPECIFIED, 0);
}
void ucc_slow_restart_tx(struct ucc_slow_private * uccs)
{
-@@ -74,6 +78,7 @@
+@@ -74,6 +78,7 @@ void ucc_slow_restart_tx(struct ucc_slow
id = ucc_slow_get_qe_cr_subblock(us_info->ucc_num);
qe_issue_cmd(QE_RESTART_TX, id, QE_CR_PROTOCOL_UNSPECIFIED, 0);
}
void ucc_slow_enable(struct ucc_slow_private * uccs, enum comm_dir mode)
{
-@@ -94,6 +99,7 @@
+@@ -94,6 +99,7 @@ void ucc_slow_enable(struct ucc_slow_pri
}
out_be32(&us_regs->gumr_l, gumr_l);
}
void ucc_slow_disable(struct ucc_slow_private * uccs, enum comm_dir mode)
{
-@@ -114,6 +120,7 @@
+@@ -114,6 +120,7 @@ void ucc_slow_disable(struct ucc_slow_pr
}
out_be32(&us_regs->gumr_l, gumr_l);
}
/* Initialize the UCC for Slow operations
*
-@@ -347,6 +354,7 @@
+@@ -347,6 +354,7 @@ int ucc_slow_init(struct ucc_slow_info *
*uccs_ret = uccs;
return 0;
}
void ucc_slow_free(struct ucc_slow_private * uccs)
{
-@@ -366,5 +374,5 @@
+@@ -366,5 +374,5 @@ void ucc_slow_free(struct ucc_slow_priva
kfree(uccs);
}
--- a/arch/powerpc/sysdev/tsi108_dev.c
+++ b/arch/powerpc/sysdev/tsi108_dev.c
-@@ -66,14 +66,12 @@
+@@ -66,14 +66,12 @@ EXPORT_SYMBOL(get_vir_csrbase);
static int __init tsi108_eth_of_init(void)
{
struct device_node *np;
struct resource r[2];
struct device_node *phy, *mdio;
hw_info tsi_eth_data;
-@@ -98,7 +96,7 @@
+@@ -98,7 +96,7 @@ static int __init tsi108_eth_of_init(voi
__FUNCTION__,r[1].name, r[1].start, r[1].end);
tsi_eth_dev =
1);
if (IS_ERR(tsi_eth_dev)) {
-@@ -154,6 +152,7 @@
+@@ -154,6 +152,7 @@ static int __init tsi108_eth_of_init(voi
unreg:
platform_device_unregister(tsi_eth_dev);
err:
--- a/arch/powerpc/sysdev/uic.c
+++ b/arch/powerpc/sysdev/uic.c
-@@ -53,21 +53,23 @@
+@@ -53,21 +53,23 @@ struct uic {
/* The remapper for this UIC */
struct irq_host *irqhost;
mtdcr(uic->dcrbase + UIC_ER, er);
spin_unlock_irqrestore(&uic->lock, flags);
}
-@@ -99,6 +101,7 @@
+@@ -99,6 +101,7 @@ static void uic_ack_irq(unsigned int vir
static void uic_mask_ack_irq(unsigned int virq)
{
struct uic *uic = get_irq_chip_data(virq);
unsigned int src = uic_irq_to_hw(virq);
unsigned long flags;
-@@ -109,7 +112,16 @@
+@@ -109,7 +112,16 @@ static void uic_mask_ack_irq(unsigned in
er = mfdcr(uic->dcrbase + UIC_ER);
er &= ~sr;
mtdcr(uic->dcrbase + UIC_ER, er);
spin_unlock_irqrestore(&uic->lock, flags);
}
-@@ -173,64 +185,6 @@
+@@ -173,64 +185,6 @@ static struct irq_chip uic_irq_chip = {
.set_type = uic_set_irq_type,
};
static int uic_host_map(struct irq_host *h, unsigned int virq,
irq_hw_number_t hw)
{
-@@ -239,7 +193,7 @@
+@@ -239,7 +193,7 @@ static int uic_host_map(struct irq_host
set_irq_chip_data(virq, uic);
/* Despite the name, handle_level_irq() works for both level
* and edge irqs on UIC. FIXME: check this is correct */
/* Set default irq type */
set_irq_type(virq, IRQ_TYPE_NONE);
-@@ -264,23 +218,36 @@
+@@ -264,23 +218,36 @@ static struct irq_host_ops uic_host_ops
.xlate = uic_host_xlate,
};
}
static struct uic * __init uic_init_one(struct device_node *node)
-@@ -342,33 +309,27 @@
+@@ -342,33 +309,27 @@ void __init uic_init_tree(void)
const u32 *interrupts;
/* First locate and initialize the top-level UIC */
uic = uic_init_one(np);
if (! uic)
-@@ -377,20 +338,11 @@
+@@ -377,20 +338,11 @@ void __init uic_init_tree(void)
cascade_virq = irq_of_parse_and_map(np, 0);
--- a/arch/powerpc/sysdev/xilinx_intc.c
+++ b/arch/powerpc/sysdev/xilinx_intc.c
-@@ -135,10 +135,16 @@
+@@ -135,10 +135,16 @@ void __init xilinx_intc_init_tree(void)
struct device_node *np;
/* find top level interrupt controller */
#ifdef CONFIG_PPC64
#include <asm/hvcall.h>
-@@ -71,12 +72,9 @@
+@@ -71,12 +72,9 @@ static unsigned long ncsum = 4096;
static int termch;
static char tmpstr[128];
/* Breakpoint stuff */
struct bpt {
-@@ -153,13 +151,15 @@
+@@ -153,13 +151,15 @@ static const char *getvecname(unsigned l
static int do_spu_cmd(void);
extern void xmon_save_regs(struct pt_regs *);
#ifdef CONFIG_PPC64
-@@ -231,6 +231,9 @@
+@@ -231,6 +231,9 @@ Commands:\n\
#ifdef CONFIG_PPC_STD_MMU_32
" u dump segment registers\n"
#endif
" ? help\n"
" zr reboot\n\
zh halt\n"
-@@ -856,6 +859,11 @@
+@@ -856,6 +859,11 @@ cmds(struct pt_regs *excp)
dump_segments();
break;
#endif
default:
printf("Unrecognized command: ");
do {
-@@ -2527,16 +2535,33 @@
+@@ -2527,16 +2535,33 @@ static void xmon_print_symbol(unsigned l
static void dump_slb(void)
{
int i;
}
}
-@@ -2581,6 +2606,32 @@
+@@ -2581,6 +2606,32 @@ void dump_segments(void)
}
#endif
#ifdef CONFIG_PPC_ISERIES
--- a/arch/ppc/kernel/Makefile
+++ b/arch/ppc/kernel/Makefile
-@@ -13,7 +13,6 @@
+@@ -13,7 +13,6 @@ obj-y := entry.o traps.o time.o misc.
ppc_htab.o
obj-$(CONFIG_MODULES) += ppc_ksyms.o
obj-$(CONFIG_PCI) += pci.o
obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o
--- a/arch/ppc/kernel/head_44x.S
+++ b/arch/ppc/kernel/head_44x.S
-@@ -195,7 +195,7 @@
+@@ -195,7 +195,7 @@ skpinv: addi r4,r4,1 /* Increment */
li r5,0
ori r5,r5,(PPC44x_TLB_SW | PPC44x_TLB_SR | PPC44x_TLB_I | PPC44x_TLB_G)
defined(CONFIG_MPC10X_BRIDGE) || defined(CONFIG_8260) || \
--- a/arch/ppc/kernel/traps.c
+++ b/arch/ppc/kernel/traps.c
-@@ -231,39 +231,25 @@
+@@ -231,39 +231,25 @@ platform_machine_check(struct pt_regs *r
{
}
printk("Machine check in kernel mode.\n");
if (reason & ESR_IMCP){
printk("Instruction Synchronous Machine Check exception\n");
-@@ -293,7 +279,13 @@
+@@ -293,7 +279,13 @@ void machine_check_exception(struct pt_r
/* Clear MCSR */
mtspr(SPRN_MCSR, mcsr);
}
printk("Machine check in kernel mode.\n");
printk("Caused by (from MCSR=%lx): ", reason);
-@@ -305,8 +297,6 @@
+@@ -305,8 +297,6 @@ void machine_check_exception(struct pt_r
printk("Data Cache Push Parity Error\n");
if (reason & MCSR_DCPERR)
printk("Data Cache Parity Error\n");
if (reason & MCSR_BUS_IAERR)
printk("Bus - Instruction Address Error\n");
if (reason & MCSR_BUS_RAERR)
-@@ -318,12 +308,19 @@
+@@ -318,12 +308,19 @@ void machine_check_exception(struct pt_r
if (reason & MCSR_BUS_RBERR)
printk("Bus - Read Data Bus Error\n");
if (reason & MCSR_BUS_WBERR)
printk("Machine check in kernel mode.\n");
printk("Caused by (from MCSR=%lx): ", reason);
-@@ -341,7 +338,14 @@
+@@ -341,7 +338,14 @@ void machine_check_exception(struct pt_r
printk("Bus - Read Bus Error on data load\n");
if (reason & MCSR_BUS_WRERR)
printk("Bus - Write Bus Error on buffered store or cache line push\n");
printk("Machine check in kernel mode.\n");
printk("Caused by (from SRR1=%lx): ", reason);
switch (reason & 0x601F0000) {
-@@ -371,7 +375,39 @@
+@@ -371,7 +375,39 @@ void machine_check_exception(struct pt_r
default:
printk("Unknown values in msr\n");
}
* Optional platform-provided routine to print out
--- a/arch/ppc/mm/44x_mmu.c
+++ b/arch/ppc/mm/44x_mmu.c
-@@ -60,38 +60,28 @@
+@@ -60,38 +60,28 @@ extern char etext[], _stext[];
* Just needed it declared someplace.
*/
unsigned int tlb_44x_index = 0;
void __init MMU_init_hw(void)
{
flush_instruction_cache();
-@@ -99,22 +89,13 @@
+@@ -99,22 +89,13 @@ void __init MMU_init_hw(void)
unsigned long __init mmu_mapin_ram(void)
{
#include <platforms/85xx/mpc85xx_ads_common.h>
#ifndef CONFIG_PCI
-@@ -190,6 +188,7 @@
+@@ -190,6 +188,7 @@ mpc85xx_exclude_device(u_char bus, u_cha
#endif /* CONFIG_PCI */
#ifdef CONFIG_RAPIDIO
unsigned char __res[sizeof(bd_t)];
-@@ -271,6 +269,7 @@
+@@ -271,6 +269,7 @@ int mpc85xx_exclude_device(u_char bus, u
#endif /* CONFIG_PCI */
#ifdef CONFIG_RAPIDIO
#ifndef CONFIG_PCI
unsigned long isa_io_base = 0;
-@@ -309,6 +308,7 @@
+@@ -309,6 +308,7 @@ int mpc85xx_exclude_device(u_char bus, u
#endif /* CONFIG_PCI */
#ifdef CONFIG_RAPIDIO
/* 512MB RIO LAW at 0xc0000000 */
--- a/arch/ppc/platforms/ev64260.c
+++ b/arch/ppc/platforms/ev64260.c
-@@ -336,7 +336,7 @@
+@@ -336,7 +336,7 @@ ev64260_early_serial_map(void)
#endif
if (early_serial_setup(&port) != 0)
"failed\n");
first_time = 0;
-@@ -388,7 +388,7 @@
+@@ -388,7 +388,7 @@ ev64260_setup_arch(void)
ev64260_early_serial_map();
#endif
if (ppc_md.progress)
--- a/arch/ppc/platforms/prep_pci.c
+++ b/arch/ppc/platforms/prep_pci.c
-@@ -1099,7 +1099,6 @@
+@@ -1099,7 +1099,6 @@ prep_pib_init(void)
pci_write_config_byte(dev, 0x43, reg);
}
}
if ((dev = pci_get_device(PCI_VENDOR_ID_WINBOND,
--- a/arch/ppc/syslib/Makefile
+++ b/arch/ppc/syslib/Makefile
-@@ -93,7 +93,6 @@
+@@ -93,7 +93,6 @@ obj-$(CONFIG_85xx) += open_pic.o ppc85x
ifeq ($(CONFIG_85xx),y)
obj-$(CONFIG_PCI) += pci_auto.o
endif
#include <linux/interrupt.h>
--- a/arch/ppc/syslib/ocp.c
+++ b/arch/ppc/syslib/ocp.c
-@@ -376,7 +376,7 @@
+@@ -376,7 +376,7 @@ ocp_remove_one_device(unsigned int vendo
down_write(&ocp_devices_sem);
dev = __ocp_find_device(vendor, function, index);
-#endif /* __PPC_SYSLIB_PPC85XX_RIO_H */
--- a/arch/ppc/syslib/ppc8xx_pic.c
+++ b/arch/ppc/syslib/ppc8xx_pic.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ extern int cpm_get_irq(void);
* the only interrupt controller. Some boards, like the MBX and
* Sandpoint have the 8259 as a secondary controller. Depending
* upon the processor type, the internal controller can have as
*/
--- a/arch/ppc/syslib/ppc_sys.c
+++ b/arch/ppc/syslib/ppc_sys.c
-@@ -185,7 +185,7 @@
+@@ -185,7 +185,7 @@ void platform_notify_map(const struct pl
*/
/*
#include <asm/delay.h>
--- a/drivers/ata/Kconfig
+++ b/drivers/ata/Kconfig
-@@ -607,13 +607,23 @@
+@@ -607,13 +607,23 @@ config PATA_WINBOND_VLB
config PATA_PLATFORM
tristate "Generic platform device PATA support"
depends on ARM && ARCH_ACORN
--- a/drivers/ata/Makefile
+++ b/drivers/ata/Makefile
-@@ -67,6 +67,7 @@
+@@ -67,6 +67,7 @@ obj-$(CONFIG_PATA_IXP4XX_CF) += pata_ixp
obj-$(CONFIG_PATA_SCC) += pata_scc.o
obj-$(CONFIG_PATA_BF54X) += pata_bf54x.o
obj-$(CONFIG_PATA_PLATFORM) += pata_platform.o
+MODULE_LICENSE("GPL");
--- a/drivers/ata/pata_platform.c
+++ b/drivers/ata/pata_platform.c
-@@ -93,14 +93,9 @@
+@@ -93,14 +93,9 @@ static struct ata_port_operations pata_p
};
static void pata_platform_setup_port(struct ata_ioports *ioaddr,
ioaddr->data_addr = ioaddr->cmd_addr + (ATA_REG_DATA << shift);
ioaddr->error_addr = ioaddr->cmd_addr + (ATA_REG_ERR << shift);
ioaddr->feature_addr = ioaddr->cmd_addr + (ATA_REG_FEATURE << shift);
-@@ -114,8 +109,13 @@
+@@ -114,8 +109,13 @@ static void pata_platform_setup_port(str
}
/**
*
* Register a platform bus IDE interface. Such interfaces are PIO and we
* assume do not support IRQ sharing.
-@@ -135,42 +135,18 @@
+@@ -135,42 +135,18 @@ static void pata_platform_setup_port(str
*
* If no IRQ resource is present, PIO polling mode is used instead.
*/
/*
* Check for MMIO
-@@ -181,20 +157,21 @@
+@@ -181,20 +157,21 @@ static int __devinit pata_platform_probe
/*
* And the IRQ
*/
ap->flags |= ATA_FLAG_SLAVE_POSS;
/*
-@@ -209,25 +186,24 @@
+@@ -209,25 +186,24 @@ static int __devinit pata_platform_probe
* Handle the MMIO case
*/
if (mmio) {
ata_port_desc(ap, "%s cmd 0x%llx ctl 0x%llx", mmio ? "mmio" : "ioport",
(unsigned long long)io_res->start,
-@@ -235,26 +211,78 @@
+@@ -235,26 +211,78 @@ static int __devinit pata_platform_probe
/* activate */
return ata_host_activate(host, irq, irq ? ata_interrupt : NULL,
.probe = pata_platform_probe,
--- a/drivers/char/hw_random/Kconfig
+++ b/drivers/char/hw_random/Kconfig
-@@ -98,7 +98,7 @@
+@@ -98,7 +98,7 @@ config HW_RANDOM_PASEMI
default HW_RANDOM
---help---
This driver provides kernel-side support for the Random Number
module will be called pasemi-rng.
--- a/drivers/char/hw_random/pasemi-rng.c
+++ b/drivers/char/hw_random/pasemi-rng.c
-@@ -126,10 +126,9 @@
+@@ -126,10 +126,9 @@ static int __devexit rng_remove(struct o
}
static struct of_device_id rng_match[] = {
static struct of_platform_driver rng_driver = {
--- a/drivers/edac/pasemi_edac.c
+++ b/drivers/edac/pasemi_edac.c
-@@ -225,7 +225,7 @@
+@@ -225,7 +225,7 @@ static int __devinit pasemi_edac_probe(s
EDAC_FLAG_NONE;
mci->mod_name = MODULE_NAME;
mci->dev_name = pci_name(pdev);
mci->edac_check = pasemi_edac_check;
mci->ctl_page_to_phys = NULL;
pci_read_config_dword(pdev, MCCFG_SCRUB, &scrub);
-@@ -297,4 +297,4 @@
+@@ -297,4 +297,4 @@ module_exit(pasemi_edac_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Egor Martovetsky <egor@pasemi.com>");
#include <asm/uaccess.h>
#include <asm/semaphore.h>
-@@ -82,21 +83,11 @@
+@@ -82,21 +83,11 @@ struct adb_driver *adb_controller;
BLOCKING_NOTIFIER_HEAD(adb_client_list);
static int adb_got_sleep;
static int adb_inited;
static int adb_scan_bus(void);
static int do_adb_reset_bus(void);
static void adbdev_init(void);
-@@ -134,16 +125,6 @@
+@@ -134,16 +125,6 @@ static void printADBreply(struct adb_req
}
#endif
static int adb_scan_bus(void)
{
int i, highFree=0, noMovement;
-@@ -248,13 +229,10 @@
+@@ -248,13 +229,10 @@ static int adb_scan_bus(void)
static int
adb_probe_task(void *x)
{
up(&adb_probe_mutex);
return 0;
-@@ -263,7 +241,7 @@
+@@ -263,7 +241,7 @@ adb_probe_task(void *x)
static void
__adb_probe_task(struct work_struct *bullshit)
{
}
static DECLARE_WORK(adb_reset_work, __adb_probe_task);
-@@ -281,6 +259,36 @@
+@@ -281,6 +259,36 @@ adb_reset_bus(void)
return 0;
}
int __init adb_init(void)
{
struct adb_driver *driver;
-@@ -313,15 +321,12 @@
+@@ -313,15 +321,12 @@ int __init adb_init(void)
printk(KERN_WARNING "Warning: no ADB interface detected\n");
adb_controller = NULL;
} else {
adbdev_init();
adb_reset_bus();
}
-@@ -330,33 +335,6 @@
+@@ -330,33 +335,6 @@ int __init adb_init(void)
__initcall(adb_init);
static int
do_adb_reset_bus(void)
{
-@@ -373,7 +351,7 @@
+@@ -373,7 +351,7 @@ do_adb_reset_bus(void)
if (sleepy_trackpad) {
/* Let the trackpad settle down */
}
down(&adb_handler_sem);
-@@ -389,7 +367,7 @@
+@@ -389,7 +367,7 @@ do_adb_reset_bus(void)
if (sleepy_trackpad) {
/* Let the trackpad settle down */
}
if (!ret) {
-@@ -413,41 +391,27 @@
+@@ -413,41 +391,27 @@ adb_poll(void)
adb_controller->poll();
}
req->nbytes = nbytes+1;
req->done = done;
req->reply_expected = flags & ADBREQ_REPLY;
-@@ -460,25 +424,18 @@
+@@ -460,25 +424,18 @@ adb_request(struct adb_request *req, voi
if (flags & ADBREQ_NOSEND)
return 0;
return rc;
}
-@@ -864,7 +821,29 @@
+@@ -864,7 +821,29 @@ static const struct file_operations adb_
.release = adb_release,
};
adbdev_init(void)
{
if (register_chrdev(ADB_MAJOR, "adb", &adb_fops)) {
-@@ -876,4 +855,7 @@
+@@ -876,4 +855,7 @@ adbdev_init(void)
if (IS_ERR(adb_dev_class))
return;
class_device_create(adb_dev_class, NULL, MKDEV(ADB_MAJOR, 0), NULL, "adb");
#ifdef MB_DEBUG
#define MBDBG(fmt, arg...) printk(KERN_INFO fmt , ## arg)
-@@ -622,12 +622,7 @@
+@@ -622,12 +622,7 @@ static int media_bay_task(void *x)
{
int i;
for (i = 0; i < media_bay_count; ++i) {
down(&media_bays[i].lock);
if (!media_bays[i].sleeping)
-@@ -636,9 +631,8 @@
+@@ -636,9 +631,8 @@ static int media_bay_task(void *x)
}
msleep_interruptible(MB_POLL_DELAY);
}
static int __devinit media_bay_attach(struct macio_dev *mdev, const struct of_device_id *match)
-@@ -699,7 +693,7 @@
+@@ -699,7 +693,7 @@ static int __devinit media_bay_attach(st
/* Startup kernel thread */
if (i == 0)
--- a/drivers/macintosh/therm_adt746x.c
+++ b/drivers/macintosh/therm_adt746x.c
-@@ -553,6 +553,7 @@
+@@ -553,6 +553,7 @@ thermostat_init(void)
struct device_node* np;
const u32 *prop;
int i = 0, offset = 0;
np = of_find_node_by_name(NULL, "fan");
if (!np)
-@@ -612,17 +613,20 @@
+@@ -612,17 +613,20 @@ thermostat_init(void)
return -ENODEV;
}
#include <asm/prom.h>
#include <asm/machdep.h>
#include <asm/io.h>
-@@ -161,7 +162,7 @@
+@@ -161,7 +162,7 @@ static struct slots_pid_state slots_sta
static int state;
static int cpu_count;
static int cpu_pid_type;
static struct completion ctrl_complete;
static int critical_state;
static int rackmac;
-@@ -1156,6 +1157,8 @@
+@@ -1156,6 +1157,8 @@ static void do_monitor_cpu_rack(struct c
*/
static int init_cpu_state(struct cpu_pid_state *state, int index)
{
state->index = index;
state->first = 1;
state->rpm = (cpu_pid_type == CPU_PID_TYPE_RACKMAC) ? 4000 : 1000;
-@@ -1181,18 +1184,21 @@
+@@ -1181,18 +1184,21 @@ static int init_cpu_state(struct cpu_pid
DBG("CPU %d Using %d power history entries\n", index, state->count_power);
if (index == 0) {
return 0;
fail:
-@@ -1328,6 +1334,7 @@
+@@ -1328,6 +1334,7 @@ static int init_backside_state(struct ba
{
struct device_node *u3;
int u3h = 1; /* conservative by default */
/*
* There are different PID params for machines with U3 and machines
-@@ -1379,8 +1386,11 @@
+@@ -1379,8 +1386,11 @@ static int init_backside_state(struct ba
if (state->monitor == NULL)
return -ENODEV;
return 0;
}
-@@ -1491,6 +1501,8 @@
+@@ -1491,6 +1501,8 @@ static void do_monitor_drives(struct dri
*/
static int init_drives_state(struct drives_pid_state *state)
{
state->ticks = 1;
state->first = 1;
state->rpm = 1000;
-@@ -1499,8 +1511,11 @@
+@@ -1499,8 +1511,11 @@ static int init_drives_state(struct driv
if (state->monitor == NULL)
return -ENODEV;
return 0;
}
-@@ -1621,7 +1636,9 @@
+@@ -1621,7 +1636,9 @@ static int init_dimms_state(struct dimm_
if (state->monitor == NULL)
return -ENODEV;
return 0;
}
-@@ -1731,6 +1748,8 @@
+@@ -1731,6 +1748,8 @@ static void do_monitor_slots(struct slot
*/
static int init_slots_state(struct slots_pid_state *state)
{
state->ticks = 1;
state->first = 1;
state->pwm = 50;
-@@ -1739,8 +1758,11 @@
+@@ -1739,8 +1758,11 @@ static int init_slots_state(struct slots
if (state->monitor == NULL)
return -ENODEV;
return 0;
}
-@@ -1779,8 +1801,6 @@
+@@ -1779,8 +1801,6 @@ static int call_critical_overtemp(void)
*/
static int main_control_loop(void *x)
{
DBG("main_control_loop started\n");
down(&driver_lock);
-@@ -1956,7 +1976,7 @@
+@@ -1956,7 +1976,7 @@ static void start_control_loops(void)
{
init_completion(&ctrl_complete);
}
/*
-@@ -1964,7 +1984,7 @@
+@@ -1964,7 +1984,7 @@ static void start_control_loops(void)
*/
static void stop_control_loops(void)
{
#include <asm/prom.h>
#include <asm/machdep.h>
-@@ -61,8 +62,7 @@
+@@ -61,8 +62,7 @@ I2C_CLIENT_INSMOD;
static struct {
volatile int running;
struct semaphore lock;
struct of_device *of_dev;
-@@ -223,6 +223,7 @@
+@@ -223,6 +223,7 @@ static void
setup_hardware( void )
{
int val;
/* save registers (if we unload the module) */
x.r0 = read_reg( x.fan, 0x00, 1 );
-@@ -265,8 +266,11 @@
+@@ -265,8 +266,11 @@ setup_hardware( void )
x.upind = -1;
/* tune_fan( fan_up_table[x.upind].fan_setting ); */
}
static void
-@@ -282,27 +286,27 @@
+@@ -282,27 +286,27 @@ restore_regs( void )
write_reg( x.fan, 0x00, x.r0, 1 );
}
}
-@@ -322,8 +326,7 @@
+@@ -322,8 +326,7 @@ do_attach( struct i2c_adapter *adapter )
ret = i2c_probe( adapter, &addr_data, &do_probe );
if( x.thermostat && x.fan ) {
x.running = 1;
}
}
return ret;
-@@ -339,7 +342,8 @@
+@@ -339,7 +342,8 @@ do_detach( struct i2c_client *client )
else {
if( x.running ) {
x.running = 0;
x.thermostat = NULL;
--- a/drivers/macintosh/via-pmu-backlight.c
+++ b/drivers/macintosh/via-pmu-backlight.c
-@@ -22,7 +22,7 @@
+@@ -22,7 +22,7 @@ static u8 bl_curve[FB_BACKLIGHT_LEVELS];
static void pmu_backlight_init_curve(u8 off, u8 min, u8 max)
{
bl_curve[0] = off;
-@@ -68,17 +68,11 @@
+@@ -68,17 +68,11 @@ static int pmu_backlight_get_level_brigh
return pmulevel;
}
if (bd->props.power != FB_BLANK_UNBLANK ||
bd->props.fb_blank != FB_BLANK_UNBLANK)
-@@ -99,12 +93,23 @@
+@@ -99,12 +93,23 @@ static int pmu_backlight_update_status(s
pmu_wait_complete(&req);
}
static int pmu_backlight_get_brightness(struct backlight_device *bd)
{
return bd->props.brightness;
-@@ -123,6 +128,16 @@
+@@ -123,6 +128,16 @@ void pmu_backlight_set_sleep(int sleep)
spin_lock_irqsave(&pmu_backlight_lock, flags);
sleeping = sleep;
spin_unlock_irqrestore(&pmu_backlight_lock, flags);
}
#endif /* CONFIG_PM */
-@@ -148,8 +163,8 @@
+@@ -148,8 +163,8 @@ void __init pmu_backlight_init()
bd = backlight_device_register(name, NULL, NULL, &pmu_backlight_data);
if (IS_ERR(bd)) {
}
bd->props.max_brightness = FB_BACKLIGHT_LEVELS - 1;
pmu_backlight_init_curve(0x7F, 0x46, 0x0E);
-@@ -171,10 +186,5 @@
+@@ -171,10 +186,5 @@ void __init pmu_backlight_init()
bd->props.power = FB_BLANK_UNBLANK;
backlight_update_status(bd);
/* Misc minor number allocated for /dev/pmu */
#define PMU_MINOR 154
-@@ -152,12 +147,9 @@
+@@ -152,12 +147,9 @@ static spinlock_t pmu_lock;
static u8 pmu_intr_mask;
static int pmu_version;
static int drop_interrupts;
static unsigned long async_req_locks;
static unsigned int pmu_irq_stats[11];
-@@ -177,7 +169,6 @@
+@@ -177,7 +169,6 @@ static struct proc_dir_entry *proc_pmu_b
int __fake_sleep;
int asleep;
#ifdef CONFIG_ADB
static int adb_dev_map;
-@@ -224,7 +215,7 @@
+@@ -224,7 +215,7 @@ extern void enable_kernel_fp(void);
#ifdef DEBUG_SLEEP
int pmu_polled_request(struct adb_request *req);
#endif
/*
-@@ -875,7 +866,7 @@
+@@ -875,7 +866,7 @@ proc_read_options(char *page, char **sta
{
char *p = page;
if (pmu_kind == PMU_KEYLARGO_BASED &&
pmac_call_feature(PMAC_FTR_SLEEP_STATE,NULL,0,-1) >= 0)
p += sprintf(p, "lid_wakeup=%d\n", option_lid_wakeup);
-@@ -916,7 +907,7 @@
+@@ -916,7 +907,7 @@ proc_write_options(struct file *file, co
*(val++) = 0;
while(*val == ' ')
val++;
if (pmu_kind == PMU_KEYLARGO_BASED &&
pmac_call_feature(PMAC_FTR_SLEEP_STATE,NULL,0,-1) >= 0)
if (!strcmp(label, "lid_wakeup"))
-@@ -1256,9 +1247,7 @@
+@@ -1256,9 +1247,7 @@ void
pmu_suspend(void)
{
unsigned long flags;
if (!via)
return;
-@@ -1276,17 +1265,10 @@
+@@ -1276,17 +1265,10 @@ pmu_suspend(void)
via_pmu_interrupt(0, NULL);
spin_lock_irqsave(&pmu_lock, flags);
if (!adb_int_pending && pmu_state == idle && !req_awaiting_reply) {
break;
}
} while (1);
-@@ -1307,18 +1289,11 @@
+@@ -1307,18 +1289,11 @@ pmu_resume(void)
return;
}
adb_int_pending = 1;
}
/* Interrupt data could be the result data from an ADB cmd */
-@@ -1738,228 +1713,7 @@
+@@ -1738,228 +1713,7 @@ pmu_present(void)
return via != 0;
}
/*
* Put the powerbook to sleep.
*/
-@@ -1994,134 +1748,6 @@
+@@ -1994,134 +1748,6 @@ restore_via_state(void)
out_8(&via[IER], IER_SET | SR_INT | CB1_INT);
}
#define GRACKLE_PM (1<<7)
#define GRACKLE_DOZE (1<<5)
#define GRACKLE_NAP (1<<4)
-@@ -2132,19 +1758,12 @@
+@@ -2132,19 +1758,12 @@ static int powerbook_sleep_grackle(void)
unsigned long save_l2cr;
unsigned short pmcr1;
struct adb_request req;
/* Turn off various things. Darwin does some retry tests here... */
pmu_request(&req, NULL, 2, PMU_POWER_CTRL0, PMU_POW0_OFF|PMU_POW0_HARD_DRIVE);
pmu_wait_complete(&req);
-@@ -2207,8 +1826,6 @@
+@@ -2207,8 +1826,6 @@ static int powerbook_sleep_grackle(void)
PMU_POW_ON|PMU_POW_BACKLIGHT|PMU_POW_CHARGER|PMU_POW_IRLED|PMU_POW_MEDIABAY);
pmu_wait_complete(&req);
return 0;
}
-@@ -2218,7 +1835,6 @@
+@@ -2218,7 +1835,6 @@ powerbook_sleep_Core99(void)
unsigned long save_l2cr;
unsigned long save_l3cr;
struct adb_request req;
if (pmac_call_feature(PMAC_FTR_SLEEP_STATE,NULL,0,-1) < 0) {
printk(KERN_ERR "Sleep mode not supported on this machine\n");
-@@ -2228,12 +1844,6 @@
+@@ -2228,12 +1844,6 @@ powerbook_sleep_Core99(void)
if (num_online_cpus() > 1 || cpu_is_offline(0))
return -EAGAIN;
/* Stop environment and ADB interrupts */
pmu_request(&req, NULL, 2, PMU_SET_INTR_MASK, 0);
pmu_wait_complete(&req);
-@@ -2304,45 +1914,33 @@
+@@ -2304,45 +1914,33 @@ powerbook_sleep_Core99(void)
/* Restore LPJ, cpufreq will adjust the cpu frequency */
loops_per_jiffy /= 2;
/* Set the memory controller to keep the memory refreshed
while we're asleep */
-@@ -2357,41 +1955,34 @@
+@@ -2357,41 +1955,34 @@ powerbook_sleep_3400(void)
/* Ask the PMU to put us to sleep */
pmu_request(&sleep_req, NULL, 5, PMU_SLEEP, 'M', 'A', 'T', 'T');
/*
* Support for /dev/pmu device
-@@ -2548,7 +2139,6 @@
+@@ -2548,7 +2139,6 @@ pmu_release(struct inode *inode, struct
struct pmu_private *pp = file->private_data;
unsigned long flags;
if (pp != 0) {
file->private_data = NULL;
spin_lock_irqsave(&all_pvt_lock, flags);
-@@ -2562,10 +2152,96 @@
+@@ -2562,10 +2152,96 @@ pmu_release(struct inode *inode, struct
kfree(pp);
}
static int
pmu_ioctl(struct inode * inode, struct file *filp,
u_int cmd, u_long arg)
-@@ -2574,35 +2250,15 @@
+@@ -2574,35 +2250,15 @@ pmu_ioctl(struct inode * inode, struct f
int error = -EINVAL;
switch (cmd) {
#ifdef CONFIG_PMAC_BACKLIGHT_LEGACY
/* Compatibility ioctl's for backlight */
-@@ -2610,9 +2266,6 @@
+@@ -2610,9 +2266,6 @@ pmu_ioctl(struct inode * inode, struct f
{
int brightness;
brightness = pmac_backlight_get_legacy_brightness();
if (brightness < 0)
return brightness;
-@@ -2624,9 +2277,6 @@
+@@ -2624,9 +2277,6 @@ pmu_ioctl(struct inode * inode, struct f
{
int brightness;
error = get_user(brightness, argp);
if (error)
return error;
-@@ -2751,15 +2401,43 @@
+@@ -2751,15 +2401,43 @@ pmu_polled_request(struct adb_request *r
local_irq_restore(flags);
return 0;
}
int pmu_sys_suspended;
static int pmu_sys_suspend(struct sys_device *sysdev, pm_message_t state)
-@@ -2767,10 +2445,15 @@
+@@ -2767,10 +2445,15 @@ static int pmu_sys_suspend(struct sys_de
if (state.event != PM_EVENT_SUSPEND || pmu_sys_suspended)
return 0;
return 0;
}
-@@ -2785,15 +2468,18 @@
+@@ -2785,15 +2468,18 @@ static int pmu_sys_resume(struct sys_dev
pmu_request(&req, NULL, 2, PMU_SYSTEM_READY, 2);
pmu_wait_complete(&req);
static struct sysdev_class pmu_sysclass = {
set_kset_name("pmu"),
-@@ -2804,10 +2490,10 @@
+@@ -2804,10 +2490,10 @@ static struct sys_device device_pmu = {
};
static struct sysdev_driver driver_pmu = {
};
static int __init init_pmu_sysfs(void)
-@@ -2842,10 +2528,10 @@
+@@ -2842,10 +2528,10 @@ EXPORT_SYMBOL(pmu_wait_complete);
EXPORT_SYMBOL(pmu_suspend);
EXPORT_SYMBOL(pmu_resume);
EXPORT_SYMBOL(pmu_unlock);
--- a/drivers/net/fs_enet/fs_enet-main.c
+++ b/drivers/net/fs_enet/fs_enet-main.c
-@@ -1178,8 +1178,15 @@
+@@ -1178,8 +1178,15 @@ static int __devinit find_phy(struct dev
struct device_node *phynode, *mdionode;
struct resource res;
int ret = 0, len;
#include <asm/io.h>
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -61,34 +61,12 @@
+@@ -61,34 +61,12 @@ config ICPLUS_PHY
Currently supports the IP175C PHY.
config FIXED_PHY
+MODULE_LICENSE("GPL");
--- a/drivers/net/ps3_gelic_net.c
+++ b/drivers/net/ps3_gelic_net.c
-@@ -58,11 +58,11 @@
+@@ -58,11 +58,11 @@ static inline struct device *ctodev(stru
{
return &card->dev->core;
}
}
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
-@@ -3822,6 +3822,7 @@
+@@ -3822,6 +3822,7 @@ static int ucc_geth_probe(struct of_devi
int err, ucc_num, max_speed = 0;
const phandle *ph;
const unsigned int *prop;
const void *mac_addr;
phy_interface_t phy_interface;
static const int enet_to_speed[] = {
-@@ -3854,10 +3855,56 @@
+@@ -3854,10 +3855,56 @@ static int ucc_geth_probe(struct of_devi
ug_info->uf_info.ucc_num = ucc_num;
return -EINVAL;
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
-@@ -273,3 +273,61 @@
+@@ -273,3 +273,61 @@ struct device_node *of_find_compatible_n
return np;
}
EXPORT_SYMBOL(of_find_compatible_node);
* @ids: array of of device match structures to search in
--- a/drivers/ps3/Makefile
+++ b/drivers/ps3/Makefile
-@@ -4,3 +4,4 @@
+@@ -4,3 +4,4 @@ ps3av_mod-objs += ps3av.o ps3av_cmd.o
obj-$(CONFIG_PPC_PS3) += sys-manager-core.o
obj-$(CONFIG_PS3_SYS_MANAGER) += ps3-sys-manager.o
obj-$(CONFIG_PS3_STORAGE) += ps3stor_lib.o
+MODULE_ALIAS(PS3_MODULE_ALIAS_LPM);
--- a/drivers/ps3/ps3-sys-manager.c
+++ b/drivers/ps3/ps3-sys-manager.c
-@@ -452,7 +452,7 @@
+@@ -452,7 +452,7 @@ static int ps3_sys_manager_handle_event(
case PS3_SM_EVENT_THERMAL_ALERT:
dev_dbg(&dev->core, "%s:%d: THERMAL_ALERT (zone %u)\n",
__func__, __LINE__, event.value);
break;
case PS3_SM_EVENT_THERMAL_CLEARED:
dev_dbg(&dev->core, "%s:%d: THERMAL_CLEARED (zone %u)\n",
-@@ -488,7 +488,7 @@
+@@ -488,7 +488,7 @@ static int ps3_sys_manager_handle_cmd(st
result = ps3_vuart_read(dev, &cmd, sizeof(cmd));
BUG_ON(result && "need to retry here");
return result;
if (cmd.version != 1) {
-@@ -521,7 +521,7 @@
+@@ -521,7 +521,7 @@ static int ps3_sys_manager_handle_msg(st
result = ps3_vuart_read(dev, &header,
sizeof(struct ps3_sys_manager_header));
return result;
if (header.version != 1) {
-@@ -589,9 +589,9 @@
+@@ -589,9 +589,9 @@ static void ps3_sys_manager_final_power_
PS3_SM_WAKE_DEFAULT);
ps3_sys_manager_send_request_shutdown(dev);
ps3_sys_manager_handle_msg(dev);
}
-@@ -626,9 +626,9 @@
+@@ -626,9 +626,9 @@ static void ps3_sys_manager_final_restar
PS3_SM_WAKE_DEFAULT);
ps3_sys_manager_send_request_shutdown(dev);
--- a/drivers/ps3/ps3-vuart.c
+++ b/drivers/ps3/ps3-vuart.c
-@@ -108,18 +108,18 @@
+@@ -108,18 +108,18 @@ static struct ps3_vuart_port_priv *to_po
struct ports_bmp {
u64 status;
u64 unused[3];
{
#if defined(DEBUG)
static const char *strings[] = {
-@@ -363,7 +363,7 @@
+@@ -363,7 +363,7 @@ int ps3_vuart_disable_interrupt_disconne
*/
static int ps3_vuart_raw_write(struct ps3_system_bus_device *dev,
{
int result;
struct ps3_vuart_port_priv *priv = to_port_priv(dev);
-@@ -431,7 +431,7 @@
+@@ -431,7 +431,7 @@ void ps3_vuart_clear_rx_bytes(struct ps3
int result;
struct ps3_vuart_port_priv *priv = to_port_priv(dev);
u64 bytes_waiting;
result = ps3_vuart_get_rx_bytes_waiting(dev, &bytes_waiting);
-@@ -526,9 +526,8 @@
+@@ -526,9 +526,8 @@ int ps3_vuart_write(struct ps3_system_bu
lb = kmalloc(sizeof(struct list_buffer) + bytes, GFP_KERNEL);
memcpy(lb->data, buf, bytes);
lb->head = lb->data;
-@@ -878,7 +877,7 @@
+@@ -878,7 +877,7 @@ static int ps3_vuart_handle_port_interru
struct vuart_bus_priv {
struct ports_bmp *bmp;
unsigned int virq;
int use_count;
struct ps3_system_bus_device *devices[PORT_COUNT];
} static vuart_bus_priv;
-@@ -926,9 +925,8 @@
+@@ -926,9 +925,8 @@ static int ps3_vuart_bus_interrupt_get(v
BUG_ON(vuart_bus_priv.use_count > 2);
BUG_ON(vuart_bus_priv.bmp);
-@@ -1017,7 +1015,7 @@
+@@ -1017,7 +1015,7 @@ static int ps3_vuart_probe(struct ps3_sy
return -EINVAL;
}
result = ps3_vuart_bus_interrupt_get();
-@@ -1077,7 +1075,7 @@
+@@ -1077,7 +1075,7 @@ static int ps3_vuart_probe(struct ps3_sy
goto fail_probe;
}
return result;
-@@ -1090,7 +1088,7 @@
+@@ -1090,7 +1088,7 @@ fail_dev_malloc:
fail_busy:
ps3_vuart_bus_interrupt_put();
fail_setup_interrupt:
dev_dbg(&dev->core, "%s:%d: failed\n", __func__, __LINE__);
return result;
}
-@@ -1129,7 +1127,7 @@
+@@ -1129,7 +1127,7 @@ static int ps3_vuart_remove(struct ps3_s
BUG_ON(!dev);
dev_dbg(&dev->core, " -> %s:%d: match_id %d\n", __func__, __LINE__,
dev->match_id);
-@@ -1137,7 +1135,7 @@
+@@ -1137,7 +1135,7 @@ static int ps3_vuart_remove(struct ps3_s
if (!dev->core.driver) {
dev_dbg(&dev->core, "%s:%d: no driver bound\n", __func__,
__LINE__);
return 0;
}
-@@ -1160,7 +1158,7 @@
+@@ -1160,7 +1158,7 @@ static int ps3_vuart_remove(struct ps3_s
priv = NULL;
dev_dbg(&dev->core, " <- %s:%d\n", __func__, __LINE__);
return 0;
}
-@@ -1180,7 +1178,7 @@
+@@ -1180,7 +1178,7 @@ static int ps3_vuart_shutdown(struct ps3
BUG_ON(!dev);
dev_dbg(&dev->core, " -> %s:%d: match_id %d\n", __func__, __LINE__,
dev->match_id);
-@@ -1188,7 +1186,7 @@
+@@ -1188,7 +1186,7 @@ static int ps3_vuart_shutdown(struct ps3
if (!dev->core.driver) {
dev_dbg(&dev->core, "%s:%d: no driver bound\n", __func__,
__LINE__);
return 0;
}
-@@ -1212,7 +1210,7 @@
+@@ -1212,7 +1210,7 @@ static int ps3_vuart_shutdown(struct ps3
dev_dbg(&dev->core, " <- %s:%d\n", __func__, __LINE__);
return 0;
}
-@@ -1223,7 +1221,7 @@
+@@ -1223,7 +1221,7 @@ static int __init ps3_vuart_bus_init(voi
if (!firmware_has_feature(FW_FEATURE_PS3_LV1))
return -ENODEV;
}
--- a/drivers/serial/Kconfig
+++ b/drivers/serial/Kconfig
-@@ -1284,4 +1284,14 @@
+@@ -1284,4 +1284,14 @@ config SERIAL_OF_PLATFORM
Currently, only 8250 compatible ports are supported, but
others can easily be added.
endmenu
--- a/drivers/serial/Makefile
+++ b/drivers/serial/Makefile
-@@ -64,3 +64,4 @@
+@@ -64,3 +64,4 @@ obj-$(CONFIG_SERIAL_UARTLITE) += uartlit
obj-$(CONFIG_SERIAL_NETX) += netx-serial.o
obj-$(CONFIG_SERIAL_OF_PLATFORM) += of_serial.o
obj-$(CONFIG_SERIAL_KS8695) += serial_ks8695.o
}
#else
void cpm_line_cr_cmd(struct uart_cpm_port *port, int cmd)
-@@ -171,9 +165,9 @@
+@@ -171,9 +165,9 @@ void scc2_lineif(struct uart_cpm_port *p
* really has to get out of the driver so boards can
* be supported in a sane fashion.
*/
#else
#include <linux/platform_device.h>
#endif
-@@ -111,16 +112,18 @@
+@@ -111,16 +112,18 @@ static void mpc52xx_uart_of_enumerate(vo
#endif
#define PSC(port) ((struct mpc52xx_psc __iomem *)((port)->membase))
#else
#define uart_console(port) (0)
#endif
-@@ -162,7 +165,7 @@
+@@ -162,7 +165,7 @@ mpc52xx_uart_stop_tx(struct uart_port *p
{
/* port->lock taken by caller */
port->read_status_mask &= ~MPC52xx_PSC_IMR_TXRDY;
}
static void
-@@ -170,7 +173,7 @@
+@@ -170,7 +173,7 @@ mpc52xx_uart_start_tx(struct uart_port *
{
/* port->lock taken by caller */
port->read_status_mask |= MPC52xx_PSC_IMR_TXRDY;
}
static void
-@@ -184,7 +187,7 @@
+@@ -184,7 +187,7 @@ mpc52xx_uart_send_xchar(struct uart_port
/* Make sure tx interrupts are on */
/* Truly necessary ??? They should be anyway */
port->read_status_mask |= MPC52xx_PSC_IMR_TXRDY;
}
spin_unlock_irqrestore(&port->lock, flags);
-@@ -195,7 +198,7 @@
+@@ -195,7 +198,7 @@ mpc52xx_uart_stop_rx(struct uart_port *p
{
/* port->lock taken by caller */
port->read_status_mask &= ~MPC52xx_PSC_IMR_RXRDY;
}
static void
-@@ -210,10 +213,10 @@
+@@ -210,10 +213,10 @@ mpc52xx_uart_break_ctl(struct uart_port
unsigned long flags;
spin_lock_irqsave(&port->lock, flags);
spin_unlock_irqrestore(&port->lock, flags);
}
-@@ -222,6 +225,7 @@
+@@ -222,6 +225,7 @@ static int
mpc52xx_uart_startup(struct uart_port *port)
{
struct mpc52xx_psc __iomem *psc = PSC(port);
int ret;
/* Request IRQ */
-@@ -231,23 +235,23 @@
+@@ -231,23 +235,23 @@ mpc52xx_uart_startup(struct uart_port *p
return ret;
/* Reset/activate the port, clear and enable interrupts */
return 0;
}
-@@ -258,12 +262,12 @@
+@@ -258,12 +262,12 @@ mpc52xx_uart_shutdown(struct uart_port *
struct mpc52xx_psc __iomem *psc = PSC(port);
/* Shut down the port. Leave TX active if on a console port */
/* Release interrupt */
free_irq(port->irq, port);
-@@ -271,7 +275,7 @@
+@@ -271,7 +275,7 @@ mpc52xx_uart_shutdown(struct uart_port *
static void
mpc52xx_uart_set_termios(struct uart_port *port, struct ktermios *new,
{
struct mpc52xx_psc __iomem *psc = PSC(port);
unsigned long flags;
-@@ -283,14 +287,14 @@
+@@ -283,14 +287,14 @@ mpc52xx_uart_set_termios(struct uart_por
mr1 = 0;
switch (new->c_cflag & CSIZE) {
}
if (new->c_cflag & PARENB) {
-@@ -332,24 +336,24 @@
+@@ -332,24 +336,24 @@ mpc52xx_uart_set_termios(struct uart_por
udelay(1);
if (!j)
/* We're all set, release the lock */
spin_unlock_irqrestore(&port->lock, flags);
-@@ -364,7 +368,8 @@
+@@ -364,7 +368,8 @@ mpc52xx_uart_type(struct uart_port *port
static void
mpc52xx_uart_release_port(struct uart_port *port)
{
iounmap(port->membase);
port->membase = NULL;
}
-@@ -379,7 +384,7 @@
+@@ -379,7 +384,7 @@ mpc52xx_uart_request_port(struct uart_po
if (port->flags & UPF_IOREMAP) /* Need to remap ? */
port->membase = ioremap(port->mapbase,
if (!port->membase)
return -EINVAL;
-@@ -398,22 +403,22 @@
+@@ -398,22 +403,22 @@ mpc52xx_uart_request_port(struct uart_po
static void
mpc52xx_uart_config_port(struct uart_port *port, int flags)
{
return -EINVAL;
return 0;
-@@ -455,8 +460,8 @@
+@@ -455,8 +460,8 @@ mpc52xx_uart_int_rx_chars(struct uart_po
unsigned short status;
/* While we can read, do so ! */
/* Get the char */
ch = in_8(&PSC(port)->mpc52xx_psc_buffer_8);
-@@ -474,9 +479,9 @@
+@@ -474,9 +479,9 @@ mpc52xx_uart_int_rx_chars(struct uart_po
flag = TTY_NORMAL;
port->icount.rx++;
if (status & MPC52xx_PSC_SR_RB) {
flag = TTY_BREAK;
-@@ -487,7 +492,7 @@
+@@ -487,7 +492,7 @@ mpc52xx_uart_int_rx_chars(struct uart_po
flag = TTY_FRAME;
/* Clear error condition */
}
tty_insert_flip_char(tty, ch, flag);
-@@ -568,16 +573,16 @@
+@@ -568,16 +573,16 @@ mpc52xx_uart_int(int irq, void *dev_id)
/* Do we need to receive chars ? */
/* For this RX interrupts must be on and some chars waiting */
keepgoing = 0;
} while (keepgoing);
-@@ -596,7 +601,7 @@
+@@ -596,7 +601,7 @@ mpc52xx_uart_int(int irq, void *dev_id)
static void __init
mpc52xx_console_get_options(struct uart_port *port,
{
struct mpc52xx_psc __iomem *psc = PSC(port);
unsigned char mr1;
-@@ -604,7 +609,7 @@
+@@ -604,7 +609,7 @@ mpc52xx_console_get_options(struct uart_
pr_debug("mpc52xx_console_get_options(port=%p)\n", port);
/* Read the mode registers */
mr1 = in_8(&psc->mode);
/* CT{U,L}R are write-only ! */
-@@ -616,11 +621,18 @@
+@@ -616,11 +621,18 @@ mpc52xx_console_get_options(struct uart_
/* Parse them */
switch (mr1 & MPC52xx_PSC_MODE_BITS_MASK) {
}
if (mr1 & MPC52xx_PSC_MODE_PARNONE)
-@@ -657,7 +669,7 @@
+@@ -657,7 +669,7 @@ mpc52xx_console_write(struct console *co
/* Wait the TX buffer to be empty */
j = 20000; /* Maximum wait */
while (!(in_be16(&psc->mpc52xx_psc_status) &
udelay(1);
}
-@@ -730,16 +742,18 @@
+@@ -730,16 +742,18 @@ mpc52xx_console_setup(struct console *co
}
pr_debug("Console on ttyPSC%x is %s\n",
pr_debug("Could not find IPB bus frequency!\n");
return -EINVAL;
}
-@@ -757,7 +771,8 @@
+@@ -757,7 +771,8 @@ mpc52xx_console_setup(struct console *co
return -EINVAL;
pr_debug("mpc52xx-psc uart at %p, mapped to %p, irq=%x, freq=%i\n",
/* Setup the port parameters accoding to options */
if (options)
-@@ -766,7 +781,7 @@
+@@ -766,7 +781,7 @@ mpc52xx_console_setup(struct console *co
mpc52xx_console_get_options(port, &baud, &parity, &bits, &flow);
pr_debug("Setting console parameters: %i %i%c1 flow=%c\n",
return uart_set_options(port, co, baud, parity, bits, flow);
}
-@@ -781,7 +796,7 @@
+@@ -781,7 +796,7 @@ static struct console mpc52xx_console =
.device = uart_console_device,
.setup = mpc52xx_console_setup,
.flags = CON_PRINTBUFFER,
.data = &mpc52xx_uart_driver,
};
-@@ -809,7 +824,6 @@
+@@ -809,7 +824,6 @@ console_initcall(mpc52xx_console_init);
/* ======================================================================== */
static struct uart_driver mpc52xx_uart_driver = {
.driver_name = "mpc52xx_psc_uart",
.dev_name = "ttyPSC",
.major = SERIAL_PSC_MAJOR,
-@@ -837,7 +851,7 @@
+@@ -837,7 +851,7 @@ mpc52xx_uart_probe(struct platform_devic
if (idx < 0 || idx >= MPC52xx_PSC_MAXNUM)
return -EINVAL;
return -ENODEV;
/* Init the port structure */
-@@ -848,13 +862,13 @@
+@@ -848,13 +862,13 @@ mpc52xx_uart_probe(struct platform_devic
port->fifosize = 512;
port->iotype = UPIO_MEM;
port->flags = UPF_BOOT_AUTOCONF |
if (res->flags & IORESOURCE_MEM)
port->mapbase = res->start;
else if (res->flags & IORESOURCE_IRQ)
-@@ -866,7 +880,7 @@
+@@ -866,7 +880,7 @@ mpc52xx_uart_probe(struct platform_devic
/* Add the port to the uart sub-system */
ret = uart_add_one_port(&mpc52xx_uart_driver, port);
if (!ret)
return ret;
}
-@@ -917,6 +931,7 @@
+@@ -917,6 +931,7 @@ static struct platform_driver mpc52xx_ua
.resume = mpc52xx_uart_resume,
#endif
.driver = {
.name = "mpc52xx-psc",
},
};
-@@ -946,10 +961,11 @@
+@@ -946,10 +961,11 @@ mpc52xx_uart_of_probe(struct of_device *
if (idx >= MPC52xx_PSC_MAXNUM)
return -EINVAL;
pr_debug("Found %s assigned to ttyPSC%x\n",
dev_dbg(&op->dev, "Could not find IPB bus frequency!\n");
return -EINVAL;
}
-@@ -962,22 +978,23 @@
+@@ -962,22 +978,23 @@ mpc52xx_uart_of_probe(struct of_device *
port->fifosize = 512;
port->iotype = UPIO_MEM;
port->flags = UPF_BOOT_AUTOCONF |
printk(KERN_ERR "Could not allocate resources for PSC\n");
return -EINVAL;
}
-@@ -985,7 +1002,7 @@
+@@ -985,7 +1002,7 @@ mpc52xx_uart_of_probe(struct of_device *
/* Add the port to the uart sub-system */
ret = uart_add_one_port(&mpc52xx_uart_driver, port);
if (!ret)
return ret;
}
-@@ -1048,6 +1065,7 @@
+@@ -1048,6 +1065,7 @@ mpc52xx_uart_of_assign(struct device_nod
if (idx < 0)
return; /* No free slot; abort */
/* If the slot is already occupied, then swap slots */
if (mpc52xx_uart_nodes[idx] && (free_idx != -1))
mpc52xx_uart_nodes[free_idx] = mpc52xx_uart_nodes[idx];
-@@ -1057,7 +1075,7 @@
+@@ -1057,7 +1075,7 @@ mpc52xx_uart_of_assign(struct device_nod
static void
mpc52xx_uart_of_enumerate(void)
{
struct device_node *np;
const unsigned int *devno;
int i;
-@@ -1071,7 +1089,7 @@
+@@ -1071,7 +1089,7 @@ mpc52xx_uart_of_enumerate(void)
/* Is a particular device number requested? */
devno = of_get_property(np, "port-number", NULL);
}
enum_done = 1;
-@@ -1079,15 +1097,13 @@
+@@ -1079,15 +1097,13 @@ mpc52xx_uart_of_enumerate(void)
for (i = 0; i < MPC52xx_PSC_MAXNUM; i++) {
if (mpc52xx_uart_nodes[i])
pr_debug("%s assigned to ttyPSC%x\n",
.match_table = mpc52xx_uart_of_match,
.probe = mpc52xx_uart_of_probe,
.remove = mpc52xx_uart_of_remove,
-@@ -1113,7 +1129,8 @@
+@@ -1113,7 +1129,8 @@ mpc52xx_uart_init(void)
printk(KERN_INFO "Serial: MPC52xx PSC UART driver\n");
return ret;
--- a/drivers/serial/uartlite.c
+++ b/drivers/serial/uartlite.c
-@@ -539,7 +539,7 @@
+@@ -539,7 +539,7 @@ static int __devinit ulite_assign(struct
*
* @dev: pointer to device structure
*/
{
struct uart_port *port = dev_get_drvdata(dev);
int rc = 0;
-@@ -572,14 +572,14 @@
+@@ -572,14 +572,14 @@ static int __devinit ulite_probe(struct
return ulite_assign(&pdev->dev, pdev->id, res->start, res2->start);
}
+
--- a/drivers/spi/mpc52xx_psc_spi.c
+++ b/drivers/spi/mpc52xx_psc_spi.c
-@@ -330,6 +330,7 @@
+@@ -330,6 +330,7 @@ static void mpc52xx_psc_spi_cleanup(stru
static int mpc52xx_psc_spi_port_config(int psc_id, struct mpc52xx_psc_spi *mps)
{
struct mpc52xx_cdm __iomem *cdm;
struct mpc52xx_gpio __iomem *gpio;
struct mpc52xx_psc __iomem *psc = mps->psc;
-@@ -338,8 +339,12 @@
+@@ -338,8 +339,12 @@ static int mpc52xx_psc_spi_port_config(i
int ret = 0;
#if defined(CONFIG_PPC_MERGE)
gpio = ioremap(MPC52xx_PA(MPC52xx_GPIO_OFFSET), MPC52xx_GPIO_SIZE);
--- a/fs/openpromfs/inode.c
+++ b/fs/openpromfs/inode.c
-@@ -131,7 +131,7 @@
+@@ -131,7 +131,7 @@ static void property_stop(struct seq_fil
/* Nothing to do */
}
.stop = property_stop,
--- a/include/asm-powerpc/8xx_immap.h
+++ b/include/asm-powerpc/8xx_immap.h
-@@ -123,7 +123,7 @@
+@@ -123,7 +123,7 @@ typedef struct mem_ctlr {
#define OR_G5LA 0x00000400 /* Output #GPL5 on #GPL_A5 */
#define OR_G5LS 0x00000200 /* Drive #GPL high on falling edge of...*/
#define OR_BI 0x00000100 /* Burst inhibit */
#define OR_SCY_2_CLK 0x00000020 /* 2 clock cycles wait states */
--- a/include/asm-powerpc/commproc.h
+++ b/include/asm-powerpc/commproc.h
-@@ -693,7 +693,7 @@
+@@ -693,7 +693,7 @@ typedef struct risc_timer_pram {
#define CICR_SCC_SCC3 ((uint)0x00200000) /* SCC3 @ SCCc */
#define CICR_SCB_SCC2 ((uint)0x00040000) /* SCC2 @ SCCb */
#define CICR_SCA_SCC1 ((uint)0x00000000) /* SCC1 @ SCCa */
#define CICR_SPS ((uint)0x00000001) /* SCC Spread */
--- a/include/asm-powerpc/cpm.h
+++ b/include/asm-powerpc/cpm.h
-@@ -10,5 +10,6 @@
+@@ -10,5 +10,6 @@ int cpm_muram_free(unsigned long offset)
unsigned long cpm_muram_alloc_fixed(unsigned long offset, unsigned long size);
void __iomem *cpm_muram_addr(unsigned long offset);
dma_addr_t cpm_muram_dma(void __iomem *addr);
#endif
--- a/include/asm-powerpc/cputable.h
+++ b/include/asm-powerpc/cputable.h
-@@ -57,6 +57,14 @@
+@@ -57,6 +57,14 @@ enum powerpc_pmc_type {
PPC_PMC_PA6T = 2,
};
/* NOTE WELL: Update identify_cpu() if fields are added or removed! */
struct cpu_spec {
/* CPU is matched via (PVR & pvr_mask) == pvr_value */
-@@ -97,6 +105,11 @@
+@@ -97,6 +105,11 @@ struct cpu_spec {
/* Name of processor class, for the ELF AT_PLATFORM entry */
char *platform;
typedef struct {
unsigned int base;
} dcr_host_t;
-@@ -55,20 +57,28 @@
+@@ -55,20 +57,28 @@ do { \
} while (0)
/* R/W of indirect DCRs make use of standard naming conventions for DCRs */
+#endif /* __DCR_REGS_H__ */
--- a/include/asm-powerpc/dma-mapping.h
+++ b/include/asm-powerpc/dma-mapping.h
-@@ -87,6 +87,9 @@
+@@ -87,6 +87,9 @@ static inline int dma_supported(struct d
return dma_ops->dma_supported(dev, mask);
}
static inline int dma_set_mask(struct device *dev, u64 dma_mask)
{
struct dma_mapping_ops *dma_ops = get_dma_ops(dev);
-@@ -186,8 +189,6 @@
+@@ -186,8 +189,6 @@ static inline void dma_unmap_sg(struct d
extern struct dma_mapping_ops dma_iommu_ops;
extern struct dma_mapping_ops dma_direct_ops;
#define dma_supported(dev, mask) (1)
--- a/include/asm-powerpc/firmware.h
+++ b/include/asm-powerpc/firmware.h
-@@ -64,7 +64,7 @@
+@@ -64,7 +64,7 @@ enum {
FW_FEATURE_PS3_POSSIBLE = FW_FEATURE_LPAR | FW_FEATURE_PS3_LV1,
FW_FEATURE_PS3_ALWAYS = FW_FEATURE_LPAR | FW_FEATURE_PS3_LV1,
FW_FEATURE_CELLEB_POSSIBLE = FW_FEATURE_LPAR | FW_FEATURE_BEAT,
FW_FEATURE_POSSIBLE =
--- a/include/asm-powerpc/immap_86xx.h
+++ b/include/asm-powerpc/immap_86xx.h
-@@ -89,14 +89,14 @@
+@@ -89,14 +89,14 @@ struct ccsr_guts {
* them.
*
* guts: Pointer to GUTS structure
clrsetbits_be32(&guts->dmacr, 3 << shift, device << shift);
}
-@@ -118,6 +118,27 @@
+@@ -118,6 +118,27 @@ static inline void guts_set_dmacr(struct
#define CCSR_GUTS_PMUXCR_DMA1_0 0x00000002
#define CCSR_GUTS_PMUXCR_DMA1_3 0x00000001
#define CCSR_GUTS_CLKDVDR_PXCKINV 0x10000000
--- a/include/asm-powerpc/immap_qe.h
+++ b/include/asm-powerpc/immap_qe.h
-@@ -393,9 +393,39 @@
+@@ -393,9 +393,39 @@ struct dbg {
u8 res2[0x48];
} __attribute__ ((packed));
struct qe_immap {
--- a/include/asm-powerpc/io.h
+++ b/include/asm-powerpc/io.h
-@@ -50,15 +50,16 @@
+@@ -50,15 +50,16 @@ extern int check_legacy_ioport(unsigned
#define PCI_DRAM_OFFSET pci_dram_offset
#else
#define _IO_BASE pci_io_base
#endif
--- a/include/asm-powerpc/iommu.h
+++ b/include/asm-powerpc/iommu.h
-@@ -69,10 +69,9 @@
+@@ -69,10 +69,9 @@ struct iommu_table {
};
struct scatterlist;
#define IPIC_SICFR 0x00 /* System Global Interrupt Configuration Register */
--- a/include/asm-powerpc/iseries/hv_lp_event.h
+++ b/include/asm-powerpc/iseries/hv_lp_event.h
-@@ -78,7 +78,7 @@
+@@ -78,7 +78,7 @@ extern int HvLpEvent_openPath(HvLpEvent_
/*
* Close an Lp Event Path for a type and partition
--- a/include/asm-powerpc/kexec.h
+++ b/include/asm-powerpc/kexec.h
-@@ -123,6 +123,9 @@
+@@ -123,6 +123,9 @@ struct pt_regs;
extern void default_machine_kexec(struct kimage *image);
extern int default_machine_kexec_prepare(struct kimage *image);
extern void default_machine_crash_shutdown(struct pt_regs *regs);
extern void crash_kexec_secondary(struct pt_regs *regs);
--- a/include/asm-powerpc/lmb.h
+++ b/include/asm-powerpc/lmb.h
-@@ -51,6 +51,7 @@
+@@ -51,6 +51,7 @@ extern unsigned long __init __lmb_alloc_
extern unsigned long __init lmb_phys_mem_size(void);
extern unsigned long __init lmb_end_of_DRAM(void);
extern void __init lmb_enforce_memory_limit(unsigned long memory_limit);
--- a/include/asm-powerpc/machdep.h
+++ b/include/asm-powerpc/machdep.h
-@@ -204,6 +204,13 @@
+@@ -204,6 +204,13 @@ struct machdep_calls {
/*
* optional PCI "hooks"
*/
/* Called after PPC generic resource fixup to perform
machine specific fixups */
-@@ -212,18 +219,9 @@
+@@ -212,18 +219,9 @@ struct machdep_calls {
/* Called for each PCI bus in the system when it's probed */
void (*pcibios_fixup_bus)(struct pci_bus *);
/* Called to shutdown machine specific hardware not already controlled
* by other drivers.
-@@ -253,6 +251,16 @@
+@@ -253,6 +251,16 @@ struct machdep_calls {
*/
void (*machine_kexec)(struct kimage *image);
#endif /* CONFIG_KEXEC */
};
extern void power4_idle(void);
-@@ -326,5 +334,31 @@
+@@ -326,5 +334,31 @@ static inline void log_error(char *buf,
ppc_md.log_error(buf, err_type, fatal);
}
#endif /* _ASM_POWERPC_MACHDEP_H */
--- a/include/asm-powerpc/mmu-hash64.h
+++ b/include/asm-powerpc/mmu-hash64.h
-@@ -80,7 +80,7 @@
+@@ -80,7 +80,7 @@ extern char initial_stab[];
#define HPTE_V_AVPN_SHIFT 7
#define HPTE_V_AVPN ASM_CONST(0x3fffffffffffff80)
#define HPTE_V_AVPN_VAL(x) (((x) & HPTE_V_AVPN) >> HPTE_V_AVPN_SHIFT)
#define HPTE_V_BOLTED ASM_CONST(0x0000000000000010)
#define HPTE_V_LOCK ASM_CONST(0x0000000000000008)
#define HPTE_V_LARGE ASM_CONST(0x0000000000000004)
-@@ -180,6 +180,7 @@
+@@ -180,6 +180,7 @@ extern int mmu_vmalloc_psize;
extern int mmu_io_psize;
extern int mmu_kernel_ssize;
extern int mmu_highuser_ssize;
/*
* If the processor supports 64k normal pages but not 64k cache
-@@ -277,6 +278,7 @@
+@@ -277,6 +278,7 @@ extern int hash_huge_page(struct mm_stru
extern int htab_bolt_mapping(unsigned long vstart, unsigned long vend,
unsigned long pstart, unsigned long mode,
int psize, int ssize);
extern void htab_initialize_secondary(void);
--- a/include/asm-powerpc/mpc52xx.h
+++ b/include/asm-powerpc/mpc52xx.h
-@@ -248,8 +248,6 @@
+@@ -248,8 +248,6 @@ struct mpc52xx_cdm {
#ifndef __ASSEMBLY__
extern unsigned int mpc52xx_find_ipb_freq(struct device_node *node);
extern void mpc5200_setup_xlb_arbiter(void);
extern void mpc52xx_declare_of_platform_devices(void);
-@@ -257,7 +255,12 @@
+@@ -257,7 +255,12 @@ extern void mpc52xx_declare_of_platform_
extern void mpc52xx_init_irq(void);
extern unsigned int mpc52xx_get_irq(void);
extern void mpc52xx_restart(char *cmd);
--- a/include/asm-powerpc/mpc52xx_psc.h
+++ b/include/asm-powerpc/mpc52xx_psc.h
-@@ -153,6 +153,9 @@
+@@ -153,6 +153,9 @@ struct mpc52xx_psc {
u8 reserved16[3];
u8 irfdr; /* PSC + 0x54 */
u8 reserved17[3];
/*
* Per-source registers
-@@ -183,6 +187,7 @@
+@@ -183,6 +187,7 @@ enum {
MPIC_IDX_CPU_WHOAMI,
MPIC_IDX_CPU_INTACK,
MPIC_IDX_CPU_EOI,
MPIC_IDX_IRQ_BASE,
MPIC_IDX_IRQ_STRIDE,
-@@ -344,6 +349,10 @@
+@@ -344,6 +349,10 @@ struct mpic
#define MPIC_USES_DCR 0x00000080
/* MPIC has 11-bit vector fields (or larger) */
#define MPIC_LARGE_VECTORS 0x00000100
/* MPIC HW modification ID */
#define MPIC_REGSET_MASK 0xf0000000
-@@ -447,10 +456,19 @@
+@@ -447,10 +456,19 @@ extern void mpic_send_ipi(unsigned int i
/* Send a message (IPI) to a given target (cpu number or MSG_*) */
void smp_mpic_message_pass(int target, int msg);
#define NVRW_CNT 0x20
#define NVRAM_HEADER_LEN 16 /* sizeof(struct nvram_header) */
#define NVRAM_BLOCK_LEN 16
-@@ -71,7 +73,16 @@
+@@ -71,7 +73,16 @@ extern int nvram_clear_error_log(void);
extern struct nvram_partition *nvram_find_partition(int sig, const char *name);
extern int pSeries_nvram_init(void);
/* Platform devices and busses creation */
extern struct of_device *of_platform_device_create(struct device_node *np,
-@@ -26,9 +32,11 @@
+@@ -26,9 +32,11 @@ extern struct of_device *of_platform_dev
#define OF_NO_DEEP_PROBE ((struct of_device_id *)-1)
extern int of_platform_bus_probe(struct device_node *root,
/*
* Structure of a PCI controller (host bridge)
-@@ -17,26 +44,41 @@
+@@ -17,26 +44,41 @@ struct pci_controller;
struct pci_controller {
struct pci_bus *bus;
char is_dynamic;
/*
* Used for variants of PCI indirect handling and possible quirks:
* SET_CFG_TYPE - used on 4xx or any PHB that does explicit type0/1
-@@ -51,21 +93,30 @@
+@@ -51,21 +93,30 @@ struct pci_controller {
* set.
* BIG_ENDIAN - cfg_addr is a big endian register
*/
static inline struct pci_controller *pci_bus_to_host(struct pci_bus *bus)
{
return bus->sysdata;
-@@ -81,18 +132,18 @@
+@@ -81,18 +132,18 @@ static inline int isa_vaddr_is_ioport(vo
/* These are used for config access before all the PCI probing
has been done. */
extern int early_find_capability(struct pci_controller *hose, int bus,
int dev_fn, int cap);
-@@ -101,87 +152,33 @@
+@@ -101,87 +152,33 @@ extern void setup_indirect_pci(struct pc
resource_size_t cfg_addr,
resource_size_t cfg_data, u32 flags);
extern void setup_grackle(struct pci_controller *hose);
u32 config_space[16]; /* saved PCI config space */
#endif
};
-@@ -189,7 +186,7 @@
+@@ -189,7 +186,7 @@ struct pci_dn {
/* Get the pointer to a device_node's pci_dn */
#define PCI_DN(dn) ((struct pci_dn *) (dn)->data)
/* Get a device_node from a pci_dev. This code must be fast except
* in the case where the sysdata is incorrect and needs to be fixed
-@@ -227,14 +224,14 @@
+@@ -227,14 +224,14 @@ static inline struct device_node *pci_bu
}
/** Find the bus corresponding to the indicated device node */
extern int pcibios_remove_root_bus(struct pci_controller *phb);
-@@ -270,20 +267,18 @@
+@@ -270,20 +267,18 @@ extern int pcibios_map_io_space(struct p
#define PHB_SET_NODE(PHB, NODE) ((PHB)->node = -1)
#endif
extern void pcibios_free_controller(struct pci_controller *phb);
#ifdef CONFIG_PCI
-@@ -298,9 +293,7 @@
+@@ -298,9 +293,7 @@ static inline int pcibios_vaddr_is_iopor
{
return 0;
}
+#endif /* _ASM_POWERPC_PCI_BRIDGE_H */
--- a/include/asm-powerpc/pci.h
+++ b/include/asm-powerpc/pci.h
-@@ -36,11 +36,10 @@
+@@ -36,11 +36,10 @@ struct pci_dev;
/*
* Set this to 1 if you want the kernel to re-assign all PCI
#define pcibios_scan_all_fns(a, b) 0
static inline void pcibios_set_master(struct pci_dev *dev)
-@@ -95,9 +94,6 @@
+@@ -95,9 +94,6 @@ static inline void pci_dma_burst_advice(
#define get_pci_dma_ops() NULL
#endif
#else /* 32-bit */
#ifdef CONFIG_PCI
-@@ -109,17 +105,14 @@
+@@ -109,17 +105,14 @@ static inline void pci_dma_burst_advice(
*strategy_parameter = ~0UL;
}
#endif
struct vm_area_struct;
/* Map a range of PCI memory or I/O space for a device into user space */
int pci_mmap_page_range(struct pci_dev *pdev, struct vm_area_struct *vma,
-@@ -199,13 +192,12 @@
+@@ -199,13 +192,12 @@ static inline struct resource *pcibios_s
return root;
}
extern struct pci_controller *init_phb_dynamic(struct device_node *dn);
extern struct pci_dev *of_create_pci_dev(struct device_node *node,
-@@ -229,5 +221,8 @@
+@@ -229,5 +221,8 @@ extern void pci_resource_to_user(const s
const struct resource *rsrc,
resource_size_t *start, resource_size_t *end);
#endif /* __ASM_POWERPC_PCI_H */
--- a/include/asm-powerpc/ppc-pci.h
+++ b/include/asm-powerpc/ppc-pci.h
-@@ -22,7 +22,6 @@
+@@ -22,7 +22,6 @@ extern void pci_setup_phb_io_dynamic(str
extern struct list_head hose_list;
extern void find_and_init_phbs(void);
-@@ -47,9 +46,6 @@
+@@ -47,9 +46,6 @@ extern void init_pci_config_tokens (void
extern unsigned long get_phb_buid (struct device_node *);
extern int rtas_setup_phb(struct pci_controller *phb);
/* ---- EEH internal-use-only related routines ---- */
--- a/include/asm-powerpc/prom.h
+++ b/include/asm-powerpc/prom.h
-@@ -202,6 +202,10 @@
+@@ -202,6 +202,10 @@ static inline unsigned long of_read_ulon
*/
extern u64 of_translate_address(struct device_node *np, const u32 *addr);
union ps3_firmware_version {
u64 raw;
-@@ -317,6 +318,7 @@
+@@ -317,6 +318,7 @@ enum ps3_match_id {
PS3_MATCH_ID_STOR_FLASH = 8,
PS3_MATCH_ID_SOUND = 9,
PS3_MATCH_ID_GRAPHICS = 10,
};
#define PS3_MODULE_ALIAS_EHCI "ps3:1"
-@@ -329,11 +331,13 @@
+@@ -329,11 +331,13 @@ enum ps3_match_id {
#define PS3_MODULE_ALIAS_STOR_FLASH "ps3:8"
#define PS3_MODULE_ALIAS_SOUND "ps3:9"
#define PS3_MODULE_ALIAS_GRAPHICS "ps3:10"
};
/**
-@@ -344,12 +348,17 @@
+@@ -344,12 +348,17 @@ struct ps3_system_bus_device {
enum ps3_match_id match_id;
enum ps3_system_bus_device_type dev_type;
/* struct iommu_table *iommu_table; -- waiting for BenH's cleanups */
struct device core;
-@@ -438,5 +447,66 @@
+@@ -438,5 +447,66 @@ struct ps3_prealloc {
extern struct ps3_prealloc ps3fb_videomemory;
extern struct ps3_prealloc ps3flash_bounce_buffer;
#endif
--- a/include/asm-powerpc/ptrace.h
+++ b/include/asm-powerpc/ptrace.h
-@@ -106,7 +106,8 @@
+@@ -106,7 +106,8 @@ extern int ptrace_put_reg(struct task_st
*/
#define FULL_REGS(regs) (((regs)->trap & 1) == 0)
#ifndef __powerpc64__
/* Export QE common operations */
extern void qe_reset(void);
extern int par_io_init(struct device_node *np);
-@@ -38,7 +84,8 @@
+@@ -38,7 +84,8 @@ extern int par_io_data_set(u8 port, u8 p
/* QE internal API */
int qe_issue_cmd(u32 cmd, u32 device, u8 mcn_protocol, u32 cmd_input);
int qe_get_snum(void);
void qe_put_snum(u8 snum);
unsigned long qe_muram_alloc(int size, int align);
-@@ -47,6 +94,58 @@
+@@ -47,6 +94,58 @@ unsigned long qe_muram_alloc_fixed(unsig
void qe_muram_dump(void);
void *qe_muram_addr(unsigned long offset);
/* Buffer descriptors */
struct qe_bd {
__be16 status;
-@@ -129,52 +228,6 @@
+@@ -129,52 +228,6 @@ enum comm_dir {
COMM_DIR_RX_AND_TX = 3
};
/* QE CMXUCR Registers.
* There are two UCCs represented in each of the four CMXUCR registers.
* These values are for the UCC in the LSBs
-@@ -328,6 +381,15 @@
+@@ -328,6 +381,15 @@ enum qe_clock {
#define QE_SDEBCR_BA_MASK 0x01FFFFFF
/*
* - Kernel side interface -
-@@ -564,13 +688,13 @@
+@@ -564,13 +688,13 @@ struct smu_user_cmd_hdr
__u8 cmd; /* SMU command byte */
__u8 pad[3]; /* padding */
struct device_node;
enum spu_utilization_state {
-@@ -145,7 +146,6 @@
+@@ -145,7 +146,6 @@ struct spu {
void (* ibox_callback)(struct spu *spu);
void (* stop_callback)(struct spu *spu);
void (* mfc_callback)(struct spu *spu);
char irq_c0[8];
char irq_c1[8];
-@@ -196,10 +196,11 @@
+@@ -196,10 +196,11 @@ struct cbe_spu_info {
extern struct cbe_spu_info cbe_spu_info[];
void spu_init_channels(struct spu *spu);
#ifdef CONFIG_KEXEC
void crash_register_spus(struct list_head *list);
#else
-@@ -210,6 +211,7 @@
+@@ -210,6 +211,7 @@ static inline void crash_register_spus(s
extern void spu_invalidate_slbs(struct spu *spu);
extern void spu_associate_mm(struct spu *spu, struct mm_struct *mm);
/* Calls from the memory management to the SPU */
struct mm_struct;
-@@ -279,6 +281,8 @@
+@@ -279,6 +281,8 @@ void spu_remove_sysdev_attr(struct sysde
int spu_add_sysdev_attr_group(struct attribute_group *attrs);
void spu_remove_sysdev_attr_group(struct attribute_group *attrs);
/*
* Notifier blocks:
-@@ -303,7 +307,7 @@
+@@ -303,7 +307,7 @@ extern void notify_spus_active(void);
extern void do_notify_spus_active(void);
/*
*/
union mfc_tag_size_class_cmd {
-@@ -524,8 +528,24 @@
+@@ -524,8 +528,24 @@ struct spu_priv1 {
#define CLASS2_ENABLE_SPU_STOP_INTR 0x2L
#define CLASS2_ENABLE_SPU_HALT_INTR 0x4L
#define CLASS2_ENABLE_SPU_DMA_TAG_GROUP_COMPLETE_INTR 0x8L
--- a/include/asm-powerpc/spu_csa.h
+++ b/include/asm-powerpc/spu_csa.h
-@@ -194,7 +194,7 @@
+@@ -194,7 +194,7 @@ struct spu_priv1_collapsed {
};
/*
*/
struct spu_priv2_collapsed {
u64 slb_index_W;
-@@ -254,20 +254,11 @@
+@@ -254,20 +254,11 @@ struct spu_state {
u64 spu_chnldata_RW[32];
u32 spu_mailbox_data[4];
u32 pu_mailbox_data[1];
/* access to priv1 registers */
-@@ -178,6 +179,8 @@
+@@ -178,6 +179,8 @@ struct spu_management_ops {
int (*enumerate_spus)(int (*fn)(void *data));
int (*create_spu)(struct spu *spu, void *data);
int (*destroy_spu)(struct spu *spu);
int (*init_affinity)(void);
};
-@@ -207,6 +210,18 @@
+@@ -207,6 +210,18 @@ spu_init_affinity (void)
return spu_management_ops->init_affinity();
}
* and only intended to be used by the platform setup code.
--- a/include/asm-powerpc/system.h
+++ b/include/asm-powerpc/system.h
-@@ -169,6 +169,8 @@
+@@ -169,6 +169,8 @@ extern int do_page_fault(struct pt_regs
extern void bad_page_fault(struct pt_regs *, unsigned long, int);
extern int die(const char *, struct pt_regs *, long);
extern void _exception(int, struct pt_regs *, int, unsigned long);
extern u32 booke_wdt_period;
--- a/include/asm-powerpc/udbg.h
+++ b/include/asm-powerpc/udbg.h
-@@ -48,6 +48,7 @@
+@@ -48,6 +48,7 @@ extern void __init udbg_init_rtas_consol
extern void __init udbg_init_debug_beat(void);
extern void __init udbg_init_btext(void);
extern void __init udbg_init_44x_as1(void);
#endif /* __KERNEL__ */
--- a/include/asm-ppc/8xx_immap.h
+++ b/include/asm-ppc/8xx_immap.h
-@@ -123,7 +123,7 @@
+@@ -123,7 +123,7 @@ typedef struct mem_ctlr {
#define OR_G5LA 0x00000400 /* Output #GPL5 on #GPL_A5 */
#define OR_G5LS 0x00000200 /* Drive #GPL high on falling edge of...*/
#define OR_BI 0x00000100 /* Burst inhibit */
#define OR_SCY_2_CLK 0x00000020 /* 2 clock cycles wait states */
--- a/include/asm-ppc/commproc.h
+++ b/include/asm-ppc/commproc.h
-@@ -681,7 +681,7 @@
+@@ -681,7 +681,7 @@ typedef struct risc_timer_pram {
#define CICR_SCC_SCC3 ((uint)0x00200000) /* SCC3 @ SCCc */
#define CICR_SCB_SCC2 ((uint)0x00040000) /* SCC2 @ SCCb */
#define CICR_SCA_SCC1 ((uint)0x00000000) /* SCC1 @ SCCa */
#define CICR_SPS ((uint)0x00000001) /* SCC Spread */
--- a/include/asm-ppc/mmu.h
+++ b/include/asm-ppc/mmu.h
-@@ -383,6 +383,12 @@
+@@ -383,6 +383,12 @@ typedef struct _P601_BAT {
#define BOOKE_PAGESZ_256GB 14
#define BOOKE_PAGESZ_1TB 15
*/
--- a/include/asm-ppc/mpc52xx_psc.h
+++ b/include/asm-ppc/mpc52xx_psc.h
-@@ -159,6 +159,9 @@
+@@ -159,6 +159,9 @@ struct mpc52xx_psc {
u8 reserved16[3];
u8 irfdr; /* PSC + 0x54 */
u8 reserved17[3];
#include <asm/prom.h>
-@@ -41,11 +42,20 @@
+@@ -41,11 +42,20 @@ extern struct device_node *of_find_compa
#define for_each_compatible_node(dn, type, compatible) \
for (dn = of_find_compatible_node(NULL, type, compatible); dn; \
dn = of_find_compatible_node(dn, type, compatible))
extern struct property *of_find_property(const struct device_node *np,
const char *name,
int *lenp);
-@@ -56,5 +66,7 @@
+@@ -56,5 +66,7 @@ extern const void *of_get_property(const
int *lenp);
extern int of_n_addr_cells(struct device_node *np);
extern int of_n_size_cells(struct device_node *np);
--- a/include/linux/pata_platform.h
+++ b/include/linux/pata_platform.h
-@@ -15,4 +15,13 @@
+@@ -15,4 +15,13 @@ struct pata_platform_info {
unsigned int irq_flags;
};
#endif /* __PHY_FIXED_H */
--- a/include/linux/pmu.h
+++ b/include/linux/pmu.h
-@@ -159,41 +159,7 @@
+@@ -159,41 +159,7 @@ extern void pmu_unlock(void);
extern int pmu_present(void);
extern int pmu_get_model(void);
--- 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);
-@@ -894,7 +895,7 @@
+@@ -894,7 +895,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);
-@@ -1306,3 +1307,5 @@
+@@ -1306,3 +1307,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
-@@ -773,7 +773,7 @@
+@@ -773,7 +773,7 @@ static int noinline init_post(void)
numa_default_policy();
if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
--- a/fs/jffs2/erase.c
+++ b/fs/jffs2/erase.c
-@@ -35,6 +35,8 @@
+@@ -35,6 +35,8 @@ static void jffs2_erase_block(struct jff
{
int ret;
uint32_t bad_offset;
#ifdef __ECOS
ret = jffs2_flash_erase(c, jeb);
if (!ret) {
-@@ -47,6 +49,11 @@
+@@ -47,6 +49,11 @@ static void jffs2_erase_block(struct jff
D1(printk(KERN_DEBUG "jffs2_erase_block(): erase block %#08x (range %#08x-%#08x)\n",
jeb->offset, jeb->offset, jeb->offset + c->sector_size));
#include <linux/types.h>
#ifdef __KERNEL__
-@@ -231,4 +235,6 @@
+@@ -231,4 +235,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
-@@ -90,6 +90,9 @@
+@@ -90,6 +90,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
-@@ -2358,13 +2358,13 @@
+@@ -2358,13 +2358,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;
-@@ -2429,13 +2429,13 @@
+@@ -2429,13 +2429,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
-@@ -433,6 +433,11 @@
+@@ -433,6 +433,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
-@@ -1501,23 +1501,20 @@
+@@ -1501,23 +1501,20 @@ static int prism2_txpower_hfa386x_to_dBm
val = 255;
tmp = val;
return (unsigned char) tmp;
}
-@@ -4077,3 +4074,35 @@
+@@ -4077,3 +4074,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/scripts/gen_initramfs_list.sh
+++ b/scripts/gen_initramfs_list.sh
-@@ -125,7 +125,7 @@
+@@ -125,7 +125,7 @@ parse() {
str="${ftype} ${name} ${location} ${str}"
;;
"nod")
local maj=`field 5 ${dev}`
local min=`field 6 ${dev}`
maj=${maj%,}
-@@ -135,7 +135,7 @@
+@@ -135,7 +135,7 @@ parse() {
str="${ftype} ${name} ${str} ${dev} ${maj} ${min}"
;;
"slink")
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
-@@ -100,6 +100,11 @@
+@@ -100,6 +100,11 @@ 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
--- a/drivers/w1/masters/Kconfig
+++ b/drivers/w1/masters/Kconfig
-@@ -42,5 +42,15 @@
+@@ -42,5 +42,15 @@ config W1_MASTER_DS1WM
in HP iPAQ devices like h5xxx, h2200, and ASIC3-based like
hx4700.
--- a/drivers/w1/masters/Makefile
+++ b/drivers/w1/masters/Makefile
-@@ -6,3 +6,4 @@
+@@ -6,3 +6,4 @@ obj-$(CONFIG_W1_MASTER_MATROX) += matro
obj-$(CONFIG_W1_MASTER_DS2490) += ds2490.o
obj-$(CONFIG_W1_MASTER_DS2482) += ds2482.o
obj-$(CONFIG_W1_MASTER_DS1WM) += ds1wm.o
---
--- 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
#
-@@ -266,7 +266,7 @@
+@@ -266,7 +266,7 @@ stork_egg ARCH_STORK_EGG STORK_EGG 24
wismo SA1100_WISMO WISMO 249
ezlinx ARCH_EZLINX EZLINX 250
at91rm9200 ARCH_AT91RM9200 AT91RM9200 251
neptune ARCH_NEPTUNE NEPTUNE 253
hackkit SA1100_HACKKIT HACKKIT 254
pxa_wins30 ARCH_PXA_WINS30 PXA_WINS30 255
-@@ -381,13 +381,13 @@
+@@ -381,13 +381,13 @@ ks8695p ARCH_KS8695P KS8695P 363
se4000 ARCH_SE4000 SE4000 364
quadriceps ARCH_QUADRICEPS QUADRICEPS 365
bronco ARCH_BRONCO BRONCO 366
rcube ARCH_RCUBE RCUBE 374
rea_olv ARCH_REA_OLV REA_OLV 375
pxa_iphone ARCH_PXA_IPHONE PXA_IPHONE 376
-@@ -661,7 +661,6 @@
+@@ -661,7 +661,6 @@ a9200ec MACH_A9200EC A9200EC 645
pnx0105 MACH_PNX0105 PNX0105 646
adcpoecpu MACH_ADCPOECPU ADCPOECPU 647
csb637 MACH_CSB637 CSB637 648
mb9200 MACH_MB9200 MB9200 650
kulun MACH_KULUN KULUN 651
snapper MACH_SNAPPER SNAPPER 652
-@@ -953,7 +952,6 @@
+@@ -953,7 +952,6 @@ fred_jack MACH_FRED_JACK FRED_JACK 93
ttg_color1 MACH_TTG_COLOR1 TTG_COLOR1 940
nxeb500hmi MACH_NXEB500HMI NXEB500HMI 941
netdcu8 MACH_NETDCU8 NETDCU8 942
ng_fvx538 MACH_NG_FVX538 NG_FVX538 944
ng_fvs338 MACH_NG_FVS338 NG_FVS338 945
pnx4103 MACH_PNX4103 PNX4103 946
-@@ -1148,7 +1146,7 @@
+@@ -1148,7 +1146,7 @@ aidx270 MACH_AIDX270 AIDX270 1134
rema MACH_REMA REMA 1135
bps1000 MACH_BPS1000 BPS1000 1136
hw90350 MACH_HW90350 HW90350 1137
bluetouch MACH_BLUETOUCH BLUETOUCH 1139
vstms MACH_VSTMS VSTMS 1140
xsbase270 MACH_XSBASE270 XSBASE270 1141
-@@ -1214,7 +1212,7 @@
+@@ -1214,7 +1212,7 @@ osstbox MACH_OSSTBOX OSSTBOX 1203
kbat9261 MACH_KBAT9261 KBAT9261 1204
ct1100 MACH_CT1100 CT1100 1205
akcppxa MACH_AKCPPXA AKCPPXA 1206
hitrack MACH_HITRACK HITRACK 1208
syme1 MACH_SYME1 SYME1 1209
syhl1 MACH_SYHL1 SYHL1 1210
-@@ -1299,7 +1297,7 @@
+@@ -1299,7 +1297,7 @@ xp179 MACH_XP179 XP179 1290
h4300 MACH_H4300 H4300 1291
goramo_mlr MACH_GORAMO_MLR GORAMO_MLR 1292
mxc30020evb MACH_MXC30020EVB MXC30020EVB 1293
adsportalplus MACH_ADSPORTALPLUS ADSPORTALPLUS 1295
mmsp2plus MACH_MMSP2PLUS MMSP2PLUS 1296
em_x270 MACH_EM_X270 EM_X270 1297
-@@ -1367,3 +1365,346 @@
+@@ -1367,3 +1365,346 @@ db88f5281 MACH_DB88F5281 DB88F5281 13
csb726 MACH_CSB726 CSB726 1359
tik27 MACH_TIK27 TIK27 1360
mx_uc7420 MACH_MX_UC7420 MX_UC7420 1361
--- a/drivers/mtd/chips/cfi_cmdset_0001.c
+++ b/drivers/mtd/chips/cfi_cmdset_0001.c
-@@ -277,7 +277,7 @@
+@@ -277,7 +277,7 @@ read_pri_intelext(struct map_info *map,
return NULL;
if (extp->MajorVersion != '1' ||
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -1367,6 +1367,71 @@
+@@ -1367,6 +1367,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
-@@ -533,6 +533,9 @@
+@@ -533,6 +533,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 *);
-@@ -298,12 +299,19 @@
+@@ -298,12 +299,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
-@@ -1008,7 +1008,7 @@
+@@ -1008,7 +1008,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;
-@@ -1017,7 +1017,7 @@
+@@ -1017,7 +1017,7 @@ static int __xipram xip_wait_for_operati
flstate_t oldstate, newstate;
start = xip_currtime();
if (usec == 0)
usec = 500000;
done = 0;
-@@ -1127,8 +1127,8 @@
+@@ -1127,8 +1127,8 @@ static int __xipram xip_wait_for_operati
#define XIP_INVAL_CACHED_RANGE(map, from, size) \
INVALIDATE_CACHED_RANGE(map, from, size)
#else
-@@ -1140,65 +1140,65 @@
+@@ -1140,65 +1140,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;
-@@ -1207,7 +1207,8 @@
+@@ -1207,7 +1207,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)
-@@ -1438,7 +1439,7 @@
+@@ -1438,7 +1439,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);
-@@ -1678,7 +1679,7 @@
+@@ -1678,7 +1679,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;
-@@ -1813,7 +1814,7 @@
+@@ -1813,7 +1814,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;
-@@ -298,15 +304,18 @@
+@@ -298,15 +304,18 @@ static struct block2mtd_dev *add_device(
dev->mtd.read = block2mtd_read;
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;
-@@ -211,6 +212,9 @@
+@@ -211,6 +212,9 @@ struct mtd_info {
struct module *owner;
int usecount;
struct mtd_partition {
char *name; /* identifier string */
u_int32_t size; /* partition size */
-@@ -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;
--- 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
-@@ -70,7 +70,18 @@
+@@ -70,7 +70,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
-@@ -735,6 +735,27 @@
+@@ -735,6 +735,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
-@@ -77,6 +77,7 @@
+@@ -77,6 +77,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
-@@ -208,6 +208,14 @@
+@@ -208,6 +208,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
-@@ -181,7 +181,12 @@
+@@ -181,7 +181,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
-@@ -47,6 +47,8 @@
+@@ -47,6 +47,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
-@@ -385,5 +385,122 @@
+@@ -385,5 +385,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
-@@ -46,6 +46,7 @@
+@@ -46,6 +46,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
-@@ -59,6 +60,18 @@
+@@ -59,6 +60,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/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
-@@ -143,6 +143,7 @@
+@@ -143,6 +143,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
-@@ -296,6 +296,10 @@
+@@ -296,6 +296,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
-@@ -1736,6 +1740,10 @@
+@@ -1736,6 +1740,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>
-@@ -1537,7 +1540,11 @@
+@@ -1537,7 +1540,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 @@
+@@ -129,6 +129,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
-@@ -55,6 +55,7 @@
+@@ -54,6 +54,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
-@@ -276,6 +276,14 @@
+@@ -276,6 +276,14 @@ config NETFILTER_XTABLES
# alphabetically ordered list of targets
config NETFILTER_XT_TARGET_CLASSIFY
tristate '"CLASSIFY" target support'
depends on NETFILTER_XTABLES
-@@ -305,6 +313,14 @@
+@@ -305,6 +313,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
-@@ -640,6 +656,14 @@
+@@ -640,6 +656,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
-@@ -50,6 +50,8 @@
+@@ -50,6 +50,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
-@@ -83,3 +85,4 @@
+@@ -83,3 +85,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
-@@ -1563,6 +1563,8 @@
+@@ -1563,6 +1563,8 @@ __u32 secure_tcp_sequence_number(__be32
return seq;
}
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
-@@ -437,6 +437,23 @@
+@@ -437,6 +437,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
-@@ -47,6 +47,7 @@
+@@ -47,6 +47,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
-@@ -145,7 +145,7 @@
+@@ -145,7 +145,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
-@@ -456,7 +456,7 @@
+@@ -456,7 +456,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
-@@ -258,6 +258,16 @@
+@@ -258,6 +258,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
-@@ -32,6 +32,7 @@
+@@ -32,6 +32,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
-@@ -288,6 +288,11 @@
+@@ -272,6 +272,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
-@@ -139,6 +139,37 @@
+@@ -139,6 +139,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
-@@ -593,6 +593,9 @@
+@@ -593,6 +593,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
-@@ -105,6 +105,17 @@
+@@ -105,6 +105,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
-@@ -142,9 +142,12 @@
+@@ -142,9 +142,12 @@ 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;
-@@ -545,6 +548,17 @@
+@@ -545,6 +548,17 @@ static int jffs2_scan_eraseblock (struct
return err;
}
--- 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
-@@ -1449,6 +1449,9 @@
+@@ -1449,6 +1449,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/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
-@@ -27,7 +27,8 @@
+@@ -27,7 +27,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 */
-@@ -40,6 +41,18 @@
+@@ -40,6 +41,18 @@ static const char *kobject_actions[] = {
[KOBJ_OFFLINE] = "offline",
};
/**
* kobject_action_type - translate action string to numeric type
*
-@@ -192,9 +205,7 @@
+@@ -192,9 +205,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
-@@ -181,4 +181,8 @@
+@@ -181,4 +181,8 @@ config LEDS_TRIGGER_HEARTBEAT
load average.
If unsure, say Y.
endif # NEW_LEDS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -26,3 +26,4 @@
+@@ -26,3 +26,4 @@ obj-$(CONFIG_LEDS_HP6XX) += leds-hp6xx.
obj-$(CONFIG_LEDS_TRIGGER_TIMER) += ledtrig-timer.o
obj-$(CONFIG_LEDS_TRIGGER_IDE_DISK) += ledtrig-ide-disk.o
obj-$(CONFIG_LEDS_TRIGGER_HEARTBEAT) += ledtrig-heartbeat.o
--- a/drivers/leds/Kconfig
+++ b/drivers/leds/Kconfig
-@@ -79,6 +79,12 @@
+@@ -79,6 +79,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
-@@ -14,6 +14,7 @@
+@@ -14,6 +14,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
-@@ -191,4 +191,11 @@
+@@ -191,4 +191,11 @@ config LEDS_TRIGGER_MORSE
tristate "LED Morse Trigger"
depends on LEDS_TRIGGERS
endif # NEW_LEDS
--- a/drivers/leds/Makefile
+++ b/drivers/leds/Makefile
-@@ -28,3 +28,4 @@
+@@ -28,3 +28,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_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
-@@ -955,6 +955,13 @@
+@@ -955,6 +955,13 @@ config CS5535_GPIO
If compiled as a module, it will be called cs5535_gpio.
depends on CPU_VR41XX
--- a/drivers/char/Makefile
+++ b/drivers/char/Makefile
-@@ -94,6 +94,7 @@
+@@ -94,6 +94,7 @@ obj-$(CONFIG_SCx200_GPIO) += scx200_gpio
obj-$(CONFIG_PC8736x_GPIO) += pc8736x_gpio.o
obj-$(CONFIG_NSC_GPIO) += nsc_gpio.o
obj-$(CONFIG_CS5535_GPIO) += cs5535_gpio.o
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -421,6 +421,7 @@
+@@ -421,6 +421,7 @@ config FS_POSIX_ACL
source "fs/xfs/Kconfig"
source "fs/gfs2/Kconfig"
tristate "OCFS2 file system support"
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -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/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);
* @phydev: the phy_device struct
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
-@@ -399,6 +399,7 @@
+@@ -399,6 +399,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
-@@ -132,6 +132,9 @@
+@@ -132,6 +132,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
-@@ -325,6 +325,11 @@
+@@ -325,6 +325,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
-@@ -53,6 +53,18 @@
+@@ -53,6 +53,18 @@ static void phy_device_release(struct de
phy_device_free(to_phy_device(dev));
}
struct phy_device* phy_device_create(struct mii_bus *bus, int addr, int phy_id)
{
struct phy_device *dev;
-@@ -78,6 +90,8 @@
+@@ -78,6 +90,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
-@@ -295,6 +295,17 @@
+@@ -295,6 +295,17 @@ struct phy_device {
void (*adjust_link)(struct net_device *dev);
void (*adjust_state)(struct net_device *dev);
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -595,6 +595,7 @@
+@@ -595,6 +595,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/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
-@@ -930,6 +930,8 @@
+@@ -930,6 +930,8 @@ and is between 256 and 4096 characters.
l2cr= [PPC]
--- a/Documentation/powerpc/booting-without-of.txt
+++ b/Documentation/powerpc/booting-without-of.txt
-@@ -59,12 +59,39 @@
+@@ -59,12 +59,39 @@ Table of Contents
p) Freescale Synchronous Serial Interface
q) USB EHCI controllers
Appendix A - Sample SOC node for MPC8540
-@@ -1269,10 +1296,6 @@
+@@ -1269,10 +1296,6 @@ platforms are moved over to use the flat
Recommended properties:
- phy-connection-type : a string naming the controller/PHY interface type,
i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id", "sgmii",
"tbi", or "rtbi". This property is only really needed if the connection
-@@ -1622,8 +1645,7 @@
+@@ -1622,8 +1645,7 @@ platforms are moved over to use the flat
- device_type : should be "network", "hldc", "uart", "transparent"
"bisync", "atm", or "serial".
- compatible : could be "ucc_geth" or "fsl_atm" and so on.
- reg : Offset and length of the register set for the device
- interrupts : <a b> where a is the interrupt number and b is a
field that represents an encoding of the sense and level
-@@ -1667,10 +1689,6 @@
+@@ -1667,10 +1689,6 @@ platforms are moved over to use the flat
- phy-handle : The phandle for the PHY connected to this controller.
Recommended properties:
- phy-connection-type : a string naming the controller/PHY interface type,
i.e., "mii" (default), "rmii", "gmii", "rgmii", "rgmii-id" (Internal
Delay), "rgmii-txid" (delay on TX only), "rgmii-rxid" (delay on RX only),
-@@ -1680,8 +1698,7 @@
+@@ -1680,8 +1698,7 @@ platforms are moved over to use the flat
ucc@2000 {
device_type = "network";
compatible = "ucc_geth";
reg = <2000 200>;
interrupts = <a0 0>;
interrupt-parent = <700>;
-@@ -1995,7 +2012,6 @@
+@@ -1995,7 +2012,6 @@ platforms are moved over to use the flat
interrupts = <20 8>;
interrupt-parent = <&PIC>;
phy-handle = <&PHY0>;
fsl,cpm-command = <12000300>;
};
-@@ -2217,12 +2233,6 @@
+@@ -2217,12 +2233,6 @@ platforms are moved over to use the flat
EMAC, that is the content of the current (bogus) "phy-port"
property.
Optional properties:
- phy-address : 1 cell, optional, MDIO address of the PHY. If absent,
a search is performed.
-@@ -2246,7 +2256,6 @@
+@@ -2246,7 +2256,6 @@ platforms are moved over to use the flat
Example:
EMAC0: ethernet@40000800 {
device_type = "network";
compatible = "ibm,emac-440gp", "ibm,emac";
interrupt-parent = <&UIC1>;
-@@ -2817,9 +2826,528 @@
+@@ -2817,9 +2826,528 @@ platforms are moved over to use the flat
};
===================================================
The device tree represents the busses and devices of a hardware
-@@ -2905,6 +3433,54 @@
+@@ -2905,6 +3433,54 @@ encodings listed below:
2 = high to low edge sensitive type enabled
3 = low to high edge sensitive type enabled
+ Currently I am parsing it manually.
--- a/arch/powerpc/Kconfig
+++ b/arch/powerpc/Kconfig
-@@ -49,6 +49,19 @@
+@@ -49,6 +49,19 @@ config IRQ_PER_CPU
bool
default y
config RWSEM_GENERIC_SPINLOCK
bool
-@@ -81,6 +94,11 @@
+@@ -81,6 +94,11 @@ config GENERIC_FIND_NEXT_BIT
bool
default y
config ARCH_NO_VIRT_TO_BUS
def_bool PPC64
-@@ -91,6 +109,7 @@
+@@ -91,6 +109,7 @@ config PPC
select HAVE_OPROFILE
select HAVE_KPROBES
select HAVE_KRETPROBES
config EARLY_PRINTK
bool
-@@ -210,15 +229,6 @@
+@@ -210,15 +229,6 @@ source kernel/Kconfig.hz
source kernel/Kconfig.preempt
source "fs/Kconfig.binfmt"
config HUGETLB_PAGE_SIZE_VARIABLE
bool
depends on HUGETLB_PAGE
-@@ -307,6 +317,16 @@
+@@ -307,6 +317,16 @@ config CRASH_DUMP
Don't change this unless you know what you are doing.
config PPCBUG_NVRAM
bool "Enable reading PPCBUG NVRAM during boot" if PPLUS || LOPEC
default y if PPC_PREP
-@@ -381,6 +401,26 @@
+@@ -381,6 +401,26 @@ config PPC_64K_PAGES
while on hardware with such support, it will be used to map
normal application pages.
config PPC_SUBPAGE_PROT
bool "Support setting protections for 4k subpages"
depends on PPC_64K_PAGES
-@@ -490,6 +530,14 @@
+@@ -490,6 +530,14 @@ config FSL_PCI
bool
select PPC_INDIRECT_PCI
# Yes MCA RS/6000s exist but Linux-PPC does not currently support any
config MCA
bool
-@@ -663,22 +711,6 @@
+@@ -663,22 +711,6 @@ config CONSISTENT_SIZE
hex "Size of consistent memory pool" if CONSISTENT_SIZE_BOOL
default "0x00200000" if NOT_COHERENT_CACHE
depends on ADVANCED_OPTIONS && 8xx
--- a/arch/powerpc/Kconfig.debug
+++ b/arch/powerpc/Kconfig.debug
-@@ -269,7 +269,7 @@
+@@ -269,7 +269,7 @@ config PPC_EARLY_DEBUG_CPM_ADDR
hex "CPM UART early debug transmit descriptor address"
depends on PPC_EARLY_DEBUG_CPM
default "0xfa202008" if PPC_EP88XC
This specifies the address of the transmit descriptor
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
-@@ -71,13 +71,11 @@
+@@ -71,13 +71,11 @@ endif
LDFLAGS_vmlinux := -Bstatic
CPP = $(CC) -E $(KBUILD_CFLAGS)
CHECKFLAGS += -m$(CONFIG_WORD_SIZE) -D__powerpc__ -D__powerpc$(CONFIG_WORD_SIZE)__
-@@ -164,7 +162,7 @@
+@@ -164,7 +162,7 @@ boot := arch/$(ARCH)/boot
$(BOOT_TARGETS): vmlinux
$(Q)$(MAKE) ARCH=ppc64 $(build)=$(boot) $(patsubst %,$(boot)/%,$@)
define archhelp
--- a/arch/powerpc/boot/Makefile
+++ b/arch/powerpc/boot/Makefile
-@@ -40,6 +40,7 @@
+@@ -40,6 +40,7 @@ $(obj)/ebony.o: BOOTCFLAGS += -mcpu=405
$(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405
$(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405
$(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
zlib := inffast.c inflate.c inftrees.c
-@@ -64,7 +65,8 @@
+@@ -64,7 +65,8 @@ src-plat := of.c cuboot-52xx.c cuboot-82
cuboot-bamboo.c cuboot-mpc7448hpc2.c cuboot-taishan.c \
fixed-head.S ep88xc.c ep405.c \
cuboot-katmai.c cuboot-rainier.c redboot-8xx.c ep8248e.c \
src-boot := $(src-wlib) $(src-plat) empty.c
src-boot := $(addprefix $(obj)/, $(src-boot))
-@@ -192,7 +194,7 @@
+@@ -192,7 +194,7 @@ image-$(CONFIG_PPC_CHRP) += zImage.chrp
image-$(CONFIG_PPC_EFIKA) += zImage.chrp
image-$(CONFIG_PPC_PMAC) += zImage.pmac
image-$(CONFIG_PPC_HOLLY) += zImage.holly
image-$(CONFIG_PPC_ISERIES) += zImage.iseries
image-$(CONFIG_DEFAULT_UIMAGE) += uImage
-@@ -216,6 +218,7 @@
+@@ -216,6 +218,7 @@ image-$(CONFIG_RAINIER) += cuImage.rai
image-$(CONFIG_TAISHAN) += cuImage.taishan
image-$(CONFIG_KATMAI) += cuImage.katmai
image-$(CONFIG_WARP) += cuImage.warp
# Board ports in arch/powerpc/platform/8xx/Kconfig
image-$(CONFIG_PPC_MPC86XADS) += cuImage.mpc866ads
-@@ -255,6 +258,7 @@
+@@ -255,6 +258,7 @@ image-$(CONFIG_TQM8555) += cuImage.tqm
image-$(CONFIG_TQM8560) += cuImage.tqm8560
image-$(CONFIG_SBC8548) += cuImage.sbc8548
image-$(CONFIG_SBC8560) += cuImage.sbc8560
# Board ports in arch/powerpc/platform/embedded6xx/Kconfig
image-$(CONFIG_STORCENTER) += cuImage.storcenter
-@@ -285,11 +289,11 @@
+@@ -285,11 +289,11 @@ $(obj)/zImage.%: vmlinux $(wrapperbits)
$(call if_changed,wrap,$*)
# dtbImage% - a dtbImage is a zImage with an embedded device tree blob
# This cannot be in the root of $(src) as the zImage rule always adds a $(obj)
# prefix
-@@ -302,14 +306,24 @@
+@@ -302,14 +306,24 @@ $(obj)/zImage.iseries: vmlinux
$(obj)/uImage: vmlinux $(wrapperbits)
$(call if_changed,wrap,uboot)
# If there isn't a platform selected then just strip the vmlinux.
ifeq (,$(image-y))
-@@ -326,7 +340,7 @@
+@@ -326,7 +340,7 @@ install: $(CONFIGURE) $(addprefix $(obj)
# anything not in $(targets)
clean-files += $(image-) $(initrd-) zImage zImage.initrd cuImage.* treeImage.* \
clean-kernel := vmlinux.strip vmlinux.bin
--- a/arch/powerpc/boot/bamboo.c
+++ b/arch/powerpc/boot/bamboo.c
-@@ -33,7 +33,8 @@
+@@ -33,7 +33,8 @@ static void bamboo_fixups(void)
ibm440ep_fixup_clocks(sysclk, 11059200, 25000000);
ibm4xx_sdram_fixup_memsize();
ibm4xx_quiesce_eth((u32 *)0xef600e00, (u32 *)0xef600f00);
struct cpm_scc {
u32 gsmrl;
-@@ -42,6 +43,22 @@
+@@ -42,6 +43,22 @@ struct cpm_param {
u16 tbase;
u8 rfcr;
u8 tfcr;
};
struct cpm_bd {
-@@ -54,10 +71,10 @@
+@@ -54,10 +71,10 @@ static void *cpcr;
static struct cpm_param *param;
static struct cpm_smc *smc;
static struct cpm_scc *scc;
static void (*do_cmd)(int op);
static void (*enable_port)(void);
-@@ -119,20 +136,25 @@
+@@ -119,20 +136,25 @@ static int cpm_serial_open(void)
out_8(¶m->rfcr, 0x10);
out_8(¶m->tfcr, 0x10);
do_cmd(CPM_CMD_INIT_RX_TX);
-@@ -175,10 +197,12 @@
+@@ -175,10 +197,12 @@ static unsigned char cpm_serial_getc(voi
int cpm_console_init(void *devp, struct serial_console_data *scdp)
{
if (dt_is_compatible(devp, "fsl,cpm1-smc-uart")) {
is_smc = 1;
-@@ -202,63 +226,64 @@
+@@ -202,63 +226,64 @@ int cpm_console_init(void *devp, struct
else
do_cmd = cpm1_cmd;
scdp->putc = cpm_serial_putc;
--- a/arch/powerpc/boot/cuboot-pq2.c
+++ b/arch/powerpc/boot/cuboot-pq2.c
-@@ -128,7 +128,7 @@
+@@ -128,7 +128,7 @@ static void fixup_pci(void)
u8 *soc_regs;
int i, len;
void *node, *parent_node;
node = finddevice("/pci");
if (!node || !dt_is_compatible(node, "fsl,pq2-pci"))
-@@ -141,7 +141,7 @@
+@@ -141,7 +141,7 @@ static void fixup_pci(void)
soc_regs = (u8 *)fsl_get_immr();
if (!soc_regs)
dt_get_reg_format(node, &naddr, &nsize);
if (naddr != 3 || nsize != 2)
-@@ -153,7 +153,7 @@
+@@ -153,7 +153,7 @@ static void fixup_pci(void)
dt_get_reg_format(parent_node, &naddr, &nsize);
if (naddr != 1 || nsize != 1)
len = getprop(node, "ranges", pci_ranges_buf,
sizeof(pci_ranges_buf));
-@@ -170,14 +170,20 @@
+@@ -170,14 +170,20 @@ static void fixup_pci(void)
}
if (!mem || !mmio || !io)
out_be32(&pci_regs[1][0], mem_base->phys_addr | 1);
out_be32(&pci_regs[2][0], ~(mem->size[1] + mmio->size[1] - 1));
-@@ -201,8 +207,9 @@
+@@ -201,8 +207,9 @@ static void fixup_pci(void)
out_le32(&pci_regs[0][58], 0);
out_le32(&pci_regs[0][60], 0);
/* If PCI is disabled, drive RST high to enable. */
if (!(in_le32(&pci_regs[0][32]) & 1)) {
-@@ -228,7 +235,11 @@
+@@ -228,7 +235,11 @@ static void fixup_pci(void)
return;
err:
static void pq2_platform_fixups(void)
--- a/arch/powerpc/boot/cuboot-rainier.c
+++ b/arch/powerpc/boot/cuboot-rainier.c
-@@ -42,7 +42,8 @@
+@@ -42,7 +42,8 @@ static void rainier_fixups(void)
ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
ibm4xx_denali_fixup_memsize();
void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
--- a/arch/powerpc/boot/cuboot-sequoia.c
+++ b/arch/powerpc/boot/cuboot-sequoia.c
-@@ -42,7 +42,8 @@
+@@ -42,7 +42,8 @@ static void sequoia_fixups(void)
ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
ibm4xx_denali_fixup_memsize();
void platform_init(unsigned long r3, unsigned long r4, unsigned long r5,
--- a/arch/powerpc/boot/cuboot-taishan.c
+++ b/arch/powerpc/boot/cuboot-taishan.c
-@@ -40,7 +40,8 @@
+@@ -40,7 +40,8 @@ static void taishan_fixups(void)
ibm4xx_sdram_fixup_memsize();
}
--- a/arch/powerpc/boot/cuboot-warp.c
+++ b/arch/powerpc/boot/cuboot-warp.c
-@@ -24,7 +24,7 @@
+@@ -24,7 +24,7 @@ static void warp_fixups(void)
ibm440ep_fixup_clocks(sysclk, 11059200, 50000000);
ibm4xx_sdram_fixup_memsize();
ibm4xx_fixup_ebc_ranges("/plb/opb/ebc");
+}
--- a/arch/powerpc/boot/devtree.c
+++ b/arch/powerpc/boot/devtree.c
-@@ -350,3 +350,23 @@
+@@ -350,3 +350,23 @@ int dt_is_compatible(void *node, const c
return 0;
}
*
* This file is licensed under
* the terms of the GNU General Public License version 2. This program
-@@ -17,6 +18,8 @@
+@@ -17,6 +18,8 @@ XXXX add flash parts, rtc, ??
*/
/ {
model = "KuroboxHD";
compatible = "linkstation";
-@@ -35,19 +38,19 @@
+@@ -35,19 +38,19 @@ XXXX add flash parts, rtc, ??
PowerPC,603e { /* Really 8241 */
device_type = "cpu";
};
soc10x { /* AFAICT need to make soc for 8245's uarts to be defined */
-@@ -56,26 +59,26 @@
+@@ -56,26 +59,26 @@ XXXX add flash parts, rtc, ??
device_type = "soc";
compatible = "mpc10x";
store-gathering = <0>; /* 0 == off, !0 == on */
};
};
-@@ -83,9 +86,9 @@
+@@ -83,9 +86,9 @@ XXXX add flash parts, rtc, ??
cell-index = <0>;
device_type = "serial";
compatible = "ns16550";
interrupts = <9 0>;
interrupt-parent = <&mpic>;
};
-@@ -94,10 +97,10 @@
+@@ -94,10 +97,10 @@ XXXX add flash parts, rtc, ??
cell-index = <1>;
device_type = "serial";
compatible = "ns16550";
interrupt-parent = <&mpic>;
};
-@@ -107,7 +110,7 @@
+@@ -107,7 +110,7 @@ XXXX add flash parts, rtc, ??
device_type = "open-pic";
compatible = "chrp,open-pic";
interrupt-controller;
};
pci0: pci@fec00000 {
-@@ -116,29 +119,29 @@
+@@ -116,29 +119,29 @@ XXXX add flash parts, rtc, ??
#interrupt-cells = <1>;
device_type = "pci";
compatible = "mpc10x-pci";
*
* This file is licensed under
* the terms of the GNU General Public License version 2. This program
-@@ -17,6 +18,8 @@
+@@ -17,6 +18,8 @@ XXXX add flash parts, rtc, ??
*/
/ {
model = "KuroboxHG";
compatible = "linkstation";
-@@ -35,19 +38,19 @@
+@@ -35,19 +38,19 @@ XXXX add flash parts, rtc, ??
PowerPC,603e { /* Really 8241 */
device_type = "cpu";
};
soc10x { /* AFAICT need to make soc for 8245's uarts to be defined */
-@@ -56,26 +59,26 @@
+@@ -56,26 +59,26 @@ XXXX add flash parts, rtc, ??
device_type = "soc";
compatible = "mpc10x";
store-gathering = <0>; /* 0 == off, !0 == on */
};
};
-@@ -83,9 +86,9 @@
+@@ -83,9 +86,9 @@ XXXX add flash parts, rtc, ??
cell-index = <0>;
device_type = "serial";
compatible = "ns16550";
interrupts = <9 0>;
interrupt-parent = <&mpic>;
};
-@@ -94,10 +97,10 @@
+@@ -94,10 +97,10 @@ XXXX add flash parts, rtc, ??
cell-index = <1>;
device_type = "serial";
compatible = "ns16550";
interrupt-parent = <&mpic>;
};
-@@ -107,7 +110,7 @@
+@@ -107,7 +110,7 @@ XXXX add flash parts, rtc, ??
device_type = "open-pic";
compatible = "chrp,open-pic";
interrupt-controller;
};
pci0: pci@fec00000 {
-@@ -116,29 +119,29 @@
+@@ -116,29 +119,29 @@ XXXX add flash parts, rtc, ??
#interrupt-cells = <1>;
device_type = "pci";
compatible = "mpc10x-pci";
+};
--- a/arch/powerpc/boot/ebony.c
+++ b/arch/powerpc/boot/ebony.c
-@@ -75,7 +75,8 @@
+@@ -75,7 +75,8 @@ static void ebony_fixups(void)
ibm440gp_fixup_clocks(sysclk, 6 * 1843200);
ibm4xx_sdram_fixup_memsize();
exit(); \
--- a/arch/powerpc/boot/mpc52xx-psc.c
+++ b/arch/powerpc/boot/mpc52xx-psc.c
-@@ -51,14 +51,9 @@
+@@ -51,14 +51,9 @@ static unsigned char psc_getc(void)
int mpc5200_psc_console_init(void *devp, struct serial_console_data *scdp)
{
scdp->putc = psc_putc;
--- a/arch/powerpc/boot/mpsc.c
+++ b/arch/powerpc/boot/mpsc.c
-@@ -141,7 +141,7 @@
+@@ -141,7 +141,7 @@ int mpsc_console_init(void *devp, struct
if (mpscintr_base == NULL)
goto err_out;
reg_set = (int)v;
--- a/arch/powerpc/boot/mv64x60.c
+++ b/arch/powerpc/boot/mv64x60.c
-@@ -535,7 +535,7 @@
+@@ -535,7 +535,7 @@ u8 *mv64x60_get_bridge_pbase(void)
u32 v[2];
void *devp;
if (devp == NULL)
goto err_out;
if (getprop(devp, "reg", v, sizeof(v)) != sizeof(v))
-@@ -553,7 +553,7 @@
+@@ -553,7 +553,7 @@ u8 *mv64x60_get_bridge_base(void)
u32 v;
void *devp;
if (getprop(devp, "virtual-reg", &v, sizeof(v)) != sizeof(v))
--- a/arch/powerpc/boot/mv64x60_i2c.c
+++ b/arch/powerpc/boot/mv64x60_i2c.c
-@@ -185,7 +185,7 @@
+@@ -185,7 +185,7 @@ int mv64x60_i2c_open(void)
u32 v;
void *devp;
if (getprop(devp, "virtual-reg", &v, sizeof(v)) != sizeof(v))
--- a/arch/powerpc/boot/ns16550.c
+++ b/arch/powerpc/boot/ns16550.c
-@@ -55,15 +55,9 @@
+@@ -55,15 +55,9 @@ static u8 ns16550_tstc(void)
int ns16550_console_init(void *devp, struct serial_console_data *scdp)
{
int n;
if (n != sizeof(reg_shift))
--- a/arch/powerpc/boot/ops.h
+++ b/arch/powerpc/boot/ops.h
-@@ -95,6 +95,7 @@
+@@ -95,6 +95,7 @@ int dt_xlate_reg(void *node, int res, un
int dt_xlate_addr(void *node, u32 *buf, int buflen, unsigned long *xlated_addr);
int dt_is_compatible(void *node, const char *compat);
void dt_get_reg_format(void *node, u32 *naddr, u32 *nsize);
{
--- a/arch/powerpc/boot/prpmc2800.c
+++ b/arch/powerpc/boot/prpmc2800.c
-@@ -344,20 +344,20 @@
+@@ -344,20 +344,20 @@ static void prpmc2800_bridge_setup(u32 m
acc_bits);
/* Get the cpu -> pci i/o & mem mappings from the device tree */
enables = in_le32((u32 *)(bridge_base + MV64x60_CPU_BAR_ENABLE));
enables |= 0x0007fe00; /* Disable all cpu->pci windows */
-@@ -429,9 +429,9 @@
+@@ -429,9 +429,9 @@ static void prpmc2800_fixups(void)
setprop(devp, "model", model, l);
/* Set /cpus/PowerPC,7447/clock-frequency */
v[0] = bip->core_speed;
setprop(devp, "clock-frequency", &v[0], sizeof(v[0]));
-@@ -443,16 +443,17 @@
+@@ -443,16 +443,17 @@ static void prpmc2800_fixups(void)
v[1] = bip->mem_size;
setprop(devp, "reg", v, sizeof(v));
*
* The PS3 has a single processor with two threads.
*/
-@@ -47,8 +48,6 @@
+@@ -47,8 +48,6 @@ __system_reset_overlay:
mfspr r3, 0x88
cntlzw. r3, r3
beq 1f
/* Secondary goes to __secondary_hold in kernel. */
-@@ -57,8 +56,14 @@
+@@ -57,8 +56,14 @@ __system_reset_overlay:
mtctr r4
bctr
or 31, 31, 31 /* db16cyc */
or 31, 31, 31 /* db16cyc */
-@@ -67,16 +72,18 @@
+@@ -67,16 +72,18 @@ __system_reset_overlay:
mtctr r4
bctr
u64 in_4, u64 in_5, u64 *out_1, u64 *out_2);
#ifdef DEBUG
-@@ -46,6 +46,7 @@
+@@ -46,6 +46,7 @@ BSS_STACK(4096);
* edit the command line passed to vmlinux (by setting /chosen/bootargs).
* The buffer is put in it's own section so that tools may locate it easier.
*/
static char cmdline[COMMAND_LINE_SIZE]
__attribute__((__section__("__builtin_cmdline")));
-@@ -75,7 +76,7 @@
+@@ -75,7 +76,7 @@ static void ps3_exit(void)
static int ps3_repository_read_rm_size(u64 *rm_size)
{
u64 lpar_id;
u64 ppe_id;
u64 v2;
-@@ -114,16 +115,17 @@
+@@ -114,16 +115,17 @@ void ps3_copy_vectors(void)
{
extern char __system_reset_kernel[];
console_ops.write = ps3_console_write;
platform_ops.exit = ps3_exit;
-@@ -151,6 +153,11 @@
+@@ -151,6 +153,11 @@ void platform_init(void)
printf(" flat tree at 0x%lx\n\r", ft_addr);
ps3_exit();
--- a/arch/powerpc/boot/serial.c
+++ b/arch/powerpc/boot/serial.c
-@@ -119,7 +119,7 @@
+@@ -119,7 +119,7 @@ int serial_console_init(void)
if (dt_is_compatible(devp, "ns16550"))
rc = ns16550_console_init(devp, &serial_cd);
+}
--- a/arch/powerpc/boot/treeboot-walnut.c
+++ b/arch/powerpc/boot/treeboot-walnut.c
-@@ -68,7 +68,7 @@
+@@ -68,7 +68,7 @@ static void walnut_fixups(void)
ibm4xx_quiesce_eth((u32 *)0xef600800, NULL);
ibm4xx_fixup_ebc_ranges("/plb/ebc");
walnut_flashsel_fixup();
+2: b _zimage_start_lib
--- a/arch/powerpc/boot/wrapper
+++ b/arch/powerpc/boot/wrapper
-@@ -174,7 +174,7 @@
+@@ -174,7 +174,7 @@ cuboot*)
*-mpc83*)
platformo=$object/cuboot-83xx.o
;;
platformo=$object/cuboot-85xx-cpm2.o
;;
*-mpc85*|*-tqm8540|*-sbc85*)
-@@ -199,6 +199,10 @@
+@@ -199,6 +199,10 @@ adder875-redboot)
platformo="$object/fixed-head.o $object/redboot-8xx.o"
binary=y
;;
esac
vmz="$tmpdir/`basename \"$kernel\"`.$ext"
-@@ -226,10 +230,13 @@
+@@ -226,10 +230,13 @@ if [ -n "$version" ]; then
uboot_version="-n Linux-$version"
fi
$uboot_version -d "$vmz" "$ofile"
if [ -z "$cacheit" ]; then
rm -f "$vmz"
-@@ -298,15 +305,16 @@
+@@ -298,15 +305,16 @@ treeboot*)
exit 0
;;
ps3)
system_reset_overlay=0x`${CROSS}nm "$ofile" \
| grep ' __system_reset_overlay$' \
-@@ -317,7 +325,7 @@
+@@ -317,7 +325,7 @@ ps3)
| cut -d' ' -f1`
system_reset_kernel=`printf "%d" $system_reset_kernel`
overlay_dest="256"
#
# CONFIG_PPC64 is not set
-@@ -74,8 +74,6 @@
+@@ -74,8 +74,6 @@ CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=15
# CONFIG_CGROUPS is not set
# CONFIG_GROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
-@@ -243,7 +241,7 @@
+@@ -243,7 +241,7 @@ CONFIG_PCI_SYSCALL=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set
-@@ -1328,6 +1326,7 @@
+@@ -1328,6 +1326,7 @@ CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
#
CONFIG_PPC64=y
-@@ -77,8 +77,6 @@
+@@ -77,8 +77,6 @@ CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_CGROUPS is not set
# CONFIG_GROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
-@@ -276,7 +274,7 @@
+@@ -276,7 +274,7 @@ CONFIG_PCI_SYSCALL=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set
-@@ -1596,6 +1594,7 @@
+@@ -1596,6 +1594,7 @@ CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
#
CONFIG_PPC64=y
-@@ -77,8 +77,6 @@
+@@ -77,8 +77,6 @@ CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=17
# CONFIG_CGROUPS is not set
# CONFIG_GROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
-@@ -261,7 +259,7 @@
+@@ -261,7 +259,7 @@ CONFIG_PCI_SYSCALL=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set
-@@ -1065,6 +1063,7 @@
+@@ -1065,6 +1063,7 @@ CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
-# CONFIG_PPC_CLOCK is not set
--- a/arch/powerpc/configs/maple_defconfig
+++ b/arch/powerpc/configs/maple_defconfig
-@@ -333,7 +333,7 @@
+@@ -333,7 +333,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug"
CONFIG_STANDALONE=y
CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
-@@ -374,6 +374,7 @@
+@@ -374,6 +374,7 @@ CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDECD=y
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
CONFIG_IDE_TASK_IOCTL=y
CONFIG_IDE_PROC_FS=y
-@@ -427,10 +428,129 @@
+@@ -427,10 +428,129 @@ CONFIG_IDE_ARCH_OBSOLETE_INIT=y
# SCSI device support
#
# CONFIG_RAID_ATTRS is not set
# CONFIG_MD is not set
# CONFIG_FUSION is not set
-@@ -536,6 +656,7 @@
+@@ -536,6 +656,7 @@ CONFIG_USB_PEGASUS=y
# CONFIG_HIPPI is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
# CONFIG_SHAPER is not set
# CONFIG_NETCONSOLE is not set
# CONFIG_NETPOLL is not set
-@@ -783,12 +904,14 @@
+@@ -783,12 +904,14 @@ CONFIG_USB_UHCI_HCD=y
#
# may also be needed; see USB_STORAGE Help for more information
#
#
# CONFIG_PPC64 is not set
-@@ -201,6 +201,7 @@
+@@ -201,6 +201,7 @@ CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT is not set
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_MATH_EMULATION=y
# CONFIG_IOMMU_HELPER is not set
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
-@@ -353,7 +354,90 @@
+@@ -353,7 +354,90 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
# CONFIG_FW_LOADER is not set
# CONFIG_SYS_HYPERVISOR is not set
# CONFIG_CONNECTOR is not set
CONFIG_OF_DEVICE=y
# CONFIG_PARPORT is not set
CONFIG_BLK_DEV=y
-@@ -362,6 +446,7 @@
+@@ -362,6 +446,7 @@ CONFIG_BLK_DEV=y
CONFIG_BLK_DEV_LOOP=y
# CONFIG_BLK_DEV_CRYPTOLOOP is not set
# CONFIG_BLK_DEV_NBD is not set
CONFIG_BLK_DEV_RAM=y
CONFIG_BLK_DEV_RAM_COUNT=16
CONFIG_BLK_DEV_RAM_SIZE=32768
-@@ -469,6 +554,15 @@
+@@ -469,6 +554,15 @@ CONFIG_NETDEV_10000=y
#
# CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set
# CONFIG_WAN is not set
# CONFIG_PPP is not set
# CONFIG_SLIP is not set
-@@ -563,6 +657,7 @@
+@@ -563,6 +657,7 @@ CONFIG_I2C_MPC=y
# CONFIG_I2C_SIMTEC is not set
# CONFIG_I2C_TAOS_EVM is not set
# CONFIG_I2C_STUB is not set
#
# Miscellaneous I2C Chip support
-@@ -648,6 +743,11 @@
+@@ -648,6 +743,11 @@ CONFIG_WATCHDOG=y
CONFIG_83xx_WDT=y
#
# Sonics Silicon Backplane
#
CONFIG_SSB_POSSIBLE=y
-@@ -664,6 +764,7 @@
+@@ -664,6 +764,7 @@ CONFIG_SSB_POSSIBLE=y
# CONFIG_VIDEO_DEV is not set
# CONFIG_DVB_CORE is not set
CONFIG_DAB=y
#
# Graphics support
-@@ -686,6 +787,14 @@
+@@ -686,6 +787,14 @@ CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HID_DEBUG is not set
# CONFIG_HIDRAW is not set
CONFIG_USB_SUPPORT=y
CONFIG_USB_ARCH_HAS_HCD=y
# CONFIG_USB_ARCH_HAS_OHCI is not set
-@@ -715,8 +824,55 @@
+@@ -715,8 +824,55 @@ CONFIG_USB_EHCI_HCD_PPC_OF=y
# CONFIG_USB_R8A66597_HCD is not set
#
# CONFIG_USB_GADGET is not set
# CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set
-@@ -792,6 +948,7 @@
+@@ -792,6 +948,7 @@ CONFIG_TMPFS=y
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set
# CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set
-@@ -862,6 +1019,7 @@
+@@ -862,6 +1019,7 @@ CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
#
# CONFIG_PPC64 is not set
-@@ -77,8 +77,6 @@
+@@ -77,8 +77,6 @@ CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
# CONFIG_GROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set
-@@ -272,7 +270,7 @@
+@@ -272,7 +270,7 @@ CONFIG_PCI_SYSCALL=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set
# CONFIG_PCI_DEBUG is not set
CONFIG_PCCARD=m
# CONFIG_PCMCIA_DEBUG is not set
-@@ -1895,6 +1893,7 @@
+@@ -1895,6 +1893,7 @@ CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
#
# CONFIG_PPC64 is not set
-@@ -79,6 +79,7 @@
+@@ -79,6 +79,7 @@ CONFIG_FAIR_GROUP_SCHED=y
CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set
CONFIG_SYSFS_DEPRECATED=y
# CONFIG_RELAY is not set
# CONFIG_NAMESPACES is not set
CONFIG_BLK_DEV_INITRD=y
-@@ -113,6 +114,7 @@
+@@ -113,6 +114,7 @@ CONFIG_SLUB=y
CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set
CONFIG_HAVE_KPROBES=y
CONFIG_PROC_PAGE_MONITOR=y
CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y
-@@ -143,7 +145,6 @@
+@@ -143,7 +145,6 @@ CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_CLASSIC_RCU=y
CONFIG_PPC4xx_PCI_EXPRESS=y
#
-@@ -161,12 +162,15 @@
+@@ -161,12 +162,15 @@ CONFIG_TAISHAN=y
CONFIG_KATMAI=y
CONFIG_RAINIER=y
CONFIG_WARP=y
CONFIG_IBM440EP_ERR42=y
# CONFIG_IPIC is not set
# CONFIG_MPIC is not set
-@@ -199,7 +203,6 @@
+@@ -199,7 +203,6 @@ CONFIG_HZ=250
CONFIG_PREEMPT_NONE=y
# CONFIG_PREEMPT_VOLUNTARY is not set
# CONFIG_PREEMPT is not set
CONFIG_BINFMT_ELF=y
# CONFIG_BINFMT_MISC is not set
CONFIG_MATH_EMULATION=y
-@@ -232,6 +235,7 @@
+@@ -232,6 +235,7 @@ CONFIG_ISA_DMA_API=y
#
CONFIG_ZONE_DMA=y
CONFIG_PPC_INDIRECT_PCI=y
CONFIG_PCI=y
CONFIG_PCI_DOMAINS=y
CONFIG_PCI_SYSCALL=y
-@@ -678,6 +682,7 @@
+@@ -678,6 +682,7 @@ CONFIG_USB_ARCH_HAS_EHCI=y
# CONFIG_INFINIBAND is not set
# CONFIG_EDAC is not set
# CONFIG_RTC_CLASS is not set
#
# Userspace I/O
-@@ -805,6 +810,7 @@
+@@ -805,6 +810,7 @@ CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
#
CONFIG_PPC64=y
-@@ -84,8 +84,6 @@
+@@ -84,8 +84,6 @@ CONFIG_CGROUPS=y
# CONFIG_CGROUP_NS is not set
CONFIG_CPUSETS=y
# CONFIG_GROUP_SCHED is not set
# CONFIG_CGROUP_CPUACCT is not set
# CONFIG_RESOURCE_COUNTERS is not set
CONFIG_SYSFS_DEPRECATED=y
-@@ -289,6 +287,7 @@
+@@ -289,6 +287,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_IRQ_ALL_CPUS=y
# CONFIG_NUMA is not set
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-@@ -335,7 +334,7 @@
+@@ -335,7 +334,7 @@ CONFIG_PCI_SYSCALL=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
CONFIG_PCCARD=y
# CONFIG_PCMCIA_DEBUG is not set
-@@ -1881,6 +1880,7 @@
+@@ -1881,6 +1880,7 @@ CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
#
CONFIG_PPC64=y
-@@ -83,8 +83,6 @@
+@@ -83,8 +83,6 @@ CONFIG_CGROUPS=y
CONFIG_CGROUP_NS=y
CONFIG_CPUSETS=y
# CONFIG_GROUP_SCHED is not set
CONFIG_CGROUP_CPUACCT=y
# CONFIG_RESOURCE_COUNTERS is not set
CONFIG_SYSFS_DEPRECATED=y
-@@ -237,6 +235,7 @@
+@@ -237,6 +235,7 @@ CONFIG_ARCH_HAS_WALK_MEMORY=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
CONFIG_KEXEC=y
# CONFIG_CRASH_DUMP is not set
CONFIG_IRQ_ALL_CPUS=y
CONFIG_NUMA=y
CONFIG_NODES_SHIFT=4
-@@ -283,7 +282,7 @@
+@@ -283,7 +282,7 @@ CONFIG_PCI_SYSCALL=y
# CONFIG_PCIEPORTBUS is not set
CONFIG_ARCH_SUPPORTS_MSI=y
CONFIG_PCI_MSI=y
# CONFIG_PCI_DEBUG is not set
# CONFIG_PCCARD is not set
CONFIG_HOTPLUG_PCI=m
-@@ -1519,6 +1518,7 @@
+@@ -1519,6 +1518,7 @@ CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
CONFIG_HAS_DMA=y
-# CONFIG_PPC_CLOCK is not set
--- a/arch/powerpc/kernel/Makefile
+++ b/arch/powerpc/kernel/Makefile
-@@ -67,6 +67,7 @@
+@@ -67,6 +67,7 @@ obj-$(CONFIG_BOOTX_TEXT) += btext.o
obj-$(CONFIG_SMP) += smp.o
obj-$(CONFIG_KPROBES) += kprobes.o
obj-$(CONFIG_PPC_UDBG_16550) += legacy_serial.o udbg_16550.o
#define DEFINE(sym, val) \
asm volatile("\n->" #sym " %0 " #val : : "i" (val))
-@@ -60,7 +61,6 @@
+@@ -60,7 +61,6 @@ int main(void)
DEFINE(AUDITCONTEXT, offsetof(struct task_struct, audit_context));
#else
DEFINE(THREAD_INFO, offsetof(struct task_struct, stack));
#endif /* CONFIG_PPC64 */
DEFINE(KSP, offsetof(struct thread_struct, ksp));
-@@ -80,7 +80,6 @@
+@@ -80,7 +80,6 @@ int main(void)
DEFINE(PGDIR, offsetof(struct thread_struct, pgdir));
#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
DEFINE(THREAD_DBCR0, offsetof(struct thread_struct, dbcr0));
#endif
#ifdef CONFIG_SPE
DEFINE(THREAD_EVR0, offsetof(struct thread_struct, evr[0]));
-@@ -325,6 +324,9 @@
+@@ -325,6 +324,9 @@ int main(void)
DEFINE(PAGE_OFFSET_VSID, KERNEL_VSID(PAGE_OFFSET));
DEFINE(VMALLOC_START_ESID, GET_ESID(VMALLOC_START));
DEFINE(VMALLOC_START_VSID, KERNEL_VSID(VMALLOC_START));
* Benjamin Herrenschmidt <benh@kernel.crashing.org>
*
* This program is free software; you can redistribute it and/or
-@@ -32,6 +32,9 @@
+@@ -32,6 +32,9 @@ _GLOBAL(__setup_cpu_440grx)
bl __fixup_440A_mcheck
mtlr r4
blr
b __fixup_440A_mcheck
--- a/arch/powerpc/kernel/cputable.c
+++ b/arch/powerpc/kernel/cputable.c
-@@ -36,6 +36,8 @@
+@@ -36,6 +36,8 @@ extern void __setup_cpu_440epx(unsigned
extern void __setup_cpu_440gx(unsigned long offset, struct cpu_spec* spec);
extern void __setup_cpu_440grx(unsigned long offset, struct cpu_spec* spec);
extern void __setup_cpu_440spe(unsigned long offset, struct cpu_spec* spec);
extern void __setup_cpu_603(unsigned long offset, struct cpu_spec* spec);
extern void __setup_cpu_604(unsigned long offset, struct cpu_spec* spec);
extern void __setup_cpu_750(unsigned long offset, struct cpu_spec* spec);
-@@ -1397,6 +1399,30 @@
+@@ -1397,6 +1399,30 @@ static struct cpu_spec __initdata cpu_sp
.machine_check = machine_check_440A,
.platform = "ppc440",
},
#endif /* CONFIG_44x */
#ifdef CONFIG_FSL_BOOKE
#ifdef CONFIG_E200
-@@ -1512,7 +1538,7 @@
+@@ -1512,7 +1538,7 @@ struct cpu_spec * __init identify_cpu(un
*t = *s;
*PTRRELOC(&cur_cpu_spec) = &the_cpu_spec;
#if defined(CONFIG_PPC64) || defined(CONFIG_BOOKE)
--- a/arch/powerpc/kernel/entry_32.S
+++ b/arch/powerpc/kernel/entry_32.S
-@@ -110,9 +110,9 @@
+@@ -110,9 +110,9 @@ transfer_to_handler:
stw r11,PT_REGS(r12)
#if defined(CONFIG_40x) || defined(CONFIG_BOOKE)
/* Check to see if the dbcr0 register is set up to debug. Use the
beq+ 3f
/* From user and task is ptraced - load up global dbcr0 */
li r12,-1 /* clear all pending debug events */
-@@ -120,6 +120,12 @@
+@@ -120,6 +120,12 @@ transfer_to_handler:
lis r11,global_dbcr0@ha
tophys(r11,r11)
addi r11,r11,global_dbcr0@l
lwz r12,0(r11)
mtspr SPRN_DBCR0,r12
lwz r12,4(r11)
-@@ -238,10 +244,10 @@
+@@ -238,10 +244,10 @@ ret_from_syscall:
stw r11,_CCR(r1)
syscall_exit_cont:
#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
bnel- load_dbcr0
#endif
#ifdef CONFIG_44x
-@@ -666,10 +672,10 @@
+@@ -666,10 +672,10 @@ user_exc_return: /* r10 contains MSR_KE
restore_user:
#if defined(CONFIG_4xx) || defined(CONFIG_BOOKE)
bnel- load_dbcr0
#endif
-@@ -879,6 +885,12 @@
+@@ -879,6 +885,12 @@ load_dbcr0:
mfspr r10,SPRN_DBCR0
lis r11,global_dbcr0@ha
addi r11,r11,global_dbcr0@l
stw r10,0(r11)
mtspr SPRN_DBCR0,r0
lwz r10,4(r11)
-@@ -891,7 +903,7 @@
+@@ -891,7 +903,7 @@ load_dbcr0:
.section .bss
.align 4
global_dbcr0:
.section ".text"
.align 7
-@@ -88,6 +90,14 @@
+@@ -88,6 +90,14 @@ system_call_common:
addi r9,r1,STACK_FRAME_OVERHEAD
ld r11,exception_marker@toc(r2)
std r11,-16(r9) /* "regshere" marker */
li r10,1
stb r10,PACASOFTIRQEN(r13)
stb r10,PACAHARDIRQEN(r13)
-@@ -102,7 +112,7 @@
+@@ -102,7 +112,7 @@ BEGIN_FW_FTR_SECTION
b hardware_interrupt_entry
2:
END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
mfmsr r11
ori r11,r11,MSR_EE
mtmsrd r11,1
-@@ -504,6 +514,10 @@
+@@ -504,6 +514,10 @@ BEGIN_FW_FTR_SECTION
li r3,0
stb r3,PACASOFTIRQEN(r13) /* ensure we are soft-disabled */
ori r10,r10,MSR_EE
mtmsrd r10 /* hard-enable again */
addi r3,r1,STACK_FRAME_OVERHEAD
-@@ -512,7 +526,7 @@
+@@ -512,7 +526,7 @@ BEGIN_FW_FTR_SECTION
4:
END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
#endif
/* extract EE bit and use it to restore paca->hard_enabled */
ld r3,_MSR(r1)
-@@ -580,6 +594,16 @@
+@@ -580,6 +594,16 @@ do_work:
bne restore
/* here we are preempting the current task */
1:
/* 601 only have IBAT; cr0.eq is set on 601 when using this macro */
#define LOAD_BAT(n, reg, RA, RB) \
-@@ -268,8 +269,8 @@
+@@ -268,8 +269,8 @@ __secondary_hold_acknowledge:
li r10,MSR_KERNEL & ~(MSR_IR|MSR_DR); /* can take exceptions */ \
MTMSRD(r10); /* (except for mach check in rtas) */ \
stw r0,GPR0(r11); \
stw r10,8(r11); \
SAVE_4GPRS(3, r11); \
SAVE_2GPRS(7, r11)
-@@ -763,23 +764,6 @@
+@@ -763,23 +764,6 @@ load_up_altivec:
b fast_exception_return
/*
* and save the AltiVec registers in its thread_struct.
--- a/arch/powerpc/kernel/head_44x.S
+++ b/arch/powerpc/kernel/head_44x.S
-@@ -211,7 +211,7 @@
+@@ -211,7 +211,7 @@ skpinv: addi r4,r4,1 /* Increment */
SET_IVOR(12, WatchdogTimer);
SET_IVOR(13, DataTLBError);
SET_IVOR(14, InstructionTLBError);
/* Establish the interrupt vector base */
lis r4,interrupt_base@h /* IVPR only uses the high 16-bits */
-@@ -578,7 +578,7 @@
+@@ -578,7 +578,7 @@ interrupt_base:
b InstructionStorage
/* Debug Interrupt */
/*
* We layout physical memory as follows:
-@@ -450,8 +449,8 @@
+@@ -450,8 +449,8 @@ bad_stack:
*/
fast_exc_return_irq: /* restores irq state too */
ld r3,SOFTE(r1)
rldicl r4,r12,49,63 /* get MSR_EE to LSB */
stb r4,PACAHARDIRQEN(r13) /* restore paca->hard_enabled */
b 1f
-@@ -621,7 +620,7 @@
+@@ -621,7 +620,7 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISER
mtlr r10
andi. r10,r12,MSR_RI /* check for unrecoverable exception */
.machine push
.machine "power4"
-@@ -643,6 +642,22 @@
+@@ -643,6 +642,22 @@ END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISER
rfid
b . /* prevent speculative execution */
unrecov_slb:
EXCEPTION_PROLOG_COMMON(0x4100, PACA_EXSLB)
DISABLE_INTS
-@@ -808,7 +823,7 @@
+@@ -808,7 +823,7 @@ _STATIC(load_up_altivec)
* Hash table stuff
*/
.align 7
std r3,_DAR(r1)
std r4,_DSISR(r1)
-@@ -820,6 +835,27 @@
+@@ -820,6 +835,27 @@ BEGIN_FTR_SECTION
END_FTR_SECTION_IFCLR(CPU_FTR_SLB)
/*
* We need to set the _PAGE_USER bit if MSR_PR is set or if we are
* accessing a userspace segment (even from the kernel). We assume
* kernel addresses always have the high bit set.
-@@ -832,13 +868,6 @@
+@@ -832,13 +868,6 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SLB)
rlwimi r4,r5,22+2,31-2,31-2 /* Set _PAGE_EXEC if trap is 0x400 */
/*
* r3 contains the faulting address
* r4 contains the required access permissions
* r5 contains the trap number
-@@ -848,7 +877,6 @@
+@@ -848,7 +877,6 @@ END_FTR_SECTION_IFCLR(CPU_FTR_SLB)
bl .hash_page /* build HPTE if possible */
cmpdi r3,0 /* see if hash_page succeeded */
BEGIN_FW_FTR_SECTION
/*
* If we had interrupts soft-enabled at the point where the
-@@ -860,7 +888,7 @@
+@@ -860,7 +888,7 @@ BEGIN_FW_FTR_SECTION
*/
beq 13f
END_FW_FTR_SECTION_IFSET(FW_FEATURE_ISERIES)
BEGIN_FW_FTR_SECTION
/*
* Here we have interrupts hard-disabled, so it is sufficient
-@@ -874,11 +902,12 @@
+@@ -874,11 +902,12 @@ END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISER
/*
* hash_page couldn't handle it, set soft interrupt enable back
b 11f
/* Here we have a page fault that hash_page can't handle. */
-@@ -1477,6 +1506,10 @@
+@@ -1477,6 +1506,10 @@ _INIT_STATIC(start_here_multiplatform)
addi r2,r2,0x4000
add r2,r2,r26
/* Do very early kernel initializations, including initial hash table,
* stab and slb setup before we turn on relocation. */
-@@ -1505,10 +1538,6 @@
+@@ -1505,10 +1538,6 @@ _INIT_GLOBAL(start_here_common)
li r0,0
stdu r0,-STACK_FRAME_OVERHEAD(r1)
#define DEBUG_SPRG SPRN_SPRG6W
#ifdef CONFIG_SMP
-@@ -212,9 +221,8 @@
+@@ -212,9 +221,8 @@ label:
* save (and later restore) the MSR via SPRN_CSRR1, which will still have
* the MSR_DE bit set.
*/
DEBUG_EXCEPTION_PROLOG; \
\
/* \
-@@ -234,8 +242,8 @@
+@@ -234,8 +242,8 @@ label:
cmplw r12,r10; \
blt+ 2f; /* addr below exception vectors */ \
\
cmplw r12,r10; \
bgt+ 2f; /* addr above exception vectors */ \
\
-@@ -265,9 +273,9 @@
+@@ -265,9 +273,9 @@ label:
2: mfspr r4,SPRN_DBSR; \
addi r3,r1,STACK_FRAME_OVERHEAD; \
EXC_XFER_TEMPLATE(DebugException, 0x2002, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), NOCOPY, debug_transfer_to_handler, ret_from_debug_exc)
CRITICAL_EXCEPTION_PROLOG; \
\
/* \
-@@ -287,8 +295,8 @@
+@@ -287,8 +295,8 @@ label:
cmplw r12,r10; \
blt+ 2f; /* addr below exception vectors */ \
\
cmplw r12,r10; \
bgt+ 2f; /* addr above exception vectors */ \
\
-@@ -318,7 +326,6 @@
+@@ -318,7 +326,6 @@ label:
2: mfspr r4,SPRN_DBSR; \
addi r3,r1,STACK_FRAME_OVERHEAD; \
EXC_XFER_TEMPLATE(DebugException, 0x2002, (MSR_KERNEL & ~(MSR_ME|MSR_DE|MSR_CE)), NOCOPY, crit_transfer_to_handler, ret_from_crit_exc)
START_EXCEPTION(InstructionStorage) \
--- a/arch/powerpc/kernel/head_fsl_booke.S
+++ b/arch/powerpc/kernel/head_fsl_booke.S
-@@ -68,7 +68,9 @@
+@@ -68,7 +68,9 @@ _ENTRY(_start);
mr r29,r5
mr r28,r6
mr r27,r7
/* We try to not make any assumptions about how the boot loader
* setup or used the TLBs. We invalidate all mappings from the
-@@ -167,7 +169,28 @@
+@@ -167,7 +169,28 @@ skpinv: addi r6,r6,1 /* Increment */
mtspr SPRN_MAS0,r7
tlbre
lis r7,0x1000 /* Set MAS0(TLBSEL) = 1 */
rlwimi r7,r5,16,4,15 /* Setup MAS0 = TLBSEL | ESEL(r5) */
mtspr SPRN_MAS0,r7
-@@ -177,12 +200,10 @@
+@@ -177,12 +200,10 @@ skpinv: addi r6,r6,1 /* Increment */
ori r6,r6,(MAS1_TSIZE(BOOKE_PAGESZ_4K))@l
mtspr SPRN_MAS1,r6
mfspr r6,SPRN_MAS2
tlbwe
xori r6,r4,1
-@@ -232,8 +253,7 @@
+@@ -232,8 +253,7 @@ skpinv: addi r6,r6,1 /* Increment */
ori r6,r6,PAGE_OFFSET@l
rlwimi r6,r7,0,20,31
mtspr SPRN_MAS2,r6
tlbwe
/* 7. Jump to KERNELBASE mapping */
-@@ -283,7 +303,10 @@
+@@ -283,7 +303,10 @@ skpinv: addi r6,r6,1 /* Increment */
SET_IVOR(12, WatchdogTimer);
SET_IVOR(13, DataTLBError);
SET_IVOR(14, InstructionTLBError);
SET_IVOR(32, SPEUnavailable);
SET_IVOR(33, SPEFloatingPointData);
SET_IVOR(34, SPEFloatingPointRound);
-@@ -718,7 +741,10 @@
+@@ -718,7 +741,10 @@ interrupt_base:
/* Debug Interrupt */
* Local functions
--- a/arch/powerpc/kernel/ibmebus.c
+++ b/arch/powerpc/kernel/ibmebus.c
-@@ -183,7 +183,7 @@
+@@ -183,7 +183,7 @@ static int ibmebus_create_devices(const
ret = ibmebus_create_device(child);
if (ret) {
printk(KERN_ERR "%s: failed to create device (%i)",
of_node_put(child);
break;
}
-@@ -269,7 +269,7 @@
+@@ -269,7 +269,7 @@ static ssize_t ibmebus_store_probe(struc
if (bus_find_device(&ibmebus_bus_type, NULL, path,
ibmebus_match_path)) {
printk(KERN_WARNING "%s: %s has already been probed\n",
rc = -EEXIST;
goto out;
}
-@@ -279,7 +279,7 @@
+@@ -279,7 +279,7 @@ static ssize_t ibmebus_store_probe(struc
of_node_put(dn);
} else {
printk(KERN_WARNING "%s: no such device node: %s\n",
rc = -ENODEV;
}
-@@ -308,7 +308,7 @@
+@@ -308,7 +308,7 @@ static ssize_t ibmebus_store_remove(stru
return count;
} else {
printk(KERN_WARNING "%s: %s not on the bus\n",
kfree(path);
return -ENODEV;
-@@ -337,14 +337,14 @@
+@@ -337,14 +337,14 @@ static int __init ibmebus_bus_init(void)
err = of_bus_type_init(&ibmebus_bus_type, "ibmebus");
if (err) {
printk(KERN_ERR "%s: failed to register IBM eBus.\n",
return err;
--- a/arch/powerpc/kernel/iommu.c
+++ b/arch/powerpc/kernel/iommu.c
-@@ -520,7 +520,7 @@
+@@ -520,7 +520,7 @@ void iommu_free_table(struct iommu_table
unsigned int order;
if (!tbl || !tbl->it_map) {
node_name);
return;
}
-@@ -530,7 +530,7 @@
+@@ -530,7 +530,7 @@ void iommu_free_table(struct iommu_table
for (i = 0; i < (tbl->it_size/64); i++) {
if (tbl->it_map[i] != 0) {
printk(KERN_WARNING "%s: Unexpected TCEs for %s\n",
}
--- a/arch/powerpc/kernel/irq.c
+++ b/arch/powerpc/kernel/irq.c
-@@ -114,7 +114,7 @@
+@@ -114,7 +114,7 @@ static inline void set_soft_enabled(unsi
: : "r" (enable), "i" (offsetof(struct paca_struct, soft_enabled)));
}
{
/*
* get_paca()->soft_enabled = en;
-@@ -174,6 +174,7 @@
+@@ -174,6 +174,7 @@ void local_irq_restore(unsigned long en)
__hard_irq_enable();
}
#endif /* CONFIG_PPC64 */
int show_interrupts(struct seq_file *p, void *v)
-@@ -310,8 +311,21 @@
+@@ -310,8 +311,21 @@ void do_IRQ(struct pt_regs *regs)
handler = &__do_IRQ;
irqtp->task = curtp->task;
irqtp->flags = 0;
if (irqtp->flags)
set_bits(irqtp->flags, &curtp->flags);
} else
-@@ -357,7 +371,7 @@
+@@ -357,7 +371,7 @@ void irq_ctx_init(void)
memset((void *)softirq_ctx[i], 0, THREAD_SIZE);
tp = softirq_ctx[i];
tp->cpu = i;
tp = hardirq_ctx[i];
--- a/arch/powerpc/kernel/isa-bridge.c
+++ b/arch/powerpc/kernel/isa-bridge.c
-@@ -80,13 +80,13 @@
+@@ -80,13 +80,13 @@ static void __devinit pci_process_ISA_OF
* (size depending on dev->n_addr_cells)
* cell 5: the size of the range
*/
goto inval_range;
isa_addr = range->isa_addr.a_lo;
-@@ -99,7 +99,7 @@
+@@ -99,7 +99,7 @@ static void __devinit pci_process_ISA_OF
*/
if ((pci_addr != 0) || (isa_addr != 0)) {
printk(KERN_ERR "unexpected isa to pci mapping: %s\n",
--- a/arch/powerpc/kernel/lparcfg.c
+++ b/arch/powerpc/kernel/lparcfg.c
-@@ -226,7 +226,7 @@
+@@ -226,7 +226,7 @@ static void parse_system_parameter_strin
unsigned char *local_buffer = kmalloc(SPLPAR_MAXLENGTH, GFP_KERNEL);
if (!local_buffer) {
printk(KERN_ERR "%s %s kmalloc failure at line %d \n",
return;
}
-@@ -243,14 +243,14 @@
+@@ -243,14 +243,14 @@ static void parse_system_parameter_strin
if (call_status != 0) {
printk(KERN_INFO
"%s %s Error calling get-system-parameter (0x%x)\n",
kfree(local_buffer);
return;
}
-@@ -484,10 +484,10 @@
+@@ -484,10 +484,10 @@ static ssize_t lparcfg_write(struct file
current_weight = (resource >> 5 * 8) & 0xFF;
pr_debug("%s: current_entitled = %lu, current_weight = %u\n",
retval = plpar_hcall_norets(H_SET_PPP, *new_entitled_ptr,
*new_weight_ptr);
-@@ -502,7 +502,7 @@
+@@ -502,7 +502,7 @@ static ssize_t lparcfg_write(struct file
retval = -EINVAL;
} else {
printk(KERN_WARNING "%s: received unknown hv return code %ld",
*/
struct lppaca lppaca[] = {
[0 ... (NR_CPUS-1)] = {
-@@ -66,32 +65,17 @@
+@@ -66,32 +65,17 @@ struct slb_shadow slb_shadow[] __cacheli
* processors. The processor VPD array needs one entry per physical
* processor (not thread).
*/
#ifdef CONFIG_PPC32
extern void transfer_to_handler(void);
extern void do_IRQ(struct pt_regs *regs);
-@@ -58,7 +54,6 @@
+@@ -58,7 +54,6 @@ extern void program_check_exception(stru
extern void single_step_exception(struct pt_regs *regs);
extern int sys_sigreturn(struct pt_regs *regs);
EXPORT_SYMBOL(clear_pages);
EXPORT_SYMBOL(copy_page);
EXPORT_SYMBOL(ISA_DMA_THRESHOLD);
-@@ -79,6 +74,7 @@
+@@ -79,6 +74,7 @@ EXPORT_SYMBOL(strncpy);
EXPORT_SYMBOL(strcat);
EXPORT_SYMBOL(strlen);
EXPORT_SYMBOL(strcmp);
EXPORT_SYMBOL(csum_partial);
EXPORT_SYMBOL(csum_partial_copy_generic);
-@@ -192,3 +188,4 @@
+@@ -192,3 +188,4 @@ EXPORT_SYMBOL(intercept_table);
EXPORT_SYMBOL(__mtdcr);
EXPORT_SYMBOL(__mfdcr);
#endif
+EXPORT_SYMBOL(empty_zero_page);
--- a/arch/powerpc/kernel/process.c
+++ b/arch/powerpc/kernel/process.c
-@@ -868,11 +868,6 @@
+@@ -868,11 +868,6 @@ int sys_execve(unsigned long a0, unsigne
flush_spe_to_thread(current);
error = do_execve(filename, (char __user * __user *) a1,
(char __user * __user *) a2, regs);
putname(filename);
out:
return error;
-@@ -919,20 +914,6 @@
+@@ -919,20 +914,6 @@ int validate_sp(unsigned long sp, struct
return valid_irq_stack(sp, p, nbytes);
}
EXPORT_SYMBOL(validate_sp);
unsigned long get_wchan(struct task_struct *p)
-@@ -944,15 +925,15 @@
+@@ -944,15 +925,15 @@ unsigned long get_wchan(struct task_stru
return 0;
sp = p->thread.ksp;
if (!in_sched_functions(ip))
return ip;
}
-@@ -981,12 +962,12 @@
+@@ -981,12 +962,12 @@ void show_stack(struct task_struct *tsk,
lr = 0;
printk("Call Trace:\n");
do {
if (!firstframe || ip != lr) {
printk("["REG"] ["REG"] ", sp, ip);
print_symbol("%s", ip);
-@@ -1000,8 +981,8 @@
+@@ -1000,8 +981,8 @@ void show_stack(struct task_struct *tsk,
* See if this is an exception frame.
* We look for the "regshere" marker in the current frame.
*/
#include <asm/kexec.h>
#ifdef DEBUG
-@@ -436,7 +437,7 @@
+@@ -436,7 +437,7 @@ early_param("mem", early_parse_mem);
* The device tree may be allocated beyond our memory limit, or inside the
* crash kernel region for kdump. If so, move it out of the way.
*/
{
unsigned long start, size;
void *p;
-@@ -1040,6 +1041,87 @@
+@@ -1040,6 +1041,87 @@ static void __init early_reserve_mem(voi
#endif
}
void __init early_init_devtree(void *params)
{
DBG(" -> early_init_devtree(%p)\n", params);
-@@ -1052,6 +1134,11 @@
+@@ -1052,6 +1134,11 @@ void __init early_init_devtree(void *par
of_scan_flat_dt(early_init_dt_scan_rtas, NULL);
#endif
/* Retrieve various informations from the /chosen node of the
* device-tree, including the platform type, initrd location and
* size, TCE reserve, and more ...
-@@ -1072,6 +1159,7 @@
+@@ -1072,6 +1159,7 @@ void __init early_init_devtree(void *par
reserve_kdump_trampoline();
reserve_crashkernel();
early_reserve_mem();
lmb_enforce_memory_limit(memory_limit);
lmb_analyze();
-@@ -1244,12 +1332,14 @@
+@@ -1244,12 +1332,14 @@ EXPORT_SYMBOL(of_node_put);
*/
void of_attach_node(struct device_node *np)
{
}
/*
-@@ -1260,8 +1350,9 @@
+@@ -1260,8 +1350,9 @@ void of_attach_node(struct device_node *
void of_detach_node(struct device_node *np)
{
struct device_node *parent;
parent = np->parent;
if (!parent)
-@@ -1292,7 +1383,7 @@
+@@ -1292,7 +1383,7 @@ void of_detach_node(struct device_node *
of_node_set_flag(np, OF_DETACHED);
out_unlock:
}
#ifdef CONFIG_PPC_PSERIES
-@@ -1373,20 +1464,21 @@
+@@ -1373,20 +1464,21 @@ __initcall(prom_reconfig_setup);
int prom_add_property(struct device_node* np, struct property* prop)
{
struct property **next;
#ifdef CONFIG_PROC_DEVICETREE
/* try to add to proc as well if it was initialized */
-@@ -1406,9 +1498,10 @@
+@@ -1406,9 +1498,10 @@ int prom_add_property(struct device_node
int prom_remove_property(struct device_node *np, struct property *prop)
{
struct property **next;
next = &np->properties;
while (*next) {
if (*next == prop) {
-@@ -1421,7 +1514,7 @@
+@@ -1421,7 +1514,7 @@ int prom_remove_property(struct device_n
}
next = &(*next)->next;
}
if (!found)
return -ENODEV;
-@@ -1447,9 +1540,10 @@
+@@ -1447,9 +1540,10 @@ int prom_update_property(struct device_n
struct property *oldprop)
{
struct property **next;
next = &np->properties;
while (*next) {
if (*next == oldprop) {
-@@ -1463,7 +1557,7 @@
+@@ -1463,7 +1557,7 @@ int prom_update_property(struct device_n
}
next = &(*next)->next;
}
return -ENODEV;
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
-@@ -2240,6 +2240,14 @@
+@@ -2240,6 +2240,14 @@ static void __init fixup_device_tree_efi
if (rv != PROM_ERROR && (strcmp(prop, "chrp") == 0))
prom_setprop(node, "/", "device_type", "efika", sizeof("efika"));
#include <asm/udbg.h>
#include <asm/syscalls.h>
#include <asm/smp.h>
-@@ -507,7 +507,7 @@
+@@ -507,7 +507,7 @@ int rtas_error_rc(int rtas_rc)
break;
default:
printk(KERN_ERR "%s: unexpected RTAS error %d\n",
}
--- a/arch/powerpc/kernel/rtas_flash.c
+++ b/arch/powerpc/kernel/rtas_flash.c
-@@ -807,7 +807,7 @@
+@@ -807,7 +807,7 @@ int __init rtas_flash_init(void)
rtas_block_ctor);
if (!flash_block_cache) {
printk(KERN_ERR "%s: failed to create block cache\n",
}
--- a/arch/powerpc/kernel/rtas_pci.c
+++ b/arch/powerpc/kernel/rtas_pci.c
-@@ -56,21 +56,6 @@
+@@ -56,21 +56,6 @@ static inline int config_access_valid(st
return 0;
}
int rtas_read_config(struct pci_dn *pdn, int where, int size, u32 *val)
{
int returnval = -1;
-@@ -117,7 +102,7 @@
+@@ -117,7 +102,7 @@ static int rtas_pci_read_config(struct p
for (dn = busdn->child; dn; dn = dn->sibling) {
struct pci_dn *pdn = PCI_DN(dn);
if (pdn && pdn->devfn == devfn
return rtas_read_config(pdn, where, size, val);
}
-@@ -164,7 +149,7 @@
+@@ -164,7 +149,7 @@ static int rtas_pci_write_config(struct
for (dn = busdn->child; dn; dn = dn->sibling) {
struct pci_dn *pdn = PCI_DN(dn);
if (pdn && pdn->devfn == devfn
return rtas_write_config(pdn, where, size, val);
}
return PCIBIOS_DEVICE_NOT_FOUND;
-@@ -326,7 +311,7 @@
+@@ -326,7 +311,7 @@ int pcibios_remove_root_bus(struct pci_c
res = b->resource[0];
if (!res->flags) {
b->name);
return 1;
}
-@@ -334,13 +319,13 @@
+@@ -334,13 +319,13 @@ int pcibios_remove_root_bus(struct pci_c
rc = pcibios_unmap_io_space(b);
if (rc) {
printk(KERN_ERR "%s: failed to unmap IO on bus %s\n",
return 1;
}
-@@ -348,13 +333,13 @@
+@@ -348,13 +333,13 @@ int pcibios_remove_root_bus(struct pci_c
res = b->resource[i];
if (!res->flags && i == 0) {
printk(KERN_ERR "%s: no MEM resource for PHB %s\n",
#include <asm/xmon.h>
#include <asm/cputhreads.h>
-@@ -167,6 +167,8 @@
+@@ -167,6 +167,8 @@ static int show_cpuinfo(struct seq_file
unsigned short min;
if (cpu_id == NR_CPUS) {
#if defined(CONFIG_SMP) && defined(CONFIG_PPC32)
unsigned long bogosum = 0;
int i;
-@@ -178,6 +180,13 @@
+@@ -178,6 +180,13 @@ static int show_cpuinfo(struct seq_file
seq_printf(m, "timebase\t: %lu\n", ppc_tb_freq);
if (ppc_md.name)
seq_printf(m, "platform\t: %s\n", ppc_md.name);
--- a/arch/powerpc/kernel/setup_32.c
+++ b/arch/powerpc/kernel/setup_32.c
-@@ -172,6 +172,18 @@
+@@ -172,6 +172,18 @@ int __init ppc_setup_l2cr(char *str)
}
__setup("l2cr=", ppc_setup_l2cr);
#ifdef CONFIG_GENERIC_NVRAM
/* Generic nvram hooks used by drivers/char/gen_nvram.c */
-@@ -277,7 +289,7 @@
+@@ -277,7 +289,7 @@ void __init setup_arch(char **cmdline_p)
if (ppc_md.panic)
setup_panic();
#include <asm/firmware.h>
#include <asm/xmon.h>
#include <asm/udbg.h>
-@@ -178,6 +179,9 @@
+@@ -178,6 +179,9 @@ void __init early_setup(unsigned long dt
/* Enable early debugging if any specified (see udbg.h) */
udbg_early_init();
DBG(" -> early_setup(), dt_ptr: 0x%lx\n", dt_ptr);
/*
-@@ -510,7 +514,7 @@
+@@ -510,7 +514,7 @@ void __init setup_arch(char **cmdline_p)
if (ppc_md.panic)
setup_panic();
+}
--- a/arch/powerpc/kernel/sys_ppc32.c
+++ b/arch/powerpc/kernel/sys_ppc32.c
-@@ -368,11 +368,6 @@
+@@ -368,11 +368,6 @@ long compat_sys_execve(unsigned long a0,
error = compat_do_execve(filename, compat_ptr(a1), compat_ptr(a2), regs);
#include <asm/sections.h>
--- a/arch/powerpc/kernel/vio.c
+++ b/arch/powerpc/kernel/vio.c
-@@ -139,7 +139,7 @@
+@@ -139,7 +139,7 @@ static int vio_bus_remove(struct device
*/
int vio_register_driver(struct vio_driver *viodrv)
{
viodrv->driver.name);
/* fill in 'struct driver' fields */
-@@ -184,7 +184,7 @@
+@@ -184,7 +184,7 @@ struct vio_dev *vio_register_device_node
/* we need the 'device_type' property, in order to match with drivers */
if (of_node->type == NULL) {
printk(KERN_WARNING "%s: node %s missing 'device_type'\n",
of_node->name ? of_node->name : "<unknown>");
return NULL;
}
-@@ -192,7 +192,7 @@
+@@ -192,7 +192,7 @@ struct vio_dev *vio_register_device_node
unit_address = of_get_property(of_node, "reg", NULL);
if (unit_address == NULL) {
printk(KERN_WARNING "%s: node %s missing 'reg'\n",
of_node->name ? of_node->name : "<unknown>");
return NULL;
}
-@@ -227,7 +227,7 @@
+@@ -227,7 +227,7 @@ struct vio_dev *vio_register_device_node
/* register with generic device framework */
if (device_register(&viodev->dev)) {
printk(KERN_ERR "%s: failed to register device %s\n",
/* XXX free TCE table */
kfree(viodev);
return NULL;
-@@ -258,7 +258,7 @@
+@@ -258,7 +258,7 @@ static int __init vio_bus_init(void)
err = device_register(&vio_bus_device.dev);
if (err) {
printk(KERN_WARNING "%s: device_register returned %i\n",
#include <asm-generic/vmlinux.lds.h>
#include <asm/cache.h>
-@@ -33,7 +31,7 @@
+@@ -33,7 +31,7 @@ SECTIONS
*/
/* Text and gots */
ALIGN_FUNCTION();
*(.text.head)
_text = .;
-@@ -58,7 +56,7 @@
+@@ -58,7 +56,7 @@ SECTIONS
RODATA
/* Exception & bug tables */
__start___ex_table = .;
*(__ex_table)
__stop___ex_table = .;
-@@ -74,7 +72,7 @@
+@@ -74,7 +72,7 @@ SECTIONS
. = ALIGN(PAGE_SIZE);
__init_begin = .;
_sinittext = .;
INIT_TEXT
_einittext = .;
-@@ -83,11 +81,11 @@
+@@ -83,11 +81,11 @@ SECTIONS
/* .exit.text is discarded at runtime, not link time,
* to deal with references from __bug_table
*/
INIT_DATA
__vtop_table_begin = .;
*(.vtop_fixup);
-@@ -103,19 +101,19 @@
+@@ -103,19 +101,19 @@ SECTIONS
}
. = ALIGN(16);
__con_initcall_start = .;
*(.con_initcall.init)
__con_initcall_end = .;
-@@ -124,14 +122,14 @@
+@@ -124,14 +122,14 @@ SECTIONS
SECURITY_INIT
. = ALIGN(8);
__start___fw_ftr_fixup = .;
*(__fw_ftr_fixup)
__stop___fw_ftr_fixup = .;
-@@ -139,14 +137,14 @@
+@@ -139,14 +137,14 @@ SECTIONS
#endif
#ifdef CONFIG_BLK_DEV_INITRD
. = ALIGN(PAGE_SIZE);
__per_cpu_start = .;
*(.data.percpu)
*(.data.percpu.shared_aligned)
-@@ -154,7 +152,7 @@
+@@ -154,7 +152,7 @@ SECTIONS
}
. = ALIGN(8);
__machine_desc_start = . ;
*(.machine.desc)
__machine_desc_end = . ;
-@@ -172,25 +170,24 @@
+@@ -172,25 +170,24 @@ SECTIONS
_sdata = .;
#ifdef CONFIG_PPC32
__toc_start = .;
*(.got)
*(.toc)
-@@ -207,26 +204,26 @@
+@@ -207,26 +204,26 @@ SECTIONS
#else
. = ALIGN(16384);
#endif
__nosave_begin = .;
*(.data.nosave)
. = ALIGN(PAGE_SIZE);
-@@ -237,7 +234,7 @@
+@@ -237,7 +234,7 @@ SECTIONS
* And finally the bss
*/
*(.dynbss)
--- a/arch/powerpc/lib/rheap.c
+++ b/arch/powerpc/lib/rheap.c
-@@ -54,7 +54,7 @@
+@@ -54,7 +54,7 @@ static int grow(rh_info_t * info, int ma
new_blocks = max_blocks - info->max_blocks;
if (block == NULL)
return -ENOMEM;
-@@ -258,7 +258,7 @@
+@@ -258,7 +258,7 @@ rh_info_t *rh_create(unsigned int alignm
if ((alignment & (alignment - 1)) != 0)
return ERR_PTR(-EINVAL);
--- a/arch/powerpc/lib/string.S
+++ b/arch/powerpc/lib/string.S
-@@ -75,6 +75,20 @@
+@@ -75,6 +75,20 @@ _GLOBAL(strcmp)
beq 1b
blr
1: lbzu r0,1(r4)
--- a/arch/powerpc/math-emu/fabs.c
+++ b/arch/powerpc/math-emu/fabs.c
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ fabs(u32 *frD, u32 *frB)
frD[1] = frB[1];
#ifdef DEBUG
#endif
--- a/arch/powerpc/math-emu/fadd.c
+++ b/arch/powerpc/math-emu/fadd.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fadd(void *frD, void *frA, void *frB)
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fadds.c
+++ b/arch/powerpc/math-emu/fadds.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fadds(void *frD, void *frA, void *frB)
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fcmpo.c
+++ b/arch/powerpc/math-emu/fcmpo.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fcmpo(u32 *ccr, int crfD, void *frA, voi
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fcmpu.c
+++ b/arch/powerpc/math-emu/fcmpu.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fcmpu(u32 *ccr, int crfD, void *frA, voi
long cmp;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fctiw.c
+++ b/arch/powerpc/math-emu/fctiw.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fctiw(u32 *frD, void *frB)
frD[1] = r;
#ifdef DEBUG
#endif
--- a/arch/powerpc/math-emu/fctiwz.c
+++ b/arch/powerpc/math-emu/fctiwz.c
-@@ -23,7 +23,7 @@
+@@ -23,7 +23,7 @@ fctiwz(u32 *frD, void *frB)
__FPU_FPSCR = fpscr;
#ifdef DEBUG
#endif
--- a/arch/powerpc/math-emu/fdiv.c
+++ b/arch/powerpc/math-emu/fdiv.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fdiv(void *frD, void *frA, void *frB)
int ret = 0;
#ifdef DEBUG
#endif
__FP_UNPACK_D(A, frA);
-@@ -28,13 +28,13 @@
+@@ -28,13 +28,13 @@ fdiv(void *frD, void *frA, void *frB)
if (A_c == FP_CLS_ZERO && B_c == FP_CLS_ZERO) {
ret |= EFLAG_VXZDZ;
#ifdef DEBUG
--- a/arch/powerpc/math-emu/fdivs.c
+++ b/arch/powerpc/math-emu/fdivs.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fdivs(void *frD, void *frA, void *frB)
int ret = 0;
#ifdef DEBUG
#endif
__FP_UNPACK_D(A, frA);
-@@ -29,13 +29,13 @@
+@@ -29,13 +29,13 @@ fdivs(void *frD, void *frA, void *frB)
if (A_c == FP_CLS_ZERO && B_c == FP_CLS_ZERO) {
ret |= EFLAG_VXZDZ;
#ifdef DEBUG
--- a/arch/powerpc/math-emu/fmadd.c
+++ b/arch/powerpc/math-emu/fmadd.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fmadd(void *frD, void *frA, void *frB, v
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fmadds.c
+++ b/arch/powerpc/math-emu/fmadds.c
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ fmadds(void *frD, void *frA, void *frB,
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fmr.c
+++ b/arch/powerpc/math-emu/fmr.c
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ fmr(u32 *frD, u32 *frB)
frD[1] = frB[1];
#ifdef DEBUG
#endif
--- a/arch/powerpc/math-emu/fmsub.c
+++ b/arch/powerpc/math-emu/fmsub.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fmsub(void *frD, void *frA, void *frB, v
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fmsubs.c
+++ b/arch/powerpc/math-emu/fmsubs.c
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ fmsubs(void *frD, void *frA, void *frB,
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fmul.c
+++ b/arch/powerpc/math-emu/fmul.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fmul(void *frD, void *frA, void *frB)
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fmuls.c
+++ b/arch/powerpc/math-emu/fmuls.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fmuls(void *frD, void *frA, void *frB)
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fnabs.c
+++ b/arch/powerpc/math-emu/fnabs.c
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ fnabs(u32 *frD, u32 *frB)
frD[1] = frB[1];
#ifdef DEBUG
#endif
--- a/arch/powerpc/math-emu/fneg.c
+++ b/arch/powerpc/math-emu/fneg.c
-@@ -9,7 +9,7 @@
+@@ -9,7 +9,7 @@ fneg(u32 *frD, u32 *frB)
frD[1] = frB[1];
#ifdef DEBUG
#endif
--- a/arch/powerpc/math-emu/fnmadd.c
+++ b/arch/powerpc/math-emu/fnmadd.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fnmadd(void *frD, void *frA, void *frB,
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fnmadds.c
+++ b/arch/powerpc/math-emu/fnmadds.c
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ fnmadds(void *frD, void *frA, void *frB,
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fnmsub.c
+++ b/arch/powerpc/math-emu/fnmsub.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ fnmsub(void *frD, void *frA, void *frB,
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fnmsubs.c
+++ b/arch/powerpc/math-emu/fnmsubs.c
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ fnmsubs(void *frD, void *frA, void *frB,
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fres.c
+++ b/arch/powerpc/math-emu/fres.c
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ int
fres(void *frD, void *frB)
{
#ifdef DEBUG
}
--- a/arch/powerpc/math-emu/frsp.c
+++ b/arch/powerpc/math-emu/frsp.c
-@@ -12,7 +12,7 @@
+@@ -12,7 +12,7 @@ frsp(void *frD, void *frB)
FP_DECL_D(B);
#ifdef DEBUG
__FP_UNPACK_D(B, frB);
--- a/arch/powerpc/math-emu/frsqrte.c
+++ b/arch/powerpc/math-emu/frsqrte.c
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ int
frsqrte(void *frD, void *frB)
{
#ifdef DEBUG
}
--- a/arch/powerpc/math-emu/fsel.c
+++ b/arch/powerpc/math-emu/fsel.c
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,7 @@ fsel(u32 *frD, void *frA, u32 *frB, u32
FP_DECL_D(A);
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fsqrt.c
+++ b/arch/powerpc/math-emu/fsqrt.c
-@@ -13,7 +13,7 @@
+@@ -13,7 +13,7 @@ fsqrt(void *frD, void *frB)
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(B, frB);
--- a/arch/powerpc/math-emu/fsqrts.c
+++ b/arch/powerpc/math-emu/fsqrts.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fsqrts(void *frD, void *frB)
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(B, frB);
--- a/arch/powerpc/math-emu/fsub.c
+++ b/arch/powerpc/math-emu/fsub.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ fsub(void *frD, void *frA, void *frB)
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/fsubs.c
+++ b/arch/powerpc/math-emu/fsubs.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ fsubs(void *frD, void *frA, void *frB)
int ret = 0;
#ifdef DEBUG
__FP_UNPACK_D(A, frA);
--- a/arch/powerpc/math-emu/lfd.c
+++ b/arch/powerpc/math-emu/lfd.c
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,7 @@ lfd(void *frD, void *ea)
if (copy_from_user(frD, ea, sizeof(double)))
return -EFAULT;
#ifdef DEBUG
#endif
--- a/arch/powerpc/math-emu/lfs.c
+++ b/arch/powerpc/math-emu/lfs.c
-@@ -14,7 +14,7 @@
+@@ -14,7 +14,7 @@ lfs(void *frD, void *ea)
float f;
#ifdef DEBUG
if (copy_from_user(&f, ea, sizeof(float)))
--- a/arch/powerpc/math-emu/mcrfs.c
+++ b/arch/powerpc/math-emu/mcrfs.c
-@@ -10,7 +10,7 @@
+@@ -10,7 +10,7 @@ mcrfs(u32 *ccr, u32 crfD, u32 crfS)
u32 value, clear;
#ifdef DEBUG
#endif
clear = 15 << ((7 - crfS) << 2);
-@@ -24,7 +24,7 @@
+@@ -24,7 +24,7 @@ mcrfs(u32 *ccr, u32 crfD, u32 crfS)
*ccr |= (value << ((7 - crfD) << 2));
#ifdef DEBUG
return 0;
--- a/arch/powerpc/math-emu/mffs.c
+++ b/arch/powerpc/math-emu/mffs.c
-@@ -10,7 +10,7 @@
+@@ -10,7 +10,7 @@ mffs(u32 *frD)
frD[1] = __FPU_FPSCR;
#ifdef DEBUG
return 0;
--- a/arch/powerpc/math-emu/mtfsb0.c
+++ b/arch/powerpc/math-emu/mtfsb0.c
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,7 @@ mtfsb0(int crbD)
__FPU_FPSCR &= ~(1 << (31 - crbD));
#ifdef DEBUG
return 0;
--- a/arch/powerpc/math-emu/mtfsb1.c
+++ b/arch/powerpc/math-emu/mtfsb1.c
-@@ -11,7 +11,7 @@
+@@ -11,7 +11,7 @@ mtfsb1(int crbD)
__FPU_FPSCR |= (1 << (31 - crbD));
#ifdef DEBUG
return 0;
--- a/arch/powerpc/math-emu/mtfsf.c
+++ b/arch/powerpc/math-emu/mtfsf.c
-@@ -38,7 +38,7 @@
+@@ -38,7 +38,7 @@ mtfsf(unsigned int FM, u32 *frB)
__FPU_FPSCR |= (frB[1] & mask);
#ifdef DEBUG
return 0;
--- a/arch/powerpc/math-emu/mtfsfi.c
+++ b/arch/powerpc/math-emu/mtfsfi.c
-@@ -16,7 +16,7 @@
+@@ -16,7 +16,7 @@ mtfsfi(unsigned int crfD, unsigned int I
__FPU_FPSCR |= (IMM & 0xf) << ((7 - crfD) << 2);
#ifdef DEBUG
return 0;
--- a/arch/powerpc/math-emu/stfd.c
+++ b/arch/powerpc/math-emu/stfd.c
-@@ -7,7 +7,7 @@
+@@ -7,7 +7,7 @@ stfd(void *frS, void *ea)
{
#if 0
#ifdef DEBUG
#endif
--- a/arch/powerpc/math-emu/stfiwx.c
+++ b/arch/powerpc/math-emu/stfiwx.c
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ int
stfiwx(u32 *frS, void *ea)
{
#ifdef DEBUG
if (copy_to_user(ea, &frS[1], sizeof(frS[1])))
--- a/arch/powerpc/math-emu/stfs.c
+++ b/arch/powerpc/math-emu/stfs.c
-@@ -15,7 +15,7 @@
+@@ -15,7 +15,7 @@ stfs(void *frS, void *ea)
int err;
#ifdef DEBUG
__FP_UNPACK_D(A, frS);
--- a/arch/powerpc/mm/40x_mmu.c
+++ b/arch/powerpc/mm/40x_mmu.c
-@@ -97,7 +97,7 @@
+@@ -97,7 +97,7 @@ unsigned long __init mmu_mapin_ram(void)
phys_addr_t p;
v = KERNELBASE;
if (__map_without_ltlbs)
--- a/arch/powerpc/mm/44x_mmu.c
+++ b/arch/powerpc/mm/44x_mmu.c
-@@ -67,7 +67,7 @@
+@@ -67,7 +67,7 @@ unsigned long __init mmu_mapin_ram(void)
/* Pin in enough TLBs to cover any lowmem not covered by the
* initial 256M mapping established in head_44x.S */
--- a/arch/powerpc/mm/Makefile
+++ b/arch/powerpc/mm/Makefile
-@@ -6,7 +6,7 @@
+@@ -6,7 +6,7 @@ ifeq ($(CONFIG_PPC64),y)
EXTRA_CFLAGS += -mno-minimal-toc
endif
#define NUM_TLBCAMS (16)
-@@ -165,15 +162,15 @@
+@@ -165,15 +162,15 @@ void invalidate_tlbcam_entry(int index)
void __init cam_mapin_ram(unsigned long cam0, unsigned long cam1,
unsigned long cam2)
{
}
}
-@@ -196,35 +193,32 @@
+@@ -196,35 +193,32 @@ unsigned long __init mmu_mapin_ram(void)
void __init
adjust_total_lowmem(void)
{
ram -= __cam2;
}
-@@ -232,6 +226,6 @@
+@@ -232,6 +226,6 @@ adjust_total_lowmem(void)
" CAM2=%ldMb residual: %ldMb\n",
__cam0 >> 20, __cam1 >> 20, __cam2 >> 20,
(total_lowmem - __cam0 - __cam1 - __cam2) >> 20);
#include <asm/abs_addr.h>
#include <asm/tlbflush.h>
#include <asm/io.h>
-@@ -191,6 +192,29 @@
+@@ -191,6 +192,29 @@ int htab_bolt_mapping(unsigned long vsta
return ret < 0 ? ret : 0;
}
static int __init htab_dt_scan_seg_sizes(unsigned long node,
const char *uname, int depth,
void *data)
-@@ -434,6 +458,12 @@
+@@ -434,6 +458,12 @@ void create_section_mapping(unsigned lon
_PAGE_ACCESSED | _PAGE_DIRTY | _PAGE_COHERENT | PP_RWXX,
mmu_linear_psize, mmu_kernel_ssize));
}
#include <asm/sections.h>
#include "mmu_decl.h"
-@@ -59,8 +59,8 @@
+@@ -59,8 +59,8 @@ DEFINE_PER_CPU(struct mmu_gather, mmu_ga
unsigned long total_memory;
unsigned long total_lowmem;
int boot_mapsize;
#ifdef CONFIG_PPC_PMAC
-@@ -95,10 +95,10 @@
+@@ -95,10 +95,10 @@ int __map_without_ltlbs;
unsigned long __max_low_memory = MAX_LOW_MEM;
/*
/*
* Check for command-line options that affect what MMU_init will do.
-@@ -131,10 +131,10 @@
+@@ -131,10 +131,10 @@ void __init MMU_init(void)
/* 601 can only access 16MB at the moment */
if (PVR_VER(mfspr(SPRN_PVR)) == 1)
/* parse args from command line */
MMU_setup();
-@@ -145,8 +145,8 @@
+@@ -145,8 +145,8 @@ void __init MMU_init(void)
printk(KERN_WARNING "Only using first contiguous memory region");
}
#ifdef CONFIG_FSL_BOOKE
/* Freescale Book-E parts expect lowmem to be mapped by fixed TLB
-@@ -157,9 +157,10 @@
+@@ -157,9 +157,10 @@ void __init MMU_init(void)
if (total_lowmem > __max_low_memory) {
total_lowmem = __max_low_memory;
lmb_analyze();
#endif /* CONFIG_HIGHMEM */
}
-@@ -184,8 +185,6 @@
+@@ -184,8 +185,6 @@ void __init MMU_init(void)
/* Map in I/O resources */
if (ppc_md.progress)
ppc_md.progress("MMU:setio", 0x302);
/* Initialize the context management stuff */
mmu_context_init();
-@@ -208,7 +207,7 @@
+@@ -208,7 +207,7 @@ void __init *early_get_page(void)
p = alloc_bootmem_pages(PAGE_SIZE);
} else {
p = __va(lmb_alloc_base(PAGE_SIZE, PAGE_SIZE,
}
return p;
}
-@@ -276,7 +275,7 @@
+@@ -276,7 +275,7 @@ static int __init setup_kcore(void)
kcore_mem = kmalloc(sizeof(struct kcore_list), GFP_ATOMIC);
if (!kcore_mem)
void free_initmem(void)
{
-@@ -122,7 +121,7 @@
+@@ -122,7 +121,7 @@ static int __init setup_kcore(void)
/* GFP_ATOMIC to avoid might_sleep warnings during boot */
kcore_mem = kmalloc(sizeof(struct kcore_list), GFP_ATOMIC);
if (!kcore_mem)
#include <asm/sections.h>
#include <asm/vdso.h>
-@@ -111,7 +111,7 @@
+@@ -111,7 +111,7 @@ int memory_add_physaddr_to_nid(u64 start
}
#endif
{
struct pglist_data *pgdata;
struct zone *zone;
-@@ -175,7 +175,6 @@
+@@ -175,7 +175,6 @@ void show_mem(void)
printk("Mem-info:\n");
show_free_areas();
for_each_online_pgdat(pgdat) {
unsigned long flags;
pgdat_resize_lock(pgdat, &flags);
-@@ -217,9 +216,11 @@
+@@ -217,9 +216,11 @@ void __init do_init_bootmem(void)
unsigned long total_pages;
int boot_mapsize;
#endif
/*
-@@ -245,18 +246,18 @@
+@@ -245,18 +246,18 @@ void __init do_init_bootmem(void)
* present.
*/
#ifdef CONFIG_HIGHMEM
lmb.reserved.region[i].base;
reserve_bootmem(lmb.reserved.region[i].base,
adjusted_size, BOOTMEM_DEFAULT);
-@@ -326,7 +327,7 @@
+@@ -326,7 +327,7 @@ void __init paging_init(void)
(top_of_ram - total_ram) >> 20);
memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
#ifdef CONFIG_HIGHMEM
max_zone_pfns[ZONE_HIGHMEM] = top_of_ram >> PAGE_SHIFT;
#else
max_zone_pfns[ZONE_DMA] = top_of_ram >> PAGE_SHIFT;
-@@ -381,7 +382,7 @@
+@@ -381,7 +382,7 @@ void __init mem_init(void)
{
unsigned long pfn, highmem_mapnr;
if (lmb_is_reserved(pfn << PAGE_SHIFT))
--- a/arch/powerpc/mm/mmu_decl.h
+++ b/arch/powerpc/mm/mmu_decl.h
-@@ -48,9 +48,11 @@
+@@ -48,9 +48,11 @@ extern unsigned int num_tlbcam_entries;
extern unsigned long ioremap_bot;
extern unsigned long __max_low_memory;
--- a/arch/powerpc/mm/pgtable_32.c
+++ b/arch/powerpc/mm/pgtable_32.c
-@@ -281,12 +281,13 @@
+@@ -281,12 +281,13 @@ int map_page(unsigned long va, phys_addr
*/
void __init mapin_ram(void)
{
#include "mmu_decl.h"
-@@ -82,7 +82,6 @@
+@@ -82,7 +82,6 @@ unsigned long __init mmu_mapin_ram(void)
#else
unsigned long tot, bl, done;
unsigned long max_size = (256<<20);
if (__map_without_bats) {
printk(KERN_DEBUG "RAM mapped without BATs\n");
-@@ -93,19 +92,13 @@
+@@ -93,19 +92,13 @@ unsigned long __init mmu_mapin_ram(void)
/* Make sure we don't map a block larger than the
smallest alignment of the physical address. */
done = (unsigned long)bat_addrs[2].limit - KERNELBASE + 1;
if ((done < tot) && !bat_addrs[3].limit) {
/* use BAT3 to cover a bit more */
-@@ -113,7 +106,7 @@
+@@ -113,7 +106,7 @@ unsigned long __init mmu_mapin_ram(void)
for (bl = 128<<10; bl < max_size; bl <<= 1)
if (bl * 2 > tot)
break;
done = (unsigned long)bat_addrs[3].limit - KERNELBASE + 1;
}
-@@ -240,7 +233,7 @@
+@@ -240,7 +233,7 @@ void __init MMU_init_hw(void)
*/
if ( ppc_md.progress ) ppc_md.progress("hash:find piece", 0x322);
Hash = __va(lmb_alloc_base(Hash_size, Hash_size,
#include <asm/iseries/hv_call.h>
--- a/arch/powerpc/oprofile/cell/spu_task_sync.c
+++ b/arch/powerpc/oprofile/cell/spu_task_sync.c
-@@ -68,7 +68,7 @@
+@@ -68,7 +68,7 @@ static struct cached_info *get_cached_in
if (spu_num >= num_spu_nodes) {
printk(KERN_ERR "SPU_PROF: "
"%s, line %d: Invalid index %d into spu info cache\n",
ret_info = NULL;
goto out;
}
-@@ -115,7 +115,7 @@
+@@ -115,7 +115,7 @@ prepare_cached_spu_info(struct spu *spu,
if (!info) {
printk(KERN_ERR "SPU_PROF: "
"%s, line %d: create vma_map failed\n",
retval = -ENOMEM;
goto err_alloc;
}
-@@ -123,7 +123,7 @@
+@@ -123,7 +123,7 @@ prepare_cached_spu_info(struct spu *spu,
if (!new_map) {
printk(KERN_ERR "SPU_PROF: "
"%s, line %d: create vma_map failed\n",
retval = -ENOMEM;
goto err_alloc;
}
-@@ -171,7 +171,7 @@
+@@ -171,7 +171,7 @@ static int release_cached_info(int spu_i
printk(KERN_ERR "SPU_PROF: "
"%s, line %d: "
"Invalid index %d into spu info cache\n",
goto out;
}
end = spu_index + 1;
-@@ -273,7 +273,7 @@
+@@ -273,7 +273,7 @@ fail_no_image_cookie:
printk(KERN_ERR "SPU_PROF: "
"%s, line %d: Cannot find dcookie for SPU binary\n",
goto out;
}
-@@ -467,7 +467,7 @@
+@@ -467,7 +467,7 @@ int spu_sync_stop(void)
if (ret) {
printk(KERN_ERR "SPU_PROF: "
"%s, line %d: spu_switch_event_unregister returned %d\n",
--- a/arch/powerpc/oprofile/cell/vma_map.c
+++ b/arch/powerpc/oprofile/cell/vma_map.c
-@@ -72,7 +72,7 @@
+@@ -72,7 +72,7 @@ vma_map_add(struct vma_to_fileoffset_map
kzalloc(sizeof(struct vma_to_fileoffset_map), GFP_KERNEL);
if (!new) {
printk(KERN_ERR "SPU_PROF: %s, line %d: malloc failed\n",
vma_map_free(map);
return NULL;
}
-@@ -134,19 +134,19 @@
+@@ -134,19 +134,19 @@ struct vma_to_fileoffset_map *create_vma
if (memcmp(ehdr.e_ident, expected, EI_PAD) != 0) {
printk(KERN_ERR "SPU_PROF: "
"%s, line %d: Unexpected e_ident parsing SPU ELF\n",
goto fail;
}
phdr_start = spu_elf_start + ehdr.e_phoff;
-@@ -232,7 +232,7 @@
+@@ -232,7 +232,7 @@ struct vma_to_fileoffset_map *create_vma
if (overlay_tbl_offset < 0) {
printk(KERN_ERR "SPU_PROF: "
"%s, line %d: Error finding SPU overlay table\n",
ovly_table = spu_elf_start + overlay_tbl_offset;
--- a/arch/powerpc/oprofile/op_model_cell.c
+++ b/arch/powerpc/oprofile/op_model_cell.c
-@@ -216,7 +216,7 @@
+@@ -216,7 +216,7 @@ static void pm_rtas_reset_signals(u32 no
* failure to stop OProfile.
*/
printk(KERN_WARNING "%s: rtas returned: %d\n",
}
static int pm_rtas_activate_signals(u32 node, u32 count)
-@@ -255,7 +255,7 @@
+@@ -255,7 +255,7 @@ static int pm_rtas_activate_signals(u32
if (unlikely(ret)) {
printk(KERN_WARNING "%s: rtas returned: %d\n",
return -EIO;
}
}
-@@ -560,7 +560,7 @@
+@@ -560,7 +560,7 @@ static int cell_reg_setup(struct op_coun
if (unlikely(spu_rtas_token == RTAS_UNKNOWN_SERVICE)) {
printk(KERN_ERR
"%s: rtas token ibm,cbe-spu-perftools unknown\n",
return -EIO;
}
}
-@@ -576,7 +576,7 @@
+@@ -576,7 +576,7 @@ static int cell_reg_setup(struct op_coun
if (unlikely(pm_rtas_token == RTAS_UNKNOWN_SERVICE)) {
printk(KERN_ERR
"%s: rtas token ibm,cbe-perftools unknown\n",
return -EIO;
}
-@@ -853,7 +853,7 @@
+@@ -853,7 +853,7 @@ static int pm_rtas_activate_spu_profilin
if (unlikely(ret)) {
printk(KERN_WARNING "%s: rtas returned: %d\n",
return -EIO;
}
-@@ -949,7 +949,7 @@
+@@ -949,7 +949,7 @@ static int cell_global_start_spu(struct
if (unlikely(ret != 0)) {
printk(KERN_ERR
"%s: rtas call ibm,cbe-spu-perftools failed, return = %d\n",
rtas_error = -EIO;
goto out;
}
-@@ -1061,7 +1061,7 @@
+@@ -1061,7 +1061,7 @@ static void cell_global_stop_spu(void)
if (unlikely(rtn_value != 0)) {
printk(KERN_ERR
"%s: rtas call ibm,cbe-spu-perftools failed, return = %d\n",
static struct device_node *bcsr_node;
static void __iomem *bcsr_regs;
-@@ -119,5 +120,6 @@
+@@ -119,5 +120,6 @@ define_machine(ep405) {
.progress = udbg_progress,
.init_IRQ = uic_init_tree,
.get_irq = uic_get_irq,
static __initdata struct of_device_id kilauea_of_bus[] = {
{ .compatible = "ibm,plb4", },
-@@ -54,5 +55,6 @@
+@@ -54,5 +55,6 @@ define_machine(kilauea) {
.progress = udbg_progress,
.init_IRQ = uic_init_tree,
.get_irq = uic_get_irq,
static __initdata struct of_device_id makalu_of_bus[] = {
{ .compatible = "ibm,plb4", },
-@@ -54,5 +55,6 @@
+@@ -54,5 +55,6 @@ define_machine(makalu) {
.progress = udbg_progress,
.init_IRQ = uic_init_tree,
.get_irq = uic_get_irq,
static struct of_device_id xilinx_of_bus_ids[] __initdata = {
{ .compatible = "xlnx,plb-v46-1.00.a", },
-@@ -48,5 +49,6 @@
+@@ -48,5 +49,6 @@ define_machine(virtex) {
.probe = virtex_probe,
.init_IRQ = xilinx_intc_init_tree,
.get_irq = xilinx_intc_get_irq,
static __initdata struct of_device_id walnut_of_bus[] = {
{ .compatible = "ibm,plb3", },
-@@ -61,5 +62,6 @@
+@@ -61,5 +62,6 @@ define_machine(walnut) {
.progress = udbg_progress,
.init_IRQ = uic_init_tree,
.get_irq = uic_get_irq,
#endif /* __POWERPC_PLATFORMS_44X_44X_H */
--- a/arch/powerpc/platforms/44x/Kconfig
+++ b/arch/powerpc/platforms/44x/Kconfig
-@@ -67,6 +67,25 @@
+@@ -67,6 +67,25 @@ config WARP
See http://www.pikatechnologies.com/ and follow the "PIKA for Computer
Telephony Developers" link for more information.
#config LUAN
# bool "Luan"
# depends on 44x
-@@ -122,6 +141,14 @@
+@@ -122,6 +141,14 @@ config 440SPe
bool
select IBM_NEW_EMAC_EMAC4
static __initdata struct of_device_id bamboo_of_bus[] = {
{ .compatible = "ibm,plb4", },
-@@ -53,11 +52,11 @@
+@@ -53,11 +52,11 @@ static int __init bamboo_probe(void)
}
define_machine(bamboo) {
static __initdata struct of_device_id ebony_of_bus[] = {
{ .compatible = "ibm,plb4", },
-@@ -66,6 +65,6 @@
+@@ -66,6 +65,6 @@ define_machine(ebony) {
.progress = udbg_progress,
.init_IRQ = uic_init_tree,
.get_irq = uic_get_irq,
static __initdata struct of_device_id katmai_of_bus[] = {
{ .compatible = "ibm,plb4", },
-@@ -58,6 +57,6 @@
+@@ -58,6 +57,6 @@ define_machine(katmai) {
.progress = udbg_progress,
.init_IRQ = uic_init_tree,
.get_irq = uic_get_irq,
};
--- a/arch/powerpc/platforms/44x/misc_44x.S
+++ b/arch/powerpc/platforms/44x/misc_44x.S
-@@ -44,14 +44,3 @@
+@@ -44,14 +44,3 @@ _GLOBAL(as1_writeb)
sync
isync
blr
static __initdata struct of_device_id rainier_of_bus[] = {
{ .compatible = "ibm,plb4", },
-@@ -57,6 +57,6 @@
+@@ -57,6 +57,6 @@ define_machine(rainier) {
.progress = udbg_progress,
.init_IRQ = uic_init_tree,
.get_irq = uic_get_irq,
static __initdata struct of_device_id sequoia_of_bus[] = {
{ .compatible = "ibm,plb4", },
-@@ -58,6 +58,6 @@
+@@ -58,6 +58,6 @@ define_machine(sequoia) {
.progress = udbg_progress,
.init_IRQ = uic_init_tree,
.get_irq = uic_get_irq,
static __initdata struct of_device_id taishan_of_bus[] = {
{ .compatible = "ibm,plb4", },
-@@ -68,6 +67,6 @@
+@@ -68,6 +67,6 @@ define_machine(taishan) {
.progress = udbg_progress,
.init_IRQ = uic_init_tree,
.get_irq = uic_get_irq,
#ifdef CONFIG_MTD_NAND_NDFC
-@@ -100,6 +101,6 @@
+@@ -100,6 +101,6 @@ static int warp_setup_nand_flash(void)
return 0;
}
static __initdata struct of_device_id warp_of_bus[] = {
{ .compatible = "ibm,plb4", },
-@@ -49,7 +47,7 @@
+@@ -49,7 +47,7 @@ define_machine(warp) {
.progress = udbg_progress,
.init_IRQ = uic_init_tree,
.get_irq = uic_get_irq,
--- a/arch/powerpc/platforms/52xx/lite5200.c
+++ b/arch/powerpc/platforms/52xx/lite5200.c
-@@ -63,7 +63,7 @@
+@@ -63,7 +63,7 @@ lite5200_fix_clock_config(void)
of_node_put(np);
if (!cdm) {
printk(KERN_ERR "%s() failed; expect abnormal behaviour\n",
return;
}
-@@ -98,7 +98,7 @@
+@@ -98,7 +98,7 @@ lite5200_fix_port_config(void)
of_node_put(np);
if (!gpio) {
printk(KERN_ERR "%s() failed. expect abnormal behavior\n",
--- a/arch/powerpc/platforms/82xx/Kconfig
+++ b/arch/powerpc/platforms/82xx/Kconfig
-@@ -11,7 +11,6 @@
+@@ -11,7 +11,6 @@ config MPC8272_ADS
select 8260
select FSL_SOC
select PQ2_ADS_PCI_PIC if PCI
help
This option enables support for the MPC8272 ADS board
-@@ -22,7 +21,6 @@
+@@ -22,7 +21,6 @@ config PQ2FADS
select 8260
select FSL_SOC
select PQ2_ADS_PCI_PIC if PCI
help
This option enables support for the PQ2FADS board
-@@ -31,7 +29,6 @@
+@@ -31,7 +29,6 @@ config EP8248E
select 8272
select 8260
select FSL_SOC
This enables support for the Embedded Planet EP8248E board.
--- a/arch/powerpc/platforms/83xx/mpc837x_rdb.c
+++ b/arch/powerpc/platforms/83xx/mpc837x_rdb.c
-@@ -46,6 +46,7 @@
+@@ -46,6 +46,7 @@ static void __init mpc837x_rdb_setup_arc
static struct of_device_id mpc837x_ids[] = {
{ .type = "soc", },
{ .compatible = "soc", },
#define CONTROL_OTG_PORT 0x00000020
--- a/arch/powerpc/platforms/83xx/usb.c
+++ b/arch/powerpc/platforms/83xx/usb.c
-@@ -129,7 +129,7 @@
+@@ -129,7 +129,7 @@ int mpc831x_usb_cfg(void)
if (immr_node && of_device_is_compatible(immr_node, "fsl,mpc8315-immr"))
clrsetbits_be32(immap + MPC83XX_SCCR_OFFS,
MPC8315_SCCR_USB_MASK,
else
clrsetbits_be32(immap + MPC83XX_SCCR_OFFS,
MPC83XX_SCCR_USB_MASK,
-@@ -164,9 +164,15 @@
+@@ -164,9 +164,15 @@ int mpc831x_usb_cfg(void)
/* Using on-chip PHY */
if (prop && (!strcmp(prop, "utmi_wide") ||
!strcmp(prop, "utmi"))) {
/* Set PHY_CLK_SEL to ULPI */
--- a/arch/powerpc/platforms/85xx/Kconfig
+++ b/arch/powerpc/platforms/85xx/Kconfig
-@@ -19,7 +19,6 @@
+@@ -19,7 +19,6 @@ config MPC8540_ADS
config MPC8560_ADS
bool "Freescale MPC8560 ADS"
select DEFAULT_UIMAGE
select CPM2
help
This option enables support for the MPC 8560 ADS board
-@@ -46,6 +45,12 @@
+@@ -46,6 +45,12 @@ config MPC85xx_DS
help
This option enables support for the MPC85xx DS (MPC8544 DS) board
config STX_GP3
bool "Silicon Turnkey Express GP3"
help
-@@ -53,14 +58,12 @@
+@@ -53,14 +58,12 @@ config STX_GP3
board.
select CPM2
select DEFAULT_UIMAGE
select TQM85xx
config TQM8541
-@@ -68,7 +71,6 @@
+@@ -68,7 +71,6 @@ config TQM8541
help
This option enables support for the TQ Components TQM8541 board.
select DEFAULT_UIMAGE
select TQM85xx
select CPM2
-@@ -77,7 +79,6 @@
+@@ -77,7 +79,6 @@ config TQM8555
help
This option enables support for the TQ Components TQM8555 board.
select DEFAULT_UIMAGE
select TQM85xx
select CPM2
-@@ -86,7 +87,6 @@
+@@ -86,7 +87,6 @@ config TQM8560
help
This option enables support for the TQ Components TQM8560 board.
select DEFAULT_UIMAGE
select TQM85xx
select CPM2
-@@ -99,7 +99,6 @@
+@@ -99,7 +99,6 @@ config SBC8548
config SBC8560
bool "Wind River SBC8560"
select DEFAULT_UIMAGE
--- a/arch/powerpc/platforms/85xx/Makefile
+++ b/arch/powerpc/platforms/85xx/Makefile
-@@ -10,3 +10,4 @@
+@@ -10,3 +10,4 @@ obj-$(CONFIG_STX_GP3) += stx_gp3.o
obj-$(CONFIG_TQM85xx) += tqm85xx.o
obj-$(CONFIG_SBC8560) += sbc8560.o
obj-$(CONFIG_SBC8548) += sbc8548.o
+};
--- a/arch/powerpc/platforms/85xx/mpc85xx_ads.c
+++ b/arch/powerpc/platforms/85xx/mpc85xx_ads.c
-@@ -165,7 +165,7 @@
+@@ -165,7 +165,7 @@ static void __init init_ioports(void)
int i;
for (i = 0; i < ARRAY_SIZE(mpc8560_ads_pins); i++) {
#else
#define DBG(fmt, args...)
#endif
-@@ -183,6 +184,18 @@
+@@ -183,6 +184,18 @@ static int __init mpc8544_ds_probe(void)
}
}
*/
--- a/arch/powerpc/platforms/86xx/Kconfig
+++ b/arch/powerpc/platforms/86xx/Kconfig
-@@ -11,6 +11,12 @@
+@@ -11,6 +11,12 @@ config MPC8641_HPCN
help
This option enables support for the MPC8641 HPCN board.
config MPC8610_HPCD
bool "Freescale MPC8610 HPCD"
select DEFAULT_UIMAGE
-@@ -24,7 +30,7 @@
+@@ -24,7 +30,7 @@ config MPC8641
select FSL_PCI if PCI
select PPC_UDBG_16550
select MPIC
obj-$(CONFIG_MPC8610_HPCD) += mpc8610_hpcd.o
--- a/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
+++ b/arch/powerpc/platforms/86xx/mpc8610_hpcd.c
-@@ -52,7 +52,7 @@
+@@ -52,7 +52,7 @@ static int __init mpc8610_declare_of_pla
}
machine_device_initcall(mpc86xx_hpcd, mpc8610_declare_of_platform_devices);
mpc86xx_hpcd_init_irq(void)
{
struct mpic *mpic1;
-@@ -200,7 +200,7 @@
+@@ -200,7 +200,7 @@ static int __init mpc86xx_hpcd_probe(voi
return 0;
}
unsigned int temp;
--- a/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
+++ b/arch/powerpc/platforms/86xx/mpc86xx_hpcn.c
-@@ -55,7 +55,7 @@
+@@ -55,7 +55,7 @@ static void mpc86xx_8259_cascade(unsigne
}
#endif /* CONFIG_PCI */
mpc86xx_hpcn_init_irq(void)
{
struct mpic *mpic1;
-@@ -162,7 +162,7 @@
+@@ -162,7 +162,7 @@ mpc86xx_hpcn_setup_arch(void)
}
mpc86xx_hpcn_show_cpuinfo(struct seq_file *m)
{
struct device_node *root;
-@@ -190,13 +190,19 @@
+@@ -190,13 +190,19 @@ static int __init mpc86xx_hpcn_probe(voi
{
unsigned long root = of_get_flat_dt_root();
+};
--- a/arch/powerpc/platforms/8xx/Kconfig
+++ b/arch/powerpc/platforms/8xx/Kconfig
-@@ -18,7 +18,6 @@
+@@ -18,7 +18,6 @@ config MPC8XXFADS
config MPC86XADS
bool "MPC86XADS"
select CPM1
help
MPC86x Application Development System by Freescale Semiconductor.
The MPC86xADS is meant to serve as a platform for s/w and h/w
-@@ -27,7 +26,6 @@
+@@ -27,7 +26,6 @@ config MPC86XADS
config MPC885ADS
bool "MPC885ADS"
select CPM1
help
Freescale Semiconductor MPC885 Application Development System (ADS).
Also known as DUET.
-@@ -37,7 +35,6 @@
+@@ -37,7 +35,6 @@ config MPC885ADS
config PPC_EP88XC
bool "Embedded Planet EP88xC (a.k.a. CWH-PPC-885XN-VE)"
select CPM1
help
This enables support for the Embedded Planet EP88xC board.
-@@ -47,7 +44,6 @@
+@@ -47,7 +44,6 @@ config PPC_EP88XC
config PPC_ADDER875
bool "Analogue & Micro Adder 875"
select CPM1
This enables support for the Analogue & Micro Adder 875
--- a/arch/powerpc/platforms/8xx/m8xx_setup.c
+++ b/arch/powerpc/platforms/8xx/m8xx_setup.c
-@@ -111,17 +111,12 @@
+@@ -111,17 +111,12 @@ void __init mpc8xx_calibrate_decr(void)
/* Processor frequency is MHz.
*/
/* Perform some more timer/timebase initialization. This used
--- a/arch/powerpc/platforms/Kconfig
+++ b/arch/powerpc/platforms/Kconfig
-@@ -290,13 +290,7 @@
+@@ -290,13 +290,7 @@ config CPM2
config PPC_CPM_NEW_BINDING
bool
depends on CPM1 || CPM2
tristate "Axon DDR2 memory device driver"
--- a/arch/powerpc/platforms/Kconfig.cputype
+++ b/arch/powerpc/platforms/Kconfig.cputype
-@@ -41,11 +41,13 @@
+@@ -41,11 +41,13 @@ config 40x
bool "AMCC 40x"
select PPC_DCR_NATIVE
select PPC_UDBG_16550
#include <asm/firmware.h>
#include <asm/cell-regs.h>
-@@ -316,7 +316,7 @@
+@@ -316,7 +316,7 @@ static void cell_iommu_setup_stab(struct
segments = max(dbase + dsize, fbase + fsize) >> IO_SEGMENT_SHIFT;
pr_debug("%s: iommu[%d]: segments: %lu\n",
/* set up the segment table */
stab_size = segments * sizeof(unsigned long);
-@@ -343,7 +343,7 @@
+@@ -343,7 +343,7 @@ static unsigned long *cell_iommu_alloc_p
(1 << 12) / sizeof(unsigned long));
ptab_size = segments * pages_per_segment * sizeof(unsigned long);
iommu->nid, ptab_size, get_order(ptab_size));
page = alloc_pages_node(iommu->nid, GFP_KERNEL, get_order(ptab_size));
BUG_ON(!page);
-@@ -355,7 +355,7 @@
+@@ -355,7 +355,7 @@ static unsigned long *cell_iommu_alloc_p
n_pte_pages = (pages_per_segment * sizeof(unsigned long)) >> 12;
pr_debug("%s: iommu[%d]: stab at %p, ptab at %p, n_pte_pages: %lu\n",
n_pte_pages);
/* initialise the STEs */
-@@ -394,7 +394,7 @@
+@@ -394,7 +394,7 @@ static void cell_iommu_enable_hardware(s
if (cell_iommu_find_ioc(iommu->nid, &xlate_base))
panic("%s: missing IOC register mappings for node %d\n",
iommu->cmd_regs = iommu->xlate_regs + IOC_IOCmd_Offset;
--- a/arch/powerpc/platforms/cell/pervasive.c
+++ b/arch/powerpc/platforms/cell/pervasive.c
-@@ -65,7 +65,7 @@
+@@ -65,7 +65,7 @@ static void cbe_power_save(void)
break;
default:
printk(KERN_WARNING "%s: unknown configuration\n",
mtspr(SPRN_TSC_CELL, thread_switch_control);
--- a/arch/powerpc/platforms/cell/ras.c
+++ b/arch/powerpc/platforms/cell/ras.c
-@@ -132,7 +132,7 @@
+@@ -132,7 +132,7 @@ static int __init cbe_ptcal_enable_on_no
(unsigned int)(addr >> 32),
(unsigned int)(addr & 0xffffffff))) {
printk(KERN_ERR "%s: error enabling PTCAL on node %d!\n",
goto out_free_pages;
}
-@@ -162,7 +162,7 @@
+@@ -162,7 +162,7 @@ static int __init cbe_ptcal_enable(void)
if (!size)
return -ENODEV;
order = get_order(*size);
of_node_put(np);
-@@ -180,7 +180,7 @@
+@@ -180,7 +180,7 @@ static int __init cbe_ptcal_enable(void)
const u32 *nid = of_get_property(np, "node-id", NULL);
if (!nid) {
printk(KERN_ERR "%s: node %s is missing node-id?\n",
continue;
}
cbe_ptcal_enable_on_node(*nid, order);
-@@ -195,13 +195,13 @@
+@@ -195,13 +195,13 @@ static int cbe_ptcal_disable(void)
struct ptcal_area *area, *tmp;
int ret = 0;
continue;
--- a/arch/powerpc/platforms/cell/spu_base.c
+++ b/arch/powerpc/platforms/cell/spu_base.c
-@@ -165,7 +165,7 @@
+@@ -165,7 +165,7 @@ static int __spu_trap_data_seg(struct sp
struct spu_slb slb;
int psize;
slb.esid = (ea & ESID_MASK) | SLB_ESID_V;
-@@ -215,7 +215,7 @@
+@@ -215,7 +215,7 @@ static int __spu_trap_data_seg(struct sp
extern int hash_page(unsigned long ea, unsigned long access, unsigned long trap); //XXX
static int __spu_trap_data_map(struct spu *spu, unsigned long ea, u64 dsisr)
{
/* Handle kernel space hash faults immediately.
User hash faults need to be deferred to process context. */
-@@ -351,7 +351,7 @@
+@@ -351,7 +351,7 @@ spu_irq_class_1(int irq, void *data)
__spu_trap_data_seg(spu, dar);
spin_unlock(&spu->register_lock);
dar, dsisr);
if (stat & CLASS1_STORAGE_FAULT_INTR)
-@@ -726,7 +726,7 @@
+@@ -726,7 +726,7 @@ static int __init init_spu_base(void)
if (ret < 0) {
printk(KERN_WARNING "%s: Error initializing spus\n",
--- a/arch/powerpc/platforms/cell/spu_callbacks.c
+++ b/arch/powerpc/platforms/cell/spu_callbacks.c
-@@ -54,7 +54,7 @@
+@@ -54,7 +54,7 @@ long spu_sys_callback(struct spu_syscall
long (*syscall)(u64 a1, u64 a2, u64 a3, u64 a4, u64 a5, u64 a6);
if (s->nr_ret >= ARRAY_SIZE(spu_syscall_table)) {
--- a/arch/powerpc/platforms/cell/spu_manage.c
+++ b/arch/powerpc/platforms/cell/spu_manage.c
-@@ -92,7 +92,7 @@
+@@ -92,7 +92,7 @@ static int __init spu_map_interrupts_old
tmp = of_get_property(np->parent->parent, "node-id", NULL);
if (!tmp) {
nid = spu->node;
} else
nid = tmp[0];
-@@ -296,7 +296,7 @@
+@@ -296,7 +296,7 @@ static int __init of_enumerate_spus(int
ret = fn(node);
if (ret) {
printk(KERN_WARNING "%s: Error initializing %s\n",
break;
}
n++;
-@@ -327,7 +327,7 @@
+@@ -327,7 +327,7 @@ static int __init of_create_spu(struct s
if (!legacy_map) {
legacy_map = 1;
printk(KERN_WARNING "%s: Legacy device tree found, "
}
ret = spu_map_device_old(spu);
if (ret) {
-@@ -342,7 +342,7 @@
+@@ -342,7 +342,7 @@ static int __init of_create_spu(struct s
if (!legacy_irq) {
legacy_irq = 1;
printk(KERN_WARNING "%s: Legacy device tree found, "
if (ret) {
--- a/arch/powerpc/platforms/cell/spufs/coredump.c
+++ b/arch/powerpc/platforms/cell/spufs/coredump.c
-@@ -133,8 +133,6 @@
+@@ -133,8 +133,6 @@ static struct spu_context *coredump_next
if (ctx->flags & SPU_CREATE_NOSCHED)
continue;
break;
}
-@@ -157,6 +155,9 @@
+@@ -157,6 +155,9 @@ int spufs_coredump_extra_notes_size(void
break;
size += rc;
}
return size;
-@@ -239,6 +240,9 @@
+@@ -239,6 +240,9 @@ int spufs_coredump_extra_notes_write(str
}
spu_release_saved(ctx);
return 0;
--- a/arch/powerpc/platforms/cell/spufs/file.c
+++ b/arch/powerpc/platforms/cell/spufs/file.c
-@@ -1337,7 +1337,7 @@
+@@ -1337,7 +1337,7 @@ static u64 spufs_signal1_type_get(struct
return ctx->ops->signal1_type_get(ctx);
}
DEFINE_SPUFS_ATTRIBUTE(spufs_signal1_type, spufs_signal1_type_get,
static int spufs_signal2_type_set(void *data, u64 val)
-@@ -1359,7 +1359,7 @@
+@@ -1359,7 +1359,7 @@ static u64 spufs_signal2_type_get(struct
return ctx->ops->signal2_type_get(ctx);
}
DEFINE_SPUFS_ATTRIBUTE(spufs_signal2_type, spufs_signal2_type_get,
#if SPUFS_MMAP_4K
static unsigned long spufs_mss_mmap_nopfn(struct vm_area_struct *vma,
-@@ -1556,7 +1556,7 @@
+@@ -1556,7 +1556,7 @@ void spufs_mfc_callback(struct spu *spu)
wake_up_all(&ctx->mfc_wq);
if (ctx->mfc_fasync) {
u32 free_elements, tagstatus;
unsigned int mask;
-@@ -1790,7 +1790,7 @@
+@@ -1790,7 +1790,7 @@ static unsigned int spufs_mfc_poll(struc
if (tagstatus & ctx->tagwait)
mask |= POLLIN | POLLRDNORM;
return mask;
--- a/arch/powerpc/platforms/cell/spufs/run.c
+++ b/arch/powerpc/platforms/cell/spufs/run.c
-@@ -98,7 +98,7 @@
+@@ -98,7 +98,7 @@ static int spu_setup_isolated(struct spu
!= MFC_CNTL_PURGE_DMA_COMPLETE) {
if (time_after(jiffies, timeout)) {
printk(KERN_ERR "%s: timeout flushing MFC DMA queue\n",
ret = -EIO;
goto out;
}
-@@ -124,7 +124,7 @@
+@@ -124,7 +124,7 @@ static int spu_setup_isolated(struct spu
status_loading) {
if (time_after(jiffies, timeout)) {
printk(KERN_ERR "%s: timeout waiting for loader\n",
ret = -EIO;
goto out_drop_priv;
}
-@@ -134,7 +134,7 @@
+@@ -134,7 +134,7 @@ static int spu_setup_isolated(struct spu
if (!(status & SPU_STATUS_RUNNING)) {
/* If isolated LOAD has failed: run SPU, we will get a stop-and
* signal later. */
ctx->ops->runcntl_write(ctx, SPU_RUNCNTL_RUNNABLE);
ret = -EACCES;
goto out_drop_priv;
-@@ -142,7 +142,7 @@
+@@ -142,7 +142,7 @@ static int spu_setup_isolated(struct spu
if (!(status & SPU_STATUS_ISOLATED_STATE)) {
/* This isn't allowed by the CBEA, but check anyway */
ctx->ops->runcntl_write(ctx, SPU_RUNCNTL_STOP);
ret = -EINVAL;
goto out_drop_priv;
-@@ -282,7 +282,7 @@
+@@ -282,7 +282,7 @@ static int spu_handle_restartsys(struct
break;
default:
printk(KERN_WARNING "%s: unexpected return code %ld\n",
ret = 0;
}
return ret;
-@@ -323,6 +323,10 @@
+@@ -323,6 +323,10 @@ static int spu_process_callback(struct s
return -EINTR;
}
ctx->ops->npc_write(ctx, npc);
--- a/arch/powerpc/platforms/cell/spufs/switch.c
+++ b/arch/powerpc/platforms/cell/spufs/switch.c
-@@ -1815,6 +1815,7 @@
+@@ -1815,6 +1815,7 @@ static void save_csa(struct spu_state *p
save_mfc_csr_ato(prev, spu); /* Step 24. */
save_mfc_tclass_id(prev, spu); /* Step 25. */
set_mfc_tclass_id(prev, spu); /* Step 26. */
purge_mfc_queue(prev, spu); /* Step 27. */
wait_purge_complete(prev, spu); /* Step 28. */
setup_mfc_sr1(prev, spu); /* Step 30. */
-@@ -1831,7 +1832,6 @@
+@@ -1831,7 +1832,6 @@ static void save_csa(struct spu_state *p
save_ppuint_mb(prev, spu); /* Step 41. */
save_ch_part1(prev, spu); /* Step 42. */
save_spu_mb(prev, spu); /* Step 43. */
--- a/arch/powerpc/platforms/celleb/beat.c
+++ b/arch/powerpc/platforms/celleb/beat.c
-@@ -48,6 +48,7 @@
+@@ -48,6 +48,7 @@ void beat_power_off(void)
}
u64 beat_halt_code = 0x1000000000000000UL;
void beat_halt(void)
{
-@@ -94,9 +95,8 @@
+@@ -94,9 +95,8 @@ ssize_t beat_nvram_read(char *buf, size_
len = count;
if (len > BEAT_NVRW_CNT)
len = BEAT_NVRW_CNT;
p += len;
i += len;
-@@ -121,9 +121,8 @@
+@@ -121,9 +121,8 @@ ssize_t beat_nvram_write(char *buf, size
len = count;
if (len > BEAT_NVRW_CNT)
len = BEAT_NVRW_CNT;
p += len;
i += len;
-@@ -149,13 +148,14 @@
+@@ -149,13 +148,14 @@ int64_t beat_get_term_char(u64 vterm, u6
u64 db[2];
s64 ret;
int64_t beat_put_term_char(u64 vterm, u64 len, u64 t1, u64 t2)
{
-@@ -163,8 +163,9 @@
+@@ -163,8 +163,9 @@ int64_t beat_put_term_char(u64 vterm, u6
db[0] = t1;
db[1] = t2;
void beat_power_save(void)
{
-@@ -261,7 +262,3 @@
+@@ -261,7 +262,3 @@ static int __init beat_event_init(void)
}
device_initcall(beat_event_init);
void beat_power_off(void);
--- a/arch/powerpc/platforms/celleb/beat_wrapper.h
+++ b/arch/powerpc/platforms/celleb/beat_wrapper.h
-@@ -197,7 +197,8 @@
+@@ -197,7 +197,8 @@ static inline s64 beat_put_characters_to
u64 b[2];
memcpy(b, buffer, len);
#endif
static DEFINE_SPINLOCK(beat_htab_lock);
-@@ -116,7 +116,8 @@
+@@ -116,7 +116,8 @@ static long beat_lpar_hpte_insert(unsign
hpte_r &= ~_PAGE_COHERENT;
spin_lock(&beat_htab_lock);
spin_unlock(&beat_htab_lock);
--- a/arch/powerpc/platforms/celleb/interrupt.c
+++ b/arch/powerpc/platforms/celleb/interrupt.c
-@@ -34,7 +34,7 @@
+@@ -34,7 +34,7 @@ static DEFINE_SPINLOCK(beatic_irq_mask_l
static uint64_t beatic_irq_mask_enable[(MAX_IRQS+255)/64];
static uint64_t beatic_irq_mask_ack[(MAX_IRQS+255)/64];
/*
* In this implementation, "virq" == "IRQ plug number",
-@@ -49,13 +49,13 @@
+@@ -49,13 +49,13 @@ static inline void beatic_update_irq_mas
off = (irq_plug / 256) * 4;
masks[0] = beatic_irq_mask_enable[off + 0]
if (beat_set_interrupt_mask(irq_plug&~255UL,
masks[0], masks[1], masks[2], masks[3]) != 0)
panic("Failed to set mask IRQ!");
-@@ -96,7 +96,8 @@
+@@ -96,7 +96,8 @@ static void beatic_end_irq(unsigned int
s64 err;
unsigned long flags;
if ((err & 0xFFFFFFFF) != 0xFFFFFFF5) /* -11: wrong state */
panic("Failed to downcount IRQ! Error = %16lx", err);
-@@ -138,7 +139,8 @@
+@@ -138,7 +139,8 @@ static int beatic_pic_host_map(struct ir
struct irq_desc *desc = get_irq_desc(virq);
int64_t err;
return -EIO;
desc->status |= IRQ_LEVEL;
-@@ -202,22 +204,22 @@
+@@ -202,22 +204,22 @@ static inline unsigned int beatic_get_ir
beat_detect_pending_interrupts(i, pending);
__asm__ ("cntlzd %0,%1":"=r"(ub):
"r"(pending[0] & beatic_irq_mask_enable[i/64+0]
if (ub != 64)
return i + ub + 192;
}
-@@ -250,7 +252,7 @@
+@@ -250,7 +252,7 @@ void __init beatic_init_IRQ(void)
/* Allocate an irq host */
beatic_host = irq_alloc_host(NULL, IRQ_HOST_MAP_NOMAP, 0,
irq_set_default_host(beatic_host);
--- a/arch/powerpc/platforms/celleb/scc_epci.c
+++ b/arch/powerpc/platforms/celleb/scc_epci.c
-@@ -161,9 +161,9 @@
+@@ -161,9 +161,9 @@ static PCI_IO_ADDR celleb_epci_make_conf
if (bus != hose->bus)
addr = celleb_epci_get_epci_cfg(hose) +
(((bus->number & 0xff) << 16)
else
addr = celleb_epci_get_epci_cfg(hose) +
(((devfn & 0xff) << 8) | (where & 0xff));
-@@ -174,7 +174,7 @@
+@@ -174,7 +174,7 @@ static PCI_IO_ADDR celleb_epci_make_conf
}
static int celleb_epci_read_config(struct pci_bus *bus,
static struct {
uint32_t offset;
-@@ -84,7 +84,7 @@
+@@ -84,7 +84,7 @@ static int __init txx9_serial_config(cha
int i;
for (;;) {
case 2:
--- a/arch/powerpc/platforms/celleb/spu_priv1.c
+++ b/arch/powerpc/platforms/celleb/spu_priv1.c
-@@ -183,8 +183,7 @@
+@@ -183,8 +183,7 @@ static u64 resource_allocation_enable_ge
return enable;
}
.int_mask_set = int_mask_set,
--- a/arch/powerpc/platforms/celleb/udbg_beat.c
+++ b/arch/powerpc/platforms/celleb/udbg_beat.c
-@@ -54,7 +54,8 @@
+@@ -54,7 +54,8 @@ static int udbg_getc_poll_beat(void)
if (inbuflen == 0) {
/* get some more chars. */
inbuflen = 0;
if (rc != 0)
inbuflen = 0; /* otherwise inbuflen is garbage */
}
-@@ -78,7 +79,7 @@
+@@ -78,7 +79,7 @@ static int udbg_getc_beat(void)
if (ch == -1) {
/* This shouldn't be needed...but... */
volatile unsigned long delay;
return ch;
--- a/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
+++ b/arch/powerpc/platforms/embedded6xx/mpc7448_hpc2.c
-@@ -117,11 +117,11 @@
+@@ -117,11 +117,11 @@ static void __init mpc7448_hpc2_init_IRQ
}
if (mpic_paddr == 0) {
(u32) mpic_paddr);
mpic = mpic_alloc(tsi_pic, mpic_paddr,
-@@ -140,17 +140,17 @@
+@@ -140,17 +140,17 @@ static void __init mpc7448_hpc2_init_IRQ
#ifdef CONFIG_PCI
tsi_pci = of_find_node_by_type(NULL, "pci");
if (tsi_pci == NULL) {
set_irq_data(cascade_pci_irq, mpic);
--- a/arch/powerpc/platforms/embedded6xx/prpmc2800.c
+++ b/arch/powerpc/platforms/embedded6xx/prpmc2800.c
-@@ -49,13 +49,13 @@
+@@ -49,13 +49,13 @@ static void __init prpmc2800_setup_arch(
* ioremap mpp and gpp registers in case they are later
* needed by prpmc2800_reset_board().
*/
b .__start_initialization_iSeries /* Start up the first processor */
--- a/arch/powerpc/platforms/iseries/ipl_parms.h
+++ b/arch/powerpc/platforms/iseries/ipl_parms.h
-@@ -65,6 +65,4 @@
+@@ -65,6 +65,4 @@ struct ItIplParmsReal {
u64 xRsvd13; // Reserved x38-x3F
};
.xDesc = 0xc8a5d9c4, /* "HvRD" ebcdic */
.xSize = sizeof(struct HvReleaseData),
.xVpdAreasPtrOffset = offsetof(struct naca_struct, xItVpdAreas),
-@@ -61,6 +61,63 @@
+@@ -61,6 +61,63 @@ struct naca_struct naca = {
.xRamDiskSize = 0,
};
extern void system_reset_iSeries(void);
extern void machine_check_iSeries(void);
extern void data_access_iSeries(void);
-@@ -129,7 +186,7 @@
+@@ -129,7 +186,7 @@ struct ItLpNaca itLpNaca = {
};
/* May be filled in by the hypervisor so cannot end up in the BSS */
/* May be filled in by the hypervisor so cannot end up in the BSS */
struct ItExtVpdPanel xItExtVpdPanel __attribute__((__section__(".data")));
-@@ -152,13 +209,54 @@
+@@ -152,13 +209,54 @@ u64 xMsVpd[3400] __attribute__((__sec
/* Space for Recovery Log Buffer */
/* May be filled in by the hypervisor so cannot end up in the BSS */
/* The LparMap data is now located at offset 0x6000 in head.S
* It was put there so that the HvReleaseData could address it
* with a 32-bit offset as required by the iSeries hypervisor
-@@ -167,7 +265,7 @@
+@@ -167,7 +265,7 @@ struct SpCommArea xSpCommArea = {
* the Naca via the HvReleaseData area. The HvReleaseData has the
* offset into the Naca of the pointer to the ItVpdAreas.
*/
.xSlicDesc = 0xc9a3e5c1, /* "ItVA" */
.xSlicSize = sizeof(struct ItVpdAreas),
.xSlicVpdEntries = ItVpdMaxEntries, /* # VPD array entries */
-@@ -185,7 +283,7 @@
+@@ -185,7 +283,7 @@ struct ItVpdAreas itVpdAreas = {
.xSlicVpdLens = { /* VPD lengths */
0,0,0, /* 0 - 2 */
sizeof(xItExtVpdPanel), /* 3 Extended VPD */
0, /* 5 */
sizeof(struct ItIplParmsReal),/* 6 length of IPL parms */
26992, /* 7 length of MS VPD */
-@@ -203,7 +301,7 @@
+@@ -203,7 +301,7 @@ struct ItVpdAreas itVpdAreas = {
.xSlicVpdAdrs = { /* VPD addresses */
0,0,0, /* 0 - 2 */
&xItExtVpdPanel, /* 3 Extended VPD */
0, /* 5 */
&xItIplParmsReal, /* 6 IPL parms */
&xMsVpd, /* 7 MS Vpd */
-@@ -219,10 +317,3 @@
+@@ -219,10 +317,3 @@ struct ItVpdAreas itVpdAreas = {
0,0
}
};
#include <linux/kernel.h>
#include <linux/list.h>
#include <linux/string.h>
-@@ -586,7 +587,7 @@
+@@ -586,7 +587,7 @@ static inline struct device_node *xlate_
static unsigned long last_jiffies;
static int num_printed;
}
--- a/arch/powerpc/platforms/iseries/release_data.h
+++ b/arch/powerpc/platforms/iseries/release_data.h
-@@ -58,6 +58,6 @@
+@@ -58,6 +58,6 @@ struct HvReleaseData {
char xRsvd3[20]; /* Reserved x2C-x3F */
};
#endif /* _ISERIES_RELEASE_DATA_H */
--- a/arch/powerpc/platforms/iseries/spcomm_area.h
+++ b/arch/powerpc/platforms/iseries/spcomm_area.h
-@@ -31,6 +31,4 @@
+@@ -31,6 +31,4 @@ struct SpCommArea {
u8 xRsvd2[80]; // Reserved 030-07F
};
#endif /* _ISERIES_SPCOMM_AREA_H */
--- a/arch/powerpc/platforms/iseries/vpd_areas.h
+++ b/arch/powerpc/platforms/iseries/vpd_areas.h
-@@ -80,9 +80,9 @@
+@@ -80,9 +80,9 @@ struct ItVpdAreas {
u32 xPlicDmaLens[ItDmaMaxEntries];// Array of DMA lengths 080-0A7
u32 xPlicDmaToks[ItDmaMaxEntries];// Array of DMA tokens 0A8-0CF
u32 xSlicVpdLens[ItVpdMaxEntries];// Array of VPD lengths 0D0-12F
#endif /* _ISERIES_VPD_AREAS_H */
--- a/arch/powerpc/platforms/maple/pci.c
+++ b/arch/powerpc/platforms/maple/pci.c
-@@ -592,50 +592,3 @@
+@@ -592,50 +592,3 @@ int maple_pci_get_legacy_ide_irq(struct
}
return irq;
}
#include <asm/mpic.h>
#include <asm/rtas.h>
#include <asm/udbg.h>
-@@ -319,7 +319,7 @@
+@@ -319,7 +319,7 @@ static int __init maple_probe(void)
return 1;
}
static struct pasdma_status *dma_status;
-@@ -43,6 +46,8 @@
+@@ -43,6 +46,8 @@ static struct pci_dev *dma_pdev;
static DECLARE_BITMAP(txch_free, MAX_TXCH);
static DECLARE_BITMAP(rxch_free, MAX_RXCH);
/* pasemi_read_iob_reg - read IOB register
* @reg: Register to read (offset into PCI CFG space)
-@@ -373,6 +378,106 @@
+@@ -373,6 +378,106 @@ void pasemi_dma_free_buf(struct pasemi_d
}
EXPORT_SYMBOL(pasemi_dma_free_buf);
static void *map_onedev(struct pci_dev *p, int index)
{
struct device_node *dn;
-@@ -410,6 +515,7 @@
+@@ -410,6 +515,7 @@ int pasemi_dma_init(void)
struct resource res;
struct device_node *dn;
int i, intf, err = 0;
u32 tmp;
if (!machine_is(pasemi))
-@@ -478,6 +584,44 @@
+@@ -478,6 +584,44 @@ int pasemi_dma_init(void)
for (i = 0; i < MAX_RXCH; i++)
__set_bit(i, rxch_free);
static u32 iob_l1_emptyval;
static u32 iob_l2_emptyval;
static u32 *iob_l2_base;
-@@ -219,7 +218,7 @@
+@@ -219,7 +218,7 @@ int __init iob_init(struct device_node *
for (i = 0; i < 64; i++) {
/* Each L1 covers 32MB, i.e. 8K entries = 32K of ram */
regword = IOBMAP_L1E_V | (__pa(iob_l2_base + i*0x2000) >> 12);
#include "pmac.h"
--- a/arch/powerpc/platforms/ps3/device-init.c
+++ b/arch/powerpc/platforms/ps3/device-init.c
-@@ -499,41 +499,14 @@
+@@ -499,41 +499,14 @@ static int __init ps3_register_graphics_
}
/**
case PS3_DEV_TYPE_STOR_DISK:
result = ps3_setup_storage_dev(repo, PS3_MATCH_ID_STOR_DISK);
-@@ -572,6 +545,48 @@
+@@ -572,6 +545,48 @@ static int ps3_register_repository_devic
return result;
}
static void ps3_find_and_add_device(u64 bus_id, u64 dev_id)
{
struct ps3_repository_device repo;
-@@ -601,7 +616,7 @@
+@@ -601,7 +616,7 @@ found:
pr_debug("%s:%u: device %lu:%lu found after %u retries\n",
__func__, __LINE__, bus_id, dev_id, retries);
return;
}
-@@ -905,8 +920,7 @@
+@@ -905,8 +920,7 @@ static int __init ps3_register_devices(v
ps3_register_graphics_devices();
#include <asm/ps3fb.h>
--- a/arch/powerpc/platforms/ps3/interrupt.c
+++ b/arch/powerpc/platforms/ps3/interrupt.c
-@@ -709,7 +709,7 @@
+@@ -709,7 +709,7 @@ static unsigned int ps3_get_irq(void)
asm volatile("cntlzd %0,%1" : "=r" (plug) : "r" (x));
plug &= 0x3f;
--- a/arch/powerpc/platforms/ps3/setup.c
+++ b/arch/powerpc/platforms/ps3/setup.c
-@@ -95,6 +95,14 @@
+@@ -95,6 +95,14 @@ static void ps3_power_off(void)
ps3_sys_manager_power_off(); /* never returns */
}
static void ps3_panic(char *str)
{
DBG("%s:%d %s\n", __func__, __LINE__, str);
-@@ -105,7 +113,8 @@
+@@ -105,7 +113,8 @@ static void ps3_panic(char *str)
printk(" Please press POWER button.\n");
printk("\n");
}
#if defined(CONFIG_FB_PS3) || defined(CONFIG_FB_PS3_MODULE) || \
-@@ -117,7 +126,7 @@
+@@ -117,7 +126,7 @@ static void __init prealloc(struct ps3_p
p->address = __alloc_bootmem(p->size, p->align, __pa(MAX_DMA_ADDRESS));
if (!p->address) {
p->name);
return;
}
-@@ -266,6 +275,7 @@
+@@ -266,6 +275,7 @@ define_machine(ps3) {
.progress = ps3_progress,
.restart = ps3_restart,
.power_off = ps3_power_off,
#include "../cell/spufs/spufs.h"
#include "platform.h"
-@@ -140,6 +141,12 @@
+@@ -140,6 +141,12 @@ static void _dump_areas(unsigned int spe
pr_debug("%s:%d: shadow: %lxh\n", func, line, shadow);
}
unsigned long id;
--- a/arch/powerpc/platforms/pseries/Makefile
+++ b/arch/powerpc/platforms/pseries/Makefile
-@@ -18,3 +18,4 @@
+@@ -18,3 +18,4 @@ obj-$(CONFIG_HOTPLUG_CPU) += hotplug-cpu
obj-$(CONFIG_HVC_CONSOLE) += hvconsole.o
obj-$(CONFIG_HVCS) += hvcserver.o
obj-$(CONFIG_HCALL_STATS) += hvCall_inst.o
+obj-$(CONFIG_PHYP_DUMP) += phyp_dump.o
--- a/arch/powerpc/platforms/pseries/eeh.c
+++ b/arch/powerpc/platforms/pseries/eeh.c
-@@ -945,7 +945,6 @@
+@@ -945,7 +945,6 @@ static void *early_enable_eeh(struct dev
unsigned int rets[3];
struct eeh_early_enable_info *info = data;
int ret;
const u32 *class_code = of_get_property(dn, "class-code", NULL);
const u32 *vendor_id = of_get_property(dn, "vendor-id", NULL);
const u32 *device_id = of_get_property(dn, "device-id", NULL);
-@@ -959,8 +958,8 @@
+@@ -959,8 +958,8 @@ static void *early_enable_eeh(struct dev
pdn->eeh_freeze_count = 0;
pdn->eeh_false_positives = 0;
#ifdef DEBUG_LOW
#define DBG_LOW(fmt...) do { udbg_printf(fmt); } while(0)
-@@ -203,7 +204,6 @@
+@@ -203,7 +204,6 @@ void __init find_udbg_vterm(void)
struct device_node *stdout_node;
const u32 *termno;
const char *name;
/* find the boot console from /chosen/stdout */
if (!of_chosen)
-@@ -219,8 +219,6 @@
+@@ -219,8 +219,6 @@ void __init find_udbg_vterm(void)
printk(KERN_WARNING "stdout node missing 'name' property!\n");
goto out;
}
/* Check if it's a virtual terminal */
if (strncmp(name, "vty", 3) != 0)
-@@ -234,15 +232,13 @@
+@@ -234,15 +232,13 @@ void __init find_udbg_vterm(void)
udbg_putc = udbg_putcLP;
udbg_getc = udbg_getcLP;
udbg_getc_poll = udbg_getc_pollLP;
}
out:
of_node_put(stdout_node);
-@@ -520,6 +516,20 @@
+@@ -520,6 +516,20 @@ static void pSeries_lpar_hpte_invalidate
BUG_ON(lpar_rc != H_SUCCESS);
}
/* Flag bits for H_BULK_REMOVE */
#define HBR_REQUEST 0x4000000000000000UL
#define HBR_RESPONSE 0x8000000000000000UL
-@@ -597,6 +607,7 @@
+@@ -597,6 +607,7 @@ void __init hpte_init_lpar(void)
ppc_md.hpte_updateboltedpp = pSeries_lpar_hpte_updateboltedpp;
ppc_md.hpte_insert = pSeries_lpar_hpte_insert;
ppc_md.hpte_remove = pSeries_lpar_hpte_remove;
}
--- a/arch/powerpc/platforms/pseries/pci_dlpar.c
+++ b/arch/powerpc/platforms/pseries/pci_dlpar.c
-@@ -123,7 +123,7 @@
+@@ -123,7 +123,7 @@ pcibios_pci_config_bridge(struct pci_dev
/* Add to children of PCI bridge dev->bus */
child_bus = pci_add_new_bus(dev->bus, dev, sec_busno);
if (!child_bus) {
+early_param("phyp_dump_reserve_size", early_phyp_dump_reserve_size);
--- a/arch/powerpc/platforms/pseries/pseries.h
+++ b/arch/powerpc/platforms/pseries/pseries.h
-@@ -38,4 +38,6 @@
+@@ -38,4 +38,6 @@ extern void pSeries_final_fixup(void);
/* Poweron flag used for enabling auto ups restart */
extern unsigned long rtas_poweron_auto;
#endif /* _PSERIES_PSERIES_H */
--- a/arch/powerpc/platforms/pseries/reconfig.c
+++ b/arch/powerpc/platforms/pseries/reconfig.c
-@@ -222,14 +222,14 @@
+@@ -222,14 +222,14 @@ static char * parse_next_property(char *
tmp = strchr(buf, ' ');
if (!tmp) {
printk(KERN_ERR "property parse failed in %s at line %d\n",
return NULL;
}
-@@ -238,12 +238,12 @@
+@@ -238,12 +238,12 @@ static char * parse_next_property(char *
*length = simple_strtoul(tmp, &tmp, 10);
if (*length == -1) {
printk(KERN_ERR "property parse failed in %s at line %d\n",
return NULL;
}
-@@ -252,12 +252,12 @@
+@@ -252,12 +252,12 @@ static char * parse_next_property(char *
tmp += *length;
if (tmp > end) {
printk(KERN_ERR "property parse failed in %s at line %d\n",
tmp++;
--- a/arch/powerpc/platforms/pseries/scanlog.c
+++ b/arch/powerpc/platforms/pseries/scanlog.c
-@@ -195,31 +195,30 @@
+@@ -195,31 +195,30 @@ const struct file_operations scanlog_fop
static int __init scanlog_init(void)
{
struct proc_dir_entry *ent;
int fwnmi_active; /* TRUE if an FWNMI handler is present */
static void pseries_shared_idle_sleep(void);
-@@ -127,14 +124,60 @@
+@@ -127,14 +124,60 @@ void pseries_8259_cascade(unsigned int i
desc->chip->eoi(irq);
}
int naddr, n, i, opplen;
struct mpic *mpic;
-@@ -167,43 +210,13 @@
+@@ -167,43 +210,13 @@ static void __init pseries_mpic_init_IRQ
mpic_init(mpic);
/* Look for cascade */
}
static void pseries_lpar_enable_pmcs(void)
-@@ -235,7 +248,7 @@
+@@ -235,7 +248,7 @@ static void __init pseries_discover_pic(
smp_init_pseries_mpic();
return;
} else if (strstr(typep, "ppc-xicp")) {
setup_kexec_cpu_down_xics();
smp_init_pseries_xics();
return;
-@@ -393,6 +406,7 @@
+@@ -393,6 +406,7 @@ static void pseries_dedicated_idle_sleep
{
unsigned int cpu = smp_processor_id();
unsigned long start_snooze;
/*
* Indicate to the HV that we are idle. Now would be
-@@ -400,6 +414,7 @@
+@@ -400,6 +414,7 @@ static void pseries_dedicated_idle_sleep
*/
get_lppaca()->idle = 1;
get_lppaca()->donate_dedicated_cpu = 1;
/*
* We come in with interrupts disabled, and need_resched()
-@@ -432,6 +447,8 @@
+@@ -432,6 +447,8 @@ static void pseries_dedicated_idle_sleep
out:
HMT_medium();
}
--- a/arch/powerpc/platforms/pseries/xics.c
+++ b/arch/powerpc/platforms/pseries/xics.c
-@@ -516,6 +516,8 @@
+@@ -516,6 +516,8 @@ static struct irq_chip xics_pic_lpar = {
.set_affinity = xics_set_affinity
};
static int xics_host_match(struct irq_host *h, struct device_node *node)
{
-@@ -526,23 +528,13 @@
+@@ -526,23 +528,13 @@ static int xics_host_match(struct irq_ho
return !of_device_is_compatible(node, "chrp,iic");
}
return 0;
}
-@@ -561,27 +553,20 @@
+@@ -561,27 +553,20 @@ static int xics_host_xlate(struct irq_ho
return 0;
}
XICS_IRQ_SPURIOUS);
BUG_ON(xics_host == NULL);
irq_set_default_host(xics_host);
-@@ -655,52 +640,6 @@
+@@ -655,52 +640,6 @@ static void __init xics_init_one_node(st
}
}
void __init xics_init_IRQ(void)
{
struct device_node *np;
-@@ -733,8 +672,6 @@
+@@ -733,8 +672,6 @@ void __init xics_init_IRQ(void)
xics_setup_cpu();
--- a/arch/powerpc/platforms/pseries/xics.h
+++ b/arch/powerpc/platforms/pseries/xics.h
-@@ -28,7 +28,4 @@
+@@ -28,7 +28,4 @@ struct xics_ipi_struct {
extern struct xics_ipi_struct xics_ipi_message[NR_CPUS] __cacheline_aligned;
#endif /* _POWERPC_KERNEL_XICS_H */
--- a/arch/powerpc/sysdev/Makefile
+++ b/arch/powerpc/sysdev/Makefile
-@@ -12,6 +12,7 @@
+@@ -12,6 +12,7 @@ obj-$(CONFIG_U3_DART) += dart_iommu.o
obj-$(CONFIG_MMIO_NVRAM) += mmio_nvram.o
obj-$(CONFIG_FSL_SOC) += fsl_soc.o
obj-$(CONFIG_FSL_PCI) += fsl_pci.o
obj-$(CONFIG_RAPIDIO) += fsl_rio.o
obj-$(CONFIG_TSI108_BRIDGE) += tsi108_pci.o tsi108_dev.o
obj-$(CONFIG_QUICC_ENGINE) += qe_lib/
-@@ -27,6 +28,7 @@
+@@ -27,6 +28,7 @@ obj-$(CONFIG_PPC_INDIRECT_PCI) += indire
obj-$(CONFIG_PPC_I8259) += i8259.o
obj-$(CONFIG_IPIC) += ipic.o
obj-$(CONFIG_4xx) += uic.o
cpm8xx_t __iomem *cpmp; /* Pointer to comm processor space */
immap_t __iomem *mpc8xx_immr;
static cpic8xx_t __iomem *cpic_reg;
-@@ -229,12 +226,7 @@
+@@ -229,12 +226,7 @@ void __init cpm_reset(void)
out_be32(&siu_conf->sc_sdcr, 1);
immr_unmap(siu_conf);
}
static DEFINE_SPINLOCK(cmd_lock);
-@@ -257,7 +249,7 @@
+@@ -257,7 +249,7 @@ int cpm_command(u32 command, u8 opcode)
if ((in_be16(&cpmp->cp_cpcr) & CPM_CR_FLG) == 0)
goto out;
ret = -EIO;
out:
spin_unlock_irqrestore(&cmd_lock, flags);
-@@ -293,110 +285,6 @@
+@@ -293,110 +285,6 @@ cpm_setbrg(uint brg, uint rate)
CPM_BRG_EN | CPM_BRG_DIV16);
}
cpm_cpm2_t __iomem *cpmp; /* Pointer to comm processor space */
/* We allocate this here because it is used almost exclusively for
-@@ -71,15 +67,17 @@
+@@ -71,15 +67,17 @@ void __init cpm2_reset(void)
/* Reclaim the DP memory for our use.
*/
}
static DEFINE_SPINLOCK(cmd_lock);
-@@ -99,7 +97,7 @@
+@@ -99,7 +97,7 @@ int cpm_command(u32 command, u8 opcode)
if ((in_be32(&cpmp->cp_cpcr) & CPM_CR_FLG) == 0)
goto out;
ret = -EIO;
out:
spin_unlock_irqrestore(&cmd_lock, flags);
-@@ -347,95 +345,6 @@
+@@ -347,95 +345,6 @@ int cpm2_smc_clk_setup(enum cpm_clk_targ
return ret;
}
u32 res[3];
--- a/arch/powerpc/sysdev/cpm_common.c
+++ b/arch/powerpc/sysdev/cpm_common.c
-@@ -58,7 +58,6 @@
+@@ -58,7 +58,6 @@ void __init udbg_init_cpm(void)
}
#endif
static spinlock_t cpm_muram_lock;
static rh_block_t cpm_boot_muram_rh_block[16];
static rh_info_t cpm_muram_info;
-@@ -199,5 +198,3 @@
+@@ -199,5 +198,3 @@ dma_addr_t cpm_muram_dma(void __iomem *a
return muram_pbase + ((u8 __iomem *)addr - muram_vbase);
}
EXPORT_SYMBOL(cpm_muram_dma);
+EXPORT_SYMBOL(fsl_upm_find);
--- a/arch/powerpc/sysdev/fsl_soc.c
+++ b/arch/powerpc/sysdev/fsl_soc.c
-@@ -75,6 +75,33 @@
+@@ -75,6 +75,33 @@ phys_addr_t get_immrbase(void)
EXPORT_SYMBOL(get_immrbase);
#if defined(CONFIG_CPM2) || defined(CONFIG_QUICC_ENGINE) || defined(CONFIG_8xx)
static u32 brgfreq = -1;
-@@ -516,9 +543,9 @@
+@@ -516,9 +543,9 @@ arch_initcall(fsl_i2c_of_init);
static int __init mpc83xx_wdt_init(void)
{
struct resource r;
int ret;
np = of_find_compatible_node(NULL, "watchdog", "mpc83xx_wdt");
-@@ -528,19 +555,6 @@
+@@ -528,19 +555,6 @@ static int __init mpc83xx_wdt_init(void)
goto nodev;
}
memset(&r, 0, sizeof(r));
ret = of_address_to_resource(np, 0, &r);
-@@ -553,20 +567,16 @@
+@@ -553,20 +567,16 @@ static int __init mpc83xx_wdt_init(void)
goto err;
}
of_node_put(np);
nodev:
return ret;
-@@ -735,547 +745,6 @@
+@@ -735,547 +745,6 @@ err:
arch_initcall(fsl_usb_of_init);
static int __init of_fsl_spi_probe(char *type, char *compatible, u32 sysclk,
struct spi_board_info *board_infos,
unsigned int num_board_infos,
-@@ -1371,25 +840,9 @@
+@@ -1371,25 +840,9 @@ int __init fsl_spi_init(struct spi_board
sysclk = get_brgfreq();
#endif
if (sysclk == -1) {
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
-@@ -175,13 +175,16 @@
+@@ -175,13 +175,16 @@ static inline void _mpic_write(enum mpic
switch(type) {
#ifdef CONFIG_PPC_DCR
case mpic_access_dcr:
}
}
-@@ -1000,7 +1003,7 @@
+@@ -1000,7 +1003,7 @@ struct mpic * __init mpic_alloc(struct d
const char *name)
{
struct mpic *mpic;
const char *vers;
int i;
int intvec_top;
-@@ -1064,7 +1067,8 @@
+@@ -1064,7 +1067,8 @@ struct mpic * __init mpic_alloc(struct d
/* Look for protected sources */
if (node) {
const u32 *psrc =
of_get_property(node, "protected-sources", &psize);
if (psrc) {
-@@ -1107,8 +1111,7 @@
+@@ -1107,8 +1111,7 @@ struct mpic * __init mpic_alloc(struct d
* in, try to obtain one
*/
if (paddr == 0 && !(mpic->flags & MPIC_USES_DCR)) {
BUG_ON(reg == NULL);
paddr = of_translate_address(node, reg);
BUG_ON(paddr == OF_BAD_ADDR);
-@@ -1137,12 +1140,13 @@
+@@ -1137,12 +1140,13 @@ struct mpic * __init mpic_alloc(struct d
* MPICs, num sources as well. On ISU MPICs, sources are counted
* as ISUs are added
*/
/* Map the per-CPU registers */
for (i = 0; i < mpic->num_cpus; i++) {
-@@ -1161,7 +1165,7 @@
+@@ -1161,7 +1165,7 @@ struct mpic * __init mpic_alloc(struct d
mpic->isu_mask = (1 << mpic->isu_shift) - 1;
/* Display version */
case 1:
vers = "1.0";
break;
-@@ -1321,7 +1325,7 @@
+@@ -1321,7 +1325,7 @@ void __init mpic_set_serial_int(struct m
void mpic_irq_set_priority(unsigned int irq, unsigned int pri)
{
struct mpic *mpic = mpic_find(irq, &is_ipi);
unsigned int src = mpic_irq_to_hw(irq);
unsigned long flags;
-@@ -1344,7 +1348,7 @@
+@@ -1344,7 +1348,7 @@ void mpic_irq_set_priority(unsigned int
unsigned int mpic_irq_get_priority(unsigned int irq)
{
struct mpic *mpic = mpic_find(irq, &is_ipi);
unsigned int src = mpic_irq_to_hw(irq);
unsigned long flags;
-@@ -1406,11 +1410,6 @@
+@@ -1406,11 +1410,6 @@ void mpic_cpu_set_priority(int prio)
mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), prio);
}
void mpic_teardown_this_cpu(int secondary)
{
struct mpic *mpic = mpic_primary;
-@@ -1430,6 +1429,10 @@
+@@ -1430,6 +1429,10 @@ void mpic_teardown_this_cpu(int secondar
/* Set current processor priority to max */
mpic_cpu_write(MPIC_INFO(CPU_CURRENT_TASK_PRI), 0xf);
}
--- a/arch/powerpc/sysdev/mv64x60_dev.c
+++ b/arch/powerpc/sysdev/mv64x60_dev.c
-@@ -127,7 +127,7 @@
+@@ -127,7 +127,7 @@ static int __init mv64x60_mpsc_device_se
if (err)
return err;
if (!prop)
return -ENODEV;
port_number = *(int *)prop;
-@@ -136,6 +136,7 @@
+@@ -136,6 +136,7 @@ static int __init mv64x60_mpsc_device_se
pdata.cache_mgmt = 1; /* All current revs need this set */
prop = of_get_property(np, "max_idle", NULL);
if (prop)
pdata.max_idle = *prop;
-@@ -205,30 +206,24 @@
+@@ -205,30 +206,24 @@ error:
/*
* Create mv64x60_eth platform devices
*/
{
struct resource r[1];
struct mv643xx_eth_platform_data pdata;
-@@ -239,16 +234,12 @@
+@@ -239,16 +234,12 @@ static int __init mv64x60_eth_device_set
const phandle *ph;
int err;
if (!prop)
return -ENODEV;
pdata.port_number = *prop;
-@@ -301,7 +292,7 @@
+@@ -301,7 +292,7 @@ static int __init mv64x60_eth_device_set
of_node_put(phy);
if (!pdev)
return -ENOMEM;
-@@ -345,21 +336,19 @@
+@@ -345,21 +336,19 @@ static int __init mv64x60_i2c_device_set
memset(&pdata, 0, sizeof(pdata));
pdev = platform_device_alloc(MV64XXX_I2C_CTLR_NAME, id);
if (!pdev)
-@@ -401,10 +390,7 @@
+@@ -401,10 +390,7 @@ static int __init mv64x60_wdt_device_set
memset(&pdata, 0, sizeof(pdata));
np = of_get_parent(np);
if (!np)
-@@ -441,27 +427,43 @@
+@@ -441,27 +427,43 @@ error:
static int __init mv64x60_device_setup(void)
{
if (np) {
if ((err = mv64x60_wdt_device_setup(np, id)))
goto error;
-@@ -489,10 +491,10 @@
+@@ -489,10 +491,10 @@ static int __init mv64x60_add_mpsc_conso
if (!np)
goto not_mpsc;
--- a/arch/powerpc/sysdev/mv64x60_pci.c
+++ b/arch/powerpc/sysdev/mv64x60_pci.c
-@@ -86,14 +86,14 @@
+@@ -86,14 +86,14 @@ static int __init mv64x60_sysfs_init(voi
struct platform_device *pdev;
const unsigned int *prop;
if (IS_ERR(pdev))
return PTR_ERR(pdev);
-@@ -166,6 +166,6 @@
+@@ -166,6 +166,6 @@ void __init mv64x60_pci_init(void)
{
struct device_node *np;
}
--- a/arch/powerpc/sysdev/mv64x60_pic.c
+++ b/arch/powerpc/sysdev/mv64x60_pic.c
-@@ -238,13 +238,13 @@
+@@ -238,13 +238,13 @@ void __init mv64x60_init_irq(void)
const unsigned int *reg;
unsigned long flags;
mv64x60_irq_reg_base = ioremap(paddr, reg[1]);
--- a/arch/powerpc/sysdev/mv64x60_udbg.c
+++ b/arch/powerpc/sysdev/mv64x60_udbg.c
-@@ -85,7 +85,7 @@
+@@ -85,7 +85,7 @@ static void mv64x60_udbg_init(void)
if (!stdout)
return;
}
--- a/arch/powerpc/sysdev/ppc4xx_pci.c
+++ b/arch/powerpc/sysdev/ppc4xx_pci.c
-@@ -527,6 +527,7 @@
+@@ -527,6 +527,7 @@ static void __init ppc4xx_probe_pcix_bri
*
* ibm,plb-pciex-440spe
* ibm,plb-pciex-405ex
*
* Anything else will be rejected for now as they are all subtly
* different unfortunately.
-@@ -645,7 +646,7 @@
+@@ -645,7 +646,7 @@ static int __init ppc440spe_pciex_core_i
int time_out = 20;
/* Set PLL clock receiver to LVPECL */
/* Shouldn't we do all the calibration stuff etc... here ? */
if (ppc440spe_pciex_check_reset(np))
-@@ -659,8 +660,7 @@
+@@ -659,8 +660,7 @@ static int __init ppc440spe_pciex_core_i
}
/* De-assert reset of PCIe PLL, wait for lock */
udelay(3);
while (time_out) {
-@@ -712,9 +712,8 @@
+@@ -712,9 +712,8 @@ static int ppc440spe_pciex_init_port_hw(
mtdcri(SDR0, port->sdr_base + PESDRn_440SPE_HSSL7SET1,
0x35000000);
}
return 0;
}
-@@ -775,6 +774,115 @@
+@@ -775,6 +774,115 @@ static struct ppc4xx_pciex_hwops ppc440s
.setup_utl = ppc440speB_pciex_init_utl,
};
#endif /* CONFIG_44x */
#ifdef CONFIG_40x
-@@ -830,17 +938,9 @@
+@@ -830,17 +938,9 @@ static int ppc405ex_pciex_init_port_hw(s
* PCIe boards don't show this problem.
* This has to be re-tested and fixed in a later release!
*/
dcr_write(port->dcrs, DCRO_PEGPL_CFG, 0x10000000); /* guarded on */
-@@ -896,6 +996,8 @@
+@@ -896,6 +996,8 @@ static int __init ppc4xx_pciex_check_cor
else
ppc4xx_pciex_hwops = &ppc440speB_pcie_hwops;
}
#endif /* CONFIG_44x */
#ifdef CONFIG_40x
if (of_device_is_compatible(np, "ibm,plb-pciex-405ex"))
-@@ -1042,8 +1144,7 @@
+@@ -1042,8 +1144,7 @@ static int __init ppc4xx_pciex_port_init
port->link = 0;
}
+}
--- a/arch/powerpc/sysdev/qe_lib/qe.c
+++ b/arch/powerpc/sysdev/qe_lib/qe.c
-@@ -55,7 +55,7 @@
+@@ -55,7 +55,7 @@ struct qe_snum {
/* We allocate this here because it is used almost exclusively for
* the communication processor devices.
*/
EXPORT_SYMBOL(qe_immr);
static struct qe_snum snums[QE_NUM_OF_SNUM]; /* Dynamically allocated SNUMs */
-@@ -156,7 +156,7 @@
+@@ -156,7 +156,7 @@ EXPORT_SYMBOL(qe_issue_cmd);
*/
static unsigned int brg_clk = 0;
{
struct device_node *qe;
unsigned int size;
-@@ -180,6 +180,7 @@
+@@ -180,6 +180,7 @@ unsigned int get_brg_clk(void)
return brg_clk;
}
/* Program the BRG to the given sampling rate and multiplier
*
-@@ -197,7 +198,7 @@
+@@ -197,7 +198,7 @@ int qe_setbrg(enum qe_clock brg, unsigne
if ((brg < QE_BRG1) || (brg > QE_BRG16))
return -EINVAL;
if (divisor > QE_BRGC_DIVISOR_MAX + 1) {
div16 = QE_BRGC_DIV16;
-@@ -415,12 +416,6 @@
+@@ -415,12 +416,6 @@ void qe_muram_dump(void)
}
EXPORT_SYMBOL(qe_muram_dump);
#include <asm/prom.h>
#include <sysdev/fsl_soc.h>
-@@ -41,7 +42,7 @@
+@@ -41,7 +42,7 @@ struct port_regs {
#endif
};
static int num_par_io_ports = 0;
int par_io_init(struct device_node *np)
-@@ -165,7 +166,7 @@
+@@ -165,7 +166,7 @@ int par_io_of_config(struct device_node
}
ph = of_get_property(np, "pio-handle", NULL);
printk(KERN_ERR "pio-handle not available \n");
return -1;
}
-@@ -200,7 +201,7 @@
+@@ -200,7 +201,7 @@ static void dump_par_io(void)
{
unsigned int i;
in_be32(&par_io[i].cpodr));
--- a/arch/powerpc/sysdev/qe_lib/ucc_fast.c
+++ b/arch/powerpc/sysdev/qe_lib/ucc_fast.c
-@@ -148,57 +148,57 @@
+@@ -148,57 +148,57 @@ int ucc_fast_init(struct ucc_fast_info *
/* check if the UCC port number is in range. */
if ((uf_info->ucc_num < 0) || (uf_info->ucc_num > UCC_MAX_NUM - 1)) {
return -ENOMEM;
}
-@@ -207,7 +207,7 @@
+@@ -207,7 +207,7 @@ int ucc_fast_init(struct ucc_fast_info *
/* Set the PHY base address */
uccf->uf_regs = ioremap(uf_info->regs, sizeof(struct ucc_fast));
if (uccf->uf_regs == NULL) {
return -ENOMEM;
}
-@@ -230,7 +230,7 @@
+@@ -230,7 +230,7 @@ int ucc_fast_init(struct ucc_fast_info *
/* Set UCC to fast type */
ret = ucc_set_type(uf_info->ucc_num, UCC_SPEED_TYPE_FAST);
if (ret) {
ucc_fast_free(uccf);
return ret;
}
-@@ -270,7 +270,7 @@
+@@ -270,7 +270,7 @@ int ucc_fast_init(struct ucc_fast_info *
qe_muram_alloc(uf_info->utfs, UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT);
if (IS_ERR_VALUE(uccf->ucc_fast_tx_virtual_fifo_base_offset)) {
printk(KERN_ERR "%s: cannot allocate MURAM for TX FIFO\n",
uccf->ucc_fast_tx_virtual_fifo_base_offset = 0;
ucc_fast_free(uccf);
return -ENOMEM;
-@@ -283,7 +283,7 @@
+@@ -283,7 +283,7 @@ int ucc_fast_init(struct ucc_fast_info *
UCC_FAST_VIRT_FIFO_REGS_ALIGNMENT);
if (IS_ERR_VALUE(uccf->ucc_fast_rx_virtual_fifo_base_offset)) {
printk(KERN_ERR "%s: cannot allocate MURAM for RX FIFO\n",
uccf->ucc_fast_rx_virtual_fifo_base_offset = 0;
ucc_fast_free(uccf);
return -ENOMEM;
-@@ -314,7 +314,7 @@
+@@ -314,7 +314,7 @@ int ucc_fast_init(struct ucc_fast_info *
ucc_set_qe_mux_rxtx(uf_info->ucc_num, uf_info->rx_clock,
COMM_DIR_RX)) {
printk(KERN_ERR "%s: illegal value for RX clock\n",
ucc_fast_free(uccf);
return -EINVAL;
}
-@@ -323,7 +323,7 @@
+@@ -323,7 +323,7 @@ int ucc_fast_init(struct ucc_fast_info *
ucc_set_qe_mux_rxtx(uf_info->ucc_num, uf_info->tx_clock,
COMM_DIR_TX)) {
printk(KERN_ERR "%s: illegal value for TX clock\n",
}
--- a/arch/powerpc/sysdev/qe_lib/ucc_slow.c
+++ b/arch/powerpc/sysdev/qe_lib/ucc_slow.c
-@@ -142,7 +142,7 @@
+@@ -142,7 +142,7 @@ int ucc_slow_init(struct ucc_slow_info *
/* check if the UCC port number is in range. */
if ((us_info->ucc_num < 0) || (us_info->ucc_num > UCC_MAX_NUM - 1)) {
return -EINVAL;
}
-@@ -161,7 +161,7 @@
+@@ -161,7 +161,7 @@ int ucc_slow_init(struct ucc_slow_info *
uccs = kzalloc(sizeof(struct ucc_slow_private), GFP_KERNEL);
if (!uccs) {
printk(KERN_ERR "%s: Cannot allocate private data\n",
return -ENOMEM;
}
-@@ -170,7 +170,7 @@
+@@ -170,7 +170,7 @@ int ucc_slow_init(struct ucc_slow_info *
/* Set the PHY base address */
uccs->us_regs = ioremap(us_info->regs, sizeof(struct ucc_slow));
if (uccs->us_regs == NULL) {
return -ENOMEM;
}
-@@ -189,7 +189,7 @@
+@@ -189,7 +189,7 @@ int ucc_slow_init(struct ucc_slow_info *
uccs->us_pram_offset =
qe_muram_alloc(UCC_SLOW_PRAM_SIZE, ALIGNMENT_OF_UCC_SLOW_PRAM);
if (IS_ERR_VALUE(uccs->us_pram_offset)) {
ucc_slow_free(uccs);
return -ENOMEM;
}
-@@ -202,7 +202,7 @@
+@@ -202,7 +202,7 @@ int ucc_slow_init(struct ucc_slow_info *
/* Set UCC to slow type */
ret = ucc_set_type(us_info->ucc_num, UCC_SPEED_TYPE_SLOW);
if (ret) {
ucc_slow_free(uccs);
return ret;
}
-@@ -216,7 +216,7 @@
+@@ -216,7 +216,7 @@ int ucc_slow_init(struct ucc_slow_info *
qe_muram_alloc(us_info->rx_bd_ring_len * sizeof(struct qe_bd),
QE_ALIGNMENT_OF_BD);
if (IS_ERR_VALUE(uccs->rx_base_offset)) {
us_info->rx_bd_ring_len);
uccs->rx_base_offset = 0;
ucc_slow_free(uccs);
-@@ -227,7 +227,7 @@
+@@ -227,7 +227,7 @@ int ucc_slow_init(struct ucc_slow_info *
qe_muram_alloc(us_info->tx_bd_ring_len * sizeof(struct qe_bd),
QE_ALIGNMENT_OF_BD);
if (IS_ERR_VALUE(uccs->tx_base_offset)) {
uccs->tx_base_offset = 0;
ucc_slow_free(uccs);
return -ENOMEM;
-@@ -317,7 +317,7 @@
+@@ -317,7 +317,7 @@ int ucc_slow_init(struct ucc_slow_info *
if (ucc_set_qe_mux_rxtx(us_info->ucc_num, us_info->rx_clock,
COMM_DIR_RX)) {
printk(KERN_ERR "%s: illegal value for RX clock\n",
ucc_slow_free(uccs);
return -EINVAL;
}
-@@ -325,7 +325,7 @@
+@@ -325,7 +325,7 @@ int ucc_slow_init(struct ucc_slow_info *
if (ucc_set_qe_mux_rxtx(us_info->ucc_num, us_info->tx_clock,
COMM_DIR_TX)) {
printk(KERN_ERR "%s: illegal value for TX clock\n",
}
--- a/arch/powerpc/sysdev/rtc_cmos_setup.c
+++ b/arch/powerpc/sysdev/rtc_cmos_setup.c
-@@ -56,3 +56,5 @@
+@@ -56,3 +56,5 @@ static int __init add_rtc(void)
return 0;
}
fs_initcall(add_rtc);
+MODULE_LICENSE("GPL");
--- a/arch/powerpc/sysdev/tsi108_dev.c
+++ b/arch/powerpc/sysdev/tsi108_dev.c
-@@ -84,7 +84,7 @@
+@@ -84,7 +84,7 @@ static int __init tsi108_eth_of_init(voi
ret = of_address_to_resource(np, 0, &r[0]);
DBG("%s: name:start->end = %s:0x%lx-> 0x%lx\n",
if (ret)
goto err;
-@@ -93,7 +93,7 @@
+@@ -93,7 +93,7 @@ static int __init tsi108_eth_of_init(voi
r[1].end = irq_of_parse_and_map(np, 0);
r[1].flags = IORESOURCE_IRQ;
DBG("%s: name:start->end = %s:0x%lx-> 0x%lx\n",
platform_device_register_simple("tsi-ethernet", i++, &r[0],
--- a/arch/powerpc/sysdev/tsi108_pci.c
+++ b/arch/powerpc/sysdev/tsi108_pci.c
-@@ -207,7 +207,7 @@
+@@ -207,7 +207,7 @@ int __init tsi108_setup_pci(struct devic
/* PCI Config mapping */
tsi108_pci_cfg_base = (u32)ioremap(cfg_phys, TSI108_PCI_CFG_SIZE);
tsi108_pci_cfg_phys = cfg_phys;
tsi108_pci_cfg_base);
/* Fetch host bridge registers address */
-@@ -395,7 +395,7 @@
+@@ -395,7 +395,7 @@ static int pci_irq_host_xlate(struct irq
static int pci_irq_host_map(struct irq_host *h, unsigned int virq,
irq_hw_number_t hw)
{ unsigned int irq;
#endif
#include "nonstdio.h"
-@@ -1244,15 +1243,12 @@
+@@ -1244,15 +1243,12 @@ static void get_function_bounds(unsigned
static int xmon_depth_to_print = 64;
#define REGS_OFFSET 16
#endif
-@@ -1318,7 +1314,7 @@
+@@ -1318,7 +1314,7 @@ static void xmon_show_stack(unsigned lon
/* Look for "regshere" marker to see if this is
an exception frame. */
if (mread(sp + MARKER_OFFSET, &marker, sizeof(unsigned long))
if (mread(sp + REGS_OFFSET, ®s, sizeof(regs))
!= sizeof(regs)) {
printf("Couldn't read registers at %lx\n",
-@@ -1598,7 +1594,6 @@
+@@ -1598,7 +1594,6 @@ void super_regs(void)
if (firmware_has_feature(FW_FEATURE_ISERIES)) {
struct paca_struct *ptrPaca;
struct lppaca *ptrLpPaca;
/* Dump out relevant Paca data areas. */
printf("Paca: \n");
-@@ -1611,15 +1606,6 @@
+@@ -1611,15 +1606,6 @@ void super_regs(void)
printf(" Saved Gpr3=%.16lx Saved Gpr4=%.16lx \n",
ptrLpPaca->saved_gpr3, ptrLpPaca->saved_gpr4);
printf(" Saved Gpr5=%.16lx \n", ptrLpPaca->saved_gpr5);
--- a/arch/ppc/8xx_io/fec.c
+++ b/arch/ppc/8xx_io/fec.c
-@@ -520,7 +520,7 @@
+@@ -520,7 +520,7 @@ fec_enet_interrupt(int irq, void * dev_i
#ifdef CONFIG_USE_MDIO
fec_enet_mii(dev);
#else
#endif /* CONFIG_USE_MDIO */
}
-@@ -1441,7 +1441,7 @@
+@@ -1441,7 +1441,7 @@ irqreturn_t mii_link_interrupt(int irq,
fecp->fec_ecntrl = ecntrl; /* restore old settings */
}
#else
#ifndef CONFIG_RPXCLASSIC
--- a/arch/ppc/kernel/head.S
+++ b/arch/ppc/kernel/head.S
-@@ -701,23 +701,6 @@
+@@ -701,23 +701,6 @@ load_up_altivec:
b fast_exception_return
/*
* and save the AltiVec registers in its thread_struct.
--- a/arch/ppc/mm/init.c
+++ b/arch/ppc/mm/init.c
-@@ -109,7 +109,6 @@
+@@ -109,7 +109,6 @@ void show_mem(void)
printk("Mem-info:\n");
show_free_areas();
total++;
--- a/arch/ppc/platforms/radstone_ppc7d.c
+++ b/arch/ppc/platforms/radstone_ppc7d.c
-@@ -512,7 +512,7 @@
+@@ -512,7 +512,7 @@ static void __init ppc7d_init_irq(void)
{
int irq;
i8259_init(0, 0);
mv64360_init_irq();
-@@ -569,7 +569,7 @@
+@@ -569,7 +569,7 @@ static int __init ppc7d_map_irq(struct p
};
const long min_idsel = 10, max_idsel = 14, irqs_per_slot = 4;
dev->vendor, dev->device, PCI_FUNC(dev->devfn), idsel, pin);
return PCI_IRQ_TABLE_LOOKUP;
-@@ -1300,7 +1300,7 @@
+@@ -1300,7 +1300,7 @@ static void ppc7d_init2(void)
u32 data;
u8 data8;
/* Wait for debugger? */
if (ppc7d_wait_debugger) {
-@@ -1333,7 +1333,7 @@
+@@ -1333,7 +1333,7 @@ static void ppc7d_init2(void)
ppc_md.set_rtc_time = ppc7d_set_rtc_time;
ppc_md.get_rtc_time = ppc7d_get_rtc_time;
/* Called from machine_init(), early, before any of the __init functions
--- a/arch/ppc/syslib/mpc52xx_setup.c
+++ b/arch/ppc/syslib/mpc52xx_setup.c
-@@ -279,7 +279,7 @@
+@@ -279,7 +279,7 @@ int mpc52xx_match_psc_function(int psc_i
int mpc52xx_set_psc_clkdiv(int psc_id, int clkdiv)
{
u16 mclken_div;
--- a/arch/sparc64/Kconfig
+++ b/arch/sparc64/Kconfig
-@@ -16,6 +16,7 @@
+@@ -16,6 +16,7 @@ config SPARC64
bool
default y
select HAVE_IDE
Sun Microsystems, incorporated. This port covers the newer 64-bit
--- a/drivers/block/viodasd.c
+++ b/drivers/block/viodasd.c
-@@ -69,7 +69,7 @@
+@@ -69,7 +69,7 @@ MODULE_LICENSE("GPL");
enum {
PARTITION_SHIFT = 3,
MAX_DISKNO = HVMAXARCHITECTEDVIRTUALDISKS,
static DEFINE_SPINLOCK(viodasd_spinlock);
--- a/drivers/char/hvc_beat.c
+++ b/drivers/char/hvc_beat.c
-@@ -78,8 +78,8 @@
+@@ -78,8 +78,8 @@ static int hvc_beat_put_chars(uint32_t v
for (rest = cnt; rest > 0; rest -= nlen) {
nlen = (rest > 16) ? 16 : rest;
memcpy(kb, buf, nlen);
}
/**
-@@ -117,20 +117,8 @@
+@@ -117,20 +117,8 @@ static inline u32 buffer_icap_get_bram(v
**/
static inline bool buffer_icap_busy(void __iomem *base_address)
{
/* Loads a partial bitstream from system memory. */
int buffer_icap_set_configuration(struct hwicap_drvdata *drvdata, u32 *data,
u32 Size);
-@@ -54,4 +52,7 @@
+@@ -54,4 +52,7 @@ int buffer_icap_set_configuration(struct
int buffer_icap_get_configuration(struct hwicap_drvdata *drvdata, u32 *data,
u32 Size);
#define XHI_WFO_MAX_VACANCY 1024 /* Max Write FIFO Vacancy, in words */
#define XHI_RFO_MAX_OCCUPANCY 256 /* Max Read FIFO Occupancy, in words */
-@@ -152,13 +145,35 @@
+@@ -152,13 +145,35 @@ static inline void fifo_icap_start_readb
}
/**
--- a/drivers/char/xilinx_hwicap/fifo_icap.h
+++ b/drivers/char/xilinx_hwicap/fifo_icap.h
-@@ -56,6 +56,7 @@
+@@ -56,6 +56,7 @@ int fifo_icap_set_configuration(
u32 *FrameBuffer,
u32 NumWords);
/* An array, which is set to true when the device is registered. */
static bool probed_devices[HWICAP_DEVICES];
static struct mutex icap_sem;
-@@ -250,8 +246,26 @@
+@@ -250,8 +246,26 @@ static int hwicap_get_configuration_regi
* Create the data to be written to the ICAP.
*/
buffer[index++] = XHI_DUMMY_PACKET;
buffer[index++] = hwicap_type_1_read(reg) | 1;
buffer[index++] = XHI_NOOP_PACKET;
buffer[index++] = XHI_NOOP_PACKET;
-@@ -587,7 +601,7 @@
+@@ -587,7 +601,7 @@ static int __devinit hwicap_setup(struct
probed_devices[id] = 1;
mutex_unlock(&icap_sem);
drvdata = kzalloc(sizeof(struct hwicap_drvdata), GFP_KERNEL);
if (!drvdata) {
-@@ -664,12 +678,14 @@
+@@ -664,12 +678,14 @@ static int __devinit hwicap_setup(struct
static struct hwicap_driver_config buffer_icap_config = {
.get_configuration = buffer_icap_get_configuration,
.set_configuration = buffer_icap_set_configuration,
.reset = fifo_icap_reset,
};
-@@ -690,7 +706,7 @@
+@@ -690,7 +706,7 @@ static int __devexit hwicap_remove(struc
dev_set_drvdata(dev, NULL);
mutex_lock(&icap_sem);
mutex_unlock(&icap_sem);
return 0; /* success */
}
-@@ -830,23 +846,12 @@
+@@ -830,23 +846,12 @@ static int __init hwicap_module_init(voi
icap_class = class_create(THIS_MODULE, "xilinx_config");
mutex_init(&icap_sem);
retval = platform_driver_register(&hwicap_platform_driver);
-@@ -871,7 +876,7 @@
+@@ -871,7 +876,7 @@ static int __init hwicap_module_init(voi
static void __exit hwicap_module_cleanup(void)
{
--- a/drivers/char/xilinx_hwicap/xilinx_hwicap.h
+++ b/drivers/char/xilinx_hwicap/xilinx_hwicap.h
-@@ -65,10 +65,27 @@
+@@ -65,10 +65,27 @@ struct hwicap_drvdata {
};
struct hwicap_driver_config {
void (*reset)(struct hwicap_drvdata *drvdata);
};
-@@ -163,6 +180,13 @@
+@@ -163,6 +180,13 @@ struct config_registers {
/* Constant to use for CRC check when CRC has been disabled */
#define XHI_DISABLED_AUTO_CRC 0x0000DEFCUL
struct fsl_elbc_ctrl;
/* mtd information per set */
-@@ -261,7 +66,7 @@
+@@ -261,7 +66,7 @@ struct fsl_elbc_ctrl {
/* device info */
struct device *dev;
int irq;
wait_queue_head_t irq_wait;
unsigned int irq_status; /* status read from LTESR by irq handler */
-@@ -322,7 +127,7 @@
+@@ -322,7 +127,7 @@ static void set_addr(struct mtd_info *mt
struct nand_chip *chip = mtd->priv;
struct fsl_elbc_mtd *priv = chip->priv;
struct fsl_elbc_ctrl *ctrl = priv->ctrl;
int buf_num;
ctrl->page = page_addr;
-@@ -363,7 +168,7 @@
+@@ -363,7 +168,7 @@ static int fsl_elbc_run_command(struct m
struct nand_chip *chip = mtd->priv;
struct fsl_elbc_mtd *priv = chip->priv;
struct fsl_elbc_ctrl *ctrl = priv->ctrl;
/* Setup the FMR[OP] to execute without write protection */
out_be32(&lbc->fmr, priv->fmr | 3);
-@@ -406,7 +211,7 @@
+@@ -406,7 +211,7 @@ static void fsl_elbc_do_read(struct nand
{
struct fsl_elbc_mtd *priv = chip->priv;
struct fsl_elbc_ctrl *ctrl = priv->ctrl;
if (priv->page_size) {
out_be32(&lbc->fir,
-@@ -439,7 +244,7 @@
+@@ -439,7 +244,7 @@ static void fsl_elbc_cmdfunc(struct mtd_
struct nand_chip *chip = mtd->priv;
struct fsl_elbc_mtd *priv = chip->priv;
struct fsl_elbc_ctrl *ctrl = priv->ctrl;
ctrl->use_mdr = 0;
-@@ -775,7 +580,7 @@
+@@ -775,7 +580,7 @@ static int fsl_elbc_wait(struct mtd_info
{
struct fsl_elbc_mtd *priv = chip->priv;
struct fsl_elbc_ctrl *ctrl = priv->ctrl;
if (ctrl->status != LTESR_CC)
return NAND_STATUS_FAIL;
-@@ -807,7 +612,7 @@
+@@ -807,7 +612,7 @@ static int fsl_elbc_chip_init_tail(struc
struct nand_chip *chip = mtd->priv;
struct fsl_elbc_mtd *priv = chip->priv;
struct fsl_elbc_ctrl *ctrl = priv->ctrl;
unsigned int al;
/* calculate FMR Address Length field */
-@@ -922,7 +727,7 @@
+@@ -922,7 +727,7 @@ static void fsl_elbc_write_page(struct m
static int fsl_elbc_chip_init(struct fsl_elbc_mtd *priv)
{
struct fsl_elbc_ctrl *ctrl = priv->ctrl;
struct nand_chip *chip = &priv->chip;
dev_dbg(priv->dev, "eLBC Set Information for bank %d\n", priv->bank);
-@@ -986,7 +791,7 @@
+@@ -986,7 +791,7 @@ static int fsl_elbc_chip_remove(struct f
static int fsl_elbc_chip_probe(struct fsl_elbc_ctrl *ctrl,
struct device_node *node)
{
struct fsl_elbc_mtd *priv;
struct resource res;
#ifdef CONFIG_MTD_PARTITIONS
-@@ -1083,7 +888,7 @@
+@@ -1083,7 +888,7 @@ err:
static int __devinit fsl_elbc_ctrl_init(struct fsl_elbc_ctrl *ctrl)
{
/* clear event registers */
setbits32(&lbc->ltesr, LTESR_NAND_MASK);
-@@ -1128,7 +933,7 @@
+@@ -1128,7 +933,7 @@ static int __devexit fsl_elbc_ctrl_remov
static irqreturn_t fsl_elbc_ctrl_irq(int irqno, void *data)
{
struct fsl_elbc_ctrl *ctrl = data;
if (status) {
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
-@@ -219,7 +219,8 @@
+@@ -219,7 +219,8 @@ obj-$(CONFIG_SMC911X) += smc911x.o
obj-$(CONFIG_BFIN_MAC) += bfin_mac.o
obj-$(CONFIG_DM9000) += dm9000.o
obj-$(CONFIG_FEC_8XX) += fec_8xx/
--- a/drivers/net/iseries_veth.c
+++ b/drivers/net/iseries_veth.c
-@@ -308,7 +308,8 @@
+@@ -308,7 +308,8 @@ static void veth_complete_allocation(voi
static int veth_allocate_events(HvLpIndex rlp, int number)
{
MODULE_LICENSE("GPL");
MODULE_AUTHOR ("Olof Johansson <olof@lixom.net>");
MODULE_DESCRIPTION("PA Semi PWRficient Ethernet driver");
-@@ -94,6 +79,8 @@
+@@ -94,6 +79,8 @@ static int debug = -1; /* -1 == use DEFA
module_param(debug, int, 0);
MODULE_PARM_DESC(debug, "PA Semi MAC bitmapped debugging message enable value");
static int translation_enabled(void)
{
#if defined(CONFIG_PPC_PASEMI_IOMMU_DMA_FORCE)
-@@ -322,6 +309,104 @@
+@@ -322,6 +309,104 @@ static int pasemi_mac_unmap_tx_skb(struc
return (nfrags + 3) & ~1;
}
static int pasemi_mac_setup_rx_resources(const struct net_device *dev)
{
struct pasemi_mac_rxring *ring;
-@@ -445,7 +530,7 @@
+@@ -445,7 +530,7 @@ pasemi_mac_setup_tx_resources(const stru
cfg = PAS_DMA_TXCHAN_CFG_TY_IFACE |
PAS_DMA_TXCHAN_CFG_TATTR(mac->dma_if) |
PAS_DMA_TXCHAN_CFG_UP |
if (translation_enabled())
cfg |= PAS_DMA_TXCHAN_CFG_TRD | PAS_DMA_TXCHAN_CFG_TRR;
-@@ -810,13 +895,21 @@
+@@ -810,13 +895,21 @@ restart:
u64 mactx = TX_DESC(txring, i);
struct sk_buff *skb;
if (unlikely(mactx & XCT_MACTX_O))
/* Not yet transmitted */
break;
-@@ -1041,13 +1134,7 @@
+@@ -1041,13 +1134,7 @@ static int pasemi_mac_open(struct net_de
{
struct pasemi_mac *mac = netdev_priv(dev);
unsigned int flags;
flags = PAS_MAC_CFG_TXP_FCE | PAS_MAC_CFG_TXP_FPC(3) |
PAS_MAC_CFG_TXP_SL(3) | PAS_MAC_CFG_TXP_COB(0xf) |
-@@ -1064,6 +1151,19 @@
+@@ -1064,6 +1151,19 @@ static int pasemi_mac_open(struct net_de
if (!mac->tx)
goto out_tx_ring;
/* 0x3ff with 33MHz clock is about 31us */
write_iob_reg(PAS_IOB_DMA_COM_TIMEOUTCFG,
PAS_IOB_DMA_COM_TIMEOUTCFG_TCNT(0x3ff));
-@@ -1247,7 +1347,7 @@
+@@ -1247,7 +1347,7 @@ static int pasemi_mac_close(struct net_d
{
struct pasemi_mac *mac = netdev_priv(dev);
unsigned int sta;
rxch = rx_ring(mac)->chan.chno;
txch = tx_ring(mac)->chan.chno;
-@@ -1292,6 +1392,13 @@
+@@ -1292,6 +1392,13 @@ static int pasemi_mac_close(struct net_d
free_irq(mac->tx->chan.irq, mac->tx);
free_irq(mac->rx->chan.irq, mac->rx);
/* Free resources */
pasemi_mac_free_rx_resources(mac);
pasemi_mac_free_tx_resources(mac);
-@@ -1299,35 +1406,113 @@
+@@ -1299,35 +1406,113 @@ static int pasemi_mac_close(struct net_d
return 0;
}
nfrags = skb_shinfo(skb)->nr_frags;
-@@ -1350,24 +1535,46 @@
+@@ -1350,24 +1535,46 @@ static int pasemi_mac_start_tx(struct sk
}
}
TX_DESC(txring, fill) = mactx;
TX_DESC_INFO(txring, fill).dma = nfrags;
fill++;
-@@ -1441,12 +1648,33 @@
+@@ -1441,12 +1648,33 @@ static int pasemi_mac_poll(struct napi_s
return pkts;
}
if (new_mtu < PE_MIN_MTU || new_mtu > PE_MAX_MTU)
return -EINVAL;
-@@ -1468,6 +1696,16 @@
+@@ -1468,6 +1696,16 @@ static int pasemi_mac_change_mtu(struct
pasemi_mac_pause_rxint(mac);
pasemi_mac_clean_rx(rx_ring(mac), RX_RING_SIZE);
pasemi_mac_free_rx_buffers(mac);
}
/* Change maxf, i.e. what size frames are accepted.
-@@ -1482,6 +1720,7 @@
+@@ -1482,6 +1720,7 @@ static int pasemi_mac_change_mtu(struct
/* MTU + ETH_HLEN + VLAN_HLEN + 2 64B cachelines */
mac->bufsz = new_mtu + ETH_HLEN + ETH_FCS_LEN + LOCAL_SKB_ALIGN + 128;
if (running) {
write_dma_reg(PAS_DMA_RXINT_RCMDSTA(mac->dma_if),
rcmdsta | PAS_DMA_RXINT_RCMDSTA_EN);
-@@ -1494,7 +1733,7 @@
+@@ -1494,7 +1733,7 @@ static int pasemi_mac_change_mtu(struct
pasemi_mac_intf_enable(mac);
}
}
static int __devinit
-@@ -1528,7 +1767,7 @@
+@@ -1528,7 +1767,7 @@ pasemi_mac_probe(struct pci_dev *pdev, c
netif_napi_add(dev, &mac->napi, pasemi_mac_poll, 64);
dev->features = NETIF_F_IP_CSUM | NETIF_F_LLTX | NETIF_F_SG |
mac->lro_mgr.max_aggr = LRO_MAX_AGGR;
mac->lro_mgr.max_desc = MAX_LRO_DESCRIPTORS;
-@@ -1588,8 +1827,12 @@
+@@ -1588,8 +1827,12 @@ pasemi_mac_probe(struct pci_dev *pdev, c
dev->mtu = PE_DEF_MTU;
/* 1500 MTU + ETH_HLEN + VLAN_HLEN + 2 64B cachelines */
mac->bufsz = dev->mtu + ETH_HLEN + ETH_FCS_LEN + LOCAL_SKB_ALIGN + 128;
struct pasemi_mac_txring {
struct pasemi_dmachan chan; /* Must be first */
-@@ -51,6 +58,15 @@
+@@ -51,6 +58,15 @@ struct pasemi_mac_rxring {
struct pasemi_mac *mac; /* Needed in intr handler */
};
struct pasemi_mac {
struct net_device *netdev;
struct pci_dev *pdev;
-@@ -60,10 +76,12 @@
+@@ -60,10 +76,12 @@ struct pasemi_mac {
struct napi_struct napi;
int bufsz; /* RX ring buffer size */
u8 mac_addr[6];
-@@ -74,6 +92,7 @@
+@@ -74,6 +92,7 @@ struct pasemi_mac {
struct pasemi_mac_txring *tx;
struct pasemi_mac_rxring *rx;
char tx_irq_name[10]; /* "eth%d tx" */
char rx_irq_name[10]; /* "eth%d rx" */
int link;
-@@ -90,6 +109,16 @@
+@@ -90,6 +109,16 @@ struct pasemi_mac_buffer {
dma_addr_t dma;
};
/* PCI register offsets and formats */
-@@ -101,6 +130,7 @@
+@@ -101,6 +130,7 @@ enum {
PAS_MAC_CFG_ADR0 = 0x8c,
PAS_MAC_CFG_ADR1 = 0x90,
PAS_MAC_CFG_TXP = 0x98,
PAS_MAC_IPC_CHNL = 0x208,
};
-@@ -172,6 +202,8 @@
+@@ -172,6 +202,8 @@ enum {
#define PAS_MAC_CFG_TXP_TIFG(x) (((x) << PAS_MAC_CFG_TXP_TIFG_S) & \
PAS_MAC_CFG_TXP_TIFG_M)
#define PAS_MAC_IPC_CHNL_DCHNO_M 0x003f0000
#define PAS_MAC_IPC_CHNL_DCHNO_S 16
#define PAS_MAC_IPC_CHNL_DCHNO(x) (((x) << PAS_MAC_IPC_CHNL_DCHNO_S) & \
-@@ -181,4 +213,5 @@
+@@ -181,4 +213,5 @@ enum {
#define PAS_MAC_IPC_CHNL_BCH(x) (((x) << PAS_MAC_IPC_CHNL_BCH_S) & \
PAS_MAC_IPC_CHNL_BCH_M)
+
--- a/drivers/net/ps3_gelic_net.c
+++ b/drivers/net/ps3_gelic_net.c
-@@ -1266,6 +1266,85 @@
+@@ -1266,6 +1266,85 @@ int gelic_net_set_rx_csum(struct net_dev
return 0;
}
static struct ethtool_ops gelic_ether_ethtool_ops = {
.get_drvinfo = gelic_net_get_drvinfo,
.get_settings = gelic_ether_get_settings,
-@@ -1274,6 +1353,8 @@
+@@ -1274,6 +1353,8 @@ static struct ethtool_ops gelic_ether_et
.set_tx_csum = ethtool_op_set_tx_csum,
.get_rx_csum = gelic_net_get_rx_csum,
.set_rx_csum = gelic_net_set_rx_csum,
/**
--- a/drivers/net/ps3_gelic_net.h
+++ b/drivers/net/ps3_gelic_net.h
-@@ -182,12 +182,32 @@
+@@ -182,12 +182,32 @@ enum gelic_lv1_net_control_code {
GELIC_LV1_GET_ETH_PORT_STATUS = 2,
GELIC_LV1_SET_NEGOTIATION_MODE = 3,
GELIC_LV1_GET_VLAN_ID = 4,
GELIC_LV1_ETHER_LINK_UP = 0x0000000000000001L,
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
-@@ -3853,7 +3853,13 @@
+@@ -3853,7 +3853,13 @@ static int ucc_geth_probe(struct of_devi
ugeth_vdbg("%s: IN", __FUNCTION__);
return -ENODEV;
--- a/drivers/net/ucc_geth_mii.c
+++ b/drivers/net/ucc_geth_mii.c
-@@ -203,9 +203,14 @@
+@@ -203,9 +203,14 @@ static int uec_mdio_probe(struct of_devi
if ((res.start >= tempres.start) &&
(res.end <= tempres.end)) {
/* set this UCC to be the MII master */
+obj-$(CONFIG_OF_I2C) += i2c.o
--- a/drivers/of/base.c
+++ b/drivers/of/base.c
-@@ -117,6 +117,32 @@
+@@ -117,6 +117,32 @@ int of_device_is_compatible(const struct
EXPORT_SYMBOL(of_device_is_compatible);
/**
#include <asm/ps3.h>
#include "vuart.h"
-@@ -187,6 +188,7 @@
+@@ -187,6 +188,7 @@ enum ps3_sys_manager_next_op {
* controller, and bluetooth controller.
* @PS3_SM_WAKE_RTC:
* @PS3_SM_WAKE_RTC_ERROR:
* @PS3_SM_WAKE_P_O_R: Power on reset.
*
* Additional wakeup sources when specifying PS3_SM_NEXT_OP_SYS_SHUTDOWN.
-@@ -200,10 +202,19 @@
+@@ -200,10 +202,19 @@ enum ps3_sys_manager_wake_source {
PS3_SM_WAKE_DEFAULT = 0,
PS3_SM_WAKE_RTC = 0x00000040,
PS3_SM_WAKE_RTC_ERROR = 0x00000080,
* enum ps3_sys_manager_cmd - Command from system manager to guest.
*
* The guest completes the actions needed, then acks or naks the command via
-@@ -581,6 +592,23 @@
+@@ -581,6 +592,23 @@ fail_id:
return -EIO;
}
/**
* ps3_sys_manager_final_power_off - The final platform machine_power_off routine.
*
-@@ -601,13 +629,9 @@
+@@ -601,13 +629,9 @@ static void ps3_sys_manager_final_power_
ps3_vuart_cancel_async(dev);
ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_SYS_SHUTDOWN,
}
/**
-@@ -638,14 +662,42 @@
+@@ -638,14 +662,42 @@ static void ps3_sys_manager_final_restar
ps3_sys_manager_send_attr(dev, 0);
ps3_sys_manager_send_next_op(dev, PS3_SM_NEXT_OP_SYS_REBOOT,
#include <asm/ps3.h>
/**
-@@ -50,10 +51,7 @@
+@@ -50,10 +51,7 @@ void ps3_sys_manager_power_off(void)
if (ps3_sys_manager_ops.power_off)
ps3_sys_manager_ops.power_off(ps3_sys_manager_ops.dev);
}
void ps3_sys_manager_restart(void)
-@@ -61,8 +59,14 @@
+@@ -61,8 +59,14 @@ void ps3_sys_manager_restart(void)
if (ps3_sys_manager_ops.restart)
ps3_sys_manager_ops.restart(ps3_sys_manager_ops.dev);
+
--- a/drivers/serial/cpm_uart/cpm_uart.h
+++ b/drivers/serial/cpm_uart/cpm_uart.h
-@@ -92,6 +92,9 @@
+@@ -92,6 +92,9 @@ extern struct uart_cpm_port cpm_uart_por
/* these are located in their respective files */
void cpm_line_cr_cmd(struct uart_cpm_port *port, int cmd);
void cpm_uart_freebuf(struct uart_cpm_port *pinfo);
--- a/drivers/serial/cpm_uart/cpm_uart_core.c
+++ b/drivers/serial/cpm_uart/cpm_uart_core.c
-@@ -966,24 +966,23 @@
+@@ -966,24 +966,23 @@ static int cpm_uart_init_port(struct dev
if (!mem)
return -ENOMEM;
}
pinfo->tx_nrfifos = TX_NUM_FIFO;
-@@ -1007,7 +1006,7 @@
+@@ -1007,7 +1006,7 @@ static int cpm_uart_init_port(struct dev
return cpm_uart_request_port(&pinfo->port);
out_pram:
#include "cpm_uart.h"
/**************************************************************/
-@@ -54,6 +56,18 @@
+@@ -54,6 +56,18 @@ void cpm_line_cr_cmd(struct uart_cpm_por
{
cpm_command(port->command, cmd);
}
#include <linux/serial_core.h>
#include <linux/kernel.h>
-@@ -54,6 +57,55 @@
+@@ -54,6 +57,55 @@ void cpm_line_cr_cmd(struct uart_cpm_por
{
cpm_command(port->command, cmd);
}
{
--- a/drivers/serial/of_serial.c
+++ b/drivers/serial/of_serial.c
-@@ -56,7 +56,9 @@
+@@ -56,7 +56,9 @@ static int __devinit of_platform_serial_
port->flags = UPF_SHARE_IRQ | UPF_BOOT_AUTOCONF | UPF_IOREMAP
| UPF_FIXED_PORT;
port->dev = &ofdev->dev;
}
--- a/drivers/serial/ucc_uart.c
+++ b/drivers/serial/ucc_uart.c
-@@ -1270,10 +1270,18 @@
+@@ -1270,10 +1270,18 @@ static int ucc_uart_probe(struct of_devi
/* Get the UCC number (device ID) */
/* UCCs are numbered 1-7 */
header-y += auxvec.h
header-y += ioctls.h
header-y += mman.h
-@@ -23,7 +24,6 @@
+@@ -23,7 +24,6 @@ header-y += sigcontext.h
header-y += statfs.h
header-y += ps3fb.h
struct mschunks_map {
--- a/include/asm-powerpc/bitops.h
+++ b/include/asm-powerpc/bitops.h
-@@ -312,24 +312,26 @@
+@@ -312,24 +312,26 @@ static __inline__ int fls(unsigned int x
asm ("cntlzw %0,%1" : "=r" (lz) : "r" (x));
return 32 - lz;
}
((PG << 26) | (SBC << 21) | (MCN << 6) | OP)
--- a/include/asm-powerpc/cputhreads.h
+++ b/include/asm-powerpc/cputhreads.h
-@@ -35,7 +35,7 @@
+@@ -35,7 +35,7 @@ static inline cpumask_t cpu_thread_mask_
res = CPU_MASK_NONE;
for (i = 0; i < NR_CPUS; i += threads_per_core) {
}
--- a/include/asm-powerpc/dcr-native.h
+++ b/include/asm-powerpc/dcr-native.h
-@@ -82,6 +82,19 @@
+@@ -82,6 +82,19 @@ static inline void __mtdcri(int base_add
spin_unlock_irqrestore(&dcr_ind_lock, flags);
}
#define mfdcri(base, reg) __mfdcri(DCRN_ ## base ## _CONFIG_ADDR, \
DCRN_ ## base ## _CONFIG_DATA, \
reg)
-@@ -90,6 +103,10 @@
+@@ -90,6 +103,10 @@ static inline void __mtdcri(int base_add
DCRN_ ## base ## _CONFIG_DATA, \
reg, data)
#endif /* __DCR_REGS_H__ */
--- a/include/asm-powerpc/exception.h
+++ b/include/asm-powerpc/exception.h
-@@ -228,18 +228,18 @@
+@@ -228,18 +228,18 @@ label##_pSeries: \
BEGIN_FW_FTR_SECTION; \
stb r11,PACAHARDIRQEN(r13); \
END_FW_FTR_SECTION_IFCLR(FW_FEATURE_ISERIES); \
+#endif /* __ASM_POWERPC_GPIO_H */
--- a/include/asm-powerpc/hw_irq.h
+++ b/include/asm-powerpc/hw_irq.h
-@@ -27,7 +27,7 @@
+@@ -27,7 +27,7 @@ static inline unsigned long local_get_fl
return flags;
}
{
unsigned long flags, zero;
-@@ -39,14 +39,15 @@
+@@ -39,14 +39,15 @@ static inline unsigned long local_irq_di
return flags;
}
#define QE_IMMAP_SIZE (1024 * 1024) /* 1MB from 1MB+IMMR */
-@@ -468,7 +469,7 @@
+@@ -468,7 +469,7 @@ struct qe_immap {
u8 res18[0xC0000]; /* 0x140000 - 0x200000 */
} __attribute__ ((packed));
#endif /* _ASM_POWERPC_LMB_H */
--- a/include/asm-powerpc/machdep.h
+++ b/include/asm-powerpc/machdep.h
-@@ -68,6 +68,8 @@
+@@ -68,6 +68,8 @@ struct machdep_calls {
unsigned long vflags,
int psize, int ssize);
long (*hpte_remove)(unsigned long hpte_group);
void (*flush_hash_range)(unsigned long number, int local);
/* special for kexec, to be called in real mode, linar mapping is
-@@ -196,9 +198,6 @@
+@@ -196,9 +198,6 @@ struct machdep_calls {
May be NULL. */
void (*init)(void);
unsigned long vdso_base;
--- a/include/asm-powerpc/mmu-hash32.h
+++ b/include/asm-powerpc/mmu-hash32.h
-@@ -84,8 +84,6 @@
+@@ -84,8 +84,6 @@ typedef struct {
unsigned long vdso_base;
} mm_context_t;
#endif /* _ASM_POWERPC_MMU_HASH32_H_ */
--- a/include/asm-powerpc/mmu-hash64.h
+++ b/include/asm-powerpc/mmu-hash64.h
-@@ -469,9 +469,6 @@
+@@ -469,9 +469,6 @@ static inline unsigned long get_vsid(uns
VSID_MODULUS_256M)
#define KERNEL_VSID(ea) VSID_SCRAMBLE(GET_ESID(ea))
#endif /* _ASM_POWERPC_MMU_HASH64_H_ */
--- a/include/asm-powerpc/paca.h
+++ b/include/asm-powerpc/paca.h
-@@ -42,10 +42,7 @@
+@@ -42,10 +42,7 @@ struct task_struct;
* Defines the layout of the paca.
*
* This structure is not directly accessed by firmware or the service
*/
struct paca_struct {
/*
-@@ -55,14 +52,7 @@
+@@ -55,14 +52,7 @@ struct paca_struct {
* avoid cacheline bouncing.
*/
*
* Hardware register layout and descriptor formats for the on-board
* DMA engine on PA Semi PWRficient. Used by ethernet, function and security
-@@ -40,6 +40,11 @@
+@@ -40,6 +40,11 @@ enum {
PAS_DMA_COM_TXSTA = 0x104, /* Transmit Status Register */
PAS_DMA_COM_RXCMD = 0x108, /* Receive Command Register */
PAS_DMA_COM_RXSTA = 0x10c, /* Receive Status Register */
};
-@@ -123,11 +128,16 @@
+@@ -123,11 +128,16 @@ enum {
#define PAS_DMA_TXCHAN_TCMDSTA_DA 0x00000100
#define PAS_DMA_TXCHAN_CFG(c) (0x304+(c)*_PAS_DMA_TXCHAN_STRIDE)
#define PAS_DMA_TXCHAN_CFG_TY_IFACE 0x00000000 /* Type = interface */
#define PAS_DMA_TXCHAN_CFG_WT_S 6
#define PAS_DMA_TXCHAN_CFG_WT(x) (((x) << PAS_DMA_TXCHAN_CFG_WT_S) & \
PAS_DMA_TXCHAN_CFG_WT_M)
-@@ -394,11 +404,62 @@
+@@ -394,11 +404,62 @@ enum {
XCT_COPY_LLEN_M)
#define XCT_COPY_SE 0x0000000000000001ull
#define CTRL_CMD_REG_S 0
#define CTRL_CMD_REG(x) ((((long)(x)) << CTRL_CMD_REG_S) & \
CTRL_CMD_REG_M)
-@@ -461,6 +522,16 @@
+@@ -461,6 +522,16 @@ extern void *pasemi_dma_alloc_buf(struct
extern void pasemi_dma_free_buf(struct pasemi_dmachan *chan, int size,
dma_addr_t *handle);
--- a/include/asm-powerpc/pci-bridge.h
+++ b/include/asm-powerpc/pci-bridge.h
-@@ -117,7 +117,7 @@
+@@ -117,7 +117,7 @@ struct pci_controller {
#ifndef CONFIG_PPC64
{
return bus->sysdata;
}
-@@ -235,7 +235,7 @@
+@@ -235,7 +235,7 @@ extern void pcibios_fixup_new_pci_device
extern int pcibios_remove_root_bus(struct pci_controller *phb);
--- a/include/asm-powerpc/pgtable-ppc32.h
+++ b/include/asm-powerpc/pgtable-ppc32.h
-@@ -98,9 +98,6 @@
+@@ -98,9 +98,6 @@ extern int icache_44x_need_flush;
#define USER_PTRS_PER_PGD (TASK_SIZE / PGDIR_SIZE)
#define FIRST_USER_ADDRESS 0
#define pte_ERROR(e) \
printk("%s:%d: bad pte %llx.\n", __FILE__, __LINE__, \
(unsigned long long)pte_val(e))
-@@ -420,7 +417,8 @@
+@@ -420,7 +417,8 @@ extern int icache_44x_need_flush;
#define _PAGE_IO (_PAGE_KERNEL | _PAGE_NO_CACHE | _PAGE_GUARDED)
#define _PAGE_RAM (_PAGE_KERNEL | _PAGE_HWEXEC)
/* We want the debuggers to be able to set breakpoints anywhere, so
* don't write protect the kernel text */
#define _PAGE_RAM_TEXT _PAGE_RAM
-@@ -692,7 +690,7 @@
+@@ -692,7 +690,7 @@ extern pgprot_t phys_mem_access_prot(str
#define pmd_page_vaddr(pmd) \
((unsigned long) (pmd_val(pmd) & PAGE_MASK))
#define pmd_page(pmd) \
+#endif /* __ASM_POWERPC_PPC4xx_H__ */
--- a/include/asm-powerpc/ps3.h
+++ b/include/asm-powerpc/ps3.h
-@@ -434,8 +434,11 @@
+@@ -434,8 +434,11 @@ struct ps3_sys_manager_ops {
};
void ps3_sys_manager_register_ops(const struct ps3_sys_manager_ops *ops);
const char *name;
--- a/include/asm-powerpc/ptrace.h
+++ b/include/asm-powerpc/ptrace.h
-@@ -58,6 +58,11 @@
+@@ -58,6 +58,11 @@ struct pt_regs {
#define __ARCH_WANT_COMPAT_SYS_PTRACE
#define STACK_FRAME_OVERHEAD 112 /* size of minimum stack frame */
/* Size of dummy stack frame allocated when calling signal handler. */
#define __SIGNAL_FRAMESIZE 128
-@@ -66,6 +71,10 @@
+@@ -66,6 +71,10 @@ struct pt_regs {
#else /* __powerpc64__ */
#define STACK_FRAME_OVERHEAD 16 /* size of minimum stack frame */
#define __SIGNAL_FRAMESIZE 64
--- a/include/asm-powerpc/qe.h
+++ b/include/asm-powerpc/qe.h
-@@ -85,6 +85,7 @@
+@@ -85,6 +85,7 @@ extern int par_io_data_set(u8 port, u8 p
/* QE internal API */
int qe_issue_cmd(u32 cmd, u32 device, u8 mcn_protocol, u32 cmd_input);
enum qe_clock qe_clock_source(const char *source);
int qe_setbrg(enum qe_clock brg, unsigned int rate, unsigned int multiplier);
int qe_get_snum(void);
void qe_put_snum(u8 snum);
-@@ -92,7 +93,16 @@
+@@ -92,7 +93,16 @@ unsigned long qe_muram_alloc(int size, i
int qe_muram_free(unsigned long offset);
unsigned long qe_muram_alloc_fixed(unsigned long offset, int size);
void qe_muram_dump(void);
*
--- a/include/asm-powerpc/rwsem.h
+++ b/include/asm-powerpc/rwsem.h
-@@ -32,11 +32,20 @@
+@@ -32,11 +32,20 @@ struct rw_semaphore {
#define RWSEM_ACTIVE_WRITE_BIAS (RWSEM_WAITING_BIAS + RWSEM_ACTIVE_BIAS)
spinlock_t wait_lock;
struct list_head wait_list;
#define DECLARE_RWSEM(name) \
struct rw_semaphore name = __RWSEM_INITIALIZER(name)
-@@ -46,12 +55,15 @@
+@@ -46,12 +55,15 @@ extern struct rw_semaphore *rwsem_down_w
extern struct rw_semaphore *rwsem_wake(struct rw_semaphore *sem);
extern struct rw_semaphore *rwsem_downgrade_wake(struct rw_semaphore *sem);
/*
* lock for reading
-@@ -78,7 +90,7 @@
+@@ -78,7 +90,7 @@ static inline int __down_read_trylock(st
/*
* lock for writing
*/
{
int tmp;
-@@ -88,6 +100,11 @@
+@@ -88,6 +100,11 @@ static inline void __down_write(struct r
rwsem_down_write_failed(sem);
}
#define __HAVE_ARCH_STRCAT
#define __HAVE_ARCH_MEMSET
#define __HAVE_ARCH_MEMCPY
-@@ -18,6 +19,7 @@
+@@ -18,6 +19,7 @@ extern char * strcpy(char *,const char *
extern char * strncpy(char *,const char *, __kernel_size_t);
extern __kernel_size_t strlen(const char *);
extern int strcmp(const char *,const char *);
extern void * memcpy(void *,const void *,__kernel_size_t);
--- a/include/asm-powerpc/types.h
+++ b/include/asm-powerpc/types.h
-@@ -84,6 +84,13 @@
+@@ -84,6 +84,13 @@ typedef unsigned long long u64;
typedef __vector128 vector128;
+#endif /* _LINUX_LMB_H */
--- a/include/linux/of.h
+++ b/include/linux/of.h
-@@ -62,6 +62,7 @@
+@@ -62,6 +62,7 @@ extern struct property *of_find_property
int *lenp);
extern int of_device_is_compatible(const struct device_node *device,
const char *);
+#endif /* __LINUX_OF_I2C_H */
--- a/lib/Kconfig
+++ b/lib/Kconfig
-@@ -141,4 +141,7 @@
+@@ -141,4 +141,7 @@ config HAS_DMA
config CHECK_SIGNATURE
bool
endmenu
--- a/lib/Makefile
+++ b/lib/Makefile
-@@ -70,6 +70,8 @@
+@@ -70,6 +70,8 @@ obj-$(CONFIG_FAULT_INJECTION) += fault-i
lib-$(CONFIG_GENERIC_BUG) += bug.o
--- 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);
-@@ -903,7 +904,7 @@
+@@ -903,7 +904,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);
-@@ -1315,3 +1316,5 @@
+@@ -1315,3 +1316,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
-@@ -775,7 +775,7 @@
+@@ -775,7 +775,7 @@ static int noinline init_post(void)
numa_default_policy();
if (sys_open((const char __user *) "/dev/console", O_RDWR, 0) < 0)
--- a/fs/jffs2/erase.c
+++ b/fs/jffs2/erase.c
-@@ -35,6 +35,8 @@
+@@ -35,6 +35,8 @@ static void jffs2_erase_block(struct jff
{
int ret;
uint32_t bad_offset;
#ifdef __ECOS
ret = jffs2_flash_erase(c, jeb);
if (!ret) {
-@@ -47,6 +49,11 @@
+@@ -47,6 +49,11 @@ static void jffs2_erase_block(struct jff
D1(printk(KERN_DEBUG "jffs2_erase_block(): erase block %#08x (range %#08x-%#08x)\n",
jeb->offset, jeb->offset, jeb->offset + c->sector_size));
#include <linux/types.h>
#ifdef __KERNEL__
-@@ -232,4 +236,6 @@
+@@ -232,4 +236,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/scripts/gen_initramfs_list.sh
+++ b/scripts/gen_initramfs_list.sh
-@@ -125,7 +125,7 @@
+@@ -125,7 +125,7 @@ parse() {
str="${ftype} ${name} ${location} ${str}"
;;
"nod")
local maj=`field 5 ${dev}`
local min=`field 6 ${dev}`
maj=${maj%,}
-@@ -135,7 +135,7 @@
+@@ -135,7 +135,7 @@ parse() {
str="${ftype} ${name} ${str} ${dev} ${maj} ${min}"
;;
"slink")
--- a/drivers/mtd/devices/m25p80.c
+++ b/drivers/mtd/devices/m25p80.c
-@@ -627,12 +627,10 @@
+@@ -627,12 +627,10 @@ static int __devinit m25p_probe(struct s
struct mtd_partition *parts = NULL;
int nr_parts = 0;
+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
-@@ -3685,6 +3685,11 @@
+@@ -3685,6 +3685,11 @@ M: dbrownell@users.sourceforge.net
L: spi-devel-general@lists.sourceforge.net
S: Maintained
+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
-@@ -1736,6 +1736,11 @@
+@@ -1736,6 +1736,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
#
-@@ -381,13 +381,13 @@
+@@ -381,13 +381,13 @@ ks8695p ARCH_KS8695P KS8695P 363
se4000 ARCH_SE4000 SE4000 364
quadriceps ARCH_QUADRICEPS QUADRICEPS 365
bronco ARCH_BRONCO BRONCO 366
rcube ARCH_RCUBE RCUBE 374
rea_olv ARCH_REA_OLV REA_OLV 375
pxa_iphone ARCH_PXA_IPHONE PXA_IPHONE 376
-@@ -1463,7 +1463,7 @@
+@@ -1463,7 +1463,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
-@@ -1611,3 +1611,112 @@
+@@ -1611,3 +1611,112 @@ kb9263 MACH_KB9263 KB9263 1612
mt7108 MACH_MT7108 MT7108 1613
smtr2440 MACH_SMTR2440 SMTR2440 1614
manao MACH_MANAO MANAO 1615
--- a/crypto/Kconfig
+++ b/crypto/Kconfig
-@@ -593,3 +593,6 @@
+@@ -593,3 +593,6 @@ config CRYPTO_LZO
source "drivers/crypto/Kconfig"
endif # if CRYPTO
+
--- a/crypto/Makefile
+++ b/crypto/Makefile
-@@ -65,6 +65,8 @@
+@@ -65,6 +65,8 @@ obj-$(CONFIG_CRYPTO_LZO) += lzo.o
obj-$(CONFIG_CRYPTO_TEST) += tcrypt.o
* All of these routines try to estimate how many bits of randomness a
* particular randomness source. They do this by keeping track of the
* first and second order deltas of the event timings.
-@@ -669,6 +679,61 @@
+@@ -669,6 +679,61 @@ void add_disk_randomness(struct gendisk
}
#endif
/*********************************************************************
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
-@@ -202,6 +202,7 @@
+@@ -202,6 +202,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/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
-@@ -68,6 +68,9 @@
+@@ -68,6 +68,9 @@ static void gpio_ensure_requested(struct
if (test_and_set_bit(FLAG_REQUESTED, &desc->flags) == 0) {
pr_warning("GPIO-%d autorequested\n", (int)(desc - gpio_desc));
desc_set_label(desc, "[auto]");
}
}
-@@ -177,6 +180,9 @@
+@@ -177,6 +180,9 @@ int gpio_request(unsigned gpio, const ch
if (desc->chip == NULL)
goto done;
/* NOTE: gpio_request() can be called in early boot,
* before IRQs are enabled.
*/
-@@ -184,8 +190,10 @@
+@@ -184,8 +190,10 @@ int gpio_request(unsigned gpio, const ch
if (test_and_set_bit(FLAG_REQUESTED, &desc->flags) == 0) {
desc_set_label(desc, label ? : "?");
status = 0;
done:
if (status)
-@@ -209,9 +217,10 @@
+@@ -209,9 +217,10 @@ void gpio_free(unsigned gpio)
spin_lock_irqsave(&gpio_lock, flags);
desc = &gpio_desc[gpio];
/**
* struct gpio_chip - abstract a GPIO controller
-@@ -48,6 +49,7 @@
+@@ -48,6 +49,7 @@ struct seq_file;
*/
struct gpio_chip {
char *label;
--- a/Documentation/gpio.txt
+++ b/Documentation/gpio.txt
-@@ -107,6 +107,16 @@
+@@ -107,6 +107,16 @@ type of GPIO controller, and on one part
The numbers need not be contiguous; either of those platforms could also
use numbers 2000-2063 to identify GPIOs in a bank of I2C GPIO expanders.
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
-@@ -99,7 +99,7 @@
+@@ -99,7 +99,7 @@ int gpiochip_add(struct gpio_chip *chip)
* dynamic allocation. We don't currently support that.
*/
status = -EINVAL;
goto fail;
}
-@@ -174,7 +174,7 @@
+@@ -174,7 +174,7 @@ int gpio_request(unsigned gpio, const ch
spin_lock_irqsave(&gpio_lock, flags);
goto done;
desc = &gpio_desc[gpio];
if (desc->chip == NULL)
-@@ -209,7 +209,7 @@
+@@ -209,7 +209,7 @@ void gpio_free(unsigned gpio)
unsigned long flags;
struct gpio_desc *desc;
WARN_ON(extra_checks);
return;
}
-@@ -245,7 +245,7 @@
+@@ -245,7 +245,7 @@ const char *gpiochip_is_requested(struct
{
unsigned gpio = chip->base + offset;
return NULL;
if (test_bit(FLAG_REQUESTED, &gpio_desc[gpio].flags) == 0)
return NULL;
-@@ -276,7 +276,7 @@
+@@ -276,7 +276,7 @@ int gpio_direction_input(unsigned gpio)
spin_lock_irqsave(&gpio_lock, flags);
goto fail;
chip = desc->chip;
if (!chip || !chip->get || !chip->direction_input)
-@@ -314,7 +314,7 @@
+@@ -314,7 +314,7 @@ int gpio_direction_output(unsigned gpio,
spin_lock_irqsave(&gpio_lock, flags);
goto fail;
chip = desc->chip;
if (!chip || !chip->set || !chip->direction_output)
-@@ -531,7 +531,7 @@
+@@ -531,7 +531,7 @@ static int gpiolib_show(struct seq_file
/* REVISIT this isn't locked against gpio_chip removal ... */
struct seq_file;
struct module;
-@@ -99,6 +105,16 @@
+@@ -99,6 +105,16 @@ extern int __gpio_cansleep(unsigned gpio
#else
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
-@@ -80,6 +80,33 @@
+@@ -80,6 +80,33 @@ static inline struct gpio_chip *gpio_to_
return gpio_desc[gpio].chip;
}
/**
* gpiochip_add() - register a gpio_chip
* @chip: the chip to register, with chip->base initialized
-@@ -88,38 +115,49 @@
+@@ -88,38 +115,49 @@ static inline struct gpio_chip *gpio_to_
* Returns a negative errno if the chip can't be registered, such as
* because the chip->base is invalid or already associated with a
* different chip. Otherwise it returns zero as a success code.
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
-@@ -43,6 +43,7 @@
+@@ -43,6 +43,7 @@ struct gpio_desc {
/* flag symbols are bit numbers */
#define FLAG_REQUESTED 0
#define FLAG_IS_OUT 1
#ifdef CONFIG_DEBUG_FS
const char *label;
-@@ -88,9 +89,10 @@
+@@ -88,9 +89,10 @@ static int gpiochip_find_base(int ngpio)
int base = -ENOSPC;
for (i = ARCH_NR_GPIOS - 1; i >= 0 ; i--) {
spare++;
if (spare == ngpio) {
base = i;
-@@ -98,7 +100,8 @@
+@@ -98,7 +100,8 @@ static int gpiochip_find_base(int ngpio)
}
} else {
spare = 0;
}
}
-@@ -108,6 +111,47 @@
+@@ -108,6 +111,47 @@ static int gpiochip_find_base(int ngpio)
}
/**
* Context: potentially before irqs or kmalloc will work
--- a/include/asm-generic/gpio.h
+++ b/include/asm-generic/gpio.h
-@@ -74,6 +74,7 @@
+@@ -74,6 +74,7 @@ struct gpio_chip {
extern const char *gpiochip_is_requested(struct gpio_chip *chip,
unsigned offset);
--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
-@@ -127,7 +127,7 @@
+@@ -127,7 +127,7 @@ int __init gpiochip_reserve(int start, i
unsigned long flags;
int i;
return -EINVAL;
spin_lock_irqsave(&gpio_lock, flags);
-@@ -170,7 +170,7 @@
+@@ -170,7 +170,7 @@ int gpiochip_add(struct gpio_chip *chip)
unsigned id;
int base = chip->base;
&& base >= 0) {
status = -EINVAL;
goto fail;
-@@ -207,7 +207,7 @@
+@@ -207,7 +207,7 @@ fail:
/* failures here can mean systems won't boot... */
if (status)
pr_err("gpiochip_add: gpios %d..%d (%s) not registered\n",
--- a/drivers/usb/serial/sierra.c
+++ b/drivers/usb/serial/sierra.c
-@@ -166,14 +166,19 @@
+@@ -166,14 +166,19 @@ static struct usb_device_id id_table []
{ USB_DEVICE(0x1199, 0x6815) }, /* Sierra Wireless MC8775 */
{ USB_DEVICE(0x03f0, 0x1e1d) }, /* HP hs2300 a.k.a MC8775 */
{ USB_DEVICE(0x1199, 0x6820) }, /* Sierra Wireless AirCard 875 */
--- 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/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 @@
+@@ -129,6 +129,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 @@
+@@ -57,6 +57,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 @@
+@@ -288,6 +288,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,17 @@
+@@ -309,6 +309,17 @@ struct phy_device {
void (*adjust_link)(struct net_device *dev);
void (*adjust_state)(struct net_device *dev);
--- a/include/linux/netdevice.h
+++ b/include/linux/netdevice.h
-@@ -613,6 +613,7 @@
+@@ -613,6 +613,7 @@ struct net_device
void *ax25_ptr; /* AX.25 specific data */
struct wireless_dev *ieee80211_ptr; /* IEEE 802.11 specific data,
assign before registering */
--- a/drivers/net/phy/Kconfig
+++ b/drivers/net/phy/Kconfig
-@@ -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
--- 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.
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;
-Index: linux-2.6.23.17/arch/mips/Kconfig
-===================================================================
---- linux-2.6.23.17.orig/arch/mips/Kconfig
-+++ linux-2.6.23.17/arch/mips/Kconfig
+--- a/arch/mips/Kconfig
++++ b/arch/mips/Kconfig
@@ -595,6 +595,20 @@ config WR_PPMC
This enables support for the Wind River MIPS32 4KC PPMC evaluation
board, which is based on GT64120 bridge chip.
default "5"
config HAVE_STD_PC_SERIAL_PORT
-Index: linux-2.6.23.17/arch/mips/Makefile
-===================================================================
---- linux-2.6.23.17.orig/arch/mips/Makefile
-+++ linux-2.6.23.17/arch/mips/Makefile
+--- a/arch/mips/Makefile
++++ b/arch/mips/Makefile
@@ -300,6 +300,13 @@ load-$(CONFIG_LEMOTE_FULONG) +=0xfffffff
cflags-$(CONFIG_LEMOTE_FULONG) += -Iinclude/asm-mips/mach-lemote
# For all MIPS, Inc. eval boards
#
core-$(CONFIG_MIPS_BOARDS_GEN) += arch/mips/mips-boards/generic/
-Index: linux-2.6.23.17/arch/mips/pci/Makefile
-===================================================================
---- linux-2.6.23.17.orig/arch/mips/pci/Makefile
-+++ linux-2.6.23.17/arch/mips/pci/Makefile
+--- a/arch/mips/pci/Makefile
++++ b/arch/mips/pci/Makefile
@@ -46,3 +46,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
+obj-$(CONFIG_MIKROTIK_RB500) += pci-rc32434.o ops-rc32434.o fixup-rb500.o
-Index: linux-2.6.23.17/drivers/pci/Makefile
-===================================================================
---- linux-2.6.23.17.orig/drivers/pci/Makefile
-+++ linux-2.6.23.17/drivers/pci/Makefile
+--- a/drivers/pci/Makefile
++++ b/drivers/pci/Makefile
@@ -32,6 +32,7 @@ obj-$(CONFIG_PPC32) += setup-irq.o
obj-$(CONFIG_PPC64) += setup-bus.o
obj-$(CONFIG_MIPS) += setup-bus.o setup-irq.o
#
# ACPI Related PCI FW Functions
-Index: linux-2.6.23.17/include/asm-mips/bootinfo.h
-===================================================================
---- linux-2.6.23.17.orig/include/asm-mips/bootinfo.h
-+++ linux-2.6.23.17/include/asm-mips/bootinfo.h
+--- a/include/asm-mips/bootinfo.h
++++ b/include/asm-mips/bootinfo.h
@@ -208,6 +208,11 @@
#define MACH_GROUP_WINDRIVER 28 /* Windriver boards */
#define MACH_WRPPMC 1
#define CL_SIZE COMMAND_LINE_SIZE
const char *get_system_type(void);
-Index: linux-2.6.23.17/include/asm-mips/cpu.h
-===================================================================
---- linux-2.6.23.17.orig/include/asm-mips/cpu.h
-+++ linux-2.6.23.17/include/asm-mips/cpu.h
+--- a/include/asm-mips/cpu.h
++++ b/include/asm-mips/cpu.h
@@ -217,8 +217,9 @@
#define CPU_R14000 64
#define CPU_LOONGSON1 65
-Index: linux-2.6.23.17/drivers/net/Kconfig
-===================================================================
---- linux-2.6.23.17.orig/drivers/net/Kconfig
-+++ linux-2.6.23.17/drivers/net/Kconfig
+--- a/drivers/net/Kconfig
++++ b/drivers/net/Kconfig
@@ -348,6 +348,13 @@ config AX88796
AX88796 driver, using platform bus to provide
chip detection and resources
config MACE
tristate "MACE (Power Mac ethernet) support"
depends on PPC_PMAC && PPC32
-Index: linux-2.6.23.17/drivers/net/Makefile
-===================================================================
---- linux-2.6.23.17.orig/drivers/net/Makefile
-+++ linux-2.6.23.17/drivers/net/Makefile
+--- a/drivers/net/Makefile
++++ b/drivers/net/Makefile
@@ -25,6 +25,8 @@ ucc_geth_driver-objs := ucc_geth.o ucc_g
#
obj-$(CONFIG_PLIP) += plip.o
-Index: linux-2.6.23.17/drivers/block/Kconfig
-===================================================================
---- linux-2.6.23.17.orig/drivers/block/Kconfig
-+++ linux-2.6.23.17/drivers/block/Kconfig
+--- a/drivers/block/Kconfig
++++ b/drivers/block/Kconfig
@@ -426,6 +426,14 @@ config SUNVDC
Support for virtual disk devices as a client under Sun
Logical Domains.
source "drivers/s390/block/Kconfig"
config XILINX_SYSACE
-Index: linux-2.6.23.17/drivers/block/Makefile
-===================================================================
---- linux-2.6.23.17.orig/drivers/block/Makefile
-+++ linux-2.6.23.17/drivers/block/Makefile
+--- a/drivers/block/Makefile
++++ b/drivers/block/Makefile
@@ -21,6 +21,7 @@ obj-$(CONFIG_BLK_DEV_DAC960) += DAC960.o
obj-$(CONFIG_XILINX_SYSACE) += xsysace.o
obj-$(CONFIG_CDROM_PKTCDVD) += pktcdvd.o
-Index: linux-2.6.23.17/arch/mips/kernel/head.S
-===================================================================
---- linux-2.6.23.17.orig/arch/mips/kernel/head.S
-+++ linux-2.6.23.17/arch/mips/kernel/head.S
+--- a/arch/mips/kernel/head.S
++++ b/arch/mips/kernel/head.S
@@ -132,6 +132,10 @@
j kernel_entry
-Index: linux-2.6.23.17/arch/mips/pci/pci.c
-===================================================================
---- linux-2.6.23.17.orig/arch/mips/pci/pci.c
-+++ linux-2.6.23.17/arch/mips/pci/pci.c
+--- a/arch/mips/pci/pci.c
++++ b/arch/mips/pci/pci.c
@@ -64,8 +64,10 @@ pcibios_align_resource(void *data, struc
/*
* Put everything into 0x00-0xff region modulo 0x400
-Index: linux-2.6.23.17/drivers/serial/8250.c
-===================================================================
---- linux-2.6.23.17.orig/drivers/serial/8250.c
-+++ linux-2.6.23.17/drivers/serial/8250.c
+--- a/drivers/serial/8250.c
++++ b/drivers/serial/8250.c
@@ -433,6 +433,13 @@ serial_out(struct uart_8250_port *up, in
default:
outb(value, up->port.iobase + offset);
-Index: linux-2.6.23.17/drivers/net/via-rhine.c
-===================================================================
---- linux-2.6.23.17.orig/drivers/net/via-rhine.c
-+++ linux-2.6.23.17/drivers/net/via-rhine.c
+--- a/drivers/net/via-rhine.c
++++ b/drivers/net/via-rhine.c
@@ -33,6 +33,8 @@
#define DRV_VERSION "1.4.3"
#define DRV_RELDATE "2007-03-06"
-Index: linux-2.6.23.17/drivers/leds/Kconfig
-===================================================================
---- linux-2.6.23.17.orig/drivers/leds/Kconfig
-+++ linux-2.6.23.17/drivers/leds/Kconfig
+--- a/drivers/leds/Kconfig
++++ b/drivers/leds/Kconfig
@@ -107,6 +107,12 @@ config LEDS_GPIO
outputs. To be useful the particular board must have LEDs
and they must be connected to the GPIO lines.
comment "LED Triggers"
config LEDS_TRIGGERS
-Index: linux-2.6.23.17/drivers/leds/Makefile
-===================================================================
---- linux-2.6.23.17.orig/drivers/leds/Makefile
-+++ linux-2.6.23.17/drivers/leds/Makefile
+--- a/drivers/leds/Makefile
++++ b/drivers/leds/Makefile
@@ -18,6 +18,7 @@ obj-$(CONFIG_LEDS_ALIX) += leds-alix.o
obj-$(CONFIG_LEDS_H1940) += leds-h1940.o
obj-$(CONFIG_LEDS_COBALT) += leds-cobalt.o
-Index: linux-2.6.23.17/arch/mips/kernel/time.c
-===================================================================
---- linux-2.6.23.17.orig/arch/mips/kernel/time.c
-+++ linux-2.6.23.17/arch/mips/kernel/time.c
+--- a/arch/mips/kernel/time.c
++++ b/arch/mips/kernel/time.c
@@ -479,3 +479,5 @@ EXPORT_SYMBOL(rtc_lock);
EXPORT_SYMBOL(to_tm);
EXPORT_SYMBOL(rtc_mips_set_time);
EXPORT_SYMBOL(rtc_mips_get_time);
+EXPORT_SYMBOL(mips_hpt_frequency);
+
-Index: linux-2.6.23.17/drivers/char/watchdog/Kconfig
-===================================================================
---- linux-2.6.23.17.orig/drivers/char/watchdog/Kconfig
-+++ linux-2.6.23.17/drivers/char/watchdog/Kconfig
+--- a/drivers/char/watchdog/Kconfig
++++ b/drivers/char/watchdog/Kconfig
@@ -647,6 +647,19 @@ config WATCHDOG_RTAS
To compile this driver as a module, choose M here. The module
will be called wdrtas.
# S390 Architecture
config ZVM_WATCHDOG
-Index: linux-2.6.23.17/drivers/char/watchdog/Makefile
-===================================================================
---- linux-2.6.23.17.orig/drivers/char/watchdog/Makefile
-+++ linux-2.6.23.17/drivers/char/watchdog/Makefile
+--- a/drivers/char/watchdog/Makefile
++++ b/drivers/char/watchdog/Makefile
@@ -90,6 +90,7 @@ obj-$(CONFIG_SBC_EPX_C3_WATCHDOG) += sbc
obj-$(CONFIG_INDYDOG) += indydog.o
obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o
-diff -urN linux-2.6.17/drivers/mtd/maps/Kconfig linux-2.6.17.new/drivers/mtd/maps/Kconfig
---- linux-2.6.17/drivers/mtd/maps/Kconfig 2006-06-18 03:49:35.000000000 +0200
-+++ linux-2.6.17.new/drivers/mtd/maps/Kconfig 2006-09-24 20:28:11.000000000 +0200
-@@ -76,6 +76,50 @@
+--- a/drivers/mtd/maps/Kconfig
++++ b/drivers/mtd/maps/Kconfig
+@@ -117,6 +117,50 @@ config MTD_PNC2000
PNC-2000 is the name of Network Camera product from PHOTRON
Ltd. in Japan. It uses CFI-compliant flash.
config MTD_SC520CDP
tristate "CFI Flash device mapped on AMD SC520 CDP"
depends on X86 && MTD_CFI && MTD_CONCAT
-diff -urN linux-2.6.17/drivers/mtd/maps/Makefile linux-2.6.17.new/drivers/mtd/maps/Makefile
---- linux-2.6.17/drivers/mtd/maps/Makefile 2006-06-18 03:49:35.000000000 +0200
-+++ linux-2.6.17.new/drivers/mtd/maps/Makefile 2006-09-24 20:26:10.000000000 +0200
-@@ -28,6 +28,7 @@
- obj-$(CONFIG_MTD_PHYSMAP) += physmap.o
+--- a/drivers/mtd/maps/Makefile
++++ b/drivers/mtd/maps/Makefile
+@@ -30,6 +30,7 @@ obj-$(CONFIG_MTD_PMC_MSP_EVM) += pmcms
+ obj-$(CONFIG_MTD_PMC_MSP_RAMROOT)+= pmcmsp-ramroot.o
obj-$(CONFIG_MTD_PNC2000) += pnc2000.o
obj-$(CONFIG_MTD_PCMCIA) += pcmciamtd.o
+obj-$(CONFIG_MTD_RDC3210) += rdc3210.o
-diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
-index 97b64d7..f8c1d32 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
-@@ -79,6 +79,10 @@ config GENERIC_BUG
- default y
- depends on BUG
-
+@@ -81,6 +81,10 @@ config GENERIC_BUG
+ default y
+ depends on BUG
+
+config GENERIC_GPIO
+ bool
+ default n
+
config GENERIC_HWEIGHT
- bool
- default y
+ bool
+ default y
-diff -urN linux-2.6.17/drivers/net/Kconfig linux-2.6.17.new/drivers/net/Kconfig
---- linux-2.6.17/drivers/net/Kconfig 2006-06-18 03:49:35.000000000 +0200
-+++ linux-2.6.17.new/drivers/net/Kconfig 2006-09-25 13:14:27.000000000 +0200
-@@ -1358,6 +1358,24 @@
- <file:Documentation/networking/net-modules.txt>. The module will be
- called apricot.
+--- a/drivers/net/Kconfig
++++ b/drivers/net/Kconfig
+@@ -1449,6 +1449,24 @@ config APRICOT
+ To compile this driver as a module, choose M here. The module
+ will be called apricot.
+config R6040
+ tristate "RDC Fast-Ethernet support (EXPERIMENTAL)"
+ depends on R6040
+ default y
config B44
- tristate "Broadcom 4400 ethernet support (EXPERIMENTAL)"
- depends on NET_PCI && PCI && EXPERIMENTAL
-diff -urN linux-2.6.17/drivers/net/Makefile linux-2.6.17.new/drivers/net/Makefile
---- linux-2.6.17/drivers/net/Makefile 2006-06-18 03:49:35.000000000 +0200
-+++ linux-2.6.17.new/drivers/net/Makefile 2006-09-25 13:14:45.000000000 +0200
-@@ -106,6 +106,7 @@
+ tristate "Broadcom 440x/47xx ethernet support"
+ depends on SSB_POSSIBLE
+--- a/drivers/net/Makefile
++++ b/drivers/net/Makefile
+@@ -116,6 +116,7 @@ obj-$(CONFIG_LNE390) += lne390.o 8390.o
obj-$(CONFIG_NE3210) += ne3210.o 8390.o
- obj-$(CONFIG_NET_SB1250_MAC) += sb1250-mac.o
+ obj-$(CONFIG_SB1250_MAC) += sb1250-mac.o
obj-$(CONFIG_B44) += b44.o
+obj-$(CONFIG_R6040) += r6040.o
obj-$(CONFIG_FORCEDETH) += forcedeth.o
- obj-$(CONFIG_NE_H8300) += ne-h8300.o 8390.o
-
+ obj-$(CONFIG_NE_H8300) += ne-h8300.o
+ obj-$(CONFIG_AX88796) += ax88796.o
---- linux-2.6.19.2/init/do_mounts.c 2007-01-10 11:10:37.000000000 -0800
-+++ foo/init/do_mounts.c 2007-04-05 13:15:37.000000000 -0700
-@@ -243,6 +243,8 @@
+--- a/init/do_mounts.c
++++ b/init/do_mounts.c
+@@ -256,6 +256,8 @@ static void __init get_fs_names(char *pa
{
char *s = page;
-diff -urN linux-2.6.24/arch/x86/Kconfig linux-2.6.24.new/arch/x86/Kconfig
---- linux-2.6.24/arch/x86/Kconfig 2008-01-24 23:58:37.000000000 +0100
-+++ linux-2.6.24.new/arch/x86/Kconfig 2008-02-11 18:24:27.000000000 +0100
-@@ -300,6 +300,17 @@
+--- a/arch/x86/Kconfig
++++ b/arch/x86/Kconfig
+@@ -304,6 +304,17 @@ config X86_VSMP
supposed to run on these EM64T-based machines. Only choose this option
if you have one of these machines.
endchoice
config SCHED_NO_NO_OMIT_FRAME_POINTER
-diff -urN linux-2.6.24/arch/x86/kernel/reboot_fixups_32.c linux-2.6.24.new/arch/x86/kernel/reboot_fixups_32.c
---- linux-2.6.24/arch/x86/kernel/reboot_fixups_32.c 2008-01-24 23:58:37.000000000 +0100
-+++ linux-2.6.24.new/arch/x86/kernel/reboot_fixups_32.c 2008-02-11 18:26:18.000000000 +0100
-@@ -30,6 +30,17 @@
+--- a/arch/x86/kernel/reboot_fixups_32.c
++++ b/arch/x86/kernel/reboot_fixups_32.c
+@@ -30,6 +30,17 @@ static void cs5536_warm_reset(struct pci
udelay(50); /* shouldn't get here but be safe and spin a while */
}
struct device_fixup {
unsigned int vendor;
unsigned int device;
-@@ -40,6 +51,7 @@
+@@ -40,6 +51,7 @@ static struct device_fixup fixups_table[
{ PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_LEGACY, cs5530a_warm_reset },
{ PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CS5536_ISA, cs5536_warm_reset },
{ PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_SC1100_BRIDGE, cs5530a_warm_reset },
};
/*
-diff -urN linux-2.6.24/arch/x86/Makefile_32 linux-2.6.24.new/arch/x86/Makefile_32
---- linux-2.6.24/arch/x86/Makefile_32 2008-01-24 23:58:37.000000000 +0100
-+++ linux-2.6.24.new/arch/x86/Makefile_32 2008-02-11 18:25:12.000000000 +0100
-@@ -99,6 +99,11 @@
+--- a/arch/x86/Makefile_32
++++ b/arch/x86/Makefile_32
+@@ -99,6 +99,11 @@ mflags-$(CONFIG_X86_ES7000) := -Iinclude
mcore-$(CONFIG_X86_ES7000) := arch/x86/mach-default
core-$(CONFIG_X86_ES7000) := arch/x86/mach-es7000/
# Xen paravirtualization support
core-$(CONFIG_XEN) += arch/x86/xen/
-diff -urN linux-2.6.24/include/asm-x86/timex.h linux-2.6.24.new/include/asm-x86/timex.h
---- linux-2.6.24/include/asm-x86/timex.h 2008-01-24 23:58:37.000000000 +0100
-+++ linux-2.6.24.new/include/asm-x86/timex.h 2008-02-11 18:25:43.000000000 +0100
+--- a/include/asm-x86/timex.h
++++ b/include/asm-x86/timex.h
@@ -7,6 +7,8 @@
#ifdef CONFIG_X86_ELAN
---- linux-2.6.24.7/arch/x86/kernel/setup_32.c 2008-05-07 01:22:34.000000000 +0200
-+++ linux-2.6.24.7.new/arch/x86/kernel/setup_32.c 2008-08-05 14:54:58.000000000 +0200
-@@ -609,6 +609,7 @@
+--- a/arch/x86/kernel/setup_32.c
++++ b/arch/x86/kernel/setup_32.c
+@@ -609,6 +609,7 @@ void __init setup_arch(char **cmdline_p)
print_memory_map("user");
}
-diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h
-index 55f307f..4a1aa34 100644
--- a/include/linux/pci_ids.h
+++ b/include/linux/pci_ids.h
-@@ -2076,6 +2076,13 @@
+@@ -2106,6 +2106,13 @@
#define PCI_DEVICE_ID_HERC_WIN 0x5732
#define PCI_DEVICE_ID_HERC_UNI 0x5832
-diff -urN linux-2.6.19.2/scripts/Makefile.lib linux-2.6.19.2.new/scripts/Makefile.lib
---- linux-2.6.19.2/scripts/Makefile.lib 2007-01-10 20:10:37.000000000 +0100
-+++ linux-2.6.19.2.new/scripts/Makefile.lib 2007-04-15 23:51:54.000000000 +0200
-@@ -162,4 +162,9 @@
+--- a/scripts/Makefile.lib
++++ b/scripts/Makefile.lib
+@@ -166,4 +166,9 @@ cmd_objcopy = $(OBJCOPY) $(OBJCOPYFLAGS)
quiet_cmd_gzip = GZIP $@
cmd_gzip = gzip -f -9 < $< > $@
+cmd_lzma = bash -e scripts/lzma_kern $< $@ -lc7 -lp0 -pb0
+# to use lzmacomp,
+# cmd_lzma = lzmacomp $< 700 > $@
-diff -u linux/scripts/lzma_kern linux/scripts/lzma_kern
---- linux/scripts/lzma_kern 2007-07-27 20:18:17.013014750 -0700
-+++ linux/scripts/lzma_kern 2007-07-27 20:18:17.013014750 -0700
+--- /dev/null
++++ b/scripts/lzma_kern
@@ -0,0 +1,4 @@
+get-size() { echo "$5" ;}
+printf -v len '%.8x' "$(get-size $(ls -l "$1"))"
+lzma e "$@"
+echo -ne "\x$(echo $len | cut -c 7,8)\x$(echo $len | cut -c 5,6)\x$(echo $len | cut -c 3,4)\x$(echo $len | cut -c 1,2)" >> "$2"
-diff -urN linux-2.6.24/arch/x86/boot/compressed/Makefile_32 linux-2.6.24.new/arch/x86/boot/compressed/Makefile_32
---- linux-2.6.24/arch/x86/boot/compressed/Makefile_32 2008-01-24 23:58:37.000000000 +0100
-+++ linux-2.6.24.new/arch/x86/boot/compressed/Makefile_32 2008-02-13 15:21:03.000000000 +0100
+--- a/arch/x86/boot/compressed/Makefile_32
++++ b/arch/x86/boot/compressed/Makefile_32
@@ -4,8 +4,8 @@
# create a compressed vmlinux image from the original vmlinux
#
EXTRA_AFLAGS := -traditional
LDFLAGS_vmlinux := -T
-@@ -17,7 +17,7 @@
+@@ -17,7 +17,7 @@ KBUILD_CFLAGS := -m32 -D__KERNEL__ $(LI
$(call cc-option,-fno-stack-protector)
LDFLAGS := -m elf_i386
$(call if_changed,ld)
@:
-@@ -37,14 +37,14 @@
+@@ -37,14 +37,14 @@ $(obj)/vmlinux.bin.all: $(vmlinux.bin.al
$(call if_changed,relocbin)
ifdef CONFIG_RELOCATABLE
--- 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.