diff options
author | Gabor Juhos <juhosg@openwrt.org> | 2008-11-07 08:44:56 +0000 |
---|---|---|
committer | Gabor Juhos <juhosg@openwrt.org> | 2008-11-07 08:44:56 +0000 |
commit | d35bad03e31bd861e231c8c68799c62752b56fa8 (patch) | |
tree | e4dff5e623cd35ac5d02b823ba3aeb517e490275 | |
parent | a1bf28950d16ca97897a524dc74ec0e52ef08fff (diff) | |
download | upstream-d35bad03e31bd861e231c8c68799c62752b56fa8.tar.gz upstream-d35bad03e31bd861e231c8c68799c62752b56fa8.tar.bz2 upstream-d35bad03e31bd861e231c8c68799c62752b56fa8.zip |
update to 2.6.25.19, and refresh patches
SVN-Revision: 13137
119 files changed, 1615 insertions, 1637 deletions
diff --git a/include/kernel-version.mk b/include/kernel-version.mk index a9b9286de1..6bdc5c1983 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -22,8 +22,8 @@ endif ifeq ($(LINUX_VERSION),2.6.24.7) LINUX_KERNEL_MD5SUM:=40a73780d51525d28d36dec852c680c4 endif -ifeq ($(LINUX_VERSION),2.6.25.17) - LINUX_KERNEL_MD5SUM:=30618bff93fd4fd048e20a9a6aab8e5d +ifeq ($(LINUX_VERSION),2.6.25.19) + LINUX_KERNEL_MD5SUM:=1b20d2d2a5a0f119372a166eaf816e13 endif ifeq ($(LINUX_VERSION),2.6.26.7) LINUX_KERNEL_MD5SUM:=ada8af1e3ec15bd6e9bdbcadf23a9cc2 diff --git a/target/linux/at91/Makefile b/target/linux/at91/Makefile index e616467a5f..d90d105805 100644 --- a/target/linux/at91/Makefile +++ b/target/linux/at91/Makefile @@ -11,7 +11,7 @@ BOARD:=at91 BOARDNAME:=Atmel AT91 FEATURES:=squashfs usb -LINUX_VERSION:=2.6.25.17 +LINUX_VERSION:=2.6.25.19 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/at91/patches-2.6.25/000-at91patches.patch b/target/linux/at91/patches-2.6.25/000-at91patches.patch index 74962b2e33..06c29351ec 100644 --- a/target/linux/at91/patches-2.6.25/000-at91patches.patch +++ b/target/linux/at91/patches-2.6.25/000-at91patches.patch @@ -1,6 +1,6 @@ --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig -@@ -12,18 +12,28 @@ +@@ -12,18 +12,28 @@ config ARCH_AT91RM9200 config ARCH_AT91SAM9260 bool "AT91SAM9260 or AT91SAM9XE" @@ -29,7 +29,7 @@ config ARCH_AT91X40 bool "AT91x40" -@@ -45,7 +55,7 @@ +@@ -45,7 +55,7 @@ config MACH_ONEARM depends on ARCH_AT91RM9200 help Select this if you are using Ajeco's 1ARM Single Board Computer. @@ -38,7 +38,7 @@ config ARCH_AT91RM9200DK bool "Atmel AT91RM9200-DK Development board" -@@ -94,7 +104,7 @@ +@@ -94,7 +104,7 @@ config MACH_KB9200 depends on ARCH_AT91RM9200 help Select this if you are using KwikByte's KB920x board. @@ -47,7 +47,7 @@ config MACH_PICOTUX2XX bool "picotux 200" -@@ -109,6 +119,38 @@ +@@ -109,6 +119,38 @@ config MACH_KAFA help Select this if you are using Sperry-Sun's KAFA board. @@ -86,7 +86,7 @@ endif # ---------------------------------------------------------- -@@ -133,6 +175,34 @@ +@@ -133,6 +175,34 @@ config MACH_AT91SAM9260EK Select this if you are using Atmel's AT91SAM9260-EK or AT91SAM9XE Evaluation Kit <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3933> @@ -121,7 +121,7 @@ endif # ---------------------------------------------------------- -@@ -163,6 +233,13 @@ +@@ -163,6 +233,13 @@ config MACH_AT91SAM9263EK Select this if you are using Atmel's AT91SAM9263-EK Evaluation Kit. <http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4057> @@ -135,7 +135,7 @@ endif # ---------------------------------------------------------- -@@ -216,7 +293,7 @@ +@@ -216,7 +293,7 @@ comment "AT91 Board Options" config MTD_AT91_DATAFLASH_CARD bool "Enable DataFlash Card support" @@ -144,7 +144,7 @@ help Enable support for the DataFlash card. -@@ -237,6 +314,19 @@ +@@ -237,6 +314,19 @@ config AT91_PROGRAMMABLE_CLOCKS Select this if you need to program one or more of the PCK0..PCK3 programmable clock outputs. @@ -166,7 +166,7 @@ range 32 1024 --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile -@@ -28,16 +28,26 @@ +@@ -28,16 +28,26 @@ obj-$(CONFIG_MACH_CARMEVA) += board-carm obj-$(CONFIG_MACH_KB9200) += board-kb9202.o obj-$(CONFIG_MACH_ATEB9200) += board-eb9200.o obj-$(CONFIG_MACH_KAFA) += board-kafa.o @@ -193,7 +193,7 @@ # AT91SAM9RL board-specific support obj-$(CONFIG_MACH_AT91SAM9RLEK) += board-sam9rlek.o -@@ -50,9 +60,11 @@ +@@ -50,9 +60,11 @@ obj-$(CONFIG_MACH_AT91EB01) += board-eb0 # Drivers obj-y += leds.o @@ -223,7 +223,7 @@ #include "generic.h" #include "clock.h" -@@ -288,6 +291,12 @@ +@@ -288,6 +291,12 @@ static void at91cap9_reset(void) at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); } @@ -236,7 +236,7 @@ /* -------------------------------------------------------------------- * AT91CAP9 processor initialization * -------------------------------------------------------------------- */ -@@ -298,6 +307,7 @@ +@@ -298,6 +307,7 @@ void __init at91cap9_initialize(unsigned iotable_init(at91cap9_io_desc, ARRAY_SIZE(at91cap9_io_desc)); at91_arch_reset = at91cap9_reset; @@ -244,7 +244,7 @@ at91_extern_irq = (1 << AT91CAP9_ID_IRQ0) | (1 << AT91CAP9_ID_IRQ1); /* Init clock subsystem */ -@@ -308,6 +318,12 @@ +@@ -308,6 +318,12 @@ void __init at91cap9_initialize(unsigned /* Register GPIO subsystem */ at91_gpio_init(at91cap9_gpio, 4); @@ -282,7 +282,7 @@ #include "generic.h" -@@ -69,6 +71,9 @@ +@@ -69,6 +71,9 @@ void __init at91_add_device_usbh(struct if (!data) return; @@ -292,7 +292,7 @@ /* Enable VBus control for UHP ports */ for (i = 0; i < data->ports; i++) { if (data->vbus_pin[i]) -@@ -84,6 +89,110 @@ +@@ -84,6 +89,110 @@ void __init at91_add_device_usbh(struct /* -------------------------------------------------------------------- @@ -403,7 +403,7 @@ * Ethernet * -------------------------------------------------------------------- */ -@@ -246,7 +355,7 @@ +@@ -246,7 +355,7 @@ void __init at91_add_device_mmc(short mm } mmc0_data = *data; @@ -412,7 +412,7 @@ platform_device_register(&at91cap9_mmc0_device); } else { /* MCI1 */ /* CLK */ -@@ -283,10 +392,15 @@ +@@ -283,10 +392,15 @@ static struct at91_nand_data nand_data; #define NAND_BASE AT91_CHIPSELECT_3 static struct resource nand_resources[] = { @@ -429,7 +429,7 @@ } }; -@@ -344,6 +458,7 @@ +@@ -344,6 +458,7 @@ void __init at91_add_device_nand(struct void __init at91_add_device_nand(struct at91_nand_data *data) {} #endif @@ -437,7 +437,7 @@ /* -------------------------------------------------------------------- * TWI (i2c) * -------------------------------------------------------------------- */ -@@ -532,17 +647,64 @@ +@@ -532,17 +647,64 @@ void __init at91_add_device_spi(struct s /* -------------------------------------------------------------------- @@ -504,7 +504,7 @@ platform_device_register(&at91cap9_rtt_device); } -@@ -660,6 +822,9 @@ +@@ -660,6 +822,9 @@ void __init at91_add_device_lcdc(struct if (!data) return; @@ -514,7 +514,7 @@ at91_set_A_periph(AT91_PIN_PC1, 0); /* LCDHSYNC */ at91_set_A_periph(AT91_PIN_PC2, 0); /* LCDDOTCK */ at91_set_A_periph(AT91_PIN_PC3, 0); /* LCDDEN */ -@@ -990,7 +1155,7 @@ +@@ -990,7 +1155,7 @@ static inline void configure_usart2_pins at91_set_B_periph(AT91_PIN_PD6, 0); /* CTS2 */ } @@ -523,7 +523,7 @@ struct platform_device *atmel_default_console_device; /* the serial console device */ void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) -@@ -1031,8 +1196,6 @@ +@@ -1031,8 +1196,6 @@ void __init at91_set_serial_console(unsi { if (portnr < ATMEL_MAX_UART) atmel_default_console_device = at91_uarts[portnr]; @@ -532,7 +532,7 @@ } void __init at91_add_device_serial(void) -@@ -1043,6 +1206,9 @@ +@@ -1043,6 +1206,9 @@ void __init at91_add_device_serial(void) if (at91_uarts[i]) platform_device_register(at91_uarts[i]); } @@ -542,7 +542,7 @@ } #else void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} -@@ -1060,6 +1226,7 @@ +@@ -1060,6 +1226,7 @@ static int __init at91_add_standard_devi { at91_add_device_rtt(); at91_add_device_watchdog(); @@ -552,7 +552,7 @@ --- a/arch/arm/mach-at91/at91rm9200_devices.c +++ b/arch/arm/mach-at91/at91rm9200_devices.c -@@ -513,7 +513,18 @@ +@@ -513,7 +513,18 @@ void __init at91_add_device_i2c(struct i * SPI * -------------------------------------------------------------------- */ @@ -572,7 +572,7 @@ static u64 spi_dmamask = DMA_BIT_MASK(32); static struct resource spi_resources[] = { -@@ -530,7 +541,7 @@ +@@ -530,7 +541,7 @@ static struct resource spi_resources[] = }; static struct platform_device at91rm9200_spi_device = { @@ -581,7 +581,7 @@ .id = 0, .dev = { .dma_mask = &spi_dmamask, -@@ -563,6 +574,12 @@ +@@ -563,6 +574,12 @@ void __init at91_add_device_spi(struct s else at91_set_gpio_output(cs_pin, 1); @@ -594,7 +594,7 @@ /* pass chip-select pin to driver */ devices[i].controller_data = (void *) cs_pin; -@@ -577,6 +594,90 @@ +@@ -577,6 +594,90 @@ void __init at91_add_device_spi(struct s /* -------------------------------------------------------------------- @@ -685,7 +685,7 @@ * RTC * -------------------------------------------------------------------- */ -@@ -589,6 +690,7 @@ +@@ -589,6 +690,7 @@ static struct platform_device at91rm9200 static void __init at91_add_device_rtc(void) { @@ -693,7 +693,7 @@ platform_device_register(&at91rm9200_rtc_device); } #else -@@ -1019,7 +1121,7 @@ +@@ -1019,7 +1121,7 @@ static inline void configure_usart3_pins at91_set_B_periph(AT91_PIN_PB0, 0); /* RTS3 */ } @@ -702,7 +702,7 @@ struct platform_device *atmel_default_console_device; /* the serial console device */ void __init __deprecated at91_init_serial(struct at91_uart_config *config) -@@ -1110,8 +1212,6 @@ +@@ -1110,8 +1212,6 @@ void __init at91_set_serial_console(unsi { if (portnr < ATMEL_MAX_UART) atmel_default_console_device = at91_uarts[portnr]; @@ -711,7 +711,7 @@ } void __init at91_add_device_serial(void) -@@ -1122,6 +1222,9 @@ +@@ -1122,6 +1222,9 @@ void __init at91_add_device_serial(void) if (at91_uarts[i]) platform_device_register(at91_uarts[i]); } @@ -721,7 +721,7 @@ } #else void __init __deprecated at91_init_serial(struct at91_uart_config *config) {} -@@ -1141,6 +1244,7 @@ +@@ -1141,6 +1244,7 @@ static int __init at91_add_standard_devi { at91_add_device_rtc(); at91_add_device_watchdog(); @@ -731,7 +731,7 @@ --- a/arch/arm/mach-at91/at91rm9200_time.c +++ b/arch/arm/mach-at91/at91rm9200_time.c -@@ -136,8 +136,6 @@ +@@ -136,8 +136,6 @@ clkevt32k_next_event(unsigned long delta u32 alm; int status = 0; @@ -758,7 +758,7 @@ #include "generic.h" #include "clock.h" -@@ -267,6 +269,11 @@ +@@ -267,6 +269,11 @@ static void at91sam9260_reset(void) at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); } @@ -770,7 +770,7 @@ /* -------------------------------------------------------------------- * AT91SAM9260 processor initialization -@@ -304,6 +311,7 @@ +@@ -304,6 +311,7 @@ void __init at91sam9260_initialize(unsig iotable_init(at91sam9260_sram_desc, ARRAY_SIZE(at91sam9260_sram_desc)); at91_arch_reset = at91sam9260_reset; @@ -790,7 +790,7 @@ #include "generic.h" -@@ -288,10 +288,15 @@ +@@ -288,10 +288,15 @@ static struct at91_nand_data nand_data; #define NAND_BASE AT91_CHIPSELECT_3 static struct resource nand_resources[] = { @@ -807,7 +807,7 @@ } }; -@@ -540,6 +545,90 @@ +@@ -540,6 +545,90 @@ void __init at91_add_device_spi(struct s /* -------------------------------------------------------------------- @@ -898,7 +898,7 @@ * RTT * -------------------------------------------------------------------- */ -@@ -553,13 +642,14 @@ +@@ -553,13 +642,14 @@ static struct resource rtt_resources[] = static struct platform_device at91sam9260_rtt_device = { .name = "at91_rtt", @@ -914,7 +914,7 @@ platform_device_register(&at91sam9260_rtt_device); } -@@ -962,7 +1052,7 @@ +@@ -962,7 +1052,7 @@ static inline void configure_usart5_pins at91_set_A_periph(AT91_PIN_PB13, 0); /* RXD5 */ } @@ -923,7 +923,7 @@ struct platform_device *atmel_default_console_device; /* the serial console device */ void __init __deprecated at91_init_serial(struct at91_uart_config *config) -@@ -1073,8 +1163,6 @@ +@@ -1073,8 +1163,6 @@ void __init at91_set_serial_console(unsi { if (portnr < ATMEL_MAX_UART) atmel_default_console_device = at91_uarts[portnr]; @@ -932,7 +932,7 @@ } void __init at91_add_device_serial(void) -@@ -1085,6 +1173,9 @@ +@@ -1085,6 +1173,9 @@ void __init at91_add_device_serial(void) if (at91_uarts[i]) platform_device_register(at91_uarts[i]); } @@ -942,7 +942,7 @@ } #else void __init __deprecated at91_init_serial(struct at91_uart_config *config) {} -@@ -1103,6 +1194,7 @@ +@@ -1103,6 +1194,7 @@ static int __init at91_add_standard_devi { at91_add_device_rtt(); at91_add_device_watchdog(); @@ -967,7 +967,7 @@ #include "generic.h" #include "clock.h" -@@ -245,6 +247,11 @@ +@@ -245,6 +247,11 @@ static void at91sam9261_reset(void) at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); } @@ -979,7 +979,7 @@ /* -------------------------------------------------------------------- * AT91SAM9261 processor initialization -@@ -256,6 +263,7 @@ +@@ -256,6 +263,7 @@ void __init at91sam9261_initialize(unsig iotable_init(at91sam9261_io_desc, ARRAY_SIZE(at91sam9261_io_desc)); at91_arch_reset = at91sam9261_reset; @@ -998,7 +998,7 @@ #include "generic.h" -@@ -548,6 +548,55 @@ +@@ -548,6 +548,55 @@ void __init at91_add_device_lcdc(struct /* -------------------------------------------------------------------- @@ -1054,7 +1054,7 @@ * RTT * -------------------------------------------------------------------- */ -@@ -561,13 +610,14 @@ +@@ -561,13 +610,14 @@ static struct resource rtt_resources[] = static struct platform_device at91sam9261_rtt_device = { .name = "at91_rtt", @@ -1070,7 +1070,7 @@ platform_device_register(&at91sam9261_rtt_device); } -@@ -938,7 +988,7 @@ +@@ -938,7 +988,7 @@ static inline void configure_usart2_pins at91_set_B_periph(AT91_PIN_PA16, 0); /* CTS2 */ } @@ -1079,7 +1079,7 @@ struct platform_device *atmel_default_console_device; /* the serial console device */ void __init __deprecated at91_init_serial(struct at91_uart_config *config) -@@ -1019,8 +1069,6 @@ +@@ -1019,8 +1069,6 @@ void __init at91_set_serial_console(unsi { if (portnr < ATMEL_MAX_UART) atmel_default_console_device = at91_uarts[portnr]; @@ -1088,7 +1088,7 @@ } void __init at91_add_device_serial(void) -@@ -1031,6 +1079,9 @@ +@@ -1031,6 +1079,9 @@ void __init at91_add_device_serial(void) if (at91_uarts[i]) platform_device_register(at91_uarts[i]); } @@ -1098,7 +1098,7 @@ } #else void __init __deprecated at91_init_serial(struct at91_uart_config *config) {} -@@ -1050,6 +1101,7 @@ +@@ -1050,6 +1101,7 @@ static int __init at91_add_standard_devi { at91_add_device_rtt(); at91_add_device_watchdog(); @@ -1123,7 +1123,7 @@ #include "generic.h" #include "clock.h" -@@ -271,6 +273,11 @@ +@@ -271,6 +273,11 @@ static void at91sam9263_reset(void) at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); } @@ -1135,7 +1135,7 @@ /* -------------------------------------------------------------------- * AT91SAM9263 processor initialization -@@ -282,6 +289,7 @@ +@@ -282,6 +289,7 @@ void __init at91sam9263_initialize(unsig iotable_init(at91sam9263_io_desc, ARRAY_SIZE(at91sam9263_io_desc)); at91_arch_reset = at91sam9263_reset; @@ -1155,7 +1155,7 @@ #include "generic.h" -@@ -308,7 +308,7 @@ +@@ -308,7 +308,7 @@ void __init at91_add_device_mmc(short mm } mmc0_data = *data; @@ -1164,7 +1164,7 @@ platform_device_register(&at91sam9263_mmc0_device); } else { /* MCI1 */ /* CLK */ -@@ -358,10 +358,15 @@ +@@ -358,10 +358,15 @@ static struct at91_nand_data nand_data; #define NAND_BASE AT91_CHIPSELECT_3 static struct resource nand_resources[] = { @@ -1181,7 +1181,7 @@ } }; -@@ -783,6 +788,43 @@ +@@ -783,6 +788,43 @@ void __init at91_add_device_isi(void) {} /* -------------------------------------------------------------------- @@ -1225,7 +1225,7 @@ * RTT * -------------------------------------------------------------------- */ -@@ -818,7 +860,9 @@ +@@ -818,7 +860,9 @@ static struct platform_device at91sam926 static void __init at91_add_device_rtt(void) { @@ -1235,7 +1235,7 @@ platform_device_register(&at91sam9263_rtt1_device); } -@@ -933,9 +977,6 @@ +@@ -933,9 +977,6 @@ static inline void configure_ssc1_pins(u } /* @@ -1245,7 +1245,7 @@ * SSC controllers are accessed through library code, instead of any * kind of all-singing/all-dancing driver. For example one could be * used by a particular I2S audio codec's driver, while another one -@@ -1146,7 +1187,7 @@ +@@ -1146,7 +1187,7 @@ static inline void configure_usart2_pins at91_set_B_periph(AT91_PIN_PD6, 0); /* CTS2 */ } @@ -1254,7 +1254,7 @@ struct platform_device *atmel_default_console_device; /* the serial console device */ void __init __deprecated at91_init_serial(struct at91_uart_config *config) -@@ -1227,8 +1268,6 @@ +@@ -1227,8 +1268,6 @@ void __init at91_set_serial_console(unsi { if (portnr < ATMEL_MAX_UART) atmel_default_console_device = at91_uarts[portnr]; @@ -1263,7 +1263,7 @@ } void __init at91_add_device_serial(void) -@@ -1239,9 +1278,12 @@ +@@ -1239,9 +1278,12 @@ void __init at91_add_device_serial(void) if (at91_uarts[i]) platform_device_register(at91_uarts[i]); } @@ -1277,7 +1277,7 @@ void __init at91_register_uart(unsigned id, unsigned portnr, unsigned pins) {} void __init at91_set_serial_console(unsigned portnr) {} void __init at91_add_device_serial(void) {} -@@ -1257,6 +1299,7 @@ +@@ -1257,6 +1299,7 @@ static int __init at91_add_standard_devi { at91_add_device_rtt(); at91_add_device_watchdog(); @@ -1539,7 +1539,7 @@ #include "generic.h" #include "clock.h" -@@ -244,6 +246,11 @@ +@@ -244,6 +246,11 @@ static void at91sam9rl_reset(void) at91_sys_write(AT91_RSTC_CR, AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST); } @@ -1551,7 +1551,7 @@ /* -------------------------------------------------------------------- * AT91SAM9RL processor initialization -@@ -274,6 +281,7 @@ +@@ -274,6 +281,7 @@ void __init at91sam9rl_initialize(unsign iotable_init(at91sam9rl_sram_desc, ARRAY_SIZE(at91sam9rl_sram_desc)); at91_arch_reset = at91sam9rl_reset; @@ -1670,7 +1670,7 @@ * MMC / SD * -------------------------------------------------------------------- */ -@@ -105,10 +200,15 @@ +@@ -105,10 +200,15 @@ static struct at91_nand_data nand_data; #define NAND_BASE AT91_CHIPSELECT_3 static struct resource nand_resources[] = { @@ -1687,7 +1687,7 @@ } }; -@@ -385,6 +485,100 @@ +@@ -385,6 +485,100 @@ void __init at91_add_device_lcdc(struct /* -------------------------------------------------------------------- @@ -1788,7 +1788,7 @@ * RTC * -------------------------------------------------------------------- */ -@@ -397,6 +591,7 @@ +@@ -397,6 +591,7 @@ static struct platform_device at91sam9rl static void __init at91_add_device_rtc(void) { @@ -1796,7 +1796,7 @@ platform_device_register(&at91sam9rl_rtc_device); } #else -@@ -418,13 +613,14 @@ +@@ -418,13 +613,14 @@ static struct resource rtt_resources[] = static struct platform_device at91sam9rl_rtt_device = { .name = "at91_rtt", @@ -1812,7 +1812,7 @@ platform_device_register(&at91sam9rl_rtt_device); } -@@ -539,9 +735,6 @@ +@@ -539,9 +735,6 @@ static inline void configure_ssc1_pins(u } /* @@ -1822,7 +1822,7 @@ * SSC controllers are accessed through library code, instead of any * kind of all-singing/all-dancing driver. For example one could be * used by a particular I2S audio codec's driver, while another one -@@ -802,7 +995,7 @@ +@@ -802,7 +995,7 @@ static inline void configure_usart3_pins at91_set_B_periph(AT91_PIN_PD3, 0); /* CTS3 */ } @@ -1831,7 +1831,7 @@ struct platform_device *atmel_default_console_device; /* the serial console device */ void __init __deprecated at91_init_serial(struct at91_uart_config *config) -@@ -893,8 +1086,6 @@ +@@ -893,8 +1086,6 @@ void __init at91_set_serial_console(unsi { if (portnr < ATMEL_MAX_UART) atmel_default_console_device = at91_uarts[portnr]; @@ -1840,7 +1840,7 @@ } void __init at91_add_device_serial(void) -@@ -905,6 +1096,9 @@ +@@ -905,6 +1096,9 @@ void __init at91_add_device_serial(void) if (at91_uarts[i]) platform_device_register(at91_uarts[i]); } @@ -1850,7 +1850,7 @@ } #else void __init __deprecated at91_init_serial(struct at91_uart_config *config) {} -@@ -925,6 +1119,7 @@ +@@ -925,6 +1119,7 @@ static int __init at91_add_standard_devi at91_add_device_rtc(); at91_add_device_rtt(); at91_add_device_watchdog(); @@ -2061,7 +2061,7 @@ #include "generic.h" -@@ -78,6 +76,12 @@ +@@ -78,6 +76,12 @@ static struct at91_usbh_data __initdata .ports = 2, }; @@ -2074,7 +2074,7 @@ /* * ADS7846 Touchscreen -@@ -130,7 +134,7 @@ +@@ -130,7 +134,7 @@ static struct spi_board_info cap9adk_spi { .modalias = "ads7846", .chip_select = 3, /* can be 2 or 3, depending on J2 jumper */ @@ -2083,7 +2083,7 @@ .bus_num = 0, .platform_data = &ads_info, .irq = AT91_PIN_PC4, -@@ -324,8 +328,9 @@ +@@ -324,8 +328,9 @@ static void __init cap9adk_board_init(vo /* Serial */ at91_add_device_serial(); /* USB Host */ @@ -2094,7 +2094,7 @@ /* SPI */ at91_add_device_spi(cap9adk_spi_devices, ARRAY_SIZE(cap9adk_spi_devices)); /* Touchscreen */ -@@ -341,7 +346,6 @@ +@@ -341,7 +346,6 @@ static void __init cap9adk_board_init(vo /* I2C */ at91_add_device_i2c(NULL, 0); /* LCD Controller */ @@ -2139,7 +2139,7 @@ } static void __init carmeva_init_irq(void) -@@ -117,6 +114,30 @@ +@@ -117,6 +114,30 @@ static struct spi_board_info carmeva_spi }, }; @@ -2170,7 +2170,7 @@ static void __init carmeva_board_init(void) { /* Serial */ -@@ -135,6 +156,8 @@ +@@ -135,6 +156,8 @@ static void __init carmeva_board_init(vo // at91_add_device_cf(&carmeva_cf_data); /* MMC */ at91_add_device_mmc(0, &carmeva_mmc_data); @@ -2316,7 +2316,7 @@ +MACHINE_END --- a/arch/arm/mach-at91/board-csb337.c +++ b/arch/arm/mach-at91/board-csb337.c -@@ -61,6 +61,7 @@ +@@ -61,6 +61,7 @@ static void __init csb337_map_io(void) /* Setup the LEDs */ at91_init_leds(AT91_PIN_PB0, AT91_PIN_PB1); @@ -2324,7 +2324,7 @@ /* Setup the serial ports and console */ at91_init_serial(&csb337_uart_config); -@@ -202,11 +203,11 @@ +@@ -202,11 +203,11 @@ static struct platform_device csb300_but static void __init csb300_add_device_buttons(void) { @@ -2339,7 +2339,7 @@ at91_set_deglitch(AT91_PIN_PA21, 1); platform_device_register(&csb300_button_device); -@@ -233,7 +234,7 @@ +@@ -233,7 +234,7 @@ static struct gpio_led csb_leds[] = { .gpio = AT91_PIN_PB0, .active_low = 1, .default_trigger = "ide-disk", @@ -2382,7 +2382,7 @@ } static void __init csb637_init_irq(void) -@@ -118,8 +107,19 @@ +@@ -118,8 +107,19 @@ static struct platform_device csb_flash .num_resources = ARRAY_SIZE(csb_flash_resources), }; @@ -2430,7 +2430,7 @@ static void __init dk_map_io(void) { /* Initialize processor: 18.432 MHz crystal */ -@@ -64,8 +54,16 @@ +@@ -64,8 +54,16 @@ static void __init dk_map_io(void) /* Setup the LEDs */ at91_init_leds(AT91_PIN_PB2, AT91_PIN_PB2); @@ -2449,7 +2449,7 @@ } static void __init dk_init_irq(void) -@@ -73,6 +71,185 @@ +@@ -73,6 +71,185 @@ static void __init dk_init_irq(void) at91rm9200_init_interrupts(NULL); } @@ -2635,7 +2635,7 @@ static struct at91_eth_data __initdata dk_eth_data = { .phy_irq_pin = AT91_PIN_PC4, .is_rmii = 1, -@@ -164,7 +341,7 @@ +@@ -164,7 +341,7 @@ static struct at91_nand_data __initdata #define DK_FLASH_SIZE 0x200000 static struct physmap_flash_data dk_flash_data = { @@ -2644,7 +2644,7 @@ }; static struct resource dk_flash_resource = { -@@ -223,8 +400,12 @@ +@@ -223,8 +400,12 @@ static void __init dk_board_init(void) platform_device_register(&dk_flash); /* LEDs */ at91_gpio_leds(dk_leds, ARRAY_SIZE(dk_leds)); @@ -2907,7 +2907,7 @@ static void __init ek_map_io(void) { /* Initialize processor: 18.432 MHz crystal */ -@@ -64,8 +54,16 @@ +@@ -64,8 +54,16 @@ static void __init ek_map_io(void) /* Setup the LEDs */ at91_init_leds(AT91_PIN_PB1, AT91_PIN_PB2); @@ -2926,7 +2926,7 @@ } static void __init ek_init_irq(void) -@@ -73,6 +71,187 @@ +@@ -73,6 +71,187 @@ static void __init ek_init_irq(void) at91rm9200_init_interrupts(NULL); } @@ -3114,7 +3114,7 @@ static struct at91_eth_data __initdata ek_eth_data = { .phy_irq_pin = AT91_PIN_PC4, .is_rmii = 1, -@@ -122,7 +301,7 @@ +@@ -122,7 +301,7 @@ static struct i2c_board_info __initdata #define EK_FLASH_SIZE 0x200000 static struct physmap_flash_data ek_flash_data = { @@ -3123,7 +3123,7 @@ }; static struct resource ek_flash_resource = { -@@ -189,7 +368,7 @@ +@@ -189,7 +368,7 @@ static void __init ek_board_init(void) /* LEDs */ at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds)); /* VGA */ @@ -3322,7 +3322,7 @@ static void __init kb9202_map_io(void) { -@@ -59,8 +50,20 @@ +@@ -59,8 +50,20 @@ static void __init kb9202_map_io(void) /* Set up the LEDs */ at91_init_leds(AT91_PIN_PC19, AT91_PIN_PC18); @@ -3345,7 +3345,7 @@ } static void __init kb9202_init_irq(void) -@@ -111,6 +114,48 @@ +@@ -111,6 +114,48 @@ static struct at91_nand_data __initdata .partition_info = nand_partitions, }; @@ -3394,7 +3394,7 @@ static void __init kb9202_board_init(void) { /* Serial */ -@@ -129,6 +174,8 @@ +@@ -129,6 +174,8 @@ static void __init kb9202_board_init(voi at91_add_device_spi(NULL, 0); /* NAND */ at91_add_device_nand(&kb9202_nand_data); @@ -3920,7 +3920,7 @@ } static void __init ek_init_irq(void) -@@ -85,6 +89,35 @@ +@@ -85,6 +89,35 @@ static struct at91_udc_data __initdata e /* @@ -3956,7 +3956,7 @@ * SPI devices. */ static struct spi_board_info ek_spi_devices[] = { -@@ -110,6 +143,8 @@ +@@ -110,6 +143,8 @@ static struct spi_board_info ek_spi_devi .chip_select = 0, .max_speed_hz = 10 * 1000 * 1000, .bus_num = 1, @@ -3965,7 +3965,7 @@ }, #endif }; -@@ -172,6 +207,74 @@ +@@ -172,6 +207,74 @@ static struct at91_mmc_data __initdata e // .vcc_pin = ... not connected }; @@ -4040,7 +4040,7 @@ static void __init ek_board_init(void) { /* Serial */ -@@ -190,6 +293,16 @@ +@@ -190,6 +293,16 @@ static void __init ek_board_init(void) at91_add_device_mmc(0, &ek_mmc_data); /* I2C */ at91_add_device_i2c(NULL, 0); @@ -4093,7 +4093,7 @@ static void __init ek_map_io(void) { /* Initialize processor: 18.432 MHz crystal */ -@@ -68,8 +60,11 @@ +@@ -68,8 +60,11 @@ static void __init ek_map_io(void) /* Setup the LEDs */ at91_init_leds(AT91_PIN_PA13, AT91_PIN_PA14); @@ -4107,7 +4107,7 @@ } static void __init ek_init_irq(void) -@@ -239,6 +234,35 @@ +@@ -239,6 +234,35 @@ static void __init ek_add_device_ts(void #endif /* @@ -4143,7 +4143,7 @@ * SPI devices */ static struct spi_board_info ek_spi_devices[] = { -@@ -252,10 +276,11 @@ +@@ -252,10 +276,11 @@ static struct spi_board_info ek_spi_devi { .modalias = "ads7846", .chip_select = 2, @@ -4156,7 +4156,7 @@ }, #endif #if defined(CONFIG_MTD_AT91_DATAFLASH_CARD) -@@ -271,6 +296,9 @@ +@@ -271,6 +296,9 @@ static struct spi_board_info ek_spi_devi .chip_select = 3, .max_speed_hz = 10 * 1000 * 1000, .bus_num = 0, @@ -4166,7 +4166,7 @@ }, #endif }; -@@ -408,24 +436,28 @@ +@@ -408,24 +436,28 @@ static struct gpio_keys_button ek_button .code = BTN_0, .desc = "Button 0", .active_low = 1, @@ -4195,7 +4195,7 @@ } }; -@@ -445,13 +477,13 @@ +@@ -445,13 +477,13 @@ static struct platform_device ek_button_ static void __init ek_add_device_buttons(void) { @@ -4213,7 +4213,7 @@ at91_set_deglitch(AT91_PIN_PA24, 1); platform_device_register(&ek_button_device); -@@ -460,6 +492,29 @@ +@@ -460,6 +492,29 @@ static void __init ek_add_device_buttons static void __init ek_add_device_buttons(void) {} #endif @@ -4243,7 +4243,7 @@ static void __init ek_board_init(void) { /* Serial */ -@@ -481,6 +536,9 @@ +@@ -481,6 +536,9 @@ static void __init ek_board_init(void) at91_add_device_spi(ek_spi_devices, ARRAY_SIZE(ek_spi_devices)); /* Touchscreen */ ek_add_device_ts(); @@ -4253,7 +4253,7 @@ #else /* MMC */ at91_add_device_mmc(0, &ek_mmc_data); -@@ -489,6 +547,11 @@ +@@ -489,6 +547,11 @@ static void __init ek_board_init(void) at91_add_device_lcdc(&ek_lcdc_data); /* Push Buttons */ ek_add_device_buttons(); @@ -4306,7 +4306,7 @@ } static void __init ek_init_irq(void) -@@ -141,7 +136,7 @@ +@@ -141,7 +136,7 @@ static struct spi_board_info ek_spi_devi { .modalias = "ads7846", .chip_select = 3, @@ -4315,7 +4315,7 @@ .bus_num = 0, .platform_data = &ads_info, .irq = AT91SAM9263_ID_IRQ1, -@@ -301,9 +296,9 @@ +@@ -301,9 +296,9 @@ static struct platform_device ek_button_ static void __init ek_add_device_buttons(void) { @@ -4327,7 +4327,7 @@ at91_set_deglitch(AT91_PIN_PC4, 1); platform_device_register(&ek_button_device); -@@ -341,7 +336,7 @@ +@@ -341,7 +336,7 @@ static struct gpio_led ek_leds[] = { .name = "ds3", .gpio = AT91_PIN_PB7, .default_trigger = "heartbeat", @@ -4336,7 +4336,7 @@ }; -@@ -374,6 +369,9 @@ +@@ -374,6 +369,9 @@ static void __init ek_board_init(void) at91_add_device_ac97(&ek_ac97_data); /* LEDs */ at91_gpio_leds(ek_leds, ARRAY_SIZE(ek_leds)); @@ -4387,7 +4387,7 @@ } static void __init ek_init_irq(void) -@@ -61,6 +56,14 @@ +@@ -61,6 +56,14 @@ static void __init ek_init_irq(void) /* @@ -4402,7 +4402,7 @@ * MCI (SD/MMC) */ static struct at91_mmc_data __initdata ek_mmc_data = { -@@ -180,6 +183,8 @@ +@@ -180,6 +183,8 @@ static void __init ek_board_init(void) { /* Serial */ at91_add_device_serial(); @@ -4411,7 +4411,7 @@ /* I2C */ at91_add_device_i2c(NULL, 0); /* NAND */ -@@ -190,6 +195,9 @@ +@@ -190,6 +195,9 @@ static void __init ek_board_init(void) at91_add_device_mmc(0, &ek_mmc_data); /* LCD Controller */ at91_add_device_lcdc(&ek_lcdc_data); @@ -5278,7 +5278,7 @@ /* -@@ -113,12 +114,34 @@ +@@ -113,12 +114,34 @@ static void pmc_sys_mode(struct clk *clk at91_sys_write(AT91_PMC_SCDR, clk->pmc_mask); } @@ -5313,7 +5313,7 @@ static struct clk uhpck = { .name = "uhpck", .parent = &pllb, -@@ -254,6 +277,23 @@ +@@ -254,6 +277,23 @@ EXPORT_SYMBOL(clk_get_rate); /*------------------------------------------------------------------------*/ @@ -5337,7 +5337,7 @@ #ifdef CONFIG_AT91_PROGRAMMABLE_CLOCKS /* -@@ -362,7 +402,7 @@ +@@ -362,7 +402,7 @@ static void __init init_programmable_clo static int at91_clk_show(struct seq_file *s, void *unused) { @@ -5346,7 +5346,7 @@ struct clk *clk; seq_printf(s, "SCSR = %8x\n", scsr = at91_sys_read(AT91_PMC_SCSR)); -@@ -370,7 +410,10 @@ +@@ -370,7 +410,10 @@ static int at91_clk_show(struct seq_file seq_printf(s, "MOR = %8x\n", at91_sys_read(AT91_CKGR_MOR)); seq_printf(s, "MCFR = %8x\n", at91_sys_read(AT91_CKGR_MCFR)); seq_printf(s, "PLLA = %8x\n", at91_sys_read(AT91_CKGR_PLLAR)); @@ -5358,7 +5358,7 @@ seq_printf(s, "MCKR = %8x\n", at91_sys_read(AT91_PMC_MCKR)); seq_printf(s, "SR = %8x\n", sr = at91_sys_read(AT91_PMC_SR)); -@@ -383,6 +426,8 @@ +@@ -383,6 +426,8 @@ static int at91_clk_show(struct seq_file state = (scsr & clk->pmc_mask) ? "on" : "off"; else if (clk->mode == pmc_periph_mode) state = (pcsr & clk->pmc_mask) ? "on" : "off"; @@ -5367,7 +5367,7 @@ else if (clk->pmc_mask) state = (sr & clk->pmc_mask) ? "on" : "off"; else if (clk == &clk32k || clk == &main_clk) -@@ -583,6 +628,17 @@ +@@ -583,6 +628,17 @@ int __init at91_clock_init(unsigned long uhpck.rate_hz = at91_usb_rate(&pllb, pllb.rate_hz, at91_pllb_usb_init); /* @@ -5385,7 +5385,7 @@ * MCK and CPU derive from one of those primary clocks. * For now, assume this parentage won't change. */ -@@ -599,6 +655,9 @@ +@@ -599,6 +655,9 @@ int __init at91_clock_init(unsigned long for (i = 0; i < ARRAY_SIZE(standard_pmc_clocks); i++) list_add_tail(&standard_pmc_clocks[i]->node, &clocks); @@ -5397,7 +5397,7 @@ --- a/arch/arm/mach-at91/generic.h +++ b/arch/arm/mach-at91/generic.h -@@ -41,6 +41,7 @@ +@@ -41,6 +41,7 @@ extern void __init at91_clock_associate( /* Power Management */ extern void at91_irq_suspend(void); extern void at91_irq_resume(void); @@ -5407,7 +5407,7 @@ #define AT91RM9200_PQFP 3 /* AT91RM9200 PQFP package has 3 banks */ --- a/arch/arm/mach-at91/gpio.c +++ b/arch/arm/mach-at91/gpio.c -@@ -490,7 +490,8 @@ +@@ -490,7 +490,8 @@ postcore_initcall(at91_gpio_debugfs_init /*--------------------------------------------------------------------------*/ @@ -5417,7 +5417,7 @@ * category than their parents, so it won't report false recursion. */ static struct lock_class_key gpio_lock_class; -@@ -557,6 +558,7 @@ +@@ -557,6 +558,7 @@ void __init at91_gpio_init(struct at91_g data->regbase = data->offset + (void __iomem *)AT91_VA_BASE_SYS; /* AT91SAM9263_ID_PIOCDE groups PIOC, PIOD, PIOE */ @@ -5784,7 +5784,7 @@ static int at91_pm_valid_state(suspend_state_t state) { -@@ -62,6 +194,7 @@ +@@ -62,6 +194,7 @@ static int at91_pm_begin(suspend_state_t * Verify that all the clocks are correct before entering * slow-clock mode. */ @@ -5792,7 +5792,7 @@ static int at91_pm_verify_clocks(void) { unsigned long scsr; -@@ -107,24 +240,24 @@ +@@ -107,24 +240,24 @@ static int at91_pm_verify_clocks(void) } /* @@ -5823,7 +5823,7 @@ static int at91_pm_enter(suspend_state_t state) { -@@ -158,11 +291,14 @@ +@@ -158,11 +291,14 @@ static int at91_pm_enter(suspend_state_t * turning off the main oscillator; reverse on wakeup. */ if (slow_clock) { @@ -5840,7 +5840,7 @@ /* FALLTHROUGH leaving master clock alone */ } -@@ -175,13 +311,15 @@ +@@ -175,13 +311,15 @@ static int at91_pm_enter(suspend_state_t case PM_SUSPEND_STANDBY: /* * NOTE: the Wait-for-Interrupt instruction needs to be @@ -5860,7 +5860,7 @@ case PM_SUSPEND_ON: asm("mcr p15, 0, r0, c7, c0, 4"); /* wait for interrupt */ -@@ -196,6 +334,7 @@ +@@ -196,6 +334,7 @@ static int at91_pm_enter(suspend_state_t at91_sys_read(AT91_AIC_IPR) & at91_sys_read(AT91_AIC_IMR)); error: @@ -5868,7 +5868,7 @@ target_state = PM_SUSPEND_ON; at91_irq_resume(); at91_gpio_resume(); -@@ -220,21 +359,20 @@ +@@ -220,21 +359,20 @@ static struct platform_suspend_ops at91_ static int __init at91_pm_init(void) { @@ -6186,7 +6186,7 @@ + .word .-at91_slow_clock --- a/arch/arm/mach-ks8695/Makefile +++ b/arch/arm/mach-ks8695/Makefile -@@ -11,5 +11,8 @@ +@@ -11,5 +11,8 @@ obj- := # PCI support is optional obj-$(CONFIG_PCI) += pci.o @@ -6197,7 +6197,7 @@ obj-$(CONFIG_MACH_KS8695) += board-micrel.o --- a/arch/arm/mach-ks8695/devices.c +++ b/arch/arm/mach-ks8695/devices.c -@@ -176,6 +176,27 @@ +@@ -176,6 +176,27 @@ static void __init ks8695_add_device_wat #endif @@ -6227,7 +6227,7 @@ /* --- a/arch/arm/mach-ks8695/gpio.c +++ b/arch/arm/mach-ks8695/gpio.c -@@ -136,9 +136,9 @@ +@@ -136,9 +136,9 @@ int __init_or_module gpio_direction_outp /* set line state */ x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD); if (state) @@ -6239,7 +6239,7 @@ __raw_writel(x, KS8695_GPIO_VA + KS8695_IOPD); /* set pin as output */ -@@ -168,9 +168,9 @@ +@@ -168,9 +168,9 @@ void gpio_set_value(unsigned int pin, un /* set output line state */ x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD); if (state) @@ -6251,7 +6251,7 @@ __raw_writel(x, KS8695_GPIO_VA + KS8695_IOPD); local_irq_restore(flags); -@@ -189,7 +189,7 @@ +@@ -189,7 +189,7 @@ int gpio_get_value(unsigned int pin) return -EINVAL; x = __raw_readl(KS8695_GPIO_VA + KS8695_IOPD); @@ -6359,7 +6359,7 @@ +__initcall(leds_init); --- a/arch/arm/mach-ks8695/pci.c +++ b/arch/arm/mach-ks8695/pci.c -@@ -141,7 +141,7 @@ +@@ -141,7 +141,7 @@ static struct pci_ops ks8695_pci_ops = { .write = ks8695_pci_writeconfig, }; @@ -6370,7 +6370,7 @@ } --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig -@@ -1056,5 +1056,21 @@ +@@ -1056,5 +1056,21 @@ config DEVPORT source "drivers/s390/char/Kconfig" @@ -6394,7 +6394,7 @@ --- a/drivers/char/Makefile +++ b/drivers/char/Makefile -@@ -98,6 +98,8 @@ +@@ -98,6 +98,8 @@ obj-$(CONFIG_GPIO_DEVICE) += gpio_dev.o obj-$(CONFIG_GPIO_VR41XX) += vr41xx_giu.o obj-$(CONFIG_GPIO_TB0219) += tb0219.o obj-$(CONFIG_TELCLOCK) += tlclk.o @@ -6981,7 +6981,7 @@ +MODULE_DESCRIPTION("SPI /dev interface for Atmel AT91RM9200") --- 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. @@ -6996,7 +6996,7 @@ config I2C_AU1550 tristate "Au1550/Au1200 SMBus interface" depends on SOC_AU1550 || SOC_AU1200 -@@ -626,6 +634,14 @@ +@@ -626,6 +634,14 @@ config I2C_VOODOO3 This driver can also be built as a module. If so, the module will be called i2c-voodoo3. @@ -7013,7 +7013,7 @@ depends on ISA --- a/drivers/i2c/busses/Makefile +++ b/drivers/i2c/busses/Makefile -@@ -29,6 +29,7 @@ +@@ -29,6 +29,7 @@ obj-$(CONFIG_I2C_OMAP) += i2c-omap.o obj-$(CONFIG_I2C_PARPORT) += i2c-parport.o obj-$(CONFIG_I2C_PARPORT_LIGHT) += i2c-parport-light.o obj-$(CONFIG_I2C_PASEMI) += i2c-pasemi.o @@ -7036,7 +7036,7 @@ static struct clk *twi_clk; static void __iomem *twi_base; -@@ -53,7 +56,7 @@ +@@ -53,7 +56,7 @@ static void __devinit at91_twi_hwinit(vo at91_twi_write(AT91_TWI_CR, AT91_TWI_MSEN); /* Set Master mode */ /* Calcuate clock dividers */ @@ -7045,7 +7045,7 @@ cdiv = cdiv + 1; /* round up */ ckdiv = 0; while (cdiv > 255) { -@@ -61,11 +64,12 @@ +@@ -61,11 +64,12 @@ static void __devinit at91_twi_hwinit(vo cdiv = cdiv >> 1; } @@ -7281,7 +7281,7 @@ +MODULE_LICENSE("GPL"); --- a/drivers/mmc/host/at91_mci.c +++ b/drivers/mmc/host/at91_mci.c -@@ -659,13 +659,14 @@ +@@ -659,13 +659,14 @@ static void at91_mci_set_ios(struct mmc_ /* maybe switch power to the card */ if (host->board->vcc_pin) { switch (ios->power_mode) { @@ -7305,7 +7305,7 @@ } --- a/drivers/mtd/devices/Kconfig +++ b/drivers/mtd/devices/Kconfig -@@ -270,5 +270,17 @@ +@@ -270,5 +270,17 @@ config MTD_DOCPROBE_55AA LinuxBIOS or if you need to recover a DiskOnChip Millennium on which you have managed to wipe the first block. @@ -7326,7 +7326,7 @@ +endmenu --- 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 @@ -8009,7 +8009,7 @@ +MODULE_DESCRIPTION("DataFlash driver for Atmel AT91RM9200"); --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig -@@ -273,12 +273,53 @@ +@@ -273,12 +273,53 @@ config MTD_NAND_CS553X If you say "m", the module will be called "cs553x_nand.ko". config MTD_NAND_AT91 @@ -8158,7 +8158,7 @@ * Hardware specific access to control-lines */ static void at91_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl) -@@ -44,6 +113,13 @@ +@@ -44,6 +113,13 @@ static void at91_nand_cmd_ctrl(struct mt struct nand_chip *nand_chip = mtd->priv; struct at91_nand_host *host = nand_chip->priv; @@ -8172,7 +8172,7 @@ if (cmd == NAND_CMD_NONE) return; -@@ -65,27 +141,249 @@ +@@ -65,27 +141,249 @@ static int at91_nand_device_ready(struct } /* @@ -8431,7 +8431,7 @@ /* * Probe for the NAND device. */ -@@ -94,6 +392,8 @@ +@@ -94,6 +392,8 @@ static int __init at91_nand_probe(struct struct at91_nand_host *host; struct mtd_info *mtd; struct nand_chip *nand_chip; @@ -8440,7 +8440,7 @@ int res; #ifdef CONFIG_MTD_PARTITIONS -@@ -108,8 +408,13 @@ +@@ -108,8 +408,13 @@ static int __init at91_nand_probe(struct return -ENOMEM; } @@ -8456,7 +8456,7 @@ if (host->io_base == NULL) { printk(KERN_ERR "at91_nand: ioremap failed\n"); kfree(host); -@@ -119,6 +424,7 @@ +@@ -119,6 +424,7 @@ static int __init at91_nand_probe(struct mtd = &host->mtd; nand_chip = &host->nand_chip; host->board = pdev->dev.platform_data; @@ -8464,7 +8464,7 @@ nand_chip->priv = host; /* link the private data structures */ mtd->priv = nand_chip; -@@ -132,11 +438,40 @@ +@@ -132,11 +438,40 @@ static int __init at91_nand_probe(struct if (host->board->rdy_pin) nand_chip->dev_ready = at91_nand_device_ready; @@ -8506,7 +8506,7 @@ platform_set_drvdata(pdev, host); at91_nand_enable(host); -@@ -149,8 +484,60 @@ +@@ -149,8 +484,60 @@ static int __init at91_nand_probe(struct } } @@ -8569,7 +8569,7 @@ res = -ENXIO; goto out; } -@@ -179,8 +566,11 @@ +@@ -179,8 +566,11 @@ static int __init at91_nand_probe(struct if (!res) return res; @@ -8581,7 +8581,7 @@ out: at91_nand_disable(host); platform_set_drvdata(pdev, NULL); -@@ -192,7 +582,7 @@ +@@ -192,7 +582,7 @@ out: /* * Remove a NAND device. */ @@ -8590,7 +8590,7 @@ { struct at91_nand_host *host = platform_get_drvdata(pdev); struct mtd_info *mtd = &host->mtd; -@@ -208,8 +598,7 @@ +@@ -208,8 +598,7 @@ static int __devexit at91_nand_remove(st } static struct platform_driver at91_nand_driver = { @@ -8600,7 +8600,7 @@ .driver = { .name = "at91_nand", .owner = THIS_MODULE, -@@ -218,7 +607,7 @@ +@@ -218,7 +607,7 @@ static struct platform_driver at91_nand_ static int __init at91_nand_init(void) { @@ -8609,7 +8609,7 @@ } -@@ -233,4 +622,4 @@ +@@ -233,4 +622,4 @@ module_exit(at91_nand_exit); MODULE_LICENSE("GPL"); MODULE_AUTHOR("Rick Bronson"); @@ -8617,7 +8617,7 @@ +MODULE_DESCRIPTION("NAND/SmartMedia driver for AT91RM9200 / AT91SAM9 / AT91CAP9"); --- a/drivers/net/arm/Kconfig +++ b/drivers/net/arm/Kconfig -@@ -47,3 +47,10 @@ +@@ -47,3 +47,10 @@ config EP93XX_ETH help This is a driver for the ethernet hardware included in EP93xx CPUs. Say Y if you are building a kernel for EP93xx based devices. @@ -8630,14 +8630,14 @@ + and enable Ethernet support, then select this option. --- a/drivers/net/arm/Makefile +++ b/drivers/net/arm/Makefile -@@ -9,3 +9,4 @@ +@@ -9,3 +9,4 @@ obj-$(CONFIG_ARM_ETHER3) += ether3.o obj-$(CONFIG_ARM_ETHER1) += ether1.o obj-$(CONFIG_ARM_AT91_ETHER) += at91_ether.o obj-$(CONFIG_EP93XX_ETH) += ep93xx_eth.o +obj-$(CONFIG_ARM_KS8695_ETHER) += ks8695_ether.o --- a/drivers/net/arm/at91_ether.c +++ b/drivers/net/arm/at91_ether.c -@@ -220,7 +220,7 @@ +@@ -220,7 +220,7 @@ static irqreturn_t at91ether_phy_interru if (!(phy & (1 << 0))) goto done; } @@ -8646,7 +8646,7 @@ read_phy(lp->phy_address, MII_TPISTATUS, &phy); /* ack interrupt in Micrel PHY */ if (!(phy & ((1 << 2) | 1))) goto done; -@@ -286,7 +286,7 @@ +@@ -286,7 +286,7 @@ static void enable_phyirq(struct net_dev dsintr = (1 << 15) | ( 1 << 14); write_phy(lp->phy_address, MII_BCMINTR_REG, dsintr); } @@ -8655,7 +8655,7 @@ dsintr = (1 << 10) | ( 1 << 8); write_phy(lp->phy_address, MII_TPISTATUS, dsintr); } -@@ -341,7 +341,7 @@ +@@ -341,7 +341,7 @@ static void disable_phyirq(struct net_de dsintr = ~(1 << 14); write_phy(lp->phy_address, MII_BCMINTR_REG, dsintr); } @@ -8664,7 +8664,7 @@ read_phy(lp->phy_address, MII_TPISTATUS, &dsintr); dsintr = ~((1 << 10) | (1 << 8)); write_phy(lp->phy_address, MII_TPISTATUS, dsintr); -@@ -820,7 +820,7 @@ +@@ -820,7 +820,7 @@ static int at91ether_tx(struct sk_buff * lp->skb = skb; lp->skb_length = skb->len; lp->skb_physaddr = dma_map_single(NULL, skb->data, skb->len, DMA_TO_DEVICE); @@ -8673,7 +8673,7 @@ /* Set address of the data in the Transmit Address register */ at91_emac_write(AT91_EMAC_TAR, lp->skb_physaddr); -@@ -843,34 +843,32 @@ +@@ -843,34 +843,32 @@ static int at91ether_tx(struct sk_buff * */ static struct net_device_stats *at91ether_stats(struct net_device *dev) { @@ -8723,7 +8723,7 @@ } /* -@@ -896,16 +894,16 @@ +@@ -896,16 +894,16 @@ static void at91ether_rx(struct net_devi skb->protocol = eth_type_trans(skb, dev); dev->last_rx = jiffies; @@ -8743,7 +8743,7 @@ dlist->descriptors[lp->rxBuffIndex].addr &= ~EMAC_DESC_DONE; /* reset ownership bit */ if (lp->rxBuffIndex == MAX_RX_DESCR-1) /* wrap after last buffer */ -@@ -934,7 +932,7 @@ +@@ -934,7 +932,7 @@ static irqreturn_t at91ether_interrupt(i if (intstatus & AT91_EMAC_TCOM) { /* Transmit complete */ /* The TCOM bit is set even if the transmission failed. */ if (intstatus & (AT91_EMAC_TUND | AT91_EMAC_RTRY)) @@ -8752,7 +8752,7 @@ if (lp->skb) { dev_kfree_skb_irq(lp->skb); -@@ -978,15 +976,22 @@ +@@ -978,15 +976,22 @@ static int __init at91ether_setup(unsign struct net_device *dev; struct at91_private *lp; unsigned int val; @@ -8778,7 +8778,7 @@ /* Install the interrupt handler */ if (request_irq(dev->irq, at91ether_interrupt, 0, dev->name, dev)) { -@@ -1043,7 +1048,9 @@ +@@ -1043,7 +1048,9 @@ static int __init at91ether_setup(unsign } else if (machine_is_csb337()) { /* mix link activity status into LED2 link state */ write_phy(phy_address, MII_LEDCTRL_REG, 0x0d22); @@ -8789,7 +8789,7 @@ disable_mdi(); spin_unlock_irq(&lp->lock); -@@ -1058,12 +1065,12 @@ +@@ -1058,12 +1065,12 @@ static int __init at91ether_setup(unsign lp->phy_address = phy_address; /* MDI address of PHY */ /* Register the network interface */ @@ -8805,7 +8805,7 @@ } /* Determine current link speed */ -@@ -1101,6 +1108,8 @@ +@@ -1101,6 +1108,8 @@ static int __init at91ether_setup(unsign printk(KERN_INFO "%s: National Semiconductor DP83848 PHY\n", dev->name); else if (phy_type == MII_AC101L_ID) printk(KERN_INFO "%s: Altima AC101L PHY\n", dev->name); @@ -8814,7 +8814,7 @@ else if (phy_type == MII_KS8721_ID) printk(KERN_INFO "%s: Micrel KS8721 PHY\n", dev->name); else if (phy_type == MII_T78Q21x3_ID) -@@ -1146,6 +1155,7 @@ +@@ -1146,6 +1155,7 @@ static int __init at91ether_probe(struct case MII_DP83847_ID: /* National Semiconductor DP83847: */ case MII_DP83848_ID: /* National Semiconductor DP83848: */ case MII_AC101L_ID: /* Altima AC101L: PHY_ID1 = 0x22, PHY_ID2 = 0x5520 */ @@ -8822,7 +8822,7 @@ case MII_KS8721_ID: /* Micrel KS8721: PHY_ID1 = 0x22, PHY_ID2 = 0x1610 */ case MII_T78Q21x3_ID: /* Teridian 78Q21x3: PHY_ID1 = 0x0E, PHY_ID2 = 7237 */ case MII_LAN83C185_ID: /* SMSC LAN83C185: PHY_ID1 = 0x0007, PHY_ID2 = 0xC0A1 */ -@@ -1246,3 +1256,4 @@ +@@ -1246,3 +1256,4 @@ module_exit(at91ether_exit) MODULE_LICENSE("GPL"); MODULE_DESCRIPTION("AT91RM9200 EMAC Ethernet driver"); MODULE_AUTHOR("Andrew Victor"); @@ -8839,7 +8839,7 @@ /* Micrel KS8721 PHY */ #define MII_KS8721_ID 0x00221610 -@@ -84,7 +87,6 @@ +@@ -84,7 +87,6 @@ struct recv_desc_bufs struct at91_private { @@ -9956,7 +9956,7 @@ +#endif --- a/drivers/rtc/Kconfig +++ b/drivers/rtc/Kconfig -@@ -487,12 +487,12 @@ +@@ -487,12 +487,12 @@ config RTC_DRV_AT91RM9200 this is powered by the backup power supply. config RTC_DRV_AT91SAM9 @@ -9985,7 +9985,7 @@ #include <asm/arch/at91_rtc.h> -@@ -307,12 +304,6 @@ +@@ -307,12 +304,6 @@ static int __init at91_rtc_probe(struct return ret; } @@ -10008,7 +10008,7 @@ #include <asm/arch/at91_rtt.h> -@@ -150,6 +151,9 @@ +@@ -150,6 +151,9 @@ static int at91_rtc_settime(struct devic return 0; } @@ -10018,7 +10018,7 @@ static int at91_rtc_readalarm(struct device *dev, struct rtc_wkalrm *alrm) { struct sam9_rtc *rtc = dev_get_drvdata(dev); -@@ -176,6 +180,9 @@ +@@ -176,6 +180,9 @@ static int at91_rtc_readalarm(struct dev return 0; } @@ -10028,7 +10028,7 @@ static int at91_rtc_setalarm(struct device *dev, struct rtc_wkalrm *alrm) { struct sam9_rtc *rtc = dev_get_drvdata(dev); -@@ -321,10 +328,6 @@ +@@ -321,10 +328,6 @@ static int __init at91_rtc_probe(struct if (!rtc) return -ENOMEM; @@ -10041,7 +10041,7 @@ rtc->rtt += r->start; --- a/drivers/spi/Kconfig +++ b/drivers/spi/Kconfig -@@ -113,6 +113,15 @@ +@@ -113,6 +113,15 @@ config SPI_GPIO If unsure, say N. @@ -10059,7 +10059,7 @@ depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL --- a/drivers/spi/Makefile +++ b/drivers/spi/Makefile -@@ -29,6 +29,7 @@ +@@ -29,6 +29,7 @@ obj-$(CONFIG_SPI_S3C24XX) += spi_s3c24x obj-$(CONFIG_SPI_TXX9) += spi_txx9.o obj-$(CONFIG_SPI_XILINX) += xilinx_spi.o obj-$(CONFIG_SPI_SH_SCI) += spi_sh_sci.o @@ -10280,7 +10280,7 @@ +MODULE_ALIAS("platform:at91_spi"); --- 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 @@ -10295,7 +10295,7 @@ tristate --- a/drivers/usb/gadget/at91_udc.c +++ b/drivers/usb/gadget/at91_udc.c -@@ -1827,7 +1827,7 @@ +@@ -1827,7 +1827,7 @@ static int at91udc_suspend(struct platfo */ if ((!udc->suspended && udc->addr) || !wake @@ -10322,7 +10322,7 @@ #ifdef CONFIG_USB_GADGET_DEBUG_FS #include <linux/debugfs.h> -@@ -324,53 +326,6 @@ +@@ -324,53 +326,6 @@ static int vbus_is_present(struct usba_u return 1; } @@ -10376,7 +10376,7 @@ static void next_fifo_transaction(struct usba_ep *ep, struct usba_request *req) { unsigned int transaction_len; -@@ -387,7 +342,7 @@ +@@ -387,7 +342,7 @@ static void next_fifo_transaction(struct ep->ep.name, req, transaction_len, req->last_transaction ? ", done" : ""); @@ -10385,7 +10385,7 @@ usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY); req->req.actual += transaction_len; } -@@ -476,7 +431,7 @@ +@@ -476,7 +431,7 @@ static void receive_data(struct usba_ep bytecount = req->req.length - req->req.actual; } @@ -10394,7 +10394,7 @@ ep->fifo, bytecount); req->req.actual += bytecount; -@@ -1029,33 +984,6 @@ +@@ -1029,33 +984,6 @@ static const struct usb_gadget_ops usba_ .set_selfpowered = usba_udc_set_selfpowered, }; @@ -10428,7 +10428,7 @@ static struct usb_endpoint_descriptor usba_ep0_desc = { .bLength = USB_DT_ENDPOINT_SIZE, .bDescriptorType = USB_DT_ENDPOINT, -@@ -1074,7 +1002,6 @@ +@@ -1074,7 +1002,6 @@ static void nop_release(struct device *d static struct usba_udc the_udc = { .gadget = { .ops = &usba_udc_ops, @@ -10436,7 +10436,7 @@ .ep_list = LIST_HEAD_INIT(the_udc.gadget.ep_list), .is_dualspeed = 1, .name = "atmel_usba_udc", -@@ -1231,7 +1158,7 @@ +@@ -1231,7 +1158,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); @@ -10445,7 +10445,7 @@ sizeof(test_packet_buffer)); usba_ep_writel(ep, SET_STA, USBA_TX_PK_RDY); dev_info(dev, "Entering Test_Packet mode...\n"); -@@ -1530,13 +1457,13 @@ +@@ -1530,13 +1457,13 @@ restart: DBG(DBG_HW, "Packet length: %u\n", pkt_len); if (pkt_len != sizeof(crq)) { pr_warning("udc: Invalid packet length %u " @@ -10461,7 +10461,7 @@ /* Free up one bank in the FIFO so that we can * generate or receive a reply right away. */ -@@ -1908,7 +1835,7 @@ +@@ -1908,7 +1835,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); @@ -10470,7 +10470,7 @@ return -ENXIO; irq = platform_get_irq(pdev, 0); -@@ -1956,16 +1883,44 @@ +@@ -1956,16 +1883,44 @@ static int __init usba_udc_probe(struct usba_writel(udc, CTRL, 0); clk_disable(pclk); @@ -10516,7 +10516,7 @@ list_add_tail(&ep->ep.ep_list, &udc->gadget.ep_list); } -@@ -1984,7 +1939,7 @@ +@@ -1984,7 +1939,7 @@ static int __init usba_udc_probe(struct goto err_device_add; } @@ -10525,7 +10525,7 @@ if (!gpio_request(pdata->vbus_pin, "atmel_usba_udc")) { udc->vbus_pin = pdata->vbus_pin; -@@ -2004,7 +1959,7 @@ +@@ -2004,7 +1959,7 @@ static int __init usba_udc_probe(struct } usba_init_debugfs(udc); @@ -10534,7 +10534,7 @@ usba_ep_init_debugfs(udc, &usba_ep[i]); return 0; -@@ -2012,6 +1967,8 @@ +@@ -2012,6 +1967,8 @@ static int __init usba_udc_probe(struct err_device_add: free_irq(irq, udc); err_request_irq: @@ -10543,7 +10543,7 @@ iounmap(udc->fifo); err_map_fifo: iounmap(udc->regs); -@@ -2029,10 +1986,11 @@ +@@ -2029,10 +1986,11 @@ static int __exit usba_udc_remove(struct { struct usba_udc *udc; int i; @@ -10558,7 +10558,7 @@ --- a/drivers/usb/host/ohci-at91.c +++ b/drivers/usb/host/ohci-at91.c -@@ -330,7 +330,7 @@ +@@ -330,7 +330,7 @@ ohci_hcd_at91_drv_suspend(struct platfor * * REVISIT: some boards will be able to turn VBUS off... */ @@ -10569,7 +10569,7 @@ } --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig -@@ -889,6 +889,17 @@ +@@ -889,6 +889,17 @@ config FB_EPSON1355 framebuffer. Product specs at <http://www.erd.epson.com/vdc/html/products.htm>. @@ -10589,7 +10589,7 @@ depends on FB --- a/drivers/video/Makefile +++ b/drivers/video/Makefile -@@ -87,7 +87,8 @@ +@@ -87,7 +87,8 @@ obj-$(CONFIG_FB_G364) += g36 obj-$(CONFIG_FB_SA1100) += sa1100fb.o obj-$(CONFIG_FB_HIT) += hitfb.o obj-$(CONFIG_FB_EPSON1355) += epson1355fb.o @@ -10610,7 +10610,7 @@ #define ATMEL_LCDC_FIFO_SIZE 2048 #else #define ATMEL_LCDC_FIFO_SIZE 512 -@@ -903,11 +903,45 @@ +@@ -903,11 +903,45 @@ static int __exit atmel_lcdfb_remove(str return 0; } @@ -10661,7 +10661,7 @@ .owner = THIS_MODULE, --- a/drivers/video/backlight/Kconfig +++ b/drivers/video/backlight/Kconfig -@@ -112,3 +112,11 @@ +@@ -112,3 +112,11 @@ config BACKLIGHT_CARILLO_RANCH help If you have a Intel LE80578 (Carillo Ranch) say Y to enable the backlight driver. @@ -10675,7 +10675,7 @@ + backlight driver. --- a/drivers/video/backlight/Makefile +++ b/drivers/video/backlight/Makefile -@@ -10,3 +10,4 @@ +@@ -10,3 +10,4 @@ obj-$(CONFIG_BACKLIGHT_LOCOMO) += locomo obj-$(CONFIG_BACKLIGHT_OMAP1) += omap1_bl.o obj-$(CONFIG_BACKLIGHT_PROGEAR) += progear_bl.o obj-$(CONFIG_BACKLIGHT_CARILLO_RANCH) += cr_bllcd.o @@ -11507,7 +11507,7 @@ +MODULE_LICENSE("GPL"); --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig -@@ -66,6 +66,14 @@ +@@ -66,6 +66,14 @@ config AT91RM9200_WATCHDOG Watchdog timer embedded into AT91RM9200 chips. This will reboot your system when the timeout is reached. @@ -11524,7 +11524,7 @@ depends on FOOTBRIDGE --- a/drivers/watchdog/Makefile +++ b/drivers/watchdog/Makefile -@@ -26,6 +26,7 @@ +@@ -26,6 +26,7 @@ obj-$(CONFIG_USBPCWATCHDOG) += pcwd_usb. # ARM Architecture obj-$(CONFIG_AT91RM9200_WATCHDOG) += at91rm9200_wdt.o @@ -12556,7 +12556,7 @@ /* USB Device */ struct at91_udc_data { -@@ -45,6 +46,9 @@ +@@ -45,6 +46,9 @@ struct at91_udc_data { }; extern void __init at91_add_device_udc(struct at91_udc_data *data); @@ -12566,7 +12566,7 @@ /* Compact Flash */ struct at91_cf_data { u8 irq_pin; /* I/O IRQ */ -@@ -158,6 +162,9 @@ +@@ -158,6 +162,9 @@ extern void __init at91_add_device_ac97( /* ISI */ extern void __init at91_add_device_isi(void); @@ -12578,7 +12578,7 @@ extern void __init at91_gpio_leds(struct gpio_led *leds, int nr); --- a/include/asm-arm/arch-at91/cpu.h +++ b/include/asm-arm/arch-at91/cpu.h -@@ -48,6 +48,17 @@ +@@ -48,6 +48,17 @@ static inline unsigned long at91_arch_id return (at91_sys_read(AT91_DBGU_CIDR) & AT91_CIDR_ARCH); } @@ -12596,7 +12596,7 @@ #ifdef CONFIG_ARCH_AT91RM9200 #define cpu_is_at91rm9200() (at91_cpu_identify() == ARCH_ID_AT91RM9200) -@@ -83,8 +94,12 @@ +@@ -83,8 +94,12 @@ static inline unsigned long at91_arch_id #ifdef CONFIG_ARCH_AT91CAP9 #define cpu_is_at91cap9() (at91_cpu_identify() == ARCH_ID_AT91CAP9) @@ -12858,7 +12858,7 @@ #elif defined(CONFIG_ARCH_AT91SAM9RL) --- a/include/asm-arm/arch-ks8695/devices.h +++ b/include/asm-arm/arch-ks8695/devices.h -@@ -18,6 +18,11 @@ +@@ -18,6 +18,11 @@ extern void __init ks8695_add_device_wan extern void __init ks8695_add_device_lan(void); extern void __init ks8695_add_device_hpna(void); @@ -12872,7 +12872,7 @@ #define KS8695_MODE_MINIPCI 1 --- a/include/linux/clk.h +++ b/include/linux/clk.h -@@ -121,4 +121,24 @@ +@@ -121,4 +121,24 @@ int clk_set_parent(struct clk *clk, stru */ struct clk *clk_get_parent(struct clk *clk); @@ -12935,7 +12935,7 @@ + --- a/include/video/atmel_lcdc.h +++ b/include/video/atmel_lcdc.h -@@ -39,6 +39,7 @@ +@@ -39,6 +39,7 @@ struct atmel_lcdfb_info { u8 bl_power; #endif bool lcdcon_is_backlight; @@ -12969,7 +12969,7 @@ static struct clk *pck1_clk; static struct clk *pllb_clk; -@@ -276,7 +268,6 @@ +@@ -276,7 +268,6 @@ static struct platform_device *eti_b1_sn static int __init eti_b1_init(void) { int ret; @@ -12977,7 +12977,7 @@ struct at91_ssc_periph *ssc = eti_b1_dai.cpu_dai->private_data; if (!request_mem_region(AT91RM9200_BASE_SSC1, SZ_16K, "soc-audio")) { -@@ -310,19 +301,12 @@ +@@ -310,19 +301,12 @@ static int __init eti_b1_init(void) goto fail_io_unmap; } @@ -13005,7 +13005,7 @@ * Set PCK1 parent to PLLB and its rate to 12 Mhz. --- a/sound/spi/at73c213.c +++ b/sound/spi/at73c213.c -@@ -114,7 +114,11 @@ +@@ -114,7 +114,11 @@ snd_at73c213_write_reg(struct snd_at73c2 static struct snd_pcm_hardware snd_at73c213_playback_hw = { .info = SNDRV_PCM_INFO_INTERLEAVED | SNDRV_PCM_INFO_BLOCK_TRANSFER, diff --git a/target/linux/at91/patches-2.6.25/001-vlink-machine.patch b/target/linux/at91/patches-2.6.25/001-vlink-machine.patch index ee23cc8c5c..76e3698c52 100644 --- a/target/linux/at91/patches-2.6.25/001-vlink-machine.patch +++ b/target/linux/at91/patches-2.6.25/001-vlink-machine.patch @@ -1,6 +1,6 @@ --- a/arch/arm/mach-at91/Kconfig +++ b/arch/arm/mach-at91/Kconfig -@@ -151,6 +151,12 @@ +@@ -151,6 +151,12 @@ config MACH_TT9200 help Select this if you are using Toptech's TT9200 board. @@ -15,7 +15,7 @@ # ---------------------------------------------------------- --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile -@@ -29,6 +29,7 @@ +@@ -29,6 +29,7 @@ obj-$(CONFIG_MACH_KB9200) += board-kb920 obj-$(CONFIG_MACH_ATEB9200) += board-eb9200.o obj-$(CONFIG_MACH_KAFA) += board-kafa.o obj-$(CONFIG_MACH_CHUB) += board-chub.o diff --git a/target/linux/at91/patches-2.6.25/002-led-driver.patch b/target/linux/at91/patches-2.6.25/002-led-driver.patch index 20e1fe7729..595720dcb2 100644 --- a/target/linux/at91/patches-2.6.25/002-led-driver.patch +++ b/target/linux/at91/patches-2.6.25/002-led-driver.patch @@ -1,6 +1,6 @@ --- a/arch/arm/mach-at91/at91rm9200_devices.c +++ b/arch/arm/mach-at91/at91rm9200_devices.c -@@ -717,6 +717,26 @@ +@@ -717,6 +717,26 @@ static void __init at91_add_device_watch static void __init at91_add_device_watchdog(void) {} #endif @@ -29,7 +29,7 @@ * SSC -- Synchronous Serial Controller --- a/arch/arm/mach-at91/Makefile +++ b/arch/arm/mach-at91/Makefile -@@ -60,7 +60,12 @@ +@@ -60,7 +60,12 @@ obj-$(CONFIG_MACH_AT91CAP9ADK) += board- obj-$(CONFIG_MACH_AT91EB01) += board-eb01.o # Drivers @@ -153,7 +153,7 @@ +__initcall(leds_init); --- a/include/asm-arm/arch-at91/board.h +++ b/include/asm-arm/arch-at91/board.h -@@ -162,6 +162,11 @@ +@@ -162,6 +162,11 @@ extern void __init at91_add_device_ac97( /* ISI */ extern void __init at91_add_device_isi(void); diff --git a/target/linux/at91/patches-2.6.25/003-gpio-driver.patch b/target/linux/at91/patches-2.6.25/003-gpio-driver.patch index f27b361051..3968c6b2d5 100644 --- a/target/linux/at91/patches-2.6.25/003-gpio-driver.patch +++ b/target/linux/at91/patches-2.6.25/003-gpio-driver.patch @@ -1,6 +1,6 @@ --- a/arch/arm/mach-at91/board-vlink.c +++ b/arch/arm/mach-at91/board-vlink.c -@@ -99,7 +99,7 @@ +@@ -99,7 +99,7 @@ static struct at91_udc_data __initdata v */ static struct at91_mmc_data __initdata vlink_mmc_data = { @@ -9,7 +9,7 @@ .slot_b = 0, .wire4 = 1, // .wp_pin = AT91_PIN_PA17, -@@ -136,6 +136,7 @@ +@@ -136,6 +136,7 @@ static struct spi_board_info vlink_spi_d static void __init vlink_board_init(void) { @@ -17,7 +17,7 @@ /* Serial */ at91_add_device_serial(); /* Ethernet */ -@@ -157,36 +158,66 @@ +@@ -157,36 +158,66 @@ static void __init vlink_board_init(void // at91_set_gpio_output(AT91_PIN_PB22, 1); /* this MMC card slot can optionally use SPI signaling (CS3). */ at91_add_device_mmc(0, &vlink_mmc_data); #endif @@ -112,7 +112,7 @@ static inline void __iomem *pin_to_controller(unsigned pin) -@@ -71,9 +72,13 @@ +@@ -71,9 +72,13 @@ int __init_or_module at91_set_GPIO_perip { void __iomem *pio = pin_to_controller(pin); unsigned mask = pin_to_mask(pin); @@ -126,7 +126,7 @@ __raw_writel(mask, pio + PIO_IDR); __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); __raw_writel(mask, pio + PIO_PER); -@@ -130,10 +135,13 @@ +@@ -130,10 +135,13 @@ int __init_or_module at91_set_gpio_input { void __iomem *pio = pin_to_controller(pin); unsigned mask = pin_to_mask(pin); @@ -140,7 +140,7 @@ __raw_writel(mask, pio + PIO_IDR); __raw_writel(mask, pio + (use_pullup ? PIO_PUER : PIO_PUDR)); __raw_writel(mask, pio + PIO_ODR); -@@ -151,10 +159,13 @@ +@@ -151,10 +159,13 @@ int __init_or_module at91_set_gpio_outpu { void __iomem *pio = pin_to_controller(pin); unsigned mask = pin_to_mask(pin); @@ -154,7 +154,7 @@ __raw_writel(mask, pio + PIO_IDR); __raw_writel(mask, pio + PIO_PUDR); __raw_writel(mask, pio + (value ? PIO_SODR : PIO_CODR)); -@@ -262,6 +273,18 @@ +@@ -262,6 +273,18 @@ int at91_get_gpio_value(unsigned pin) } EXPORT_SYMBOL(at91_get_gpio_value); @@ -175,7 +175,7 @@ #ifdef CONFIG_PM --- a/drivers/char/Kconfig +++ b/drivers/char/Kconfig -@@ -1072,5 +1072,12 @@ +@@ -1072,5 +1072,12 @@ config AT91_SPIDEV The SPI driver gives user mode access to this serial bus on the AT91RM9200 processor. @@ -190,7 +190,7 @@ --- a/drivers/char/Makefile +++ b/drivers/char/Makefile -@@ -100,6 +100,7 @@ +@@ -100,6 +100,7 @@ obj-$(CONFIG_GPIO_TB0219) += tb0219.o obj-$(CONFIG_TELCLOCK) += tlclk.o obj-$(CONFIG_AT91_SPI) += at91_spi.o obj-$(CONFIG_AT91_SPIDEV) += at91_spidev.o @@ -536,7 +536,7 @@ +MODULE_DESCRIPTION("FDL Versalink GPIO Driver"); --- a/include/asm-arm/arch-at91/gpio.h +++ b/include/asm-arm/arch-at91/gpio.h -@@ -199,6 +199,7 @@ +@@ -199,6 +199,7 @@ extern int __init_or_module at91_set_mul /* callable at any time */ extern int at91_set_gpio_value(unsigned pin, int value); extern int at91_get_gpio_value(unsigned pin); diff --git a/target/linux/at91/patches-2.6.25/007-mtd-partition.patch b/target/linux/at91/patches-2.6.25/007-mtd-partition.patch index 80602596ad..503c89200b 100644 --- a/target/linux/at91/patches-2.6.25/007-mtd-partition.patch +++ b/target/linux/at91/patches-2.6.25/007-mtd-partition.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/devices/at91_dataflash.c +++ b/drivers/mtd/devices/at91_dataflash.c -@@ -175,7 +175,7 @@ +@@ -175,7 +175,7 @@ static struct mtd_partition static_parti }; #endif @@ -11,7 +11,7 @@ --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig -@@ -168,6 +168,12 @@ +@@ -168,6 +168,12 @@ config MTD_OF_PARTS the partition map from the children of the flash node, as described in Documentation/powerpc/booting-without-of.txt. @@ -26,7 +26,7 @@ config MTD_CHAR --- a/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile -@@ -12,6 +12,7 @@ +@@ -12,6 +12,7 @@ obj-$(CONFIG_MTD_REDBOOT_PARTS) += redbo obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o obj-$(CONFIG_MTD_AFS_PARTS) += afs.o obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o diff --git a/target/linux/at91/patches-2.6.25/008-fdl-serial.patch b/target/linux/at91/patches-2.6.25/008-fdl-serial.patch index 331990168b..cf11ac0da5 100644 --- a/target/linux/at91/patches-2.6.25/008-fdl-serial.patch +++ b/target/linux/at91/patches-2.6.25/008-fdl-serial.patch @@ -1,6 +1,6 @@ --- a/drivers/serial/atmel_serial.c +++ b/drivers/serial/atmel_serial.c -@@ -214,6 +214,34 @@ +@@ -214,6 +214,34 @@ static void atmel_set_mctrl(struct uart_ at91_set_gpio_value(AT91_PIN_PA21, 0); else at91_set_gpio_value(AT91_PIN_PA21, 1); @@ -35,7 +35,7 @@ } } #endif -@@ -251,8 +279,10 @@ +@@ -251,8 +279,10 @@ static u_int atmel_get_mctrl(struct uart /* * The control signals are active low. */ @@ -48,7 +48,7 @@ if (!(status & ATMEL_US_CTS)) ret |= TIOCM_CTS; if (!(status & ATMEL_US_DSR)) -@@ -260,6 +290,16 @@ +@@ -260,6 +290,16 @@ static u_int atmel_get_mctrl(struct uart if (!(status & ATMEL_US_RI)) ret |= TIOCM_RI; @@ -65,7 +65,7 @@ return ret; } -@@ -453,6 +493,34 @@ +@@ -453,6 +493,34 @@ static void atmel_tx_chars(struct uart_p } /* @@ -100,7 +100,7 @@ * receive interrupt handler. */ static void -@@ -815,6 +883,23 @@ +@@ -815,6 +883,23 @@ static int atmel_startup(struct uart_por return retval; } @@ -124,7 +124,7 @@ /* * Initialize DMA (if necessary) */ -@@ -834,6 +919,10 @@ +@@ -834,6 +919,10 @@ static int atmel_startup(struct uart_por kfree(atmel_port->pdc_rx[0].buf); } free_irq(port->irq, port); @@ -135,7 +135,7 @@ return -ENOMEM; } pdc->dma_addr = dma_map_single(port->dev, -@@ -873,7 +962,11 @@ +@@ -873,7 +962,11 @@ static int atmel_startup(struct uart_por retval = atmel_open_hook(port); if (retval) { free_irq(port->irq, port); @@ -148,7 +148,7 @@ } } -@@ -947,6 +1040,10 @@ +@@ -947,6 +1040,10 @@ static void atmel_shutdown(struct uart_p * Free the interrupt */ free_irq(port->irq, port); diff --git a/target/linux/at91/patches-2.6.25/009-fdl-uartinit.patch b/target/linux/at91/patches-2.6.25/009-fdl-uartinit.patch index 45d6783bb4..d30023186a 100644 --- a/target/linux/at91/patches-2.6.25/009-fdl-uartinit.patch +++ b/target/linux/at91/patches-2.6.25/009-fdl-uartinit.patch @@ -1,6 +1,6 @@ --- a/arch/arm/mach-at91/at91rm9200_devices.c +++ b/arch/arm/mach-at91/at91rm9200_devices.c -@@ -1001,7 +1001,15 @@ +@@ -1001,7 +1001,15 @@ static inline void configure_usart0_pins * We need to drive the pin manually. Default is off (RTS is active low). */ at91_set_gpio_output(AT91_PIN_PA21, 1); @@ -17,7 +17,7 @@ } static struct resource uart1_resources[] = { -@@ -1139,6 +1147,14 @@ +@@ -1139,6 +1147,14 @@ static inline void configure_usart3_pins at91_set_B_periph(AT91_PIN_PB1, 0); /* CTS3 */ if (pins & ATMEL_UART_RTS) at91_set_B_periph(AT91_PIN_PB0, 0); /* RTS3 */ diff --git a/target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch b/target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch index a84851298e..756e014f02 100644 --- a/target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch +++ b/target/linux/at91/patches-2.6.25/010-dm9161a-phyfix.patch @@ -1,6 +1,6 @@ --- a/drivers/net/arm/at91_ether.c +++ b/drivers/net/arm/at91_ether.c -@@ -146,6 +146,7 @@ +@@ -146,6 +146,7 @@ static void update_linkspeed(struct net_ struct at91_private *lp = netdev_priv(dev); unsigned int bmsr, bmcr, lpa, mac_cfg; unsigned int speed, duplex; @@ -8,7 +8,7 @@ if (!mii_link_ok(&lp->mii)) { /* no link */ netif_carrier_off(dev); -@@ -158,8 +159,15 @@ +@@ -158,8 +159,15 @@ static void update_linkspeed(struct net_ read_phy(lp->phy_address, MII_BMSR, &bmsr); read_phy(lp->phy_address, MII_BMCR, &bmcr); if (bmcr & BMCR_ANENABLE) { /* AutoNegotiation is enabled */ diff --git a/target/linux/at91/patches-2.6.25/014-initpartition.patch b/target/linux/at91/patches-2.6.25/014-initpartition.patch index 491207443e..554c1491e7 100644 --- a/target/linux/at91/patches-2.6.25/014-initpartition.patch +++ b/target/linux/at91/patches-2.6.25/014-initpartition.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/devices/at91_dataflash.c +++ b/drivers/mtd/devices/at91_dataflash.c -@@ -163,12 +163,12 @@ +@@ -163,12 +163,12 @@ static struct mtd_partition static_parti .mask_flags = MTD_WRITEABLE, /* read-only */ }, { diff --git a/target/linux/at91/patches-2.6.25/017-usb_serial_endpoint_size.patch b/target/linux/at91/patches-2.6.25/017-usb_serial_endpoint_size.patch index d698763c68..7bd38b4434 100644 --- a/target/linux/at91/patches-2.6.25/017-usb_serial_endpoint_size.patch +++ b/target/linux/at91/patches-2.6.25/017-usb_serial_endpoint_size.patch @@ -1,6 +1,6 @@ --- a/drivers/usb/serial/usb-serial.c +++ b/drivers/usb/serial/usb-serial.c -@@ -904,7 +904,7 @@ +@@ -904,7 +904,7 @@ int usb_serial_probe(struct usb_interfac dev_err(&interface->dev, "No free urbs available\n"); goto probe_error; } diff --git a/target/linux/au1000/Makefile b/target/linux/au1000/Makefile index 4db3a39dc8..a022d5f1a4 100644 --- a/target/linux/au1000/Makefile +++ b/target/linux/au1000/Makefile @@ -11,7 +11,7 @@ BOARD:=au1000 BOARDNAME:=RMI/AMD AU1x00 FEATURES:=jffs2 usb pci -LINUX_VERSION:=2.6.25.17 +LINUX_VERSION:=2.6.25.19 include $(INCLUDE_DIR)/target.mk DEFAULT_PACKAGES += yamonenv diff --git a/target/linux/au1000/patches/001-au1000_gpio_kconfig.patch b/target/linux/au1000/patches/001-au1000_gpio_kconfig.patch index bac9463e04..b3aa0637b8 100644 --- a/target/linux/au1000/patches/001-au1000_gpio_kconfig.patch +++ b/target/linux/au1000/patches/001-au1000_gpio_kconfig.patch @@ -12,7 +12,7 @@ Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu> --- 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 diff --git a/target/linux/au1000/patches/002-sys_btn_gpio.patch b/target/linux/au1000/patches/002-sys_btn_gpio.patch index a3aa7ad679..e38b83f7cb 100644 --- a/target/linux/au1000/patches/002-sys_btn_gpio.patch +++ b/target/linux/au1000/patches/002-sys_btn_gpio.patch @@ -37,7 +37,7 @@ Signed-off-by: Florian Fainelli <florian.fainelli@telecomint.eu> 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, diff --git a/target/linux/au1000/patches/005-au1000_eth_link_beat.patch b/target/linux/au1000/patches/005-au1000_eth_link_beat.patch index 8ba5f0024e..e3771d7720 100644 --- a/target/linux/au1000/patches/005-au1000_eth_link_beat.patch +++ b/target/linux/au1000/patches/005-au1000_eth_link_beat.patch @@ -10,7 +10,7 @@ * ######################################################################## * * 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 diff --git a/target/linux/au1000/patches/012-mtx1_cmdline.patch b/target/linux/au1000/patches/012-mtx1_cmdline.patch index ee8b541b81..a41ee6f21d 100644 --- a/target/linux/au1000/patches/012-mtx1_cmdline.patch +++ b/target/linux/au1000/patches/012-mtx1_cmdline.patch @@ -1,6 +1,6 @@ --- 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; diff --git a/target/linux/au1000/patches/013-openwrt_rootfs.patch b/target/linux/au1000/patches/013-openwrt_rootfs.patch index 414aa39583..e7bcba6b6e 100644 --- a/target/linux/au1000/patches/013-openwrt_rootfs.patch +++ b/target/linux/au1000/patches/013-openwrt_rootfs.patch @@ -1,6 +1,6 @@ --- 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[] = { { diff --git a/target/linux/au1000/patches/014-au1000_eth_ioctl.patch b/target/linux/au1000/patches/014-au1000_eth_ioctl.patch index ed308f8190..935898159f 100644 --- a/target/linux/au1000/patches/014-au1000_eth_ioctl.patch +++ b/target/linux/au1000/patches/014-au1000_eth_ioctl.patch @@ -1,6 +1,6 @@ --- 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 } } diff --git a/target/linux/au1000/patches/016-net-irq.patch b/target/linux/au1000/patches/016-net-irq.patch index 4ad718bf6e..a5b00a8789 100644 --- a/target/linux/au1000/patches/016-net-irq.patch +++ b/target/linux/au1000/patches/016-net-irq.patch @@ -1,6 +1,6 @@ --- 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, diff --git a/target/linux/au1000/patches/017-gpio-dir.patch b/target/linux/au1000/patches/017-gpio-dir.patch index 982d10af4e..5ae819ee18 100644 --- a/target/linux/au1000/patches/017-gpio-dir.patch +++ b/target/linux/au1000/patches/017-gpio-dir.patch @@ -1,6 +1,6 @@ --- 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; @@ -10,7 +10,7 @@ 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); diff --git a/target/linux/avr32/Makefile b/target/linux/avr32/Makefile index 6d24ecffb3..7d1b8418a5 100644 --- a/target/linux/avr32/Makefile +++ b/target/linux/avr32/Makefile @@ -10,7 +10,7 @@ ARCH:=avr32 BOARD:=avr32 BOARDNAME:=Atmel AVR32 FEATURES:=squashfs -LINUX_VERSION:=2.6.25.17 +LINUX_VERSION:=2.6.25.19 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/avr32/patches/100-git_sync.patch b/target/linux/avr32/patches/100-git_sync.patch index 2f6291a7db..6c9fe1eb66 100644 --- a/target/linux/avr32/patches/100-git_sync.patch +++ b/target/linux/avr32/patches/100-git_sync.patch @@ -1,6 +1,6 @@ --- a/Documentation/serial/driver +++ b/Documentation/serial/driver -@@ -186,6 +186,17 @@ +@@ -186,6 +186,17 @@ hardware. Locking: port_sem taken. Interrupts: caller dependent. @@ -20,7 +20,7 @@ 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 @@ -30,7 +30,7 @@ config RWSEM_XCHGADD_ALGORITHM def_bool n -@@ -70,6 +73,8 @@ +@@ -70,6 +73,8 @@ source "init/Kconfig" menu "System Type and features" @@ -39,7 +39,7 @@ 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 @@ -47,7 +47,7 @@ # # CPU types -@@ -117,6 +123,9 @@ +@@ -117,6 +123,9 @@ endchoice if BOARD_ATSTK1000 source "arch/avr32/boards/atstk1000/Kconfig" endif @@ -57,7 +57,7 @@ choice prompt "Boot loader type" -@@ -142,6 +151,9 @@ +@@ -142,6 +151,9 @@ config PHYS_OFFSET source "kernel/Kconfig.preempt" @@ -67,7 +67,7 @@ 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. @@ -78,7 +78,7 @@ # FPU emulation goes here source "kernel/Kconfig.hz" -@@ -196,6 +212,11 @@ +@@ -196,6 +212,11 @@ endmenu menu "Power management options" @@ -92,7 +92,7 @@ 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/ @@ -131,7 +131,7 @@ /* 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", @@ -149,7 +149,7 @@ /* * 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 } }; @@ -157,7 +157,7 @@ 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, }, }; @@ -165,7 +165,7 @@ 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)); @@ -173,7 +173,7 @@ 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); @@ -191,7 +191,7 @@ } --- 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 @@ -202,7 +202,7 @@ 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 @@ -265,7 +265,7 @@ 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 @@ -363,7 +363,7 @@ struct eth_addr { u8 addr[6]; -@@ -83,6 +157,19 @@ +@@ -83,6 +157,19 @@ static struct spi_board_info spi1_board_ } }; #endif @@ -383,7 +383,7 @@ /* * 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(); @@ -396,7 +396,7 @@ #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 @@ -444,7 +444,7 @@ #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 @@ -464,7 +464,7 @@ #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 @@ -504,7 +504,7 @@ #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 @@ -542,7 +542,7 @@ # 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 @@ -554,7 +554,7 @@ 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 @@ -575,7 +575,7 @@ 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 @@ -589,7 +589,7 @@ 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 @@ -604,7 +604,7 @@ 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" @@ -620,7 +620,7 @@ 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 @@ -628,7 +628,7 @@ 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 @@ -636,7 +636,7 @@ 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 @@ -663,7 +663,7 @@ # # 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 @@ -675,7 +675,7 @@ # 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 @@ -683,7 +683,7 @@ 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 @@ -770,7 +770,7 @@ 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 @@ -830,7 +830,7 @@ # 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 @@ -838,7 +838,7 @@ # # 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 @@ -846,7 +846,7 @@ # 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 @@ -868,7 +868,7 @@ # # 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 @@ -882,7 +882,7 @@ # 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 @@ -890,7 +890,7 @@ # 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 @@ -898,7 +898,7 @@ # 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 @@ -907,7 +907,7 @@ # 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 # @@ -915,7 +915,7 @@ 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 # @@ -931,7 +931,7 @@ # 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 @@ -959,7 +959,7 @@ 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' # @@ -970,7 +970,7 @@ 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 @@ -997,7 +997,7 @@ 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 @@ -1022,7 +1022,7 @@ # 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 # @@ -1052,7 +1052,7 @@ # 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 @@ -1061,7 +1061,7 @@ # # 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 @@ -1072,7 +1072,7 @@ # 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 @@ -1084,7 +1084,7 @@ # # 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 @@ -1092,7 +1092,7 @@ # 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 @@ -1104,7 +1104,7 @@ # 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 @@ -1114,7 +1114,7 @@ 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 @@ -1124,7 +1124,7 @@ # 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 @@ -1140,7 +1140,7 @@ 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 @@ -1164,7 +1164,7 @@ # 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 @@ -1176,7 +1176,7 @@ 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 @@ -1195,7 +1195,7 @@ 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 @@ -1209,7 +1209,7 @@ 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 @@ -1224,7 +1224,7 @@ 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" @@ -1240,7 +1240,7 @@ 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 @@ -1257,7 +1257,7 @@ 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 @@ -1265,7 +1265,7 @@ 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 @@ -1292,7 +1292,7 @@ # # 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 @@ -1304,7 +1304,7 @@ # 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 @@ -1312,7 +1312,7 @@ 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 @@ -1320,7 +1320,7 @@ # 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 @@ -1341,7 +1341,7 @@ # # 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 @@ -1349,7 +1349,7 @@ 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 @@ -1363,7 +1363,7 @@ # 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 @@ -1371,7 +1371,7 @@ # 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 @@ -1379,7 +1379,7 @@ # 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 @@ -1388,7 +1388,7 @@ # 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 # @@ -1396,7 +1396,7 @@ 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 # @@ -1412,7 +1412,7 @@ # 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 @@ -1440,7 +1440,7 @@ 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 # @@ -1459,7 +1459,7 @@ # SPI devices # CONFIG_SND_AT73C213=m -@@ -753,9 +815,14 @@ +@@ -753,9 +815,14 @@ CONFIG_SND_AT73C213_TARGET_BITRATE=48000 # # @@ -1474,7 +1474,7 @@ # 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' # @@ -1485,7 +1485,7 @@ 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 @@ -1519,7 +1519,7 @@ 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 @@ -1544,7 +1544,7 @@ # 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 # @@ -1561,7 +1561,7 @@ # 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 @@ -1575,7 +1575,7 @@ # 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 @@ -1584,7 +1584,7 @@ # # 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 @@ -1595,7 +1595,7 @@ # 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 @@ -1607,7 +1607,7 @@ # # 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 @@ -1615,7 +1615,7 @@ # 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 @@ -1627,7 +1627,7 @@ # 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 @@ -1637,7 +1637,7 @@ 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 @@ -1647,7 +1647,7 @@ # 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 @@ -1663,7 +1663,7 @@ # 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 @@ -1683,7 +1683,7 @@ # 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 @@ -1695,7 +1695,7 @@ 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 @@ -1716,7 +1716,7 @@ 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 @@ -1730,7 +1730,7 @@ 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 @@ -1745,7 +1745,7 @@ 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" @@ -1761,7 +1761,7 @@ 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 @@ -1778,7 +1778,7 @@ 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 @@ -1786,7 +1786,7 @@ 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 @@ -1813,7 +1813,7 @@ # # 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 @@ -1825,7 +1825,7 @@ # 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 @@ -1833,7 +1833,7 @@ # 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 @@ -1854,7 +1854,7 @@ # # 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 @@ -1862,7 +1862,7 @@ 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 @@ -1870,7 +1870,7 @@ # 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 @@ -1878,7 +1878,7 @@ # 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 @@ -1887,7 +1887,7 @@ # 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 # @@ -1895,7 +1895,7 @@ 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 # @@ -1911,7 +1911,7 @@ # 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 @@ -1939,7 +1939,7 @@ CONFIG_WATCHDOG=y # CONFIG_WATCHDOG_NOWAYOUT is not set -@@ -665,12 +716,18 @@ +@@ -665,12 +716,18 @@ CONFIG_SND_VERBOSE_PROCFS=y # # Generic devices # @@ -1958,7 +1958,7 @@ # SPI devices # CONFIG_SND_AT73C213=m -@@ -686,9 +743,14 @@ +@@ -686,9 +743,14 @@ CONFIG_SND_AT73C213_TARGET_BITRATE=48000 # # @@ -1973,7 +1973,7 @@ # 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' # @@ -1984,7 +1984,7 @@ 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 @@ -2018,7 +2018,7 @@ 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 @@ -2043,7 +2043,7 @@ # 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 # @@ -2060,7 +2060,7 @@ # 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 @@ -2074,7 +2074,7 @@ # 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 @@ -2083,7 +2083,7 @@ # # 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 @@ -2094,7 +2094,7 @@ # 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 @@ -2106,7 +2106,7 @@ # # 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 @@ -2114,7 +2114,7 @@ # 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 @@ -2126,7 +2126,7 @@ # 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 @@ -2146,7 +2146,7 @@ # 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 @@ -2158,7 +2158,7 @@ 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 @@ -2177,7 +2177,7 @@ # 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 @@ -2215,7 +2215,7 @@ 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 @@ -2230,7 +2230,7 @@ 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 @@ -2238,7 +2238,7 @@ 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 @@ -2279,7 +2279,7 @@ # # 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 @@ -2287,7 +2287,7 @@ # 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 @@ -2295,7 +2295,7 @@ # # 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 @@ -2303,7 +2303,7 @@ # 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 @@ -2312,7 +2312,7 @@ # 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 @@ -2337,7 +2337,7 @@ 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' # @@ -2348,7 +2348,7 @@ 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 @@ -2358,7 +2358,7 @@ # 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 # @@ -2378,7 +2378,7 @@ # 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 # @@ -2389,7 +2389,7 @@ # 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 @@ -2397,7 +2397,7 @@ # # 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 @@ -4458,7 +4458,7 @@ +#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 @@ -4468,7 +4468,7 @@ 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); @@ -4478,7 +4478,7 @@ /* * 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); @@ -4526,7 +4526,7 @@ +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 @@ -4588,7 +4588,7 @@ /* Second level lookup */ ld.w r2, r3[r1 << 2] -@@ -148,16 +139,55 @@ +@@ -148,16 +139,55 @@ pgtbl_lookup: tlbmiss_restore rete @@ -4647,7 +4647,7 @@ 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 @@ -4666,7 +4666,7 @@ /* 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 @@ -4709,7 +4709,7 @@ /* * 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) { @@ -4720,7 +4720,7 @@ 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; @@ -4731,7 +4731,7 @@ --- 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; @@ -5067,7 +5067,7 @@ -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) @@ -5082,7 +5082,7 @@ *(.irq.text) KPROBES_TEXT TEXT_TEXT -@@ -107,6 +99,10 @@ +@@ -107,6 +99,10 @@ SECTIONS */ *(.data.init_task) @@ -5095,7 +5095,7 @@ *(.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 @@ -5106,7 +5106,7 @@ 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 @@ -5218,7 +5218,7 @@ #include <video/atmel_lcdc.h> -@@ -91,25 +94,18 @@ +@@ -91,25 +94,18 @@ static struct clk devname##_##_name = { static DEFINE_SPINLOCK(pm_lock); @@ -5247,7 +5247,7 @@ 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; } @@ -5319,7 +5319,7 @@ 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); } @@ -5361,7 +5361,7 @@ 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); } @@ -5411,7 +5411,7 @@ /* * 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", @@ -5422,7 +5422,7 @@ .parent = &osc0, }; -@@ -534,6 +676,14 @@ +@@ -534,6 +676,14 @@ static struct clk hramc_clk = { .users = 1, .index = 3, }; @@ -5437,7 +5437,7 @@ static struct resource smc0_resource[] = { PBMEM(0xfff03400), -@@ -605,19 +755,32 @@ +@@ -605,19 +755,32 @@ static inline void set_ebi_sfr_bits(u32 } /* -------------------------------------------------------------------- @@ -5477,7 +5477,7 @@ /* -------------------------------------------------------------------- * 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); @@ -5487,7 +5487,7 @@ 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 } /* -------------------------------------------------------------------- @@ -5569,7 +5569,7 @@ * 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; @@ -5579,7 +5579,7 @@ 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; @@ -5589,7 +5589,7 @@ 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, }; @@ -5600,7 +5600,7 @@ { struct platform_device *pdev; -@@ -1009,6 +1252,9 @@ +@@ -1009,6 +1252,9 @@ struct platform_device *__init at32_add_ atmel_twi0_pclk.dev = &pdev->dev; @@ -5610,7 +5610,7 @@ platform_device_add(pdev); return pdev; -@@ -1032,7 +1278,8 @@ +@@ -1032,7 +1278,8 @@ static struct clk atmel_mci0_pclk = { .index = 9, }; @@ -5620,7 +5620,7 @@ { 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) @@ -5638,7 +5638,7 @@ 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 */ @@ -5659,7 +5659,7 @@ 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, @@ -5669,7 +5669,7 @@ { 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; @@ -5778,7 +5778,7 @@ 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, }; @@ -5818,7 +5818,7 @@ 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; @@ -5845,7 +5845,7 @@ usba0_pclk.dev = &pdev->dev; usba0_hclk.dev = &pdev->dev; -@@ -1526,6 +1862,58 @@ +@@ -1526,6 +1862,58 @@ fail: #endif /* -------------------------------------------------------------------- @@ -5904,7 +5904,7 @@ * AC97C * -------------------------------------------------------------------- */ static struct resource atmel_ac97c0_resource[] __initdata = { -@@ -1540,9 +1928,11 @@ +@@ -1540,9 +1928,11 @@ static struct clk atmel_ac97c0_pclk = { .index = 10, }; @@ -5917,7 +5917,7 @@ 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))) @@ -5961,7 +5961,7 @@ 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, @@ -5969,7 +5969,7 @@ &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, @@ -5981,7 +5981,7 @@ &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); @@ -5999,7 +5999,7 @@ { 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); @@ -6038,7 +6038,7 @@ +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); } @@ -6623,7 +6623,7 @@ +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); } @@ -6662,7 +6662,7 @@ }; extern struct platform_device at32_intc0_device; -@@ -137,6 +142,74 @@ +@@ -137,6 +142,74 @@ fail: panic("Interrupt controller initialization failed!\n"); } @@ -6790,7 +6790,7 @@ +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(); } @@ -6873,7 +6873,7 @@ /*--------------------------------------------------------------------------*/ /* 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); @@ -7653,7 +7653,7 @@ 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); @@ -7706,7 +7706,7 @@ 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, @@ -7733,7 +7733,7 @@ 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"); @@ -7780,7 +7780,7 @@ 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); } @@ -7813,7 +7813,7 @@ } 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); @@ -7870,7 +7870,7 @@ } } -@@ -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; @@ -7895,7 +7895,7 @@ 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 } /* @@ -7938,7 +7938,7 @@ } 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; @@ -7947,7 +7947,7 @@ 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; @@ -7956,7 +7956,7 @@ 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"); @@ -7977,7 +7977,7 @@ 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", @@ -8018,7 +8018,7 @@ --- 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" @@ -8027,7 +8027,7 @@ ---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" @@ -8038,7 +8038,7 @@ 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) ||\ @@ -8362,7 +8362,7 @@ +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. @@ -8379,7 +8379,7 @@ 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 @@ -8948,7 +8948,7 @@ +#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. @@ -8968,7 +8968,7 @@ 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 @@ -9417,7 +9417,7 @@ +#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. @@ -9459,7 +9459,7 @@ 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 @@ -9633,7 +9633,7 @@ +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. @@ -9652,7 +9652,7 @@ 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 @@ -11094,7 +11094,7 @@ +#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". @@ -11155,7 +11155,7 @@ 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 @@ -12097,14 +12097,14 @@ +#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"); @@ -12112,21 +12112,21 @@ +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"); @@ -12135,7 +12135,7 @@ +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; } @@ -12183,7 +12183,7 @@ }, --- 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 && \ @@ -12194,7 +12194,7 @@ 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. @@ -12210,7 +12210,7 @@ --- 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 @@ -12756,7 +12756,7 @@ +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); @@ -12764,7 +12764,7 @@ 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); @@ -12775,7 +12775,7 @@ 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 } /* @@ -12796,7 +12796,7 @@ * 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, @@ -12804,7 +12804,7 @@ .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 @@ -12820,7 +12820,7 @@ 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) @@ -12831,7 +12831,7 @@ 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); @@ -12842,7 +12842,7 @@ } --- 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; @@ -12853,7 +12853,7 @@ 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); } @@ -12902,7 +12902,7 @@ /* * 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; @@ -13020,7 +13020,7 @@ * 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... */ @@ -13038,7 +13038,7 @@ 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; @@ -13046,7 +13046,7 @@ /* 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); @@ -13055,7 +13055,7 @@ 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); @@ -13066,7 +13066,7 @@ 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 @@ -13097,7 +13097,7 @@ #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; } @@ -13167,7 +13167,7 @@ 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" : ""); @@ -13176,7 +13176,7 @@ 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; } @@ -13185,7 +13185,7 @@ 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, }; @@ -13219,7 +13219,7 @@ 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, @@ -13227,7 +13227,7 @@ .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); @@ -13236,7 +13236,7 @@ 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 " @@ -13252,7 +13252,7 @@ /* 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) { @@ -13260,7 +13260,7 @@ 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) { @@ -13268,7 +13268,7 @@ 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) { @@ -13285,7 +13285,7 @@ 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) { @@ -13295,7 +13295,7 @@ 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 */ @@ -13305,7 +13305,7 @@ 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); @@ -13314,7 +13314,7 @@ 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); @@ -13365,7 +13365,7 @@ 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; } @@ -13374,7 +13374,7 @@ 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); @@ -13383,7 +13383,7 @@ 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: @@ -13392,7 +13392,7 @@ 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; @@ -13405,7 +13405,7 @@ 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); @@ -13444,7 +13444,7 @@ 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, @@ -13453,7 +13453,7 @@ .ywrapstep = 0, .accel = FB_ACCEL_NONE, }; -@@ -250,6 +252,8 @@ +@@ -250,6 +252,8 @@ static int atmel_lcdfb_alloc_video_memor return -ENOMEM; } @@ -13462,7 +13462,7 @@ 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; @@ -13470,7 +13470,7 @@ 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; @@ -13484,7 +13484,7 @@ 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(). * @@ -13493,7 +13493,7 @@ * 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. */ @@ -13508,7 +13508,7 @@ 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; } @@ -13525,7 +13525,7 @@ /* * 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)) { @@ -13538,7 +13538,7 @@ 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 */ @@ -13563,7 +13563,7 @@ /* 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, @@ -13578,7 +13578,7 @@ 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); @@ -13609,7 +13609,7 @@ 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); @@ -13699,7 +13699,7 @@ +#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); @@ -14339,7 +14339,7 @@ } #define __pte_free_tlb(tlb,pte) \ -@@ -75,6 +89,10 @@ +@@ -75,6 +89,10 @@ do { \ tlb_remove_page((tlb), pte); \ } while (0) @@ -14353,7 +14353,7 @@ #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) @@ -14367,7 +14367,7 @@ /* 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)) @@ -14386,7 +14386,7 @@ /* * 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)) @@ -14430,7 +14430,7 @@ +#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 */ @@ -14440,7 +14440,7 @@ --- 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); @@ -14714,7 +14714,7 @@ +#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); @@ -14725,7 +14725,7 @@ 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 *); @@ -14760,7 +14760,7 @@ +#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 @@ -14771,7 +14771,7 @@ 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" @@ -14782,7 +14782,7 @@ 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/ \ @@ -15841,7 +15841,7 @@ +#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 @@ -15851,7 +15851,7 @@ + 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 ! @@ -16648,7 +16648,7 @@ +#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 */ @@ -16657,7 +16657,7 @@ { /* * Continuous clock output. -@@ -767,7 +767,7 @@ +@@ -767,7 +767,7 @@ static int snd_at73c213_ssc_init(struct return 0; } @@ -16666,7 +16666,7 @@ { int retval; unsigned char dac_ctrl = 0; -@@ -933,7 +933,7 @@ +@@ -933,7 +933,7 @@ out: return retval; } diff --git a/target/linux/avr32/patches/110-openwrt_flashmap.patch b/target/linux/avr32/patches/110-openwrt_flashmap.patch index 83c3d50028..98669bc473 100644 --- a/target/linux/avr32/patches/110-openwrt_flashmap.patch +++ b/target/linux/avr32/patches/110-openwrt_flashmap.patch @@ -1,6 +1,6 @@ --- 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, }, { diff --git a/target/linux/brcm47xx/Makefile b/target/linux/brcm47xx/Makefile index bad5ec108d..daa867b4b3 100644 --- a/target/linux/brcm47xx/Makefile +++ b/target/linux/brcm47xx/Makefile @@ -11,7 +11,7 @@ BOARD:=brcm47xx BOARDNAME:=Broadcom BCM947xx/953xx FEATURES:=squashfs usb -LINUX_VERSION:=2.6.25.17 +LINUX_VERSION:=2.6.25.19 include $(INCLUDE_DIR)/target.mk DEFAULT_PACKAGES += kmod-switch kmod-diag diff --git a/target/linux/brcm47xx/patches-2.6.25/100-board_support.patch b/target/linux/brcm47xx/patches-2.6.25/100-board_support.patch index 783aa8c10d..b48215d3cc 100644 --- a/target/linux/brcm47xx/patches-2.6.25/100-board_support.patch +++ b/target/linux/brcm47xx/patches-2.6.25/100-board_support.patch @@ -1,6 +1,6 @@ --- 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 @@ -11,7 +11,7 @@ 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 diff --git a/target/linux/brcm47xx/patches-2.6.25/110-flash_map.patch b/target/linux/brcm47xx/patches-2.6.25/110-flash_map.patch index 1471083177..6d3161c86d 100644 --- a/target/linux/brcm47xx/patches-2.6.25/110-flash_map.patch +++ b/target/linux/brcm47xx/patches-2.6.25/110-flash_map.patch @@ -1,6 +1,6 @@ --- 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. @@ -15,7 +15,7 @@ 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 diff --git a/target/linux/brcm47xx/patches-2.6.25/130-remove_scache.patch b/target/linux/brcm47xx/patches-2.6.25/130-remove_scache.patch index d36b4d8307..941b649c7f 100644 --- a/target/linux/brcm47xx/patches-2.6.25/130-remove_scache.patch +++ b/target/linux/brcm47xx/patches-2.6.25/130-remove_scache.patch @@ -1,6 +1,6 @@ --- 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 @@ -8,7 +8,7 @@ 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 @@ -24,7 +24,7 @@ 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; @@ -35,7 +35,7 @@ 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); @@ -43,7 +43,7 @@ static void __cpuinit setup_scache(void) { -@@ -1157,29 +1156,17 @@ +@@ -1157,29 +1156,17 @@ static void __cpuinit setup_scache(void) #endif default: @@ -80,7 +80,7 @@ --- 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 diff --git a/target/linux/brcm47xx/patches-2.6.25/150-cpu_fixes.patch b/target/linux/brcm47xx/patches-2.6.25/150-cpu_fixes.patch index e0d225b154..58dafe5695 100644 --- a/target/linux/brcm47xx/patches-2.6.25/150-cpu_fixes.patch +++ b/target/linux/brcm47xx/patches-2.6.25/150-cpu_fixes.patch @@ -1,6 +1,6 @@ --- 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 @@ -23,7 +23,7 @@ /* * 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(); @@ -33,7 +33,7 @@ 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(); @@ -43,7 +43,7 @@ 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(); @@ -53,7 +53,7 @@ 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; @@ -62,7 +62,7 @@ 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()) { @@ -80,7 +80,7 @@ case CPU_R4000PC: case CPU_R4000SC: case CPU_R4000MC: -@@ -1254,6 +1279,15 @@ +@@ -1254,6 +1279,15 @@ void __cpuinit r4k_cache_init(void) break; } @@ -96,7 +96,7 @@ 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); @@ -112,7 +112,7 @@ } --- 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 */ } @@ -122,7 +122,7 @@ #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) { @@ -155,7 +155,7 @@ /* * 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 @@ -163,7 +163,7 @@ 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 @@ -171,7 +171,7 @@ 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 @@ -179,7 +179,7 @@ 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) { @@ -187,7 +187,7 @@ 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) { @@ -195,7 +195,7 @@ 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)); @@ -249,7 +249,7 @@ 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 \ \ @@ -257,7 +257,7 @@ 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 \ \ @@ -265,7 +265,7 @@ 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; \ \ @@ -274,7 +274,7 @@ __##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 \ } @@ -329,7 +329,7 @@ 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 \ } diff --git a/target/linux/brcm47xx/patches-2.6.25/160-kmap_coherent.patch b/target/linux/brcm47xx/patches-2.6.25/160-kmap_coherent.patch index 725fb3c7ed..5fe38aaaf6 100644 --- a/target/linux/brcm47xx/patches-2.6.25/160-kmap_coherent.patch +++ b/target/linux/brcm47xx/patches-2.6.25/160-kmap_coherent.patch @@ -1,6 +1,6 @@ --- 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); @@ -9,7 +9,7 @@ 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) { @@ -18,7 +18,7 @@ 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) { @@ -57,7 +57,7 @@ * 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. */ @@ -66,7 +66,7 @@ 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) { diff --git a/target/linux/brcm47xx/patches-2.6.25/210-b44_phy_fix.patch b/target/linux/brcm47xx/patches-2.6.25/210-b44_phy_fix.patch index 55c08fe0d3..6669fba464 100644 --- a/target/linux/brcm47xx/patches-2.6.25/210-b44_phy_fix.patch +++ b/target/linux/brcm47xx/patches-2.6.25/210-b44_phy_fix.patch @@ -1,7 +1,5 @@ -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) } } diff --git a/target/linux/brcm47xx/patches-2.6.25/220-bcm5354.patch b/target/linux/brcm47xx/patches-2.6.25/220-bcm5354.patch index 8658d6d255..6a4341fede 100644 --- a/target/linux/brcm47xx/patches-2.6.25/220-bcm5354.patch +++ b/target/linux/brcm47xx/patches-2.6.25/220-bcm5354.patch @@ -1,6 +1,6 @@ --- 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) { @@ -9,7 +9,7 @@ *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) { @@ -20,7 +20,7 @@ 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; @@ -31,7 +31,7 @@ } --- 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; diff --git a/target/linux/brcm47xx/patches-2.6.25/250-ohci-ssb-usb2.patch b/target/linux/brcm47xx/patches-2.6.25/250-ohci-ssb-usb2.patch index f599ca773c..856651b3de 100644 --- a/target/linux/brcm47xx/patches-2.6.25/250-ohci-ssb-usb2.patch +++ b/target/linux/brcm47xx/patches-2.6.25/250-ohci-ssb-usb2.patch @@ -1,6 +1,6 @@ --- 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; @@ -62,7 +62,7 @@ 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), diff --git a/target/linux/brcm47xx/patches-2.6.25/260-ohci-set-dma-mask.patch b/target/linux/brcm47xx/patches-2.6.25/260-ohci-set-dma-mask.patch index 21fac47407..afeec9c69f 100644 --- a/target/linux/brcm47xx/patches-2.6.25/260-ohci-set-dma-mask.patch +++ b/target/linux/brcm47xx/patches-2.6.25/260-ohci-set-dma-mask.patch @@ -1,6 +1,6 @@ --- 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); diff --git a/target/linux/brcm47xx/patches-2.6.25/310-no_highpage.patch b/target/linux/brcm47xx/patches-2.6.25/310-no_highpage.patch index a2c27ab7c7..505e8aa4d5 100644 --- a/target/linux/brcm47xx/patches-2.6.25/310-no_highpage.patch +++ b/target/linux/brcm47xx/patches-2.6.25/310-no_highpage.patch @@ -1,6 +1,6 @@ --- 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(); } @@ -43,7 +43,7 @@ #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); } diff --git a/target/linux/brcm47xx/patches-2.6.25/400-arch-bcm47xx.patch b/target/linux/brcm47xx/patches-2.6.25/400-arch-bcm47xx.patch index fb69cc4aab..7153871d21 100644 --- a/target/linux/brcm47xx/patches-2.6.25/400-arch-bcm47xx.patch +++ b/target/linux/brcm47xx/patches-2.6.25/400-arch-bcm47xx.patch @@ -27,7 +27,7 @@ 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(); } @@ -115,7 +115,7 @@ 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(); @@ -131,7 +131,7 @@ { int i = 0; -@@ -72,52 +102,141 @@ +@@ -72,52 +102,141 @@ static void str2eaddr(char *str, char *d } } @@ -343,7 +343,7 @@ 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) { @@ -362,7 +362,7 @@ +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 diff --git a/target/linux/brcm47xx/patches-2.6.25/500-lzma_initramfs.patch b/target/linux/brcm47xx/patches-2.6.25/500-lzma_initramfs.patch index a2e4c2b85c..59f4c1fdb3 100644 --- a/target/linux/brcm47xx/patches-2.6.25/500-lzma_initramfs.patch +++ b/target/linux/brcm47xx/patches-2.6.25/500-lzma_initramfs.patch @@ -1,6 +1,6 @@ --- 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 @@ -11,7 +11,7 @@ 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; } @@ -81,7 +81,7 @@ 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; diff --git a/target/linux/brcm47xx/patches-2.6.25/601-mips-remove-pci-collision-check.patch b/target/linux/brcm47xx/patches-2.6.25/601-mips-remove-pci-collision-check.patch index 21e89cddff..9071b7cb34 100644 --- a/target/linux/brcm47xx/patches-2.6.25/601-mips-remove-pci-collision-check.patch +++ b/target/linux/brcm47xx/patches-2.6.25/601-mips-remove-pci-collision-check.patch @@ -4,7 +4,7 @@ Remove this sanity check for now until we find a better solution. --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; diff --git a/target/linux/brcm47xx/patches-2.6.25/620-ssb-modinit-fix.patch b/target/linux/brcm47xx/patches-2.6.25/620-ssb-modinit-fix.patch index d2271dd43e..af251d5ea1 100644 --- a/target/linux/brcm47xx/patches-2.6.25/620-ssb-modinit-fix.patch +++ b/target/linux/brcm47xx/patches-2.6.25/620-ssb-modinit-fix.patch @@ -1,6 +1,6 @@ --- 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. */ diff --git a/target/linux/brcm47xx/patches-2.6.25/630-ssb-fix-irq-init.patch b/target/linux/brcm47xx/patches-2.6.25/630-ssb-fix-irq-init.patch index 5f5e480229..72505d3e27 100644 --- a/target/linux/brcm47xx/patches-2.6.25/630-ssb-fix-irq-init.patch +++ b/target/linux/brcm47xx/patches-2.6.25/630-ssb-fix-irq-init.patch @@ -8,7 +8,7 @@ Signed-off-by: Michael Buesch <mb@bu3sch.de> --- 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; diff --git a/target/linux/brcm47xx/patches-2.6.25/680-ssb-support-8bit-writes.patch b/target/linux/brcm47xx/patches-2.6.25/680-ssb-support-8bit-writes.patch index c7b1b26af4..f96b4d2dab 100644 --- a/target/linux/brcm47xx/patches-2.6.25/680-ssb-support-8bit-writes.patch +++ b/target/linux/brcm47xx/patches-2.6.25/680-ssb-support-8bit-writes.patch @@ -1,7 +1,7 @@ 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; } @@ -16,7 +16,7 @@ Add support for 8bit reads/writes to SSB. 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); } @@ -31,7 +31,7 @@ Add support for 8bit reads/writes to SSB. 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 = { @@ -44,7 +44,7 @@ Add support for 8bit reads/writes to SSB. }; --- 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 */ @@ -64,7 +64,7 @@ Add support for 8bit reads/writes to SSB. 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); } @@ -84,7 +84,7 @@ Add support for 8bit reads/writes to SSB. 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 = { @@ -97,7 +97,7 @@ Add support for 8bit reads/writes to SSB. }; --- 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; } @@ -120,7 +120,7 @@ Add support for 8bit reads/writes to SSB. 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)); } @@ -141,7 +141,7 @@ Add support for 8bit reads/writes to SSB. 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 = { @@ -154,7 +154,7 @@ Add support for 8bit reads/writes to SSB. }; --- 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 { @@ -165,7 +165,7 @@ Add support for 8bit reads/writes to SSB. 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. */ @@ -176,7 +176,7 @@ Add support for 8bit reads/writes to SSB. 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); } diff --git a/target/linux/brcm47xx/patches-2.6.25/690-mips-allow-pciregister-after-boot.patch b/target/linux/brcm47xx/patches-2.6.25/690-mips-allow-pciregister-after-boot.patch index 1ba199fcbb..8b0445f5ba 100644 --- a/target/linux/brcm47xx/patches-2.6.25/690-mips-allow-pciregister-after-boot.patch +++ b/target/linux/brcm47xx/patches-2.6.25/690-mips-allow-pciregister-after-boot.patch @@ -21,7 +21,7 @@ This is an ugly hack and needs to be rewritten before going upstream. #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; } @@ -55,7 +55,7 @@ This is an ugly hack and needs to be rewritten before going upstream. 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; } @@ -65,7 +65,7 @@ This is an ugly hack and needs to be rewritten before going upstream. /* * 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"); } @@ -136,7 +136,7 @@ This is an ugly hack and needs to be rewritten before going upstream. /* 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); @@ -146,7 +146,7 @@ This is an ugly hack and needs to be rewritten before going upstream. } --- 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. */ diff --git a/target/linux/brcm47xx/patches-2.6.25/700-ssb-gigabit-ethernet-driver.patch b/target/linux/brcm47xx/patches-2.6.25/700-ssb-gigabit-ethernet-driver.patch index ae97cf6cd5..1ed53e5ef8 100644 --- a/target/linux/brcm47xx/patches-2.6.25/700-ssb-gigabit-ethernet-driver.patch +++ b/target/linux/brcm47xx/patches-2.6.25/700-ssb-gigabit-ethernet-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/ssb/Kconfig +++ b/drivers/ssb/Kconfig -@@ -125,4 +125,13 @@ +@@ -125,4 +125,13 @@ config SSB_DRIVER_EXTIF If unsure, say N @@ -16,7 +16,7 @@ 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 @@ -500,7 +500,7 @@ +#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; @@ -579,7 +579,7 @@ 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, }; @@ -687,7 +687,7 @@ #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); @@ -780,7 +780,7 @@ +} --- 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); @@ -807,7 +807,7 @@ #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); @@ -817,7 +817,7 @@ #else /* CONFIG_SSB_DRIVER_PCICORE */ -@@ -107,5 +115,16 @@ +@@ -107,5 +115,16 @@ int ssb_pcicore_dev_irqvecs_enable(struc return 0; } @@ -844,7 +844,7 @@ #include <linux/dma-mapping.h> #include <linux/pci.h> -@@ -68,6 +69,25 @@ +@@ -68,6 +69,25 @@ found: } #endif /* CONFIG_SSB_PCIHOST */ @@ -870,7 +870,7 @@ 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 " @@ -886,7 +886,7 @@ /* 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) { @@ -896,7 +896,7 @@ } --- 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); @@ -915,7 +915,7 @@ #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); @@ -927,7 +927,7 @@ 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 @@ -936,7 +936,7 @@ { u32 frame_val; unsigned int loops; -@@ -720,7 +722,7 @@ +@@ -720,7 +722,7 @@ static int tg3_readphy(struct tg3 *tp, i *val = 0x0; @@ -945,7 +945,7 @@ 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; } @@ -959,7 +959,7 @@ { u32 frame_val; unsigned int loops; -@@ -771,7 +778,7 @@ +@@ -771,7 +778,7 @@ static int tg3_writephy(struct tg3 *tp, udelay(80); } @@ -968,7 +968,7 @@ 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; } @@ -980,7 +980,7 @@ 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 } } @@ -995,7 +995,7 @@ 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; @@ -1007,7 +1007,7 @@ 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); } @@ -1022,7 +1022,7 @@ 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; } @@ -1038,7 +1038,7 @@ 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; @@ -1050,7 +1050,7 @@ 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; @@ -1062,7 +1062,7 @@ 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); @@ -1074,7 +1074,7 @@ 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; @@ -1086,7 +1086,7 @@ 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); @@ -1095,7 +1095,7 @@ 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); @@ -1104,7 +1104,7 @@ 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) { @@ -1117,7 +1117,7 @@ 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; @@ -1127,7 +1127,7 @@ 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; @@ -1137,7 +1137,7 @@ 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; } @@ -1145,7 +1145,7 @@ 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; @@ -1157,7 +1157,7 @@ /* 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])) { @@ -1168,7 +1168,7 @@ #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"; @@ -1176,7 +1176,7 @@ 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; @@ -1192,7 +1192,7 @@ * 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 @@ -1202,7 +1202,7 @@ 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 @@ -1210,7 +1210,7 @@ #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 || \ @@ -1221,7 +1221,7 @@ 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: diff --git a/target/linux/brcm47xx/patches-2.6.25/710-add-gpio-is-valid.patch b/target/linux/brcm47xx/patches-2.6.25/710-add-gpio-is-valid.patch index 59552ed927..b06f08e1cf 100644 --- a/target/linux/brcm47xx/patches-2.6.25/710-add-gpio-is-valid.patch +++ b/target/linux/brcm47xx/patches-2.6.25/710-add-gpio-is-valid.patch @@ -1,7 +1,7 @@ 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); @@ -19,7 +19,7 @@ Add gpio_is_valid() for bcm47xx +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); @@ -27,7 +27,7 @@ Add gpio_is_valid() for bcm47xx 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); } diff --git a/target/linux/brcm47xx/patches-2.6.25/800-fix_cfe_detection.patch b/target/linux/brcm47xx/patches-2.6.25/800-fix_cfe_detection.patch index e72f99e803..63a71f05f4 100644 --- a/target/linux/brcm47xx/patches-2.6.25/800-fix_cfe_detection.patch +++ b/target/linux/brcm47xx/patches-2.6.25/800-fix_cfe_detection.patch @@ -8,7 +8,7 @@ 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) { @@ -90,7 +90,7 @@ { char buf[CL_SIZE]; -@@ -146,9 +122,12 @@ +@@ -146,9 +122,12 @@ static __init void prom_init_mem(void) void __init prom_init(void) { diff --git a/target/linux/etrax/Makefile b/target/linux/etrax/Makefile index dcc0c37a71..0fe4f42b91 100644 --- a/target/linux/etrax/Makefile +++ b/target/linux/etrax/Makefile @@ -10,7 +10,7 @@ ARCH:=cris BOARD:=etrax BOARDNAME:=Foxboard (ETRAX 100LX) FEATURES:=squashfs jffs2 broken -LINUX_VERSION:=2.6.25.17 +LINUX_VERSION:=2.6.25.19 include $(INCLUDE_DIR)/target.mk diff --git a/target/linux/etrax/patches/100-compile_fixes.patch b/target/linux/etrax/patches/100-compile_fixes.patch index ea6d08e86f..ecb930712b 100644 --- a/target/linux/etrax/patches/100-compile_fixes.patch +++ b/target/linux/etrax/patches/100-compile_fixes.patch @@ -1,6 +1,6 @@ --- a/arch/cris/Makefile +++ b/arch/cris/Makefile -@@ -33,7 +33,7 @@ +@@ -33,7 +33,7 @@ endif LD = $(CROSS_COMPILE)ld -mcrislinux @@ -21,7 +21,7 @@ subdir- := compressed rescue targets := Image -@@ -14,7 +11,6 @@ +@@ -14,7 +11,6 @@ $(obj)/Image: vmlinux FORCE $(obj)/compressed/vmlinux: $(obj)/Image FORCE $(Q)$(MAKE) $(build)=$(obj)/compressed $@ @@ -45,7 +45,7 @@ quiet_cmd_image = BUILD $@ cmd_image = cat $(obj)/decompress.bin $(obj)/piggy.gz > $@ -@@ -22,10 +18,10 @@ +@@ -22,10 +18,10 @@ $(obj)/decompress.bin: $(obj)/decompress $(call if_changed,objcopy) $(obj)/head.o: $(obj)/head.S .config @@ -93,7 +93,7 @@ beq dram_init_finished nop -@@ -36,91 +37,91 @@ +@@ -36,91 +37,91 @@ dram_init_finished: ;; Initiate the PA and PB ports @@ -233,7 +233,7 @@ * adaptation for Linux/CRIS Axis Communications AB, 1999 * */ -@@ -99,12 +99,12 @@ +@@ -99,12 +99,12 @@ static void error(char *m); static void gzip_mark(void **); static void gzip_release(void **); @@ -249,7 +249,7 @@ #include "../../../../../lib/inflate.c" -@@ -139,7 +139,7 @@ +@@ -139,7 +139,7 @@ static void gzip_release(void **ptr) /* decompressor info and error messages to serial console */ static void @@ -258,7 +258,7 @@ { #ifndef CONFIG_ETRAX_DEBUG_PORT_NULL while(*s) { -@@ -209,9 +209,9 @@ +@@ -209,9 +209,9 @@ flush_window() static void error(char *x) { @@ -271,7 +271,7 @@ while(1); /* Halt */ } -@@ -257,14 +257,7 @@ +@@ -257,14 +257,7 @@ decompress_kernel() makecrc(); @@ -290,7 +290,7 @@ } --- a/arch/cris/arch-v10/mm/init.c +++ b/arch/cris/arch-v10/mm/init.c -@@ -184,6 +184,9 @@ +@@ -184,6 +184,9 @@ paging_init(void) free_area_init_node(0, &contig_page_data, zones_size, PAGE_OFFSET >> PAGE_SHIFT, 0); } diff --git a/target/linux/etrax/patches/101-cris-eth-driver.patch b/target/linux/etrax/patches/101-cris-eth-driver.patch index f73b379ddc..8ffe07377e 100644 --- a/target/linux/etrax/patches/101-cris-eth-driver.patch +++ b/target/linux/etrax/patches/101-cris-eth-driver.patch @@ -1,6 +1,6 @@ --- a/drivers/net/cris/eth_v10.c +++ b/drivers/net/cris/eth_v10.c -@@ -1707,7 +1707,7 @@ +@@ -1707,7 +1707,7 @@ e100_set_network_leds(int active) static void e100_netpoll(struct net_device* netdev) { diff --git a/target/linux/etrax/patches/200-samsung_flash.patch b/target/linux/etrax/patches/200-samsung_flash.patch index ac4ac67818..5353106cad 100644 --- a/target/linux/etrax/patches/200-samsung_flash.patch +++ b/target/linux/etrax/patches/200-samsung_flash.patch @@ -1,6 +1,6 @@ --- a/drivers/mtd/chips/cfi_cmdset_0002.c +++ b/drivers/mtd/chips/cfi_cmdset_0002.c -@@ -297,8 +297,8 @@ +@@ -297,8 +297,8 @@ struct mtd_info *cfi_cmdset_0002(struct return NULL; } diff --git a/target/linux/etrax/patches/201-flashsize.patch b/target/linux/etrax/patches/201-flashsize.patch index 859bb46fdc..4c4fa81d04 100644 --- a/target/linux/etrax/patches/201-flashsize.patch +++ b/target/linux/etrax/patches/201-flashsize.patch @@ -8,7 +8,7 @@ + .dword 0xdeadc0de --- a/arch/cris/arch-v10/drivers/axisflashmap.c +++ b/arch/cris/arch-v10/drivers/axisflashmap.c -@@ -113,7 +113,7 @@ +@@ -113,7 +113,7 @@ static struct map_info map_cse1 = { /* If no partition-table was found, we use this default-set. */ #define MAX_PARTITIONS 7 @@ -17,7 +17,7 @@ /* * Default flash size is 2MB. CONFIG_ETRAX_PTABLE_SECTOR is most likely the -@@ -122,19 +122,14 @@ +@@ -122,19 +122,14 @@ static struct map_info map_cse1 = { */ static struct mtd_partition axis_default_partitions[NUM_DEFAULT_PARTITIONS] = { { @@ -42,7 +42,7 @@ } }; -@@ -281,6 +276,11 @@ +@@ -281,6 +276,11 @@ static int __init init_axis_flash(void) struct partitiontable_entry *ptable; int use_default_ptable = 1; /* Until proven otherwise. */ const char pmsg[] = " /dev/flash%d at 0x%08x, size 0x%08x\n"; @@ -54,7 +54,7 @@ if (!(mymtd = flash_probe())) { /* There's no reason to use this module if no flash chip can -@@ -292,6 +292,31 @@ +@@ -292,6 +292,31 @@ static int __init init_axis_flash(void) mymtd->name, mymtd->size); axisflash_mtd = mymtd; } diff --git a/target/linux/etrax/patches/300-sysfs.patch b/target/linux/etrax/patches/300-sysfs.patch index 3b0378421a..a7bebe52d8 100644 --- a/target/linux/etrax/patches/300-sysfs.patch +++ b/target/linux/etrax/patches/300-sysfs.patch @@ -1,6 +1,6 @@ --- a/drivers/serial/crisv10.c +++ b/drivers/serial/crisv10.c -@@ -27,6 +27,7 @@ +@@ -27,6 +27,7 @@ static char *serial_version = "$Revision #include <linux/kernel.h> #include <linux/mutex.h> #include <linux/bitops.h> @@ -8,7 +8,7 @@ #include <asm/io.h> #include <asm/irq.h> -@@ -4384,6 +4385,7 @@ +@@ -4384,6 +4385,7 @@ static const struct tty_operations rs_op .tiocmset = rs_tiocmset }; @@ -16,7 +16,7 @@ static int __init rs_init(void) { -@@ -4518,6 +4520,24 @@ +@@ -4518,6 +4520,24 @@ rs_init(void) #endif #endif /* CONFIG_SVINTO_SIM */ diff --git a/target/linux/etrax/patches/301-usb_support.patch b/target/linux/etrax/patches/301-usb_support.patch index 5b443d42fa..51de789fa1 100644 --- a/target/linux/etrax/patches/301-usb_support.patch +++ b/target/linux/etrax/patches/301-usb_support.patch @@ -1,6 +1,6 @@ --- 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/ @@ -10,7 +10,7 @@ obj-$(CONFIG_USB_PRINTER) += class/ --- a/drivers/usb/host/Makefile +++ b/drivers/usb/host/Makefile -@@ -17,3 +17,5 @@ +@@ -17,3 +17,5 @@ obj-$(CONFIG_USB_SL811_CS) += sl811_cs.o obj-$(CONFIG_USB_U132_HCD) += u132-hcd.o obj-$(CONFIG_USB_R8A66597_HCD) += r8a66597-hcd.o diff --git a/target/linux/generic-2.6/patches-2.6.25/001-squashfs.patch b/target/linux/generic-2.6/patches-2.6.25/001-squashfs.patch index 4f55eb539b..b2be83183a 100644 --- a/target/linux/generic-2.6/patches-2.6.25/001-squashfs.patch +++ b/target/linux/generic-2.6/patches-2.6.25/001-squashfs.patch @@ -1,6 +1,6 @@ --- a/fs/Kconfig +++ b/fs/Kconfig -@@ -1367,6 +1367,71 @@ +@@ -1367,6 +1367,71 @@ config CRAMFS If unsure, say N. @@ -74,7 +74,7 @@ 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/ @@ -4128,7 +4128,7 @@ #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: @@ -4136,7 +4136,7 @@ * 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; @@ -4144,7 +4144,7 @@ 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; @@ -4152,7 +4152,7 @@ memset(buf, 0xe5, size); /* -@@ -101,6 +105,15 @@ +@@ -101,6 +105,15 @@ identify_ramdisk_image(int fd, int start goto done; } diff --git a/target/linux/generic-2.6/patches-2.6.25/002-lzma_decompress.patch b/target/linux/generic-2.6/patches-2.6.25/002-lzma_decompress.patch index fdc3039863..939e0a9e32 100644 --- a/target/linux/generic-2.6/patches-2.6.25/002-lzma_decompress.patch +++ b/target/linux/generic-2.6/patches-2.6.25/002-lzma_decompress.patch @@ -769,7 +769,7 @@ +} --- 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 \ diff --git a/target/linux/generic-2.6/patches-2.6.25/003-squashfs_lzma.patch b/target/linux/generic-2.6/patches-2.6.25/003-squashfs_lzma.patch index 16cc873199..9050e370ca 100644 --- a/target/linux/generic-2.6/patches-2.6.25/003-squashfs_lzma.patch +++ b/target/linux/generic-2.6/patches-2.6.25/003-squashfs_lzma.patch @@ -38,7 +38,7 @@ 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 *); @@ -50,7 +50,7 @@ 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; @@ -66,7 +66,7 @@ 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; @@ -75,7 +75,7 @@ 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"); @@ -95,7 +95,7 @@ destroy_inodecache(); } -@@ -2064,7 +2098,9 @@ +@@ -2064,7 +2098,9 @@ out: static void __exit exit_squashfs_fs(void) { diff --git a/target/linux/generic-2.6/patches-2.6.25/004-extra_optimization.patch b/target/linux/generic-2.6/patches-2.6.25/004-extra_optimization.patch index d3898f1fc6..ba1b71c610 100644 --- a/target/linux/generic-2.6/patches-2.6.25/004-extra_optimization.patch +++ b/target/linux/generic-2.6/patches-2.6.25/004-extra_optimization.patch @@ -1,6 +1,6 @@ --- 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) diff --git a/target/linux/generic-2.6/patches-2.6.25/005-squashfs_fix.patch b/target/linux/generic-2.6/patches-2.6.25/005-squashfs_fix.patch index 961829e580..56b7fc2c40 100644 --- a/target/linux/generic-2.6/patches-2.6.25/005-squashfs_fix.patch +++ b/target/linux/generic-2.6/patches-2.6.25/005-squashfs_fix.patch @@ -8,7 +8,7 @@ #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 } diff --git a/target/linux/generic-2.6/patches-2.6.25/006-gcc4_inline_fix.patch b/target/linux/generic-2.6/patches-2.6.25/006-gcc4_inline_fix.patch index dbb7e7c87e..cd62e9c250 100644 --- a/target/linux/generic-2.6/patches-2.6.25/006-gcc4_inline_fix.patch +++ b/target/linux/generic-2.6/patches-2.6.25/006-gcc4_inline_fix.patch @@ -1,6 +1,6 @@ --- 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); diff --git a/target/linux/generic-2.6/patches-2.6.25/007-samsung_flash.patch b/target/linux/generic-2.6/patches-2.6.25/007-samsung_flash.patch index f1279c29f8..557736f7a4 100644 --- a/target/linux/generic-2.6/patches-2.6.25/007-samsung_flash.patch +++ b/target/linux/generic-2.6/patches-2.6.25/007-samsung_flash.patch @@ -8,7 +8,7 @@ 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')) { diff --git a/target/linux/generic-2.6/patches-2.6.25/009-revert_intel_flash_breakage.patch b/target/linux/generic-2.6/patches-2.6.25/009-revert_intel_flash_breakage.patch index d2c1dc5d4b..072900786b 100644 --- a/target/linux/generic-2.6/patches-2.6.25/009-revert_intel_flash_breakage.patch +++ b/target/linux/generic-2.6/patches-2.6.25/009-revert_intel_flash_breakage.patch @@ -1,6 +1,6 @@ --- 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, @@ -9,7 +9,7 @@ { 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(); @@ -18,7 +18,7 @@ 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) @@ -29,7 +29,7 @@ #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, @@ -130,7 +130,7 @@ /* 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) \ @@ -140,7 +140,7 @@ 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), @@ -149,7 +149,7 @@ 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, @@ -158,7 +158,7 @@ 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, diff --git a/target/linux/generic-2.6/patches-2.6.25/060-block2mtd_init.patch b/target/linux/generic-2.6/patches-2.6.25/060-block2mtd_init.patch index 4a1c9581f5..f5d9b0ca8a 100644 --- a/target/linux/generic-2.6/patches-2.6.25/060-block2mtd_init.patch +++ b/target/linux/generic-2.6/patches-2.6.25/060-block2mtd_init.patch @@ -8,7 +8,7 @@ #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 */ @@ -21,7 +21,7 @@ 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 */ @@ -45,7 +45,7 @@ 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; @@ -68,7 +68,7 @@ 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) { @@ -80,7 +80,7 @@ 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); @@ -89,7 +89,7 @@ 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"); } } @@ -101,7 +101,7 @@ 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); diff --git a/target/linux/generic-2.6/patches-2.6.25/065-rootfs_split.patch b/target/linux/generic-2.6/patches-2.6.25/065-rootfs_split.patch index 62a7e252e3..5b882c6063 100644 --- a/target/linux/generic-2.6/patches-2.6.25/065-rootfs_split.patch +++ b/target/linux/generic-2.6/patches-2.6.25/065-rootfs_split.patch @@ -1,6 +1,6 @@ --- 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. @@ -28,7 +28,7 @@ /* 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)) @@ -37,7 +37,7 @@ /* * 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; } @@ -354,7 +354,7 @@ /* * 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; @@ -547,7 +547,7 @@ } } -@@ -574,6 +746,32 @@ +@@ -574,6 +746,32 @@ int parse_mtd_partitions(struct mtd_info return ret; } @@ -582,7 +582,7 @@ 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; @@ -591,7 +591,7 @@ }; -@@ -86,6 +88,12 @@ +@@ -86,6 +88,12 @@ static int block2mtd_erase(struct mtd_in size_t len = instr->len; int err; @@ -604,7 +604,7 @@ 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); @@ -615,7 +615,7 @@ 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); @@ -633,7 +633,7 @@ 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); @@ -652,7 +652,7 @@ 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++; } @@ -664,7 +664,7 @@ } -@@ -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; @@ -691,7 +691,7 @@ 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; @@ -701,7 +701,7 @@ 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; @@ -761,7 +761,7 @@ 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)) { @@ -861,7 +861,7 @@ /* 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; @@ -879,7 +879,7 @@ #include <asm/uaccess.h> -@@ -756,6 +757,13 @@ +@@ -756,6 +757,13 @@ static int mtd_ioctl(struct inode *inode file->f_pos = 0; break; } @@ -895,7 +895,7 @@ 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; }; @@ -903,7 +903,7 @@ 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; @@ -923,7 +923,7 @@ 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 */ @@ -931,7 +931,7 @@ }; #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 *); @@ -941,7 +941,7 @@ * 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) diff --git a/target/linux/generic-2.6/patches-2.6.25/070-redboot_space.patch b/target/linux/generic-2.6/patches-2.6.25/070-redboot_space.patch index 0f15bab3dd..784fba1b70 100644 --- a/target/linux/generic-2.6/patches-2.6.25/070-redboot_space.patch +++ b/target/linux/generic-2.6/patches-2.6.25/070-redboot_space.patch @@ -1,6 +1,6 @@ --- 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; diff --git a/target/linux/generic-2.6/patches-2.6.25/080-mtd_plat_nand_chip_fixup.patch b/target/linux/generic-2.6/patches-2.6.25/080-mtd_plat_nand_chip_fixup.patch index ef885edac3..61f2806bda 100644 --- a/target/linux/generic-2.6/patches-2.6.25/080-mtd_plat_nand_chip_fixup.patch +++ b/target/linux/generic-2.6/patches-2.6.25/080-mtd_plat_nand_chip_fixup.patch @@ -1,6 +1,6 @@ --- 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; @@ -10,7 +10,7 @@ --- 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 */ diff --git a/target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch b/target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch index c530519b38..9bf65dee6b 100644 --- a/target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch +++ b/target/linux/generic-2.6/patches-2.6.25/100-netfilter_layer7_2.17.patch @@ -1,6 +1,6 @@ --- 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. @@ -30,7 +30,7 @@ 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 @@ -2027,7 +2027,7 @@ +} --- 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); @@ -2044,7 +2044,7 @@ 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 @@ -2060,7 +2060,7 @@ 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/101-netfilter_layer7_pktmatch.patch b/target/linux/generic-2.6/patches-2.6.25/101-netfilter_layer7_pktmatch.patch index 167d578cf1..be2dff8e16 100644 --- a/target/linux/generic-2.6/patches-2.6.25/101-netfilter_layer7_pktmatch.patch +++ b/target/linux/generic-2.6/patches-2.6.25/101-netfilter_layer7_pktmatch.patch @@ -1,6 +1,6 @@ --- 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; @@ -10,7 +10,7 @@ #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. */ @@ -61,7 +61,7 @@ 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; @@ -70,7 +70,7 @@ 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 */ @@ -81,7 +81,7 @@ 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); diff --git a/target/linux/generic-2.6/patches-2.6.25/110-ipp2p_0.8.1rc1.patch b/target/linux/generic-2.6/patches-2.6.25/110-ipp2p_0.8.1rc1.patch index cd1abfaf6d..72151b459f 100644 --- a/target/linux/generic-2.6/patches-2.6.25/110-ipp2p_0.8.1rc1.patch +++ b/target/linux/generic-2.6/patches-2.6.25/110-ipp2p_0.8.1rc1.patch @@ -893,7 +893,7 @@ + --- 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. @@ -908,7 +908,7 @@ 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/130-netfilter_ipset.patch b/target/linux/generic-2.6/patches-2.6.25/130-netfilter_ipset.patch index 88e33d5cff..10cd1b9628 100644 --- a/target/linux/generic-2.6/patches-2.6.25/130-netfilter_ipset.patch +++ b/target/linux/generic-2.6/patches-2.6.25/130-netfilter_ipset.patch @@ -7517,7 +7517,7 @@ +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. @@ -7642,7 +7642,7 @@ --- 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 @@ -7650,7 +7650,7 @@ 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/140-netfilter_time.patch b/target/linux/generic-2.6/patches-2.6.25/140-netfilter_time.patch index ba6b5dc320..fdaf5c8e91 100644 --- a/target/linux/generic-2.6/patches-2.6.25/140-netfilter_time.patch +++ b/target/linux/generic-2.6/patches-2.6.25/140-netfilter_time.patch @@ -204,7 +204,7 @@ +} --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -63,6 +63,22 @@ +@@ -63,6 +63,22 @@ config IP_NF_MATCH_IPP2P help Module for matching traffic of various Peer-to-Peer applications @@ -229,7 +229,7 @@ depends on IP_NF_IPTABLES --- a/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile -@@ -47,6 +47,7 @@ +@@ -47,6 +47,7 @@ obj-$(CONFIG_IP_NF_MATCH_ECN) += ipt_ecn obj-$(CONFIG_IP_NF_MATCH_RECENT) += ipt_recent.o obj-$(CONFIG_IP_NF_MATCH_TTL) += ipt_ttl.o obj-$(CONFIG_IP_NF_MATCH_SET) += ipt_set.o diff --git a/target/linux/generic-2.6/patches-2.6.25/150-netfilter_imq.patch b/target/linux/generic-2.6/patches-2.6.25/150-netfilter_imq.patch index 3e2423ffe9..015afc9df8 100644 --- a/target/linux/generic-2.6/patches-2.6.25/150-netfilter_imq.patch +++ b/target/linux/generic-2.6/patches-2.6.25/150-netfilter_imq.patch @@ -477,7 +477,7 @@ + --- 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. @@ -609,7 +609,7 @@ 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 @@ -653,7 +653,7 @@ +#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 @@ -664,7 +664,7 @@ #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 @@ -687,7 +687,7 @@ #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)) { @@ -774,7 +774,7 @@ +MODULE_LICENSE("GPL"); --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -145,6 +145,17 @@ +@@ -145,6 +145,17 @@ config IP_NF_FILTER To compile it as a module, choose M here. If unsure, say N. @@ -794,7 +794,7 @@ depends on IP_NF_FILTER --- a/net/ipv4/netfilter/Makefile +++ b/net/ipv4/netfilter/Makefile -@@ -55,6 +55,7 @@ +@@ -55,6 +55,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 @@ -876,7 +876,7 @@ +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. @@ -904,7 +904,7 @@ --- 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); } diff --git a/target/linux/generic-2.6/patches-2.6.25/170-netfilter_chaostables_0.8.patch b/target/linux/generic-2.6/patches-2.6.25/170-netfilter_chaostables_0.8.patch index d059973f2f..361697c9e7 100644 --- a/target/linux/generic-2.6/patches-2.6.25/170-netfilter_chaostables_0.8.patch +++ b/target/linux/generic-2.6/patches-2.6.25/170-netfilter_chaostables_0.8.patch @@ -95,7 +95,7 @@ +#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 @@ -110,7 +110,7 @@ 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'. @@ -125,7 +125,7 @@ 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. @@ -142,7 +142,7 @@ 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 @@ -151,7 +151,7 @@ # 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 @@ -833,7 +833,7 @@ +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; } diff --git a/target/linux/generic-2.6/patches-2.6.25/171-netfilter_tarpit.patch b/target/linux/generic-2.6/patches-2.6.25/171-netfilter_tarpit.patch index 8575368699..d99150fa0f 100644 --- a/target/linux/generic-2.6/patches-2.6.25/171-netfilter_tarpit.patch +++ b/target/linux/generic-2.6/patches-2.6.25/171-netfilter_tarpit.patch @@ -1,6 +1,6 @@ --- 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. @@ -26,7 +26,7 @@ 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/180-netfilter_depends.patch b/target/linux/generic-2.6/patches-2.6.25/180-netfilter_depends.patch index dbdcf39e7b..29491e2fd9 100644 --- a/target/linux/generic-2.6/patches-2.6.25/180-netfilter_depends.patch +++ b/target/linux/generic-2.6/patches-2.6.25/180-netfilter_depends.patch @@ -1,6 +1,6 @@ --- 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" @@ -9,7 +9,7 @@ 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' diff --git a/target/linux/generic-2.6/patches-2.6.25/190-netfilter_rtsp.patch b/target/linux/generic-2.6/patches-2.6.25/190-netfilter_rtsp.patch index 4e5adf97a1..8b98b89f76 100644 --- a/target/linux/generic-2.6/patches-2.6.25/190-netfilter_rtsp.patch +++ b/target/linux/generic-2.6/patches-2.6.25/190-netfilter_rtsp.patch @@ -294,7 +294,7 @@ +#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 @@ -304,7 +304,7 @@ 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. @@ -323,7 +323,7 @@ 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 @@ -333,7 +333,7 @@ obj-$(CONFIG_NETFILTER_XTABLES) += x_tables.o xt_tcpudp.o --- a/net/ipv4/netfilter/Kconfig +++ b/net/ipv4/netfilter/Kconfig -@@ -288,6 +288,11 @@ +@@ -288,6 +288,11 @@ config NF_NAT_IRC depends on IP_NF_IPTABLES && NF_CONNTRACK && NF_NAT default NF_NAT && NF_CONNTRACK_IRC diff --git a/target/linux/generic-2.6/patches-2.6.25/200-sched_esfq.patch b/target/linux/generic-2.6/patches-2.6.25/200-sched_esfq.patch index 1dfd95e82b..a3c02625d9 100644 --- a/target/linux/generic-2.6/patches-2.6.25/200-sched_esfq.patch +++ b/target/linux/generic-2.6/patches-2.6.25/200-sched_esfq.patch @@ -1,6 +1,6 @@ --- 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. @@ -40,7 +40,7 @@ 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. @@ -80,7 +80,7 @@ ---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 diff --git a/target/linux/generic-2.6/patches-2.6.25/202-mips-freestanding.patch b/target/linux/generic-2.6/patches-2.6.25/202-mips-freestanding.patch index cd961e5a83..e4cdfdd7b2 100644 --- a/target/linux/generic-2.6/patches-2.6.25/202-mips-freestanding.patch +++ b/target/linux/generic-2.6/patches-2.6.25/202-mips-freestanding.patch @@ -1,6 +1,6 @@ --- 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/204-jffs2_eofdetect.patch b/target/linux/generic-2.6/patches-2.6.25/204-jffs2_eofdetect.patch index 5053401f11..eccdbe2f92 100644 --- a/target/linux/generic-2.6/patches-2.6.25/204-jffs2_eofdetect.patch +++ b/target/linux/generic-2.6/patches-2.6.25/204-jffs2_eofdetect.patch @@ -1,6 +1,6 @@ --- 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); @@ -20,7 +20,7 @@ /* 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); @@ -36,7 +36,7 @@ if (ret < 0) goto out; -@@ -545,6 +548,17 @@ +@@ -545,6 +548,17 @@ static int jffs2_scan_eraseblock (struct return err; } diff --git a/target/linux/generic-2.6/patches-2.6.25/208-rtl8110sb_fix.patch b/target/linux/generic-2.6/patches-2.6.25/208-rtl8110sb_fix.patch index e812f9b51e..2196a494b2 100644 --- a/target/linux/generic-2.6/patches-2.6.25/208-rtl8110sb_fix.patch +++ b/target/linux/generic-2.6/patches-2.6.25/208-rtl8110sb_fix.patch @@ -1,6 +1,6 @@ --- 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, @@ -9,7 +9,7 @@ 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, @@ -18,7 +18,7 @@ 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, @@ -27,7 +27,7 @@ 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; } diff --git a/target/linux/generic-2.6/patches-2.6.25/209-mini_fo.patch b/target/linux/generic-2.6/patches-2.6.25/209-mini_fo.patch index 9b585463b7..9d76d01595 100644 --- a/target/linux/generic-2.6/patches-2.6.25/209-mini_fo.patch +++ b/target/linux/generic-2.6/patches-2.6.25/209-mini_fo.patch @@ -1,6 +1,6 @@ --- 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. @@ -12,7 +12,7 @@ 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/ diff --git a/target/linux/generic-2.6/patches-2.6.25/210-mini_fo_2.6.25_fixes.patch b/target/linux/generic-2.6/patches-2.6.25/210-mini_fo_2.6.25_fixes.patch index 22ca3900e9..d71e3b6faa 100644 --- a/target/linux/generic-2.6/patches-2.6.25/210-mini_fo_2.6.25_fixes.patch +++ b/target/linux/generic-2.6/patches-2.6.25/210-mini_fo_2.6.25_fixes.patch @@ -1,6 +1,6 @@ --- 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 */ @@ -8,7 +8,7 @@ /* * 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; } @@ -22,7 +22,7 @@ /* * 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; } @@ -35,7 +35,7 @@ } 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; } @@ -50,7 +50,7 @@ /* 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); @@ -61,7 +61,7 @@ #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__ */ @@ -93,7 +93,7 @@ */ --- 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 @@ -127,7 +127,7 @@ #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 */ diff --git a/target/linux/generic-2.6/patches-2.6.25/211-mini_fo_2.6.25_dentry_open_war.patch b/target/linux/generic-2.6/patches-2.6.25/211-mini_fo_2.6.25_dentry_open_war.patch index 14a9f37666..48a19429b9 100644 --- a/target/linux/generic-2.6/patches-2.6.25/211-mini_fo_2.6.25_dentry_open_war.patch +++ b/target/linux/generic-2.6/patches-2.6.25/211-mini_fo_2.6.25_dentry_open_war.patch @@ -1,6 +1,6 @@ --- 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 } @@ -12,7 +12,7 @@ /* 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 } @@ -24,7 +24,7 @@ /* 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 } } @@ -44,7 +44,7 @@ dput(meta_dentry); err = -1; goto out; -@@ -811,14 +823,16 @@ +@@ -811,14 +823,16 @@ int meta_sync_r_list(dentry_t *dentry, i } } diff --git a/target/linux/generic-2.6/patches-2.6.25/213-kobject_uevent.patch b/target/linux/generic-2.6/patches-2.6.25/213-kobject_uevent.patch index 2711366795..f91db03bd7 100644 --- a/target/linux/generic-2.6/patches-2.6.25/213-kobject_uevent.patch +++ b/target/linux/generic-2.6/patches-2.6.25/213-kobject_uevent.patch @@ -1,6 +1,6 @@ --- 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) @@ -10,7 +10,7 @@ #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", }; @@ -29,7 +29,7 @@ /** * 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 */ diff --git a/target/linux/generic-2.6/patches-2.6.25/220-sound_kconfig.patch b/target/linux/generic-2.6/patches-2.6.25/220-sound_kconfig.patch index c052f2ad29..d215d12077 100644 --- a/target/linux/generic-2.6/patches-2.6.25/220-sound_kconfig.patch +++ b/target/linux/generic-2.6/patches-2.6.25/220-sound_kconfig.patch @@ -1,6 +1,6 @@ --- 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/400-ledtrig_morse.patch b/target/linux/generic-2.6/patches-2.6.25/400-ledtrig_morse.patch index 2e1f8b8b38..7208dde0ef 100644 --- a/target/linux/generic-2.6/patches-2.6.25/400-ledtrig_morse.patch +++ b/target/linux/generic-2.6/patches-2.6.25/400-ledtrig_morse.patch @@ -1,6 +1,6 @@ --- 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. @@ -11,7 +11,7 @@ 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/401-led_alix.patch b/target/linux/generic-2.6/patches-2.6.25/401-led_alix.patch index 7216683048..b65dce85a6 100644 --- a/target/linux/generic-2.6/patches-2.6.25/401-led_alix.patch +++ b/target/linux/generic-2.6/patches-2.6.25/401-led_alix.patch @@ -1,6 +1,6 @@ --- 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. @@ -15,7 +15,7 @@ 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/402-ledtrig_default_on.patch b/target/linux/generic-2.6/patches-2.6.25/402-ledtrig_default_on.patch index b1f8c5076e..3697ff7fa1 100644 --- a/target/linux/generic-2.6/patches-2.6.25/402-ledtrig_default_on.patch +++ b/target/linux/generic-2.6/patches-2.6.25/402-ledtrig_default_on.patch @@ -1,6 +1,6 @@ --- 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 @@ -14,7 +14,7 @@ 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/410-gpio_buttons.patch b/target/linux/generic-2.6/patches-2.6.25/410-gpio_buttons.patch index 6ae2cd7df5..46ca987e53 100644 --- a/target/linux/generic-2.6/patches-2.6.25/410-gpio_buttons.patch +++ b/target/linux/generic-2.6/patches-2.6.25/410-gpio_buttons.patch @@ -1,6 +1,6 @@ --- 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. @@ -23,7 +23,7 @@ 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/420-gpiodev.patch b/target/linux/generic-2.6/patches-2.6.25/420-gpiodev.patch index 5eecc61ae5..de8b57adf7 100644 --- a/target/linux/generic-2.6/patches-2.6.25/420-gpiodev.patch +++ b/target/linux/generic-2.6/patches-2.6.25/420-gpiodev.patch @@ -1,6 +1,6 @@ --- 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. @@ -16,7 +16,7 @@ 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/510-yaffs_support.patch b/target/linux/generic-2.6/patches-2.6.25/510-yaffs_support.patch index e0f1a9befb..cef6ea592e 100644 --- a/target/linux/generic-2.6/patches-2.6.25/510-yaffs_support.patch +++ b/target/linux/generic-2.6/patches-2.6.25/510-yaffs_support.patch @@ -1,6 +1,6 @@ --- 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" @@ -10,7 +10,7 @@ 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/ diff --git a/target/linux/generic-2.6/patches-2.6.25/512-yaffs_2.6.25_fix.patch b/target/linux/generic-2.6/patches-2.6.25/512-yaffs_2.6.25_fix.patch index ac895342f6..c127336346 100644 --- a/target/linux/generic-2.6/patches-2.6.25/512-yaffs_2.6.25_fix.patch +++ b/target/linux/generic-2.6/patches-2.6.25/512-yaffs_2.6.25_fix.patch @@ -1,6 +1,6 @@ --- 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 @@ -14,7 +14,7 @@ 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, @@ -24,7 +24,7 @@ .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)); @@ -42,7 +42,7 @@ return inode; } -@@ -1427,6 +1441,39 @@ +@@ -1427,6 +1441,39 @@ static int yaffs_sync_fs(struct super_bl } @@ -82,7 +82,7 @@ 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); } diff --git a/target/linux/generic-2.6/patches-2.6.25/600-phy_extension.patch b/target/linux/generic-2.6/patches-2.6.25/600-phy_extension.patch index 6ac585eeff..c4ef46529c 100644 --- a/target/linux/generic-2.6/patches-2.6.25/600-phy_extension.patch +++ b/target/linux/generic-2.6/patches-2.6.25/600-phy_extension.patch @@ -1,6 +1,6 @@ --- 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); @@ -53,7 +53,7 @@ * @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); diff --git a/target/linux/generic-2.6/patches-2.6.25/610-phy_detect.patch b/target/linux/generic-2.6/patches-2.6.25/610-phy_detect.patch index cda40d88be..9fa7bb2fe2 100644 --- a/target/linux/generic-2.6/patches-2.6.25/610-phy_detect.patch +++ b/target/linux/generic-2.6/patches-2.6.25/610-phy_detect.patch @@ -1,6 +1,6 @@ --- 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); @@ -12,7 +12,7 @@ } --- 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; diff --git a/target/linux/generic-2.6/patches-2.6.25/620-phy_adm6996.patch b/target/linux/generic-2.6/patches-2.6.25/620-phy_adm6996.patch index 46e6bf34b6..1b035cbdbb 100644 --- a/target/linux/generic-2.6/patches-2.6.25/620-phy_adm6996.patch +++ b/target/linux/generic-2.6/patches-2.6.25/620-phy_adm6996.patch @@ -1,6 +1,6 @@ --- 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. @@ -14,7 +14,7 @@ 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/630-phy_packets.patch b/target/linux/generic-2.6/patches-2.6.25/630-phy_packets.patch index 22654db8fb..6115487ddd 100644 --- a/target/linux/generic-2.6/patches-2.6.25/630-phy_packets.patch +++ b/target/linux/generic-2.6/patches-2.6.25/630-phy_packets.patch @@ -1,6 +1,6 @@ --- 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)); } @@ -19,7 +19,7 @@ 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; @@ -30,7 +30,7 @@ --- 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); @@ -50,7 +50,7 @@ --- 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 */ diff --git a/target/linux/generic-2.6/patches-2.6.25/640-mvswitch.patch b/target/linux/generic-2.6/patches-2.6.25/640-mvswitch.patch index 85b8cb4f91..c2d7d1c0de 100644 --- a/target/linux/generic-2.6/patches-2.6.25/640-mvswitch.patch +++ b/target/linux/generic-2.6/patches-2.6.25/640-mvswitch.patch @@ -1,6 +1,6 @@ --- 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 @@ -15,7 +15,7 @@ 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 @@ -38,7 +38,7 @@ /** * 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; diff --git a/target/linux/generic-2.6/patches-2.6.25/700-powerpc_git.patch b/target/linux/generic-2.6/patches-2.6.25/700-powerpc_git.patch index 8c2d74ef14..a47129171f 100644 --- a/target/linux/generic-2.6/patches-2.6.25/700-powerpc_git.patch +++ b/target/linux/generic-2.6/patches-2.6.25/700-powerpc_git.patch @@ -1,6 +1,6 @@ --- 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] @@ -11,7 +11,7 @@ --- 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 @@ -52,7 +52,7 @@ 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: @@ -63,7 +63,7 @@ - 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. @@ -73,7 +73,7 @@ - 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: @@ -84,7 +84,7 @@ - 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"; @@ -94,7 +94,7 @@ 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>; @@ -102,7 +102,7 @@ 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. @@ -115,7 +115,7 @@ 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 { @@ -123,7 +123,7 @@ 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 }; @@ -654,7 +654,7 @@ =================================================== 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 @@ -841,7 +841,7 @@ + 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 @@ -861,7 +861,7 @@ config RWSEM_GENERIC_SPINLOCK bool -@@ -81,6 +94,11 @@ +@@ -81,6 +94,11 @@ config GENERIC_FIND_NEXT_BIT bool default y @@ -873,7 +873,7 @@ 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 @@ -881,7 +881,7 @@ config EARLY_PRINTK bool -@@ -210,15 +229,6 @@ +@@ -210,15 +229,6 @@ source kernel/Kconfig.hz source kernel/Kconfig.preempt source "fs/Kconfig.binfmt" @@ -897,7 +897,7 @@ 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. @@ -914,7 +914,7 @@ 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. @@ -941,7 +941,7 @@ 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 @@ -956,7 +956,7 @@ # 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 @@ -981,7 +981,7 @@ 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 @@ -992,7 +992,7 @@ 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 @@ -1010,7 +1010,7 @@ 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)/%,$@) @@ -1021,7 +1021,7 @@ 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 @@ -1029,7 +1029,7 @@ 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 \ @@ -1039,7 +1039,7 @@ 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 @@ -1048,7 +1048,7 @@ 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 @@ -1056,7 +1056,7 @@ # 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 @@ -1064,7 +1064,7 @@ # 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 @@ -1080,7 +1080,7 @@ # 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) @@ -1111,7 +1111,7 @@ # 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.* \ @@ -1122,7 +1122,7 @@ 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); @@ -1142,7 +1142,7 @@ struct cpm_scc { u32 gsmrl; -@@ -42,6 +43,22 @@ +@@ -42,6 +43,22 @@ struct cpm_param { u16 tbase; u8 rfcr; u8 tfcr; @@ -1165,7 +1165,7 @@ }; 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; @@ -1179,7 +1179,7 @@ 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); @@ -1210,7 +1210,7 @@ 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) { @@ -1226,7 +1226,7 @@ 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; @@ -1327,7 +1327,7 @@ 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; @@ -1336,7 +1336,7 @@ 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) @@ -1345,7 +1345,7 @@ 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) @@ -1354,7 +1354,7 @@ 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) @@ -1377,7 +1377,7 @@ 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); @@ -1389,7 +1389,7 @@ /* 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: @@ -1404,7 +1404,7 @@ 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(); @@ -1416,7 +1416,7 @@ 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(); @@ -1428,7 +1428,7 @@ 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(); @@ -1440,7 +1440,7 @@ } --- 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"); @@ -1498,7 +1498,7 @@ +} --- 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; } @@ -3014,7 +3014,7 @@ * * 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, ?? */ @@ -3023,7 +3023,7 @@ / { model = "KuroboxHD"; compatible = "linkstation"; -@@ -35,19 +38,19 @@ +@@ -35,19 +38,19 @@ XXXX add flash parts, rtc, ?? PowerPC,603e { /* Really 8241 */ device_type = "cpu"; @@ -3049,7 +3049,7 @@ }; 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 */ @@ -3084,7 +3084,7 @@ }; }; -@@ -83,9 +86,9 @@ +@@ -83,9 +86,9 @@ XXXX add flash parts, rtc, ?? cell-index = <0>; device_type = "serial"; compatible = "ns16550"; @@ -3097,7 +3097,7 @@ 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"; @@ -3112,7 +3112,7 @@ 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; @@ -3121,7 +3121,7 @@ }; 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"; @@ -3179,7 +3179,7 @@ * * 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, ?? */ @@ -3188,7 +3188,7 @@ / { model = "KuroboxHG"; compatible = "linkstation"; -@@ -35,19 +38,19 @@ +@@ -35,19 +38,19 @@ XXXX add flash parts, rtc, ?? PowerPC,603e { /* Really 8241 */ device_type = "cpu"; @@ -3214,7 +3214,7 @@ }; 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 */ @@ -3249,7 +3249,7 @@ }; }; -@@ -83,9 +86,9 @@ +@@ -83,9 +86,9 @@ XXXX add flash parts, rtc, ?? cell-index = <0>; device_type = "serial"; compatible = "ns16550"; @@ -3262,7 +3262,7 @@ 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"; @@ -3277,7 +3277,7 @@ 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; @@ -3286,7 +3286,7 @@ }; 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"; @@ -9735,7 +9735,7 @@ +}; --- 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(); @@ -9758,7 +9758,7 @@ 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) { @@ -9777,7 +9777,7 @@ 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; @@ -9788,7 +9788,7 @@ 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; @@ -9797,7 +9797,7 @@ 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; @@ -9808,7 +9808,7 @@ 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; @@ -9819,7 +9819,7 @@ 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; @@ -9839,7 +9839,7 @@ 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); @@ -9849,7 +9849,7 @@ { --- 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 */ @@ -9875,7 +9875,7 @@ 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 */ @@ -9887,7 +9887,7 @@ 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)); @@ -9923,7 +9923,7 @@ * * 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 @@ -9932,7 +9932,7 @@ beq 1f /* Secondary goes to __secondary_hold in kernel. */ -@@ -57,8 +56,14 @@ +@@ -57,8 +56,14 @@ __system_reset_overlay: mtctr r4 bctr @@ -9948,7 +9948,7 @@ or 31, 31, 31 /* db16cyc */ or 31, 31, 31 /* db16cyc */ -@@ -67,16 +72,18 @@ +@@ -67,16 +72,18 @@ __system_reset_overlay: mtctr r4 bctr @@ -9988,7 +9988,7 @@ 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. */ @@ -9996,7 +9996,7 @@ 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) { @@ -10005,7 +10005,7 @@ 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[]; @@ -10026,7 +10026,7 @@ 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); @@ -10040,7 +10040,7 @@ 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); @@ -10138,7 +10138,7 @@ +} --- 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(); @@ -10182,7 +10182,7 @@ +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 ;; @@ -10191,7 +10191,7 @@ 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 ;; @@ -10202,7 +10202,7 @@ esac vmz="$tmpdir/`basename \"$kernel\"`.$ext" -@@ -226,10 +230,13 @@ +@@ -226,10 +230,13 @@ if [ -n "$version" ]; then uboot_version="-n Linux-$version" fi @@ -10217,7 +10217,7 @@ $uboot_version -d "$vmz" "$ofile" if [ -z "$cacheit" ]; then rm -f "$vmz" -@@ -298,15 +305,16 @@ +@@ -298,15 +305,16 @@ treeboot*) exit 0 ;; ps3) @@ -10243,7 +10243,7 @@ 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" @@ -49187,7 +49187,7 @@ # # 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 @@ -49196,7 +49196,7 @@ 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 @@ -49205,7 +49205,7 @@ # 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 @@ -51096,7 +51096,7 @@ # 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 @@ -51105,7 +51105,7 @@ 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 @@ -51114,7 +51114,7 @@ # 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 @@ -51133,7 +51133,7 @@ # 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 @@ -51142,7 +51142,7 @@ 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 @@ -51151,7 +51151,7 @@ # 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 @@ -53638,7 +53638,7 @@ -# 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 @@ -53647,7 +53647,7 @@ # 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 @@ -53655,7 +53655,7 @@ 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 @@ -53788,7 +53788,7 @@ # 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 @@ -53796,7 +53796,7 @@ # 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 # @@ -65457,7 +65457,7 @@ # # 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 @@ -65465,7 +65465,7 @@ 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 @@ -65557,7 +65557,7 @@ 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 @@ -65565,7 +65565,7 @@ 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 @@ -65581,7 +65581,7 @@ # 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 @@ -65589,7 +65589,7 @@ # # Miscellaneous I2C Chip support -@@ -648,6 +743,11 @@ +@@ -648,6 +743,11 @@ CONFIG_WATCHDOG=y CONFIG_83xx_WDT=y # @@ -65601,7 +65601,7 @@ # 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 @@ -65609,7 +65609,7 @@ # # 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 @@ -65624,7 +65624,7 @@ 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 # @@ -65680,7 +65680,7 @@ # 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 @@ -65688,7 +65688,7 @@ # 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 @@ -72556,7 +72556,7 @@ # # 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 @@ -72565,7 +72565,7 @@ 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 @@ -72574,7 +72574,7 @@ # 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 @@ -73493,7 +73493,7 @@ # # 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 @@ -73501,7 +73501,7 @@ # 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 @@ -73509,7 +73509,7 @@ 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 @@ -73517,7 +73517,7 @@ 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 @@ -73533,7 +73533,7 @@ 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 @@ -73541,7 +73541,7 @@ 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 @@ -73549,7 +73549,7 @@ 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 @@ -73557,7 +73557,7 @@ # # 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 @@ -73576,7 +73576,7 @@ # 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 @@ -73585,7 +73585,7 @@ # 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 @@ -73593,7 +73593,7 @@ 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 @@ -73602,7 +73602,7 @@ # 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 @@ -73621,7 +73621,7 @@ # 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 @@ -73630,7 +73630,7 @@ 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 @@ -73638,7 +73638,7 @@ 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 @@ -73647,7 +73647,7 @@ # 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 @@ -87815,7 +87815,7 @@ -# 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 @@ -87844,7 +87844,7 @@ #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)); @@ -87852,7 +87852,7 @@ #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)); @@ -87860,7 +87860,7 @@ #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)); @@ -87900,7 +87900,7 @@ * 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 @@ -87912,7 +87912,7 @@ 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); @@ -87921,7 +87921,7 @@ 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", }, @@ -87952,7 +87952,7 @@ #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) @@ -87993,7 +87993,7 @@ --- 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 @@ -88005,7 +88005,7 @@ 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 @@ -88018,7 +88018,7 @@ 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) @@ -88032,7 +88032,7 @@ 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) @@ -88046,7 +88046,7 @@ 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 @@ -88059,7 +88059,7 @@ 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: @@ -88088,7 +88088,7 @@ .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 */ @@ -88103,7 +88103,7 @@ 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) @@ -88112,7 +88112,7 @@ 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 */ @@ -88123,7 +88123,7 @@ 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 @@ -88132,7 +88132,7 @@ /* 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: @@ -88159,7 +88159,7 @@ /* 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); \ @@ -88170,7 +88170,7 @@ 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 /* @@ -88196,7 +88196,7 @@ * 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); @@ -88205,7 +88205,7 @@ /* 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 */ @@ -88226,7 +88226,7 @@ /* * 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) @@ -88236,7 +88236,7 @@ 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 */ @@ -88245,7 +88245,7 @@ .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 */ @@ -88268,7 +88268,7 @@ 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 @@ -88277,7 +88277,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) /* @@ -88305,7 +88305,7 @@ * 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 */ /* @@ -88319,7 +88319,7 @@ * 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 */ @@ -88327,7 +88327,7 @@ 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) @@ -88336,7 +88336,7 @@ 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 @@ -88351,7 +88351,7 @@ 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 @@ -88362,7 +88362,7 @@ /* 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) @@ -88403,7 +88403,7 @@ #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. */ @@ -88415,7 +88415,7 @@ DEBUG_EXCEPTION_PROLOG; \ \ /* \ -@@ -234,8 +242,8 @@ +@@ -234,8 +242,8 @@ label: cmplw r12,r10; \ blt+ 2f; /* addr below exception vectors */ \ \ @@ -88426,7 +88426,7 @@ 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) @@ -88439,7 +88439,7 @@ CRITICAL_EXCEPTION_PROLOG; \ \ /* \ -@@ -287,8 +295,8 @@ +@@ -287,8 +295,8 @@ label: cmplw r12,r10; \ blt+ 2f; /* addr below exception vectors */ \ \ @@ -88450,7 +88450,7 @@ 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) @@ -88460,7 +88460,7 @@ 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 @@ -88470,7 +88470,7 @@ /* 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 @@ -88500,7 +88500,7 @@ 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 @@ -88515,7 +88515,7 @@ 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 @@ -88525,7 +88525,7 @@ 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); @@ -88537,7 +88537,7 @@ SET_IVOR(32, SPEUnavailable); SET_IVOR(33, SPEFloatingPointData); SET_IVOR(34, SPEFloatingPointRound); -@@ -718,7 +741,10 @@ +@@ -718,7 +741,10 @@ interrupt_base: /* Debug Interrupt */ @@ -88551,7 +88551,7 @@ * 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)", @@ -88560,7 +88560,7 @@ 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", @@ -88569,7 +88569,7 @@ 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", @@ -88578,7 +88578,7 @@ 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", @@ -88587,7 +88587,7 @@ 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", @@ -88606,7 +88606,7 @@ 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) { @@ -88615,7 +88615,7 @@ 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", @@ -88626,7 +88626,7 @@ } --- 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))); } @@ -88635,7 +88635,7 @@ { /* * get_paca()->soft_enabled = en; -@@ -174,6 +174,7 @@ +@@ -174,6 +174,7 @@ void local_irq_restore(unsigned long en) __hard_irq_enable(); } @@ -88643,7 +88643,7 @@ #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; @@ -88665,7 +88665,7 @@ 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; @@ -88676,7 +88676,7 @@ 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 */ @@ -88692,7 +88692,7 @@ 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", @@ -88703,7 +88703,7 @@ --- 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", @@ -88712,7 +88712,7 @@ 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", @@ -88729,7 +88729,7 @@ 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", @@ -88742,7 +88742,7 @@ 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", @@ -88793,7 +88793,7 @@ */ 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). */ @@ -88843,7 +88843,7 @@ #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); @@ -88851,7 +88851,7 @@ 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); @@ -88859,14 +88859,14 @@ 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); @@ -88878,7 +88878,7 @@ 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); } @@ -88899,7 +88899,7 @@ 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; @@ -88918,7 +88918,7 @@ 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 { @@ -88933,7 +88933,7 @@ 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. */ @@ -88966,7 +88966,7 @@ #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. */ @@ -88975,7 +88975,7 @@ { unsigned long start, size; void *p; -@@ -1040,6 +1041,87 @@ +@@ -1040,6 +1041,87 @@ static void __init early_reserve_mem(voi #endif } @@ -89063,7 +89063,7 @@ 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 @@ -89075,7 +89075,7 @@ /* 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(); @@ -89083,7 +89083,7 @@ 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) { @@ -89100,7 +89100,7 @@ } /* -@@ -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; @@ -89111,7 +89111,7 @@ 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: @@ -89120,7 +89120,7 @@ } #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; @@ -89145,7 +89145,7 @@ #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; @@ -89157,7 +89157,7 @@ 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; } @@ -89166,7 +89166,7 @@ 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; @@ -89178,7 +89178,7 @@ 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; } @@ -89189,7 +89189,7 @@ 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")); @@ -89222,7 +89222,7 @@ #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", @@ -89233,7 +89233,7 @@ } --- 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", @@ -89244,7 +89244,7 @@ } --- 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; } @@ -89266,7 +89266,7 @@ 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 @@ -89275,7 +89275,7 @@ 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 @@ -89284,7 +89284,7 @@ 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) { @@ -89293,7 +89293,7 @@ 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", @@ -89309,7 +89309,7 @@ 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", @@ -89343,7 +89343,7 @@ #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) { @@ -89352,7 +89352,7 @@ #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); @@ -89368,7 +89368,7 @@ --- 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); @@ -89387,7 +89387,7 @@ #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(); @@ -89415,7 +89415,7 @@ #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(); @@ -89425,7 +89425,7 @@ 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(); @@ -89486,7 +89486,7 @@ +} --- 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); @@ -89518,7 +89518,7 @@ #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) { @@ -89527,7 +89527,7 @@ 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", @@ -89536,7 +89536,7 @@ 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", @@ -89545,7 +89545,7 @@ 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", @@ -89554,7 +89554,7 @@ /* 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", @@ -89578,7 +89578,7 @@ #include <asm-generic/vmlinux.lds.h> #include <asm/cache.h> -@@ -33,7 +31,7 @@ +@@ -33,7 +31,7 @@ SECTIONS */ /* Text and gots */ @@ -89587,7 +89587,7 @@ ALIGN_FUNCTION(); *(.text.head) _text = .; -@@ -58,7 +56,7 @@ +@@ -58,7 +56,7 @@ SECTIONS RODATA /* Exception & bug tables */ @@ -89596,7 +89596,7 @@ __start___ex_table = .; *(__ex_table) __stop___ex_table = .; -@@ -74,7 +72,7 @@ +@@ -74,7 +72,7 @@ SECTIONS . = ALIGN(PAGE_SIZE); __init_begin = .; @@ -89605,7 +89605,7 @@ _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 */ @@ -89619,7 +89619,7 @@ INIT_DATA __vtop_table_begin = .; *(.vtop_fixup); -@@ -103,19 +101,19 @@ +@@ -103,19 +101,19 @@ SECTIONS } . = ALIGN(16); @@ -89642,7 +89642,7 @@ __con_initcall_start = .; *(.con_initcall.init) __con_initcall_end = .; -@@ -124,14 +122,14 @@ +@@ -124,14 +122,14 @@ SECTIONS SECURITY_INIT . = ALIGN(8); @@ -89659,7 +89659,7 @@ __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); @@ -89676,7 +89676,7 @@ __per_cpu_start = .; *(.data.percpu) *(.data.percpu.shared_aligned) -@@ -154,7 +152,7 @@ +@@ -154,7 +152,7 @@ SECTIONS } . = ALIGN(8); @@ -89685,7 +89685,7 @@ __machine_desc_start = . ; *(.machine.desc) __machine_desc_end = . ; -@@ -172,25 +170,24 @@ +@@ -172,25 +170,24 @@ SECTIONS _sdata = .; #ifdef CONFIG_PPC32 @@ -89715,7 +89715,7 @@ __toc_start = .; *(.got) *(.toc) -@@ -207,26 +204,26 @@ +@@ -207,26 +204,26 @@ SECTIONS #else . = ALIGN(16384); #endif @@ -89747,7 +89747,7 @@ __nosave_begin = .; *(.data.nosave) . = ALIGN(PAGE_SIZE); -@@ -237,7 +234,7 @@ +@@ -237,7 +234,7 @@ SECTIONS * And finally the bss */ @@ -89758,7 +89758,7 @@ *(.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; @@ -89767,7 +89767,7 @@ 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); @@ -89778,7 +89778,7 @@ --- 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 @@ -89801,7 +89801,7 @@ 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 @@ -89812,7 +89812,7 @@ #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 @@ -89823,7 +89823,7 @@ __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 @@ -89834,7 +89834,7 @@ __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 @@ -89845,7 +89845,7 @@ __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 @@ -89856,7 +89856,7 @@ __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 @@ -89867,7 +89867,7 @@ #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 @@ -89878,7 +89878,7 @@ #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 @@ -89887,7 +89887,7 @@ #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 @@ -89905,7 +89905,7 @@ --- 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 @@ -89914,7 +89914,7 @@ #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 @@ -89932,7 +89932,7 @@ --- 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 @@ -89943,7 +89943,7 @@ __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 @@ -89954,7 +89954,7 @@ __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 @@ -89965,7 +89965,7 @@ #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 @@ -89976,7 +89976,7 @@ __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 @@ -89987,7 +89987,7 @@ __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 @@ -89998,7 +89998,7 @@ __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 @@ -90009,7 +90009,7 @@ __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 @@ -90020,7 +90020,7 @@ #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 @@ -90031,7 +90031,7 @@ #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 @@ -90042,7 +90042,7 @@ __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 @@ -90053,7 +90053,7 @@ __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 @@ -90064,7 +90064,7 @@ __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 @@ -90075,7 +90075,7 @@ __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 @@ -90086,7 +90086,7 @@ } --- 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 @@ -90097,7 +90097,7 @@ __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 @@ -90108,7 +90108,7 @@ } --- 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 @@ -90119,7 +90119,7 @@ __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 @@ -90130,7 +90130,7 @@ __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 @@ -90141,7 +90141,7 @@ __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 @@ -90152,7 +90152,7 @@ __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 @@ -90163,7 +90163,7 @@ __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 @@ -90174,7 +90174,7 @@ #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 @@ -90185,7 +90185,7 @@ 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 @@ -90194,7 +90194,7 @@ #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 @@ -90205,7 +90205,7 @@ 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 @@ -90216,7 +90216,7 @@ 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 @@ -90227,7 +90227,7 @@ 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 @@ -90238,7 +90238,7 @@ 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 @@ -90249,7 +90249,7 @@ 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 @@ -90260,7 +90260,7 @@ 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 @@ -90271,7 +90271,7 @@ #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 @@ -90282,7 +90282,7 @@ 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 @@ -90293,7 +90293,7 @@ __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; @@ -90304,7 +90304,7 @@ 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 */ @@ -90315,7 +90315,7 @@ --- 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 @@ -90347,7 +90347,7 @@ #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) { @@ -90366,7 +90366,7 @@ } } -@@ -196,35 +193,32 @@ +@@ -196,35 +193,32 @@ unsigned long __init mmu_mapin_ram(void) void __init adjust_total_lowmem(void) { @@ -90418,7 +90418,7 @@ 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); @@ -90446,7 +90446,7 @@ #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; } @@ -90476,7 +90476,7 @@ 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)); } @@ -90507,7 +90507,7 @@ #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; @@ -90518,7 +90518,7 @@ 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; /* @@ -90531,7 +90531,7 @@ /* * 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) @@ -90544,7 +90544,7 @@ /* 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"); } @@ -90555,7 +90555,7 @@ #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; @@ -90567,7 +90567,7 @@ 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); @@ -90576,7 +90576,7 @@ /* 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, @@ -90585,7 +90585,7 @@ } 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) @@ -90619,7 +90619,7 @@ 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) @@ -91006,7 +91006,7 @@ #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 @@ -91015,7 +91015,7 @@ { 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(); @@ -91023,7 +91023,7 @@ 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; @@ -91036,7 +91036,7 @@ #endif /* -@@ -245,18 +246,18 @@ +@@ -245,18 +246,18 @@ void __init do_init_bootmem(void) * present. */ #ifdef CONFIG_HIGHMEM @@ -91059,7 +91059,7 @@ 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 @@ -91068,7 +91068,7 @@ 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; @@ -91079,7 +91079,7 @@ 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; @@ -91107,7 +91107,7 @@ --- 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) { @@ -91138,7 +91138,7 @@ #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); @@ -91146,7 +91146,7 @@ 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. */ @@ -91167,7 +91167,7 @@ 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; @@ -91176,7 +91176,7 @@ 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, @@ -91205,7 +91205,7 @@ #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", @@ -91214,7 +91214,7 @@ 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", @@ -91223,7 +91223,7 @@ 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", @@ -91232,7 +91232,7 @@ 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", @@ -91241,7 +91241,7 @@ 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", @@ -91250,7 +91250,7 @@ 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", @@ -91261,7 +91261,7 @@ --- 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", @@ -91270,7 +91270,7 @@ 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", @@ -91293,7 +91293,7 @@ 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", @@ -91304,7 +91304,7 @@ 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", @@ -91313,7 +91313,7 @@ } 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", @@ -91322,7 +91322,7 @@ 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", @@ -91331,7 +91331,7 @@ 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", @@ -91340,7 +91340,7 @@ 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", @@ -91349,7 +91349,7 @@ 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", @@ -91358,7 +91358,7 @@ 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", @@ -91377,7 +91377,7 @@ 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, @@ -91403,7 +91403,7 @@ 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, @@ -91420,7 +91420,7 @@ 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, @@ -91437,7 +91437,7 @@ 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, @@ -91454,7 +91454,7 @@ 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, @@ -91473,7 +91473,7 @@ #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. @@ -91499,7 +91499,7 @@ #config LUAN # bool "Luan" # depends on 44x -@@ -122,6 +141,14 @@ +@@ -122,6 +141,14 @@ config 440SPe bool select IBM_NEW_EMAC_EMAC4 @@ -91541,7 +91541,7 @@ 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) { @@ -91637,7 +91637,7 @@ 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, @@ -91727,7 +91727,7 @@ 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, @@ -91737,7 +91737,7 @@ }; --- 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 @@ -91763,7 +91763,7 @@ 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, @@ -91782,7 +91782,7 @@ 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, @@ -91802,7 +91802,7 @@ 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, @@ -91820,7 +91820,7 @@ #ifdef CONFIG_MTD_NAND_NDFC -@@ -100,6 +101,6 @@ +@@ -100,6 +101,6 @@ static int warp_setup_nand_flash(void) return 0; } @@ -91841,7 +91841,7 @@ 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, @@ -91852,7 +91852,7 @@ --- 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", @@ -91861,7 +91861,7 @@ 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", @@ -91872,7 +91872,7 @@ --- 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 @@ -91880,7 +91880,7 @@ 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 @@ -91888,7 +91888,7 @@ 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 @@ -91898,7 +91898,7 @@ 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", }, @@ -91926,7 +91926,7 @@ #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, @@ -91935,7 +91935,7 @@ 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"))) { @@ -91955,7 +91955,7 @@ /* 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 @@ -91963,7 +91963,7 @@ 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 @@ -91976,7 +91976,7 @@ 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 @@ -91991,7 +91991,7 @@ 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 @@ -91999,7 +91999,7 @@ 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 @@ -92007,7 +92007,7 @@ 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 @@ -92015,7 +92015,7 @@ select TQM85xx select CPM2 -@@ -99,7 +99,6 @@ +@@ -99,7 +99,6 @@ config SBC8548 config SBC8560 bool "Wind River SBC8560" select DEFAULT_UIMAGE @@ -92025,7 +92025,7 @@ --- 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 @@ -92292,7 +92292,7 @@ +}; --- 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++) { @@ -92320,7 +92320,7 @@ #else #define DBG(fmt, args...) #endif -@@ -183,6 +184,18 @@ +@@ -183,6 +184,18 @@ static int __init mpc8544_ds_probe(void) } } @@ -92341,7 +92341,7 @@ */ --- 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. @@ -92354,7 +92354,7 @@ 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 @@ -92373,7 +92373,7 @@ 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); @@ -92382,7 +92382,7 @@ 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; } @@ -92393,7 +92393,7 @@ 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 */ @@ -92402,7 +92402,7 @@ mpc86xx_hpcn_init_irq(void) { struct mpic *mpic1; -@@ -162,7 +162,7 @@ +@@ -162,7 +162,7 @@ mpc86xx_hpcn_setup_arch(void) } @@ -92411,7 +92411,7 @@ 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(); @@ -92602,7 +92602,7 @@ +}; --- 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 @@ -92610,7 +92610,7 @@ 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 @@ -92618,7 +92618,7 @@ 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 @@ -92626,7 +92626,7 @@ 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 @@ -92636,7 +92636,7 @@ 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. */ @@ -92657,7 +92657,7 @@ /* 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 @@ -92674,7 +92674,7 @@ 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 @@ -92705,7 +92705,7 @@ #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", @@ -92714,7 +92714,7 @@ /* 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); @@ -92723,7 +92723,7 @@ 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", @@ -92732,7 +92732,7 @@ 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", @@ -92743,7 +92743,7 @@ 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", @@ -92754,7 +92754,7 @@ 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", @@ -92763,7 +92763,7 @@ goto out_free_pages; } -@@ -162,7 +162,7 @@ +@@ -162,7 +162,7 @@ static int __init cbe_ptcal_enable(void) if (!size) return -ENODEV; @@ -92772,7 +92772,7 @@ 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", @@ -92781,7 +92781,7 @@ 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; @@ -92799,7 +92799,7 @@ 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; @@ -92808,7 +92808,7 @@ 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) { @@ -92817,7 +92817,7 @@ /* 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); @@ -92826,7 +92826,7 @@ 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", @@ -92837,7 +92837,7 @@ --- 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)) { @@ -92848,7 +92848,7 @@ --- 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) { @@ -92857,7 +92857,7 @@ 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", @@ -92866,7 +92866,7 @@ 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, " @@ -92875,7 +92875,7 @@ } 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, " @@ -92886,7 +92886,7 @@ 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; @@ -92895,7 +92895,7 @@ break; } -@@ -157,6 +155,9 @@ +@@ -157,6 +155,9 @@ int spufs_coredump_extra_notes_size(void break; size += rc; @@ -92905,7 +92905,7 @@ } return size; -@@ -239,6 +240,9 @@ +@@ -239,6 +240,9 @@ int spufs_coredump_extra_notes_write(str } spu_release_saved(ctx); @@ -92917,7 +92917,7 @@ 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, @@ -92926,7 +92926,7 @@ 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, @@ -92935,7 +92935,7 @@ #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); @@ -92944,7 +92944,7 @@ 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; @@ -92955,7 +92955,7 @@ 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", @@ -92964,7 +92964,7 @@ 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", @@ -92973,7 +92973,7 @@ 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. */ @@ -92982,7 +92982,7 @@ 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 */ @@ -92991,7 +92991,7 @@ 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", @@ -93000,7 +93000,7 @@ ret = 0; } return ret; -@@ -323,6 +323,10 @@ +@@ -323,6 +323,10 @@ static int spu_process_callback(struct s return -EINTR; } @@ -93013,7 +93013,7 @@ 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. */ @@ -93021,7 +93021,7 @@ 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. */ @@ -93031,7 +93031,7 @@ --- 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; @@ -93039,7 +93039,7 @@ 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; @@ -93050,7 +93050,7 @@ 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; @@ -93061,7 +93061,7 @@ 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; @@ -93077,7 +93077,7 @@ 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; @@ -93088,7 +93088,7 @@ 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); @@ -93111,7 +93111,7 @@ 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); @@ -93135,7 +93135,7 @@ #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); @@ -93147,7 +93147,7 @@ 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]; @@ -93156,7 +93156,7 @@ /* * 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] @@ -93174,7 +93174,7 @@ 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; @@ -93184,7 +93184,7 @@ 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; @@ -93194,7 +93194,7 @@ 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] @@ -93221,7 +93221,7 @@ 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, @@ -93232,7 +93232,7 @@ 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) @@ -93245,7 +93245,7 @@ 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, @@ -93265,7 +93265,7 @@ static struct { uint32_t offset; -@@ -84,7 +84,7 @@ +@@ -84,7 +84,7 @@ static int __init txx9_serial_config(cha int i; for (;;) { @@ -93276,7 +93276,7 @@ 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; } @@ -93288,7 +93288,7 @@ .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; @@ -93298,7 +93298,7 @@ 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; @@ -93309,7 +93309,7 @@ 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) { @@ -93323,7 +93323,7 @@ (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) { @@ -93346,7 +93346,7 @@ 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(). */ @@ -93388,7 +93388,7 @@ 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 }; @@ -93418,7 +93418,7 @@ .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, }; @@ -93482,7 +93482,7 @@ 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 */ @@ -93491,7 +93491,7 @@ /* 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 */ @@ -93548,7 +93548,7 @@ /* 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. */ @@ -93557,7 +93557,7 @@ .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 */ @@ -93566,7 +93566,7 @@ 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 */ @@ -93575,7 +93575,7 @@ 0, /* 5 */ &xItIplParmsReal, /* 6 IPL parms */ &xMsVpd, /* 7 MS Vpd */ -@@ -219,10 +317,3 @@ +@@ -219,10 +317,3 @@ struct ItVpdAreas itVpdAreas = { 0,0 } }; @@ -93607,7 +93607,7 @@ #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; @@ -93618,7 +93618,7 @@ } --- 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 */ }; @@ -93628,7 +93628,7 @@ #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 }; @@ -93637,7 +93637,7 @@ #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 @@ -93651,7 +93651,7 @@ #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; } @@ -93720,7 +93720,7 @@ #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; } @@ -93748,7 +93748,7 @@ 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); @@ -93757,7 +93757,7 @@ /* 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); @@ -93864,7 +93864,7 @@ 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; @@ -93872,7 +93872,7 @@ 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); @@ -93977,7 +93977,7 @@ 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); @@ -94006,7 +94006,7 @@ #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_ } /** @@ -94050,7 +94050,7 @@ 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; } @@ -94099,7 +94099,7 @@ 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); @@ -94108,7 +94108,7 @@ return; } -@@ -905,8 +920,7 @@ +@@ -905,8 +920,7 @@ static int __init ps3_register_devices(v ps3_register_graphics_devices(); @@ -94134,7 +94134,7 @@ #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; @@ -94172,7 +94172,7 @@ --- 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 */ } @@ -94187,7 +94187,7 @@ 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"); @@ -94197,7 +94197,7 @@ } #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) { @@ -94206,7 +94206,7 @@ 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, @@ -94224,7 +94224,7 @@ #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); } @@ -94239,14 +94239,14 @@ 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; @@ -94254,7 +94254,7 @@ 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; @@ -94275,7 +94275,7 @@ #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; @@ -94283,7 +94283,7 @@ /* 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; } @@ -94292,7 +94292,7 @@ /* 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; @@ -94310,7 +94310,7 @@ } 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); } @@ -94331,7 +94331,7 @@ /* 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; @@ -94341,7 +94341,7 @@ } --- 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) { @@ -94862,7 +94862,7 @@ +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; @@ -94871,7 +94871,7 @@ #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", @@ -94888,7 +94888,7 @@ 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", @@ -94903,7 +94903,7 @@ 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", @@ -94920,7 +94920,7 @@ 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; @@ -94982,7 +94982,7 @@ 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); } @@ -95047,7 +95047,7 @@ 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 */ @@ -95097,7 +95097,7 @@ } 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")) { @@ -95106,7 +95106,7 @@ 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; @@ -95114,7 +95114,7 @@ /* * 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; @@ -95122,7 +95122,7 @@ /* * 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(); @@ -95133,7 +95133,7 @@ } --- 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 }; @@ -95142,7 +95142,7 @@ 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"); } @@ -95170,7 +95170,7 @@ return 0; } -@@ -561,27 +553,20 @@ +@@ -561,27 +553,20 @@ static int xics_host_xlate(struct irq_ho return 0; } @@ -95204,7 +95204,7 @@ 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 } } @@ -95257,7 +95257,7 @@ 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(); @@ -95268,7 +95268,7 @@ --- 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; @@ -95278,7 +95278,7 @@ #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 @@ -95286,7 +95286,7 @@ 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 @@ -95306,7 +95306,7 @@ 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); @@ -95319,7 +95319,7 @@ } 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; @@ -95328,7 +95328,7 @@ 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); } @@ -95452,7 +95452,7 @@ 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. */ @@ -95474,7 +95474,7 @@ } 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; @@ -95483,7 +95483,7 @@ 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; } @@ -95581,7 +95581,7 @@ 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 @@ -95589,7 +95589,7 @@ 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); @@ -95747,7 +95747,7 @@ +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); @@ -95781,7 +95781,7 @@ #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; @@ -95793,7 +95793,7 @@ 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; } @@ -95813,7 +95813,7 @@ 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; } @@ -95835,7 +95835,7 @@ of_node_put(np); nodev: return ret; -@@ -735,547 +745,6 @@ +@@ -735,547 +745,6 @@ err: arch_initcall(fsl_usb_of_init); @@ -96383,7 +96383,7 @@ 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) { @@ -96423,7 +96423,7 @@ --- 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: @@ -96443,7 +96443,7 @@ } } -@@ -1000,7 +1003,7 @@ +@@ -1000,7 +1003,7 @@ struct mpic * __init mpic_alloc(struct d const char *name) { struct mpic *mpic; @@ -96452,7 +96452,7 @@ 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) { @@ -96462,7 +96462,7 @@ 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)) { @@ -96472,7 +96472,7 @@ 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 */ @@ -96490,7 +96490,7 @@ /* 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 */ @@ -96499,7 +96499,7 @@ 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) { @@ -96508,7 +96508,7 @@ 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) { @@ -96517,7 +96517,7 @@ 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); } @@ -96529,7 +96529,7 @@ 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); @@ -96542,7 +96542,7 @@ } --- 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; @@ -96551,7 +96551,7 @@ 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 */ @@ -96559,7 +96559,7 @@ 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 */ @@ -96597,7 +96597,7 @@ { 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; @@ -96615,7 +96615,7 @@ 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); @@ -96624,7 +96624,7 @@ if (!pdev) return -ENOMEM; -@@ -345,21 +336,19 @@ +@@ -345,21 +336,19 @@ static int __init mv64x60_i2c_device_set memset(&pdata, 0, sizeof(pdata)); @@ -96649,7 +96649,7 @@ 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)); @@ -96661,7 +96661,7 @@ np = of_get_parent(np); if (!np) -@@ -441,27 +427,43 @@ +@@ -441,27 +427,43 @@ error: static int __init mv64x60_device_setup(void) { @@ -96712,7 +96712,7 @@ 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; @@ -96727,7 +96727,7 @@ --- 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; @@ -96744,7 +96744,7 @@ 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; @@ -96754,7 +96754,7 @@ } --- 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; @@ -96772,7 +96772,7 @@ 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; @@ -96783,7 +96783,7 @@ } --- 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 @@ -96791,7 +96791,7 @@ * * 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 */ @@ -96800,7 +96800,7 @@ /* 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 */ @@ -96810,7 +96810,7 @@ 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); } @@ -96822,7 +96822,7 @@ return 0; } -@@ -775,6 +774,115 @@ +@@ -775,6 +774,115 @@ static struct ppc4xx_pciex_hwops ppc440s .setup_utl = ppc440speB_pciex_init_utl, }; @@ -96938,7 +96938,7 @@ #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! */ @@ -96956,7 +96956,7 @@ 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; } @@ -96965,7 +96965,7 @@ #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; } @@ -97255,7 +97255,7 @@ +} --- 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. */ @@ -97264,7 +97264,7 @@ 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; @@ -97273,7 +97273,7 @@ { struct device_node *qe; unsigned int size; -@@ -180,6 +180,7 @@ +@@ -180,6 +180,7 @@ unsigned int get_brg_clk(void) return brg_clk; } @@ -97281,7 +97281,7 @@ /* 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; @@ -97290,7 +97290,7 @@ 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); @@ -97313,7 +97313,7 @@ #include <asm/prom.h> #include <sysdev/fsl_soc.h> -@@ -41,7 +42,7 @@ +@@ -41,7 +42,7 @@ struct port_regs { #endif }; @@ -97322,7 +97322,7 @@ 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); @@ -97331,7 +97331,7 @@ 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; @@ -97342,7 +97342,7 @@ 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)) { @@ -97410,7 +97410,7 @@ 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) { @@ -97419,7 +97419,7 @@ 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) { @@ -97428,7 +97428,7 @@ 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", @@ -97437,7 +97437,7 @@ 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", @@ -97446,7 +97446,7 @@ 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", @@ -97455,7 +97455,7 @@ 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", @@ -97466,7 +97466,7 @@ } --- 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)) { @@ -97475,7 +97475,7 @@ 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", @@ -97484,7 +97484,7 @@ 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) { @@ -97493,7 +97493,7 @@ 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)) { @@ -97502,7 +97502,7 @@ 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) { @@ -97511,7 +97511,7 @@ 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)) { @@ -97520,7 +97520,7 @@ 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)) { @@ -97529,7 +97529,7 @@ 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", @@ -97538,7 +97538,7 @@ 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", @@ -97549,7 +97549,7 @@ } --- 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); @@ -97557,7 +97557,7 @@ +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", @@ -97566,7 +97566,7 @@ 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", @@ -97577,7 +97577,7 @@ 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; @@ -97586,7 +97586,7 @@ 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; @@ -97605,7 +97605,7 @@ #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; @@ -97625,7 +97625,7 @@ #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)) @@ -97634,7 +97634,7 @@ 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; @@ -97642,7 +97642,7 @@ /* 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); @@ -97671,7 +97671,7 @@ --- 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 @@ -97680,7 +97680,7 @@ #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 @@ -97691,7 +97691,7 @@ #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 /* @@ -97717,7 +97717,7 @@ * 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(); @@ -97727,7 +97727,7 @@ 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; @@ -97736,7 +97736,7 @@ 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; @@ -97745,7 +97745,7 @@ 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; @@ -97754,7 +97754,7 @@ /* 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; @@ -97765,7 +97765,7 @@ /* 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) { @@ -97776,7 +97776,7 @@ 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 @@ -97786,7 +97786,7 @@ 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, @@ -97797,7 +97797,7 @@ 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); @@ -97831,7 +97831,7 @@ } /** -@@ -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) { @@ -97865,7 +97865,7 @@ /* 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); @@ -97889,7 +97889,7 @@ #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 } /** @@ -97928,7 +97928,7 @@ --- 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); @@ -97978,7 +97978,7 @@ /* 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; @@ -98005,7 +98005,7 @@ 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); @@ -98014,7 +98014,7 @@ 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, @@ -98029,7 +98029,7 @@ .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); @@ -98038,7 +98038,7 @@ 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); @@ -98068,7 +98068,7 @@ 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) { @@ -98079,7 +98079,7 @@ --- 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 { @@ -98107,7 +98107,7 @@ 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 @@ -98332,7 +98332,7 @@ 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; @@ -98341,7 +98341,7 @@ 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; @@ -98350,7 +98350,7 @@ 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; @@ -98359,7 +98359,7 @@ /* 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; @@ -98368,7 +98368,7 @@ 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; @@ -98377,7 +98377,7 @@ 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; @@ -98386,7 +98386,7 @@ 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; @@ -98395,7 +98395,7 @@ 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; @@ -98404,7 +98404,7 @@ 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) { @@ -98413,7 +98413,7 @@ 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) { @@ -98422,7 +98422,7 @@ /* 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; @@ -98433,7 +98433,7 @@ 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/ @@ -98445,7 +98445,7 @@ --- 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) { @@ -98491,7 +98491,7 @@ 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"); @@ -98500,7 +98500,7 @@ 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; } @@ -98605,7 +98605,7 @@ 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 | @@ -98614,7 +98614,7 @@ 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; @@ -98639,7 +98639,7 @@ 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; @@ -98654,7 +98654,7 @@ 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; @@ -98674,7 +98674,7 @@ /* 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; @@ -98683,7 +98683,7 @@ 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); @@ -98697,7 +98697,7 @@ /* 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; } @@ -98831,7 +98831,7 @@ nfrags = skb_shinfo(skb)->nr_frags; -@@ -1350,24 +1535,46 @@ +@@ -1350,24 +1535,46 @@ static int pasemi_mac_start_tx(struct sk } } @@ -98883,7 +98883,7 @@ 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; } @@ -98918,7 +98918,7 @@ 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); @@ -98935,7 +98935,7 @@ } /* 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; @@ -98943,7 +98943,7 @@ 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); } @@ -98952,7 +98952,7 @@ } 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 | @@ -98961,7 +98961,7 @@ 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; @@ -98991,7 +98991,7 @@ 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 */ }; @@ -99007,7 +99007,7 @@ 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 */ @@ -99021,7 +99021,7 @@ 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; @@ -99029,7 +99029,7 @@ 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; }; @@ -99046,7 +99046,7 @@ /* 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, @@ -99054,7 +99054,7 @@ 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) @@ -99063,7 +99063,7 @@ #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) @@ -99233,7 +99233,7 @@ + --- 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; } @@ -99319,7 +99319,7 @@ 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, @@ -99330,7 +99330,7 @@ /** --- 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, @@ -99365,7 +99365,7 @@ 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__); @@ -99382,7 +99382,7 @@ 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 */ @@ -99427,7 +99427,7 @@ +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); /** @@ -99833,7 +99833,7 @@ #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: @@ -99841,7 +99841,7 @@ * @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, @@ -99861,7 +99861,7 @@ * 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; } @@ -99885,7 +99885,7 @@ /** * 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, @@ -99901,7 +99901,7 @@ } /** -@@ -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, @@ -99959,7 +99959,7 @@ #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); @@ -99971,7 +99971,7 @@ } 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); @@ -99990,7 +99990,7 @@ + --- 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); @@ -100002,7 +100002,7 @@ 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; @@ -100035,7 +100035,7 @@ } 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: @@ -100055,7 +100055,7 @@ #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); } @@ -100086,7 +100086,7 @@ #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); } @@ -100144,7 +100144,7 @@ { --- 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; @@ -100157,7 +100157,7 @@ } --- 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 */ @@ -100189,7 +100189,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 @@ -100214,7 +100214,7 @@ 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; } @@ -100325,7 +100325,7 @@ ((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) { @@ -100336,7 +100336,7 @@ } --- 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); } @@ -100356,7 +100356,7 @@ #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) @@ -100454,7 +100454,7 @@ #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); \ @@ -100851,7 +100851,7 @@ +#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; } @@ -100860,7 +100860,7 @@ { unsigned long flags, zero; -@@ -39,14 +39,15 @@ +@@ -39,14 +39,15 @@ static inline unsigned long local_irq_di return flags; } @@ -100891,7 +100891,7 @@ #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)); @@ -101174,7 +101174,7 @@ #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); @@ -101183,7 +101183,7 @@ 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); @@ -101254,7 +101254,7 @@ 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; @@ -101265,7 +101265,7 @@ #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)) @@ -101277,7 +101277,7 @@ #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 @@ -101289,7 +101289,7 @@ */ struct paca_struct { /* -@@ -55,14 +52,7 @@ +@@ -55,14 +52,7 @@ struct paca_struct { * avoid cacheline bouncing. */ @@ -101334,7 +101334,7 @@ * * 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 */ @@ -101346,7 +101346,7 @@ }; -@@ -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 */ @@ -101364,7 +101364,7 @@ #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 @@ -101428,7 +101428,7 @@ #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); @@ -101447,7 +101447,7 @@ --- 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 @@ -101456,7 +101456,7 @@ { 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); @@ -101467,7 +101467,7 @@ --- 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 @@ -101477,7 +101477,7 @@ #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) @@ -101487,7 +101487,7 @@ /* 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) \ @@ -101580,7 +101580,7 @@ +#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); @@ -101596,7 +101596,7 @@ 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 */ @@ -101608,7 +101608,7 @@ /* 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 */ @@ -101621,7 +101621,7 @@ #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); @@ -101629,7 +101629,7 @@ 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); @@ -101649,7 +101649,7 @@ * --- 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; @@ -101672,7 +101672,7 @@ #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); @@ -101694,7 +101694,7 @@ /* * lock for reading -@@ -78,7 +90,7 @@ +@@ -78,7 +90,7 @@ static inline int __down_read_trylock(st /* * lock for writing */ @@ -101703,7 +101703,7 @@ { int tmp; -@@ -88,6 +100,11 @@ +@@ -88,6 +100,11 @@ static inline void __down_write(struct r rwsem_down_write_failed(sem); } @@ -101745,7 +101745,7 @@ #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 *); @@ -101755,7 +101755,7 @@ 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; @@ -101872,7 +101872,7 @@ +#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 *); @@ -101981,7 +101981,7 @@ +#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 @@ -101991,7 +101991,7 @@ 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/801-usb_serial_endpoint_size.patch b/target/linux/generic-2.6/patches-2.6.25/801-usb_serial_endpoint_size.patch index e91ff5eafa..395495ab1c 100644 --- a/target/linux/generic-2.6/patches-2.6.25/801-usb_serial_endpoint_size.patch +++ b/target/linux/generic-2.6/patches-2.6.25/801-usb_serial_endpoint_size.patch @@ -1,6 +1,6 @@ --- 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. */ @@ -8,7 +8,7 @@ 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; } @@ -17,7 +17,7 @@ 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"); diff --git a/target/linux/generic-2.6/patches-2.6.25/840-unable_to_open_console.patch b/target/linux/generic-2.6/patches-2.6.25/840-unable_to_open_console.patch index 1289129a89..d1d162b02a 100644 --- a/target/linux/generic-2.6/patches-2.6.25/840-unable_to_open_console.patch +++ b/target/linux/generic-2.6/patches-2.6.25/840-unable_to_open_console.patch @@ -1,6 +1,6 @@ --- 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) diff --git a/target/linux/generic-2.6/patches-2.6.25/850-jffs2_erase_progress_indicator.patch b/target/linux/generic-2.6/patches-2.6.25/850-jffs2_erase_progress_indicator.patch index 2d4eafd1f4..20bf1efabc 100644 --- a/target/linux/generic-2.6/patches-2.6.25/850-jffs2_erase_progress_indicator.patch +++ b/target/linux/generic-2.6/patches-2.6.25/850-jffs2_erase_progress_indicator.patch @@ -1,6 +1,6 @@ --- 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; @@ -9,7 +9,7 @@ #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)); diff --git a/target/linux/generic-2.6/patches-2.6.25/900-headers_type_and_time.patch b/target/linux/generic-2.6/patches-2.6.25/900-headers_type_and_time.patch index b15fd56a9d..cd5d6864fa 100644 --- a/target/linux/generic-2.6/patches-2.6.25/900-headers_type_and_time.patch +++ b/target/linux/generic-2.6/patches-2.6.25/900-headers_type_and_time.patch @@ -11,7 +11,7 @@ #include <linux/types.h> #ifdef __KERNEL__ -@@ -232,4 +236,6 @@ +@@ -232,4 +236,6 @@ struct itimerval { */ #define TIMER_ABSTIME 0x01 @@ -35,7 +35,7 @@ #ifdef __KERNEL__ #define DECLARE_BITMAP(name,bits) \ -@@ -161,6 +169,8 @@ +@@ -161,6 +169,8 @@ typedef unsigned long blkcnt_t; #endif /* __KERNEL_STRICT_NAMES */ diff --git a/target/linux/generic-2.6/patches-2.6.25/902-darwin_scripts_include.patch b/target/linux/generic-2.6/patches-2.6.25/902-darwin_scripts_include.patch index 36b4d259f5..45a3f27006 100644 --- a/target/linux/generic-2.6/patches-2.6.25/902-darwin_scripts_include.patch +++ b/target/linux/generic-2.6/patches-2.6.25/902-darwin_scripts_include.patch @@ -62,7 +62,7 @@ --- 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)) diff --git a/target/linux/generic-2.6/patches-2.6.25/903-hostap_txpower.patch b/target/linux/generic-2.6/patches-2.6.25/903-hostap_txpower.patch index 81e10834e3..c0bbf2c6ef 100644 --- a/target/linux/generic-2.6/patches-2.6.25/903-hostap_txpower.patch +++ b/target/linux/generic-2.6/patches-2.6.25/903-hostap_txpower.patch @@ -1,6 +1,6 @@ --- 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) @@ -20,7 +20,7 @@ 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) @@ -54,7 +54,7 @@ #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); @@ -64,7 +64,7 @@ #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); } @@ -74,7 +74,7 @@ --- 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 */ @@ -88,7 +88,7 @@ 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; @@ -116,7 +116,7 @@ return (unsigned char) tmp; } -@@ -4076,3 +4073,35 @@ +@@ -4076,3 +4073,35 @@ int hostap_ioctl(struct net_device *dev, return ret; } diff --git a/target/linux/generic-2.6/patches-2.6.25/903-stddef_include.patch b/target/linux/generic-2.6/patches-2.6.25/903-stddef_include.patch index c0c01c0101..7fe248d8d3 100644 --- a/target/linux/generic-2.6/patches-2.6.25/903-stddef_include.patch +++ b/target/linux/generic-2.6/patches-2.6.25/903-stddef_include.patch @@ -1,6 +1,6 @@ --- a/include/linux/stddef.h +++ b/include/linux/stddef.h -@@ -16,6 +16,7 @@ +@@ -16,6 +16,7 @@ enum { false = 0, true = 1 }; @@ -8,7 +8,7 @@ #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 diff --git a/target/linux/generic-2.6/patches-2.6.25/904-ls_time_locale.patch b/target/linux/generic-2.6/patches-2.6.25/904-ls_time_locale.patch index 401b15126d..8fc9381a69 100644 --- a/target/linux/generic-2.6/patches-2.6.25/904-ls_time_locale.patch +++ b/target/linux/generic-2.6/patches-2.6.25/904-ls_time_locale.patch @@ -1,6 +1,6 @@ --- 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") @@ -9,7 +9,7 @@ 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") diff --git a/target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch b/target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch index 355cfb2675..29725148b0 100644 --- a/target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch +++ b/target/linux/generic-2.6/patches-2.6.25/910-m25p80_redboot_partitions.patch @@ -1,6 +1,6 @@ --- 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; diff --git a/target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch b/target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch index 760d27aeda..a80482842d 100644 --- a/target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch +++ b/target/linux/generic-2.6/patches-2.6.25/921-gpio_spi_driver.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.25.17/include/linux/spi/spi_gpio.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.25.17/include/linux/spi/spi_gpio.h 2008-10-18 23:32:31.000000000 +0200 +--- /dev/null ++++ b/include/linux/spi/spi_gpio.h @@ -0,0 +1,72 @@ +/* + * spi_gpio interface to platform code @@ -75,10 +73,8 @@ Index: linux-2.6.25.17/include/linux/spi/spi_gpio.h +int spi_gpio_next_id(void); + +#endif /* _LINUX_SPI_SPI_GPIO */ -Index: linux-2.6.25.17/drivers/spi/spi_gpio.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.25.17/drivers/spi/spi_gpio.c 2008-10-18 23:31:27.000000000 +0200 +--- /dev/null ++++ b/drivers/spi/spi_gpio.c @@ -0,0 +1,249 @@ +/* + * Bitbanging SPI bus driver using GPIO API @@ -329,10 +325,8 @@ Index: linux-2.6.25.17/drivers/spi/spi_gpio.c +MODULE_AUTHOR("Piot Skamruk <piotr.skamruk at gmail.com>"); +MODULE_DESCRIPTION("Platform independent GPIO bitbanging SPI driver"); +MODULE_LICENSE("GPL v2"); -Index: linux-2.6.25.17/drivers/spi/Kconfig -=================================================================== ---- linux-2.6.25.17.orig/drivers/spi/Kconfig 2008-10-18 23:30:41.000000000 +0200 -+++ linux-2.6.25.17/drivers/spi/Kconfig 2008-10-18 23:30:43.000000000 +0200 +--- a/drivers/spi/Kconfig ++++ b/drivers/spi/Kconfig @@ -100,6 +100,19 @@ config SPI_BUTTERFLY inexpensive battery powered microcontroller evaluation board. This same cable can be used to flash new firmware. @@ -353,10 +347,8 @@ Index: linux-2.6.25.17/drivers/spi/Kconfig config SPI_IMX tristate "Freescale iMX SPI controller" depends on SPI_MASTER && ARCH_IMX && EXPERIMENTAL -Index: linux-2.6.25.17/drivers/spi/Makefile -=================================================================== ---- linux-2.6.25.17.orig/drivers/spi/Makefile 2008-10-18 23:30:41.000000000 +0200 -+++ linux-2.6.25.17/drivers/spi/Makefile 2008-10-18 23:30:43.000000000 +0200 +--- a/drivers/spi/Makefile ++++ b/drivers/spi/Makefile @@ -16,6 +16,7 @@ obj-$(CONFIG_SPI_BFIN) += spi_bfin5xx. obj-$(CONFIG_SPI_BITBANG) += spi_bitbang.o obj-$(CONFIG_SPI_AU1550) += au1550_spi.o diff --git a/target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch b/target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch index 58c2144985..b775a0e6bf 100644 --- a/target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch +++ b/target/linux/generic-2.6/patches-2.6.25/922-gpiommc.patch @@ -1,7 +1,5 @@ -Index: linux-2.6.25.17/drivers/mmc/host/gpiommc.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.25.17/drivers/mmc/host/gpiommc.c 2008-10-18 23:33:54.000000000 +0200 +--- /dev/null ++++ b/drivers/mmc/host/gpiommc.c @@ -0,0 +1,605 @@ +/* + * Driver an MMC/SD card on a bitbanging GPIO SPI bus. @@ -608,10 +606,8 @@ Index: linux-2.6.25.17/drivers/mmc/host/gpiommc.c + platform_driver_unregister(&gpiommc_plat_driver); +} +module_exit(gpiommc_modexit); -Index: linux-2.6.25.17/drivers/mmc/host/Kconfig -=================================================================== ---- linux-2.6.25.17.orig/drivers/mmc/host/Kconfig 2008-10-18 23:30:41.000000000 +0200 -+++ linux-2.6.25.17/drivers/mmc/host/Kconfig 2008-10-18 23:32:54.000000000 +0200 +--- a/drivers/mmc/host/Kconfig ++++ b/drivers/mmc/host/Kconfig @@ -130,3 +130,27 @@ config MMC_SPI If unsure, or if your system has no SPI master driver, say N. @@ -640,20 +636,16 @@ Index: linux-2.6.25.17/drivers/mmc/host/Kconfig + help + This option automatically enables configfs support for gpiommc + if configfs is available. -Index: linux-2.6.25.17/drivers/mmc/host/Makefile -=================================================================== ---- linux-2.6.25.17.orig/drivers/mmc/host/Makefile 2008-10-18 23:30:41.000000000 +0200 -+++ linux-2.6.25.17/drivers/mmc/host/Makefile 2008-10-18 23:32:54.000000000 +0200 +--- a/drivers/mmc/host/Makefile ++++ b/drivers/mmc/host/Makefile @@ -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 - +obj-$(CONFIG_GPIOMMC) += gpiommc.o -Index: linux-2.6.25.17/include/linux/mmc/gpiommc.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.25.17/include/linux/mmc/gpiommc.h 2008-10-18 23:34:21.000000000 +0200 +--- /dev/null ++++ b/include/linux/mmc/gpiommc.h @@ -0,0 +1,69 @@ +/* + * Device driver for MMC/SD cards driven over a GPIO bus. @@ -724,10 +716,8 @@ Index: linux-2.6.25.17/include/linux/mmc/gpiommc.h +int gpiommc_next_id(void); + +#endif /* LINUX_GPIOMMC_H_ */ -Index: linux-2.6.25.17/Documentation/gpiommc.txt -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.25.17/Documentation/gpiommc.txt 2008-10-18 23:32:54.000000000 +0200 +--- /dev/null ++++ b/Documentation/gpiommc.txt @@ -0,0 +1,97 @@ +GPIOMMC - Driver for an MMC/SD card on a bitbanging GPIO SPI bus +================================================================ diff --git a/target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch b/target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch index e68d4ab014..c84f62b447 100644 --- a/target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch +++ b/target/linux/generic-2.6/patches-2.6.25/923-gpiommc-configfs-locking.patch @@ -1,10 +1,8 @@ The gpiommc configfs context structure needs locking, as configfs does not lock access between files. -Index: linux-2.6.25.17/drivers/mmc/host/gpiommc.c -=================================================================== ---- linux-2.6.25.17.orig/drivers/mmc/host/gpiommc.c 2008-10-18 23:33:54.000000000 +0200 -+++ linux-2.6.25.17/drivers/mmc/host/gpiommc.c 2008-10-18 23:34:33.000000000 +0200 +--- a/drivers/mmc/host/gpiommc.c ++++ b/drivers/mmc/host/gpiommc.c @@ -140,6 +140,8 @@ struct gpiommc_configfs_device { struct platform_device *pdev; /* The configuration */ diff --git a/target/linux/generic-2.6/patches-2.6.25/930-ppc_big_endian_io_memory_accessors.patch b/target/linux/generic-2.6/patches-2.6.25/930-ppc_big_endian_io_memory_accessors.patch index 5b3755e871..25abf821df 100644 --- a/target/linux/generic-2.6/patches-2.6.25/930-ppc_big_endian_io_memory_accessors.patch +++ b/target/linux/generic-2.6/patches-2.6.25/930-ppc_big_endian_io_memory_accessors.patch @@ -32,7 +32,7 @@ and didn't make it with the ppc32 equivalent. Thanks. --- --- 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); } @@ -54,7 +54,7 @@ and didn't make it with the ppc32 equivalent. Thanks. 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); } diff --git a/target/linux/generic-2.6/patches-2.6.25/940-arm_mach_types.patch b/target/linux/generic-2.6/patches-2.6.25/940-arm_mach_types.patch index c6c28a0037..3fd993812a 100644 --- a/target/linux/generic-2.6/patches-2.6.25/940-arm_mach_types.patch +++ b/target/linux/generic-2.6/patches-2.6.25/940-arm_mach_types.patch @@ -9,7 +9,7 @@ # # 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 @@ -25,7 +25,7 @@ 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 @@ -34,7 +34,7 @@ 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 diff --git a/target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch b/target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch index 81789b82d3..7912a4e8dd 100644 --- a/target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch +++ b/target/linux/generic-2.6/patches-2.6.25/950-ocf-linux-26-20080704.patch @@ -1,6 +1,6 @@ --- a/crypto/Kconfig +++ b/crypto/Kconfig -@@ -593,3 +593,6 @@ +@@ -593,3 +593,6 @@ config CRYPTO_LZO source "drivers/crypto/Kconfig" endif # if CRYPTO @@ -9,7 +9,7 @@ + --- 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 @@ -44,7 +44,7 @@ * 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 @@ -108,7 +108,7 @@ /********************************************************************* --- 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; } @@ -167,7 +167,7 @@ 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); diff --git a/target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch b/target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch index f41b01453c..8da25daa75 100644 --- a/target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch +++ b/target/linux/generic-2.6/patches-2.6.25/960-backport_gpiolib_better_rmmod_infrastructure.patch @@ -24,7 +24,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> --- 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]"); @@ -34,7 +34,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> } } -@@ -177,6 +180,9 @@ +@@ -177,6 +180,9 @@ int gpio_request(unsigned gpio, const ch if (desc->chip == NULL) goto done; @@ -44,7 +44,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> /* 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; @@ -56,7 +56,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> 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]; @@ -79,7 +79,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> /** * struct gpio_chip - abstract a GPIO controller -@@ -48,6 +49,7 @@ +@@ -48,6 +49,7 @@ struct seq_file; */ struct gpio_chip { char *label; diff --git a/target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch b/target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch index 49f3808109..771b743baf 100644 --- a/target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch +++ b/target/linux/generic-2.6/patches-2.6.25/961-backport_gpio_define_gpio_valid.patch @@ -18,7 +18,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> --- 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. @@ -37,7 +37,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> --- 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. */ @@ -46,7 +46,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> 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); @@ -55,7 +55,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> 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; @@ -64,7 +64,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> WARN_ON(extra_checks); return; } -@@ -245,7 +245,7 @@ +@@ -245,7 +245,7 @@ const char *gpiochip_is_requested(struct { unsigned gpio = chip->base + offset; @@ -73,7 +73,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> 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); @@ -82,7 +82,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> 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); @@ -91,7 +91,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> 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 ... */ @@ -115,7 +115,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> struct seq_file; struct module; -@@ -99,6 +105,16 @@ +@@ -99,6 +105,16 @@ extern int __gpio_cansleep(unsigned gpio #else diff --git a/target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch b/target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch index bcd5c19485..0960f6764d 100644 --- a/target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch +++ b/target/linux/generic-2.6/patches-2.6.25/962-backport_gpiolib_dynamic_gpio_number_allocation.patch @@ -23,7 +23,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> --- 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; } @@ -57,7 +57,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> /** * 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. diff --git a/target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch b/target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch index a4a243e8ec..abf77c3559 100644 --- a/target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch +++ b/target/linux/generic-2.6/patches-2.6.25/963-backport_gpio_chip_reserve.patch @@ -21,7 +21,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> --- 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 @@ -29,7 +29,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> #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--) { @@ -42,7 +42,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> spare++; if (spare == ngpio) { base = i; -@@ -98,7 +100,8 @@ +@@ -98,7 +100,8 @@ static int gpiochip_find_base(int ngpio) } } else { spare = 0; @@ -52,7 +52,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> } } -@@ -108,6 +111,47 @@ +@@ -108,6 +111,47 @@ static int gpiochip_find_base(int ngpio) } /** @@ -102,7 +102,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> * 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); diff --git a/target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch b/target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch index 74d7247ccd..c875a0d4ca 100644 --- a/target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch +++ b/target/linux/generic-2.6/patches-2.6.25/964-backport_gpiolib_fix_off_by_one_errors.patch @@ -17,7 +17,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> --- 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; @@ -26,7 +26,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> 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; @@ -35,7 +35,7 @@ Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> && 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", diff --git a/target/linux/generic-2.6/patches-2.6.25/981-backport_usb_serial_sierrawireless_ids.patch b/target/linux/generic-2.6/patches-2.6.25/981-backport_usb_serial_sierrawireless_ids.patch index 98103ae131..d5bb40f3e9 100644 --- a/target/linux/generic-2.6/patches-2.6.25/981-backport_usb_serial_sierrawireless_ids.patch +++ b/target/linux/generic-2.6/patches-2.6.25/981-backport_usb_serial_sierrawireless_ids.patch @@ -1,6 +1,6 @@ --- 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 */ diff --git a/target/linux/ps3/Makefile b/target/linux/ps3/Makefile index daa2c62d78..3feeec0297 100644 --- a/target/linux/ps3/Makefile +++ b/target/linux/ps3/Makefile @@ -10,7 +10,7 @@ ARCH:=powerpc BOARD:=ps3 BOARDNAME:=Sony PS3 Game Console -LINUX_VERSION:=2.6.25.17 +LINUX_VERSION:=2.6.25.19 KERNEL_CC:= diff --git a/target/linux/x86/Makefile b/target/linux/x86/Makefile index 9e46cfec3f..2919af64b4 100644 --- a/target/linux/x86/Makefile +++ b/target/linux/x86/Makefile @@ -12,7 +12,7 @@ BOARDNAME:=x86 FEATURES:=squashfs jffs2 ext2 vdi SUBTARGETS=generic -LINUX_VERSION:=2.6.25.17 +LINUX_VERSION:=2.6.25.19 include $(INCLUDE_DIR)/target.mk DEFAULT_PACKAGES += kmod-natsemi kmod-ne2k-pci |