Skip to content
Snippets Groups Projects
Commit 53a178af authored by jogo's avatar jogo
Browse files

kernel: update 3.18 to 3.18.14

Changelogs:

* https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.12
* https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.13
* https://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.18.14



Build tested on brcm63xx and ipq806x, runtested on brcm63xx.

Signed-off-by: default avatarJonas Gorski <jogo@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45711 3c298f89-4303-0410-b956-a3cf2f4a3e73
parent 717c0745
No related branches found
No related tags found
No related merge requests found
Showing
with 97 additions and 102 deletions
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
LINUX_RELEASE?=1 LINUX_RELEASE?=1
LINUX_VERSION-3.18 = .11 LINUX_VERSION-3.18 = .14
LINUX_VERSION-4.0 = .1 LINUX_VERSION-4.0 = .1
LINUX_KERNEL_MD5SUM-3.18.11 = 2def91951c9cedf7896efb864e0c090c LINUX_KERNEL_MD5SUM-3.18.14 = cb6f534b83333ba52f1fed7979824a1b
LINUX_KERNEL_MD5SUM-4.0.1 = ea7fc80310be8a5b43b2c6dfa5c4169f LINUX_KERNEL_MD5SUM-4.0.1 = ea7fc80310be8a5b43b2c6dfa5c4169f
ifdef KERNEL_PATCHVER ifdef KERNEL_PATCHVER
......
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
} }
if (slave->offset == MTDPART_OFS_RETAIN) { if (slave->offset == MTDPART_OFS_RETAIN) {
slave->offset = cur_offset; slave->offset = cur_offset;
@@ -629,10 +628,8 @@ out_register: @@ -626,10 +625,8 @@ out_register:
return slave; return slave;
} }
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
{ {
struct mtd_partition part; struct mtd_partition part;
struct mtd_part *p, *new; struct mtd_part *p, *new;
@@ -664,24 +661,21 @@ __mtd_add_partition(struct mtd_info *mas @@ -661,24 +658,21 @@ __mtd_add_partition(struct mtd_info *mas
end = offset + length; end = offset + length;
mutex_lock(&mtd_partitions_mutex); mutex_lock(&mtd_partitions_mutex);
...@@ -94,7 +94,7 @@ ...@@ -94,7 +94,7 @@
return ret; return ret;
err_inv: err_inv:
@@ -691,12 +685,6 @@ err_inv: @@ -688,12 +682,6 @@ err_inv:
} }
EXPORT_SYMBOL_GPL(mtd_add_partition); EXPORT_SYMBOL_GPL(mtd_add_partition);
...@@ -107,7 +107,7 @@ ...@@ -107,7 +107,7 @@
int mtd_del_partition(struct mtd_info *master, int partno) int mtd_del_partition(struct mtd_info *master, int partno)
{ {
struct mtd_part *slave, *next; struct mtd_part *slave, *next;
@@ -720,166 +708,6 @@ int mtd_del_partition(struct mtd_info *m @@ -717,166 +705,6 @@ int mtd_del_partition(struct mtd_info *m
} }
EXPORT_SYMBOL_GPL(mtd_del_partition); EXPORT_SYMBOL_GPL(mtd_del_partition);
...@@ -274,7 +274,7 @@ ...@@ -274,7 +274,7 @@
/* /*
* This function, given a master MTD object and a partition table, creates * 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 * and registers slave MTD objects which are bound to the master according to
@@ -909,7 +737,6 @@ int add_mtd_partitions(struct mtd_info * @@ -906,7 +734,6 @@ int add_mtd_partitions(struct mtd_info *
mutex_unlock(&mtd_partitions_mutex); mutex_unlock(&mtd_partitions_mutex);
add_mtd_device(&slave->mtd); add_mtd_device(&slave->mtd);
...@@ -282,7 +282,7 @@ ...@@ -282,7 +282,7 @@
cur_offset = slave->offset + slave->mtd.size; cur_offset = slave->offset + slave->mtd.size;
} }
@@ -939,30 +766,6 @@ static struct mtd_part_parser *get_parti @@ -936,30 +763,6 @@ static struct mtd_part_parser *get_parti
#define put_partition_parser(p) do { module_put((p)->owner); } while (0) #define put_partition_parser(p) do { module_put((p)->owner); } while (0)
...@@ -313,7 +313,7 @@ ...@@ -313,7 +313,7 @@
void register_mtd_parser(struct mtd_part_parser *p) void register_mtd_parser(struct mtd_part_parser *p)
{ {
spin_lock(&part_parser_lock); spin_lock(&part_parser_lock);
@@ -1036,38 +839,6 @@ int parse_mtd_partitions(struct mtd_info @@ -1033,38 +836,6 @@ int parse_mtd_partitions(struct mtd_info
return ret; return ret;
} }
......
...@@ -35,7 +35,7 @@ ...@@ -35,7 +35,7 @@
/* /*
* MTD methods which simply translate the effective address and pass through * MTD methods which simply translate the effective address and pass through
@@ -708,6 +710,144 @@ int mtd_del_partition(struct mtd_info *m @@ -705,6 +707,144 @@ int mtd_del_partition(struct mtd_info *m
} }
EXPORT_SYMBOL_GPL(mtd_del_partition); EXPORT_SYMBOL_GPL(mtd_del_partition);
...@@ -180,7 +180,7 @@ ...@@ -180,7 +180,7 @@
/* /*
* This function, given a master MTD object and a partition table, creates * 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 * and registers slave MTD objects which are bound to the master according to
@@ -724,6 +864,9 @@ int add_mtd_partitions(struct mtd_info * @@ -721,6 +861,9 @@ int add_mtd_partitions(struct mtd_info *
struct mtd_part *slave; struct mtd_part *slave;
uint64_t cur_offset = 0; uint64_t cur_offset = 0;
int i; int i;
...@@ -190,7 +190,7 @@ ...@@ -190,7 +190,7 @@
printk(KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name); printk(KERN_NOTICE "Creating %d MTD partitions on \"%s\":\n", nbparts, master->name);
@@ -738,12 +881,53 @@ int add_mtd_partitions(struct mtd_info * @@ -735,12 +878,53 @@ int add_mtd_partitions(struct mtd_info *
add_mtd_device(&slave->mtd); add_mtd_device(&slave->mtd);
......
--- a/drivers/mtd/Makefile --- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile
@@ -16,7 +16,7 @@ obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o @@ -12,7 +12,7 @@ obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
obj-$(CONFIG_MTD_AFS_PARTS) += afs.o obj-$(CONFIG_MTD_AFS_PARTS) += afs.o
......
...@@ -199,7 +199,7 @@ ...@@ -199,7 +199,7 @@
return 0; return 0;
} }
@@ -501,24 +547,16 @@ static int __vlynq_enable_device(struct @@ -501,24 +547,16 @@ static int __vlynq_enable_device(struct
return result; return result;
switch (dev->divisor) { switch (dev->divisor) {
...@@ -229,7 +229,7 @@ ...@@ -229,7 +229,7 @@
break; break;
case vlynq_ldiv1: case vlynq_ldiv1:
case vlynq_ldiv2: case vlynq_ldiv2:
@@ -528,15 +566,12 @@ static int __vlynq_enable_device(struct @@ -528,15 +566,12 @@ static int __vlynq_enable_device(struct
case vlynq_ldiv6: case vlynq_ldiv6:
case vlynq_ldiv7: case vlynq_ldiv7:
case vlynq_ldiv8: case vlynq_ldiv8:
...@@ -251,7 +251,7 @@ ...@@ -251,7 +251,7 @@
return 0; return 0;
} }
break; break;
@@ -548,20 +583,17 @@ static int __vlynq_enable_device(struct @@ -548,20 +583,17 @@ static int __vlynq_enable_device(struct
case vlynq_rdiv6: case vlynq_rdiv6:
case vlynq_rdiv7: case vlynq_rdiv7:
case vlynq_rdiv8: case vlynq_rdiv8:
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
#define AR7_IRQ_UART0 15 #define AR7_IRQ_UART0 15
--- a/arch/mips/Kconfig --- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig +++ b/arch/mips/Kconfig
@@ -89,7 +89,7 @@ config AR7 @@ -94,7 +94,7 @@ config AR7
select HAVE_CLK select HAVE_CLK
help help
Support for the Texas Instruments AR7 System-on-a-Chip Support for the Texas Instruments AR7 System-on-a-Chip
...@@ -46,7 +46,7 @@ ...@@ -46,7 +46,7 @@
config ATH79 config ATH79
bool "Atheros AR71XX/AR724X/AR913X based boards" bool "Atheros AR71XX/AR724X/AR913X based boards"
@@ -796,6 +796,7 @@ config NLM_XLP_BOARD @@ -835,6 +835,7 @@ config MIPS_PARAVIRT
endchoice endchoice
source "arch/mips/alchemy/Kconfig" source "arch/mips/alchemy/Kconfig"
......
--- a/drivers/mtd/Kconfig --- a/drivers/mtd/Kconfig
+++ b/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig
@@ -169,6 +169,11 @@ config MTD_OF_PARTS @@ -164,6 +164,11 @@ config MTD_OF_PARTS
the partition map from the children of the flash node, the partition map from the children of the flash node,
as described in Documentation/devicetree/booting-without-of.txt. as described in Documentation/devicetree/booting-without-of.txt.
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
---help--- ---help---
--- a/drivers/mtd/Makefile --- a/drivers/mtd/Makefile
+++ b/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile
@@ -15,6 +15,7 @@ mtd-$(CONFIG_MTD_SPLIT_LZMA_FW) += mtdsp @@ -11,6 +11,7 @@ obj-$(CONFIG_MTD_SPLIT) += mtdsplit/
obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o obj-$(CONFIG_MTD_OF_PARTS) += ofpart.o
obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o obj-$(CONFIG_MTD_REDBOOT_PARTS) += redboot.o
obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o obj-$(CONFIG_MTD_CMDLINE_PARTS) += cmdlinepart.o
......
--- a/drivers/tty/serial/8250/8250_core.c --- a/drivers/tty/serial/8250/8250_core.c
+++ b/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c
@@ -323,6 +323,13 @@ static const struct serial8250_config ua @@ -329,6 +329,13 @@ static const struct serial8250_config ua
.fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10, .fcr = UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_10,
.flags = UART_CAP_FIFO | UART_CAP_AFE, .flags = UART_CAP_FIFO | UART_CAP_AFE,
}, },
...@@ -14,9 +14,9 @@ ...@@ -14,9 +14,9 @@
}; };
/* Uart divisor latch read */ /* Uart divisor latch read */
@@ -2861,7 +2868,11 @@ static void serial8250_console_putchar(s @@ -3174,7 +3181,11 @@ static void serial8250_console_putchar(s
struct uart_8250_port *up = {
container_of(port, struct uart_8250_port, port); struct uart_8250_port *up = up_to_u8250p(port);
+#ifdef CONFIG_AR7 +#ifdef CONFIG_AR7
+ wait_for_xmitr(up, BOTH_EMPTY); + wait_for_xmitr(up, BOTH_EMPTY);
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
size_t len; size_t len;
unsigned int pre_size = master->erasesize, post_size = 0; unsigned int pre_size = master->erasesize, post_size = 0;
unsigned int root_offset = ROOT_OFFSET; unsigned int root_offset = ROOT_OFFSET;
@@ -55,6 +62,16 @@ static int create_mtd_partitions(struct @@ -55,6 +62,16 @@ static int create_mtd_partitions(struct
int retries = 10; int retries = 10;
struct mtd_partition *ar7_parts; struct mtd_partition *ar7_parts;
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
ar7_parts = kzalloc(sizeof(*ar7_parts) * AR7_PARTS, GFP_KERNEL); ar7_parts = kzalloc(sizeof(*ar7_parts) * AR7_PARTS, GFP_KERNEL);
if (!ar7_parts) if (!ar7_parts)
return -ENOMEM; return -ENOMEM;
@@ -83,34 +100,39 @@ static int create_mtd_partitions(struct @@ -83,34 +100,39 @@ static int create_mtd_partitions(struct
pre_size = offset; pre_size = offset;
......
--- a/drivers/net/ethernet/ti/cpmac.c --- a/drivers/net/ethernet/ti/cpmac.c
+++ b/drivers/net/ethernet/ti/cpmac.c +++ b/drivers/net/ethernet/ti/cpmac.c
@@ -1154,6 +1154,8 @@ static int cpmac_probe(struct platform_d @@ -1146,6 +1146,8 @@ static int cpmac_probe(struct platform_d
goto fail; goto out;
} }
+ ar7_device_reset(pdata->reset_bit); + ar7_device_reset(pdata->reset_bit);
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
dev->irq = platform_get_irq_byname(pdev, "irq"); dev->irq = platform_get_irq_byname(pdev, "irq");
dev->netdev_ops = &cpmac_netdev_ops; dev->netdev_ops = &cpmac_netdev_ops;
@@ -1232,7 +1234,7 @@ int cpmac_init(void) @@ -1227,7 +1229,7 @@ int cpmac_init(void)
cpmac_mii->reset = cpmac_mdio_reset; cpmac_mii->reset = cpmac_mdio_reset;
cpmac_mii->irq = mii_irqs; cpmac_mii->irq = mii_irqs;
...@@ -17,8 +17,8 @@ ...@@ -17,8 +17,8 @@
+ cpmac_mii->priv = ioremap(ar7_is_titan() ? TITAN_REGS_MDIO : AR7_REGS_MDIO, 256); + cpmac_mii->priv = ioremap(ar7_is_titan() ? TITAN_REGS_MDIO : AR7_REGS_MDIO, 256);
if (!cpmac_mii->priv) { if (!cpmac_mii->priv) {
printk(KERN_ERR "Can't ioremap mdio registers\n"); pr_err("Can't ioremap mdio registers\n");
@@ -1243,10 +1245,16 @@ int cpmac_init(void) @@ -1238,10 +1240,16 @@ int cpmac_init(void)
#warning FIXME: unhardcode gpio&reset bits #warning FIXME: unhardcode gpio&reset bits
ar7_gpio_disable(26); ar7_gpio_disable(26);
ar7_gpio_disable(27); ar7_gpio_disable(27);
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
cpmac_mii->reset(cpmac_mii); cpmac_mii->reset(cpmac_mii);
for (i = 0; i < 300; i++) { for (i = 0; i < 300; i++) {
@@ -1263,7 +1271,11 @@ int cpmac_init(void) @@ -1258,7 +1266,11 @@ int cpmac_init(void)
mask = 0; mask = 0;
} }
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
#endif /* _ATH79_DEV_WMAC_H */ #endif /* _ATH79_DEV_WMAC_H */
--- a/arch/mips/ath79/mach-ap81.c --- a/arch/mips/ath79/mach-ap81.c
+++ b/arch/mips/ath79/mach-ap81.c +++ b/arch/mips/ath79/mach-ap81.c
@@ -98,7 +98,7 @@ static void __init ap81_setup(void) @@ -92,7 +92,7 @@ static void __init ap81_setup(void)
ap81_gpio_keys); ap81_gpio_keys);
ath79_register_spi(&ap81_spi_data, ap81_spi_info, ath79_register_spi(&ap81_spi_data, ap81_spi_info,
ARRAY_SIZE(ap81_spi_info)); ARRAY_SIZE(ap81_spi_info));
...@@ -59,7 +59,7 @@ ...@@ -59,7 +59,7 @@
--- a/arch/mips/ath79/mach-db120.c --- a/arch/mips/ath79/mach-db120.c
+++ b/arch/mips/ath79/mach-db120.c +++ b/arch/mips/ath79/mach-db120.c
@@ -134,7 +134,7 @@ static void __init db120_setup(void) @@ -128,7 +128,7 @@ static void __init db120_setup(void)
ath79_register_spi(&db120_spi_data, db120_spi_info, ath79_register_spi(&db120_spi_data, db120_spi_info,
ARRAY_SIZE(db120_spi_info)); ARRAY_SIZE(db120_spi_info));
ath79_register_usb(); ath79_register_usb();
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
--- a/arch/mips/ath79/mach-ap121.c --- a/arch/mips/ath79/mach-ap121.c
+++ b/arch/mips/ath79/mach-ap121.c +++ b/arch/mips/ath79/mach-ap121.c
@@ -91,7 +91,7 @@ static void __init ap121_setup(void) @@ -85,7 +85,7 @@ static void __init ap121_setup(void)
ath79_register_spi(&ap121_spi_data, ap121_spi_info, ath79_register_spi(&ap121_spi_data, ap121_spi_info,
ARRAY_SIZE(ap121_spi_info)); ARRAY_SIZE(ap121_spi_info));
ath79_register_usb(); ath79_register_usb();
......
...@@ -45,26 +45,22 @@ ...@@ -45,26 +45,22 @@
}; };
-static struct spi_board_info ap121_spi_info[] = { -static struct spi_board_info ap121_spi_info[] = {
- { +static struct gpio_led ap121_mini_leds_gpio[] __initdata = {
{
- .bus_num = 0, - .bus_num = 0,
- .chip_select = 0, - .chip_select = 0,
- .max_speed_hz = 25000000, - .max_speed_hz = 25000000,
- .modalias = "mx25l1606e", - .modalias = "mx25l1606e",
- } - }
-};
-
-static struct ath79_spi_platform_data ap121_spi_data = {
- .bus_num = 0,
- .num_chipselect = 1,
-};
+static struct gpio_led ap121_mini_leds_gpio[] __initdata = {
+ {
+ .name = "ap121:green:wlan", + .name = "ap121:green:wlan",
+ .gpio = AP121_MINI_GPIO_LED_WLAN, + .gpio = AP121_MINI_GPIO_LED_WLAN,
+ .active_low = 0, + .active_low = 0,
+ }, + },
+}; };
+
-static struct ath79_spi_platform_data ap121_spi_data = {
- .bus_num = 0,
- .num_chipselect = 1,
+static struct gpio_keys_button ap121_mini_gpio_keys[] __initdata = { +static struct gpio_keys_button ap121_mini_gpio_keys[] __initdata = {
+ { + {
+ .desc = "jumpstart button", + .desc = "jumpstart button",
...@@ -82,8 +78,8 @@ ...@@ -82,8 +78,8 @@
+ .gpio = AP121_MINI_GPIO_BTN_RESET, + .gpio = AP121_MINI_GPIO_BTN_RESET,
+ .active_low = 1, + .active_low = 1,
+ } + }
+}; };
+
+static void __init ap121_common_setup(void) +static void __init ap121_common_setup(void)
+{ +{
+ u8 *art = (u8 *) KSEG1ADDR(0x1fff0000); + u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
...@@ -103,7 +99,7 @@ ...@@ -103,7 +99,7 @@
+ /* WAN port */ + /* WAN port */
+ ath79_register_eth(0); + ath79_register_eth(0);
+} +}
+
static void __init ap121_setup(void) static void __init ap121_setup(void)
{ {
- u8 *cal_data = (u8 *) KSEG1ADDR(AP121_CAL_DATA_ADDR); - u8 *cal_data = (u8 *) KSEG1ADDR(AP121_CAL_DATA_ADDR);
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#define AP81_GPIO_LED_STATUS 1 #define AP81_GPIO_LED_STATUS 1
#define AP81_GPIO_LED_AOSS 3 #define AP81_GPIO_LED_AOSS 3
@@ -67,20 +102,6 @@ static struct gpio_keys_button ap81_gpio @@ -67,20 +71,6 @@ static struct gpio_keys_button ap81_gpio
} }
}; };
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
static void __init ap81_setup(void) static void __init ap81_setup(void)
{ {
u8 *cal_data = (u8 *) KSEG1ADDR(AP81_CAL_DATA_ADDR); u8 *cal_data = (u8 *) KSEG1ADDR(AP81_CAL_DATA_ADDR);
@@ -90,10 +105,24 @@ static void __init ap81_setup(void) @@ -90,10 +80,24 @@ static void __init ap81_setup(void)
ath79_register_gpio_keys_polled(-1, AP81_KEYS_POLL_INTERVAL, ath79_register_gpio_keys_polled(-1, AP81_KEYS_POLL_INTERVAL,
ARRAY_SIZE(ap81_gpio_keys), ARRAY_SIZE(ap81_gpio_keys),
ap81_gpio_keys); ap81_gpio_keys);
......
...@@ -67,14 +67,6 @@ ...@@ -67,14 +67,6 @@
}, },
}; };
+static struct ar8327_pad_cfg db120_ar8327_pad0_cfg = {
+ .mode = AR8327_PAD_MAC_RGMII,
+ .txclk_delay_en = true,
+ .rxclk_delay_en = true,
+ .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
+ .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
+};
+
-static struct spi_board_info db120_spi_info[] = { -static struct spi_board_info db120_spi_info[] = {
- { - {
- .bus_num = 0, - .bus_num = 0,
...@@ -82,6 +74,17 @@ ...@@ -82,6 +74,17 @@
- .max_speed_hz = 25000000, - .max_speed_hz = 25000000,
- .modalias = "s25sl064a", - .modalias = "s25sl064a",
- } - }
+static struct ar8327_pad_cfg db120_ar8327_pad0_cfg = {
+ .mode = AR8327_PAD_MAC_RGMII,
+ .txclk_delay_en = true,
+ .rxclk_delay_en = true,
+ .txclk_delay_sel = AR8327_CLK_DELAY_SEL1,
+ .rxclk_delay_sel = AR8327_CLK_DELAY_SEL2,
};
-static struct ath79_spi_platform_data db120_spi_data = {
- .bus_num = 0,
- .num_chipselect = 1,
+static struct ar8327_led_cfg db120_ar8327_led_cfg = { +static struct ar8327_led_cfg db120_ar8327_led_cfg = {
+ .led_ctrl0 = 0x00000000, + .led_ctrl0 = 0x00000000,
+ .led_ctrl1 = 0xc737c737, + .led_ctrl1 = 0xc737c737,
...@@ -90,21 +93,6 @@ ...@@ -90,21 +93,6 @@
+ .open_drain = true, + .open_drain = true,
}; };
-static struct ath79_spi_platform_data db120_spi_data = {
- .bus_num = 0,
- .num_chipselect = 1,
+static struct ar8327_platform_data db120_ar8327_data = {
+ .pad0_cfg = &db120_ar8327_pad0_cfg,
+ .port0_cfg = {
+ .force_link = 1,
+ .speed = AR8327_PORT_SPEED_1000,
+ .duplex = 1,
+ .txpause = 1,
+ .rxpause = 1,
+ },
+ .led_cfg = &db120_ar8327_led_cfg,
};
-#ifdef CONFIG_PCI -#ifdef CONFIG_PCI
-static struct ath9k_platform_data db120_ath9k_data; -static struct ath9k_platform_data db120_ath9k_data;
- -
...@@ -123,7 +111,18 @@ ...@@ -123,7 +111,18 @@
-{ -{
- memcpy(db120_ath9k_data.eeprom_data, eeprom, - memcpy(db120_ath9k_data.eeprom_data, eeprom,
- sizeof(db120_ath9k_data.eeprom_data)); - sizeof(db120_ath9k_data.eeprom_data));
- +static struct ar8327_platform_data db120_ar8327_data = {
+ .pad0_cfg = &db120_ar8327_pad0_cfg,
+ .port0_cfg = {
+ .force_link = 1,
+ .speed = AR8327_PORT_SPEED_1000,
+ .duplex = 1,
+ .txpause = 1,
+ .rxpause = 1,
+ },
+ .led_cfg = &db120_ar8327_led_cfg,
+};
- ath79_pci_set_plat_dev_init(db120_pci_plat_dev_init); - ath79_pci_set_plat_dev_init(db120_pci_plat_dev_init);
- ath79_register_pci(); - ath79_register_pci();
-} -}
......
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_xm_leds_gpio), ath79_register_leds_gpio(-1, ARRAY_SIZE(ubnt_xm_leds_gpio),
ubnt_xm_leds_gpio); ubnt_xm_leds_gpio);
@@ -114,10 +71,8 @@ static void __init ubnt_xm_init(void) @@ -114,10 +77,8 @@ static void __init ubnt_xm_init(void)
ARRAY_SIZE(ubnt_xm_gpio_keys), ARRAY_SIZE(ubnt_xm_gpio_keys),
ubnt_xm_gpio_keys); ubnt_xm_gpio_keys);
......
...@@ -90,6 +90,13 @@ ...@@ -90,6 +90,13 @@
}, },
}; };
-static struct spi_board_info ap136_spi_info[] = {
- {
- .bus_num = 0,
- .chip_select = 0,
- .max_speed_hz = 25000000,
- .modalias = "mx25l6405d",
- }
+static struct ar8327_pad_cfg ap136_ar8327_pad0_cfg; +static struct ar8327_pad_cfg ap136_ar8327_pad0_cfg;
+static struct ar8327_pad_cfg ap136_ar8327_pad6_cfg; +static struct ar8327_pad_cfg ap136_ar8327_pad6_cfg;
+ +
...@@ -110,26 +117,21 @@ ...@@ -110,26 +117,21 @@
+ .txpause = 1, + .txpause = 1,
+ .rxpause = 1, + .rxpause = 1,
+ }, + },
+}; };
+
-static struct spi_board_info ap136_spi_info[] = { -static struct ath79_spi_platform_data ap136_spi_data = {
- .bus_num = 0,
- .num_chipselect = 1,
+static struct mdio_board_info ap136_mdio0_info[] = { +static struct mdio_board_info ap136_mdio0_info[] = {
{ + {
- .bus_num = 0,
- .chip_select = 0,
- .max_speed_hz = 25000000,
- .modalias = "mx25l6405d",
- }
+ .bus_id = "ag71xx-mdio.0", + .bus_id = "ag71xx-mdio.0",
+ .phy_addr = 0, + .phy_addr = 0,
+ .platform_data = &ap136_ar8327_data, + .platform_data = &ap136_ar8327_data,
+ }, + },
}; };
-static struct ath79_spi_platform_data ap136_spi_data = { -#ifdef CONFIG_PCI
- .bus_num = 0, -static struct ath9k_platform_data ap136_ath9k_data;
- .num_chipselect = 1,
-};
+static void __init ap136_common_setup(void) +static void __init ap136_common_setup(void)
+{ +{
+ u8 *art = (u8 *) KSEG1ADDR(0x1fff0000); + u8 *art = (u8 *) KSEG1ADDR(0x1fff0000);
...@@ -149,12 +151,10 @@ ...@@ -149,12 +151,10 @@
+ +
+ ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN); + ath79_setup_qca955x_eth_cfg(QCA955X_ETH_CFG_RGMII_EN);
-#ifdef CONFIG_PCI -static int ap136_pci_plat_dev_init(struct pci_dev *dev)
-static struct ath9k_platform_data ap136_ath9k_data;
+ ath79_register_mdio(0, 0x0); + ath79_register_mdio(0, 0x0);
+ ath79_init_mac(ath79_eth0_data.mac_addr, art + AP136_MAC0_OFFSET, 0); + ath79_init_mac(ath79_eth0_data.mac_addr, art + AP136_MAC0_OFFSET, 0);
+
-static int ap136_pci_plat_dev_init(struct pci_dev *dev)
+ mdiobus_register_board_info(ap136_mdio0_info, + mdiobus_register_board_info(ap136_mdio0_info,
+ ARRAY_SIZE(ap136_mdio0_info)); + ARRAY_SIZE(ap136_mdio0_info));
+ +
......
...@@ -835,7 +835,7 @@ ...@@ -835,7 +835,7 @@
--- a/net/ipv4/tcp_input.c --- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c
@@ -3677,14 +3677,16 @@ static bool tcp_parse_aligned_timestamp( @@ -3678,14 +3678,16 @@ static bool tcp_parse_aligned_timestamp(
{ {
const __be32 *ptr = (const __be32 *)(th + 1); const __be32 *ptr = (const __be32 *)(th + 1);
......
--- a/arch/mips/ath79/machtypes.h --- a/arch/mips/ath79/machtypes.h
+++ b/arch/mips/ath79/machtypes.h +++ b/arch/mips/ath79/machtypes.h
@@ -169,6 +169,7 @@ @@ -169,6 +169,7 @@ enum ath79_mach_type {
ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */ ATH79_MACH_UBNT_NANO_M, /* Ubiquiti NanoStation M */
ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */ ATH79_MACH_UBNT_NANO_M_XW, /* Ubiquiti NanoStation M XW */
ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */ ATH79_MACH_UBNT_ROCKET_M, /* Ubiquiti Rocket M */
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */ ATH79_MACH_UBNT_UAP_PRO, /* Ubiquiti UniFi AP Pro */
--- a/arch/mips/ath79/mach-ubnt-xm.c --- a/arch/mips/ath79/mach-ubnt-xm.c
+++ b/arch/mips/ath79/mach-ubnt-xm.c +++ b/arch/mips/ath79/mach-ubnt-xm.c
@@ -449,12 +449,42 @@ @@ -449,12 +449,42 @@ static void __init ubnt_loco_m_xw_setup(
ath79_register_eth(0); ath79_register_eth(0);
} }
......
--- a/arch/arm/boot/dts/Makefile --- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile
@@ -20,6 +20,7 @@ @@ -20,6 +20,7 @@ dtb-$(CONFIG_ARCH_AT91) += tny_a9263.dtb
dtb-$(CONFIG_ARCH_AT91) += usb_a9263.dtb dtb-$(CONFIG_ARCH_AT91) += usb_a9263.dtb
# sam9g20 # sam9g20
dtb-$(CONFIG_ARCH_AT91) += at91-foxg20.dtb dtb-$(CONFIG_ARCH_AT91) += at91-foxg20.dtb
......
--- a/drivers/usb/gadget/udc/at91_udc.c --- a/drivers/usb/gadget/udc/at91_udc.c
+++ b/drivers/usb/gadget/udc/at91_udc.c +++ b/drivers/usb/gadget/udc/at91_udc.c
@@ -870,8 +870,6 @@ @@ -870,8 +870,6 @@ static void clk_on(struct at91_udc *udc)
return; return;
udc->clocked = 1; udc->clocked = 1;
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
clk_enable(udc->iclk); clk_enable(udc->iclk);
clk_enable(udc->fclk); clk_enable(udc->fclk);
} }
@@ -884,8 +882,6 @@ @@ -884,8 +882,6 @@ static void clk_off(struct at91_udc *udc
udc->gadget.speed = USB_SPEED_UNKNOWN; udc->gadget.speed = USB_SPEED_UNKNOWN;
clk_disable(udc->fclk); clk_disable(udc->fclk);
clk_disable(udc->iclk); clk_disable(udc->iclk);
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
} }
/* /*
@@ -1766,27 +1762,18 @@ @@ -1766,27 +1762,18 @@ static int at91udc_probe(struct platform
udc_reinit(udc); udc_reinit(udc);
/* get interface and function clocks */ /* get interface and function clocks */
...@@ -51,7 +51,7 @@ ...@@ -51,7 +51,7 @@
retval = clk_prepare_enable(udc->iclk); retval = clk_prepare_enable(udc->iclk);
if (retval) if (retval)
@@ -1860,12 +1847,7 @@ @@ -1860,12 +1847,7 @@ fail1c:
clk_unprepare(udc->iclk); clk_unprepare(udc->iclk);
fail1b: fail1b:
clk_unprepare(udc->fclk); clk_unprepare(udc->fclk);
...@@ -64,7 +64,7 @@ ...@@ -64,7 +64,7 @@
if (!IS_ERR(udc->fclk)) if (!IS_ERR(udc->fclk))
clk_put(udc->fclk); clk_put(udc->fclk);
if (!IS_ERR(udc->iclk)) if (!IS_ERR(udc->iclk))
@@ -1911,15 +1893,11 @@ @@ -1911,15 +1893,11 @@ static int __exit at91udc_remove(struct
res = platform_get_resource(pdev, IORESOURCE_MEM, 0); res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
release_mem_region(res->start, resource_size(res)); release_mem_region(res->start, resource_size(res));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment