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: Jonas Gorski <jogo@openwrt.org> SVN-Revision: 45711
This commit is contained in:
parent
072937888e
commit
76d079204d
194 changed files with 625 additions and 1460 deletions
|
@ -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 @@
|
||||||
}
|
}
|
||||||
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 @@
|
||||||
{
|
{
|
||||||
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 @@
|
||||||
|
|
||||||
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 @@
|
||||||
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 @@
|
||||||
/*
|
/*
|
||||||
* 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 @@
|
||||||
|
|
||||||
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 @@
|
||||||
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 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* 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 @@
|
||||||
/*
|
/*
|
||||||
* 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 @@
|
||||||
|
|
||||||
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);
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- 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
|
||||||
|
|
|
@ -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 @@
|
||||||
|
|
||||||
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"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- 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 @@
|
||||||
---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
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- 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 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
/* 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);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
--- 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 @@
|
||||||
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 @@
|
||||||
+ 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 @@
|
||||||
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 @@
|
||||||
#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 @@
|
||||||
|
|
||||||
--- 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 @@
|
||||||
|
|
||||||
--- 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 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
-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 @@
|
||||||
+ .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 @@
|
||||||
+ /* 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 @@
|
||||||
|
|
||||||
#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 @@
|
||||||
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 @@
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
+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 @@
|
||||||
- .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 @@
|
||||||
+ .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 @@
|
||||||
-{
|
-{
|
||||||
- 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 @@
|
||||||
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 @@
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
-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 @@
|
||||||
+ .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 @@
|
||||||
+
|
+
|
||||||
+ 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 @@
|
||||||
|
|
||||||
--- 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);
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- 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 @@
|
||||||
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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- 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
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- 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 @@
|
||||||
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 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -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 @@
|
||||||
|
|
||||||
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 @@
|
||||||
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));
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/arch/arm/mach-at91/board-flexibity.c
|
--- a/arch/arm/mach-at91/board-flexibity.c
|
||||||
+++ b/arch/arm/mach-at91/board-flexibity.c
|
+++ b/arch/arm/mach-at91/board-flexibity.c
|
||||||
@@ -89,49 +89,49 @@ static struct gpio_led flexibity_leds[]
|
@@ -90,49 +90,49 @@ static struct gpio_led flexibity_leds[]
|
||||||
.name = "usb1:green",
|
.name = "usb1:green",
|
||||||
.gpio = AT91_PIN_PA12,
|
.gpio = AT91_PIN_PA12,
|
||||||
.active_low = 1,
|
.active_low = 1,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/drivers/net/ethernet/amd/au1000_eth.c
|
--- a/drivers/net/ethernet/amd/au1000_eth.c
|
||||||
+++ b/drivers/net/ethernet/amd/au1000_eth.c
|
+++ b/drivers/net/ethernet/amd/au1000_eth.c
|
||||||
@@ -988,10 +988,14 @@ static void au1000_multicast_list(struct
|
@@ -1113,10 +1113,14 @@ static void au1000_multicast_list(struct
|
||||||
writel(reg, &aup->mac->control);
|
writel(reg, &aup->mac->control);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
Index: linux-3.18.8/arch/mips/alchemy/devboards/db1300.c
|
--- a/arch/mips/alchemy/devboards/db1300.c
|
||||||
===================================================================
|
+++ b/arch/mips/alchemy/devboards/db1300.c
|
||||||
--- linux-3.18.8.orig/arch/mips/alchemy/devboards/db1300.c 2015-02-27 02:49:36.000000000 +0100
|
@@ -712,6 +712,7 @@ static struct platform_device db1300_lcd
|
||||||
+++ linux-3.18.8/arch/mips/alchemy/devboards/db1300.c 2015-03-10 11:36:47.906310432 +0100
|
|
||||||
@@ -712,6 +712,7 @@
|
|
||||||
|
|
||||||
/**********************************************************************/
|
/**********************************************************************/
|
||||||
|
|
||||||
|
@ -10,7 +8,7 @@ Index: linux-3.18.8/arch/mips/alchemy/devboards/db1300.c
|
||||||
static void db1300_wm97xx_irqen(struct wm97xx *wm, int enable)
|
static void db1300_wm97xx_irqen(struct wm97xx *wm, int enable)
|
||||||
{
|
{
|
||||||
if (enable)
|
if (enable)
|
||||||
@@ -744,6 +745,15 @@
|
@@ -744,6 +745,15 @@ static int db1300_wm97xx_probe(struct pl
|
||||||
return wm97xx_register_mach_ops(wm, &db1300_wm97xx_ops);
|
return wm97xx_register_mach_ops(wm, &db1300_wm97xx_ops);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||||
arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts | 6 ++++++
|
arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts | 6 ++++++
|
||||||
1 file changed, 6 insertions(+)
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
|
|
||||||
index b359c1e..78e95c0 100644
|
|
||||||
--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
|
--- a/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
|
||||||
+++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
|
+++ b/arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dts
|
||||||
@@ -47,6 +47,12 @@
|
@@ -47,6 +47,12 @@
|
||||||
|
@ -26,6 +24,3 @@ index b359c1e..78e95c0 100644
|
||||||
power0 {
|
power0 {
|
||||||
label = "bcm53xx:red:power";
|
label = "bcm53xx:red:power";
|
||||||
gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
|
gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||||
2 files changed, 128 insertions(+)
|
2 files changed, 128 insertions(+)
|
||||||
create mode 100644 arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
|
create mode 100644 arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
|
||||||
index 86217db..d34785a 100644
|
|
||||||
--- a/arch/arm/boot/dts/Makefile
|
--- a/arch/arm/boot/dts/Makefile
|
||||||
+++ b/arch/arm/boot/dts/Makefile
|
+++ b/arch/arm/boot/dts/Makefile
|
||||||
@@ -62,6 +62,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
|
@@ -62,6 +62,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
|
||||||
|
@ -27,9 +25,6 @@ index 86217db..d34785a 100644
|
||||||
bcm4709-netgear-r8000.dtb
|
bcm4709-netgear-r8000.dtb
|
||||||
dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
|
dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
|
||||||
dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \
|
dtb-$(CONFIG_ARCH_BCM_MOBILE) += bcm28155-ap.dtb \
|
||||||
diff --git a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..548e93b
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
|
+++ b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
|
||||||
@@ -0,0 +1,127 @@
|
@@ -0,0 +1,127 @@
|
||||||
|
@ -160,6 +155,3 @@ index 0000000..548e93b
|
||||||
+ };
|
+ };
|
||||||
+ };
|
+ };
|
||||||
+};
|
+};
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||||
2 files changed, 120 insertions(+)
|
2 files changed, 120 insertions(+)
|
||||||
create mode 100644 arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
|
create mode 100644 arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
|
||||||
index d34785a..59f7970 100644
|
|
||||||
--- a/arch/arm/boot/dts/Makefile
|
--- a/arch/arm/boot/dts/Makefile
|
||||||
+++ b/arch/arm/boot/dts/Makefile
|
+++ b/arch/arm/boot/dts/Makefile
|
||||||
@@ -59,6 +59,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
|
@@ -59,6 +59,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
|
||||||
|
@ -26,9 +24,6 @@ index d34785a..59f7970 100644
|
||||||
bcm47081-asus-rt-n18u.dtb \
|
bcm47081-asus-rt-n18u.dtb \
|
||||||
bcm47081-buffalo-wzr-600dhp2.dtb \
|
bcm47081-buffalo-wzr-600dhp2.dtb \
|
||||||
bcm47081-buffalo-wzr-900dhp.dtb \
|
bcm47081-buffalo-wzr-900dhp.dtb \
|
||||||
diff --git a/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..66dfb53
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
|
+++ b/arch/arm/boot/dts/bcm4708-smartrg-sr400ac.dts
|
||||||
@@ -0,0 +1,119 @@
|
@@ -0,0 +1,119 @@
|
||||||
|
@ -151,6 +146,3 @@ index 0000000..66dfb53
|
||||||
+ };
|
+ };
|
||||||
+ };
|
+ };
|
||||||
+};
|
+};
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||||
2 files changed, 84 insertions(+)
|
2 files changed, 84 insertions(+)
|
||||||
create mode 100644 arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
|
create mode 100644 arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
|
||||||
index 59f7970..1e8b8b7 100644
|
|
||||||
--- a/arch/arm/boot/dts/Makefile
|
--- a/arch/arm/boot/dts/Makefile
|
||||||
+++ b/arch/arm/boot/dts/Makefile
|
+++ b/arch/arm/boot/dts/Makefile
|
||||||
@@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.
|
@@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.
|
||||||
|
@ -26,9 +24,6 @@ index 59f7970..1e8b8b7 100644
|
||||||
bcm4708-buffalo-wzr-1750dhp.dtb \
|
bcm4708-buffalo-wzr-1750dhp.dtb \
|
||||||
bcm4708-luxul-xwc-1000.dtb \
|
bcm4708-luxul-xwc-1000.dtb \
|
||||||
bcm4708-netgear-r6250.dtb \
|
bcm4708-netgear-r6250.dtb \
|
||||||
diff --git a/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts b/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..8b62836
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
|
+++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac68u.dts
|
||||||
@@ -0,0 +1,83 @@
|
@@ -0,0 +1,83 @@
|
||||||
|
@ -115,6 +110,3 @@ index 0000000..8b62836
|
||||||
+ };
|
+ };
|
||||||
+ };
|
+ };
|
||||||
+};
|
+};
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,6 @@ Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
|
||||||
2 files changed, 97 insertions(+)
|
2 files changed, 97 insertions(+)
|
||||||
create mode 100644 arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
|
create mode 100644 arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
|
||||||
index 1e8b8b7..4802376 100644
|
|
||||||
--- a/arch/arm/boot/dts/Makefile
|
--- a/arch/arm/boot/dts/Makefile
|
||||||
+++ b/arch/arm/boot/dts/Makefile
|
+++ b/arch/arm/boot/dts/Makefile
|
||||||
@@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.
|
@@ -55,6 +55,7 @@ dtb-$(CONFIG_ARCH_ATLAS6) += atlas6-evb.
|
||||||
|
@ -26,9 +24,6 @@ index 1e8b8b7..4802376 100644
|
||||||
bcm4708-asus-rt-ac68u.dtb \
|
bcm4708-asus-rt-ac68u.dtb \
|
||||||
bcm4708-buffalo-wzr-1750dhp.dtb \
|
bcm4708-buffalo-wzr-1750dhp.dtb \
|
||||||
bcm4708-luxul-xwc-1000.dtb \
|
bcm4708-luxul-xwc-1000.dtb \
|
||||||
diff --git a/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..71cff8d
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
|
+++ b/arch/arm/boot/dts/bcm4708-asus-rt-ac56u.dts
|
||||||
@@ -0,0 +1,96 @@
|
@@ -0,0 +1,96 @@
|
||||||
|
@ -128,6 +123,3 @@ index 0000000..71cff8d
|
||||||
+ };
|
+ };
|
||||||
+ };
|
+ };
|
||||||
+};
|
+};
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,6 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||||
2 files changed, 66 insertions(+)
|
2 files changed, 66 insertions(+)
|
||||||
create mode 100644 arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
|
create mode 100644 arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
|
||||||
index 4802376..4e76f68 100644
|
|
||||||
--- a/arch/arm/boot/dts/Makefile
|
--- a/arch/arm/boot/dts/Makefile
|
||||||
+++ b/arch/arm/boot/dts/Makefile
|
+++ b/arch/arm/boot/dts/Makefile
|
||||||
@@ -65,6 +65,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
|
@@ -65,6 +65,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \
|
||||||
|
@ -26,9 +24,6 @@ index 4802376..4e76f68 100644
|
||||||
bcm4709-buffalo-wxr-1900dhp.dtb \
|
bcm4709-buffalo-wxr-1900dhp.dtb \
|
||||||
bcm4709-netgear-r8000.dtb
|
bcm4709-netgear-r8000.dtb
|
||||||
dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
|
dtb-$(CONFIG_ARCH_BCM_63XX) += bcm963138dvt.dtb
|
||||||
diff --git a/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..aedf3c4
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
|
+++ b/arch/arm/boot/dts/bcm4709-asus-rt-ac87u.dts
|
||||||
@@ -0,0 +1,65 @@
|
@@ -0,0 +1,65 @@
|
||||||
|
@ -97,6 +92,3 @@ index 0000000..aedf3c4
|
||||||
+ };
|
+ };
|
||||||
+ };
|
+ };
|
||||||
+};
|
+};
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,6 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||||
arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts | 17 +++++++++++++++++
|
arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts | 17 +++++++++++++++++
|
||||||
1 file changed, 17 insertions(+)
|
1 file changed, 17 insertions(+)
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
|
|
||||||
index 4b02a0b..2c691a8 100644
|
|
||||||
--- a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
|
--- a/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
|
||||||
+++ b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
|
+++ b/arch/arm/boot/dts/bcm4709-buffalo-wxr-1900dhp.dts
|
||||||
@@ -24,6 +24,23 @@
|
@@ -24,6 +24,23 @@
|
||||||
|
@ -41,6 +39,3 @@ index 4b02a0b..2c691a8 100644
|
||||||
leds {
|
leds {
|
||||||
compatible = "gpio-leds";
|
compatible = "gpio-leds";
|
||||||
|
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -15,11 +15,9 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||||
drivers/net/ethernet/broadcom/bgmac.c | 28 +++++++++++++++++++++++-----
|
drivers/net/ethernet/broadcom/bgmac.c | 28 +++++++++++++++++++++++-----
|
||||||
1 file changed, 23 insertions(+), 5 deletions(-)
|
1 file changed, 23 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
|
|
||||||
index f66c416..0614cae 100644
|
|
||||||
--- a/drivers/net/ethernet/broadcom/bgmac.c
|
--- a/drivers/net/ethernet/broadcom/bgmac.c
|
||||||
+++ b/drivers/net/ethernet/broadcom/bgmac.c
|
+++ b/drivers/net/ethernet/broadcom/bgmac.c
|
||||||
@@ -1561,11 +1561,20 @@ static int bgmac_probe(struct bcma_device *core)
|
@@ -1561,11 +1561,20 @@ static int bgmac_probe(struct bcma_devic
|
||||||
struct net_device *net_dev;
|
struct net_device *net_dev;
|
||||||
struct bgmac *bgmac;
|
struct bgmac *bgmac;
|
||||||
struct ssb_sprom *sprom = &core->bus->sprom;
|
struct ssb_sprom *sprom = &core->bus->sprom;
|
||||||
|
@ -43,7 +41,7 @@ index f66c416..0614cae 100644
|
||||||
pr_err("Unsupported core_unit %d\n", core->core_unit);
|
pr_err("Unsupported core_unit %d\n", core->core_unit);
|
||||||
return -ENOTSUPP;
|
return -ENOTSUPP;
|
||||||
}
|
}
|
||||||
@@ -1600,8 +1609,17 @@ static int bgmac_probe(struct bcma_device *core)
|
@@ -1600,8 +1609,17 @@ static int bgmac_probe(struct bcma_devic
|
||||||
}
|
}
|
||||||
bgmac->cmn = core->bus->drv_gmac_cmn.core;
|
bgmac->cmn = core->bus->drv_gmac_cmn.core;
|
||||||
|
|
||||||
|
@ -63,6 +61,3 @@ index f66c416..0614cae 100644
|
||||||
bgmac->phyaddr &= BGMAC_PHY_MASK;
|
bgmac->phyaddr &= BGMAC_PHY_MASK;
|
||||||
if (bgmac->phyaddr == BGMAC_PHY_MASK) {
|
if (bgmac->phyaddr == BGMAC_PHY_MASK) {
|
||||||
bgmac_err(bgmac, "No PHY found\n");
|
bgmac_err(bgmac, "No PHY found\n");
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -11,8 +11,6 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||||
drivers/net/phy/b53/b53_common.c | 6 ++++++
|
drivers/net/phy/b53/b53_common.c | 6 ++++++
|
||||||
1 file changed, 6 insertions(+)
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
diff --git a/drivers/net/phy/b53/b53_common.c b/drivers/net/phy/b53/b53_common.c
|
|
||||||
index 2b05d5d..fd3b39c 100644
|
|
||||||
--- a/drivers/net/phy/b53/b53_common.c
|
--- a/drivers/net/phy/b53/b53_common.c
|
||||||
+++ b/drivers/net/phy/b53/b53_common.c
|
+++ b/drivers/net/phy/b53/b53_common.c
|
||||||
@@ -25,6 +25,7 @@
|
@@ -25,6 +25,7 @@
|
||||||
|
@ -23,7 +21,7 @@ index 2b05d5d..fd3b39c 100644
|
||||||
|
|
||||||
#include "b53_regs.h"
|
#include "b53_regs.h"
|
||||||
#include "b53_priv.h"
|
#include "b53_priv.h"
|
||||||
@@ -1313,6 +1314,11 @@ static int b53_switch_init(struct b53_device *dev)
|
@@ -1313,6 +1314,11 @@ static int b53_switch_init(struct b53_de
|
||||||
sw_dev->cpu_port = 5;
|
sw_dev->cpu_port = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,6 +33,3 @@ index 2b05d5d..fd3b39c 100644
|
||||||
/* cpu port is always last */
|
/* cpu port is always last */
|
||||||
sw_dev->ports = sw_dev->cpu_port + 1;
|
sw_dev->ports = sw_dev->cpu_port + 1;
|
||||||
dev->enabled_ports |= BIT(sw_dev->cpu_port);
|
dev->enabled_ports |= BIT(sw_dev->cpu_port);
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -12,8 +12,6 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||||
drivers/mtd/bcm47xxpart.c | 12 ++++++++++++
|
drivers/mtd/bcm47xxpart.c | 12 ++++++++++++
|
||||||
1 file changed, 12 insertions(+)
|
1 file changed, 12 insertions(+)
|
||||||
|
|
||||||
diff --git a/drivers/mtd/bcm47xxpart.c b/drivers/mtd/bcm47xxpart.c
|
|
||||||
index 34314f9..d08d329 100644
|
|
||||||
--- a/drivers/mtd/bcm47xxpart.c
|
--- a/drivers/mtd/bcm47xxpart.c
|
||||||
+++ b/drivers/mtd/bcm47xxpart.c
|
+++ b/drivers/mtd/bcm47xxpart.c
|
||||||
@@ -14,6 +14,7 @@
|
@@ -14,6 +14,7 @@
|
||||||
|
@ -24,7 +22,7 @@ index 34314f9..d08d329 100644
|
||||||
|
|
||||||
#include <uapi/linux/magic.h>
|
#include <uapi/linux/magic.h>
|
||||||
|
|
||||||
@@ -135,6 +136,17 @@ static int bcm47xxpart_parse(struct mtd_info *master,
|
@@ -135,6 +136,17 @@ static int bcm47xxpart_parse(struct mtd_
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,6 +40,3 @@ index 34314f9..d08d329 100644
|
||||||
/* Read beginning of the block */
|
/* Read beginning of the block */
|
||||||
if (mtd_read(master, offset, BCM47XXPART_BYTES_TO_READ,
|
if (mtd_read(master, offset, BCM47XXPART_BYTES_TO_READ,
|
||||||
&bytes_read, (uint8_t *)buf) < 0) {
|
&bytes_read, (uint8_t *)buf) < 0) {
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -612,7 +612,7 @@ Signed-off-by: popcornmix <popcornmix@gmail.com>
|
||||||
+CONFIG_LIBCRC32C=y
|
+CONFIG_LIBCRC32C=y
|
||||||
--- a/arch/arm/kernel/process.c
|
--- a/arch/arm/kernel/process.c
|
||||||
+++ b/arch/arm/kernel/process.c
|
+++ b/arch/arm/kernel/process.c
|
||||||
@@ -166,6 +166,16 @@ void arch_cpu_idle_dead(void)
|
@@ -172,6 +172,16 @@ void arch_cpu_idle_dead(void)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -159,7 +159,7 @@ Signed-off-by: Kari Suvanto <karis79@gmail.com>
|
||||||
}
|
}
|
||||||
--- a/drivers/usb/core/message.c
|
--- a/drivers/usb/core/message.c
|
||||||
+++ b/drivers/usb/core/message.c
|
+++ b/drivers/usb/core/message.c
|
||||||
@@ -1889,6 +1889,85 @@ free_interfaces:
|
@@ -1872,6 +1872,85 @@ free_interfaces:
|
||||||
if (cp->string == NULL &&
|
if (cp->string == NULL &&
|
||||||
!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
|
!(dev->quirks & USB_QUIRK_CONFIG_INTF_STRINGS))
|
||||||
cp->string = usb_cache_string(dev, cp->desc.iConfiguration);
|
cp->string = usb_cache_string(dev, cp->desc.iConfiguration);
|
||||||
|
|
|
@ -111,7 +111,7 @@ Signed-off-by: Luke Diamand <luked@broadcom.com>
|
||||||
+$ v4l2-ctl --list-formats
|
+$ v4l2-ctl --list-formats
|
||||||
--- a/drivers/media/platform/Kconfig
|
--- a/drivers/media/platform/Kconfig
|
||||||
+++ b/drivers/media/platform/Kconfig
|
+++ b/drivers/media/platform/Kconfig
|
||||||
@@ -126,6 +126,7 @@ config VIDEO_S3C_CAMIF
|
@@ -124,6 +124,7 @@ config VIDEO_S3C_CAMIF
|
||||||
source "drivers/media/platform/soc_camera/Kconfig"
|
source "drivers/media/platform/soc_camera/Kconfig"
|
||||||
source "drivers/media/platform/exynos4-is/Kconfig"
|
source "drivers/media/platform/exynos4-is/Kconfig"
|
||||||
source "drivers/media/platform/s5p-tv/Kconfig"
|
source "drivers/media/platform/s5p-tv/Kconfig"
|
||||||
|
|
|
@ -20,6 +20,6 @@ DAC ouput stages.
|
||||||
- PCM512x_DIGITAL_VOLUME_3, 0, 255, 1, digital_tlv),
|
- PCM512x_DIGITAL_VOLUME_3, 0, 255, 1, digital_tlv),
|
||||||
+SOC_DOUBLE_R_RANGE_TLV("PCM", PCM512x_DIGITAL_VOLUME_2,
|
+SOC_DOUBLE_R_RANGE_TLV("PCM", PCM512x_DIGITAL_VOLUME_2,
|
||||||
+ PCM512x_DIGITAL_VOLUME_3, 0, 40, 255, 1, digital_tlv),
|
+ PCM512x_DIGITAL_VOLUME_3, 0, 40, 255, 1, digital_tlv),
|
||||||
SOC_DOUBLE_TLV("Playback Volume", PCM512x_ANALOG_GAIN_CTRL,
|
SOC_DOUBLE_TLV("Analogue Playback Volume", PCM512x_ANALOG_GAIN_CTRL,
|
||||||
PCM512x_LAGN_SHIFT, PCM512x_RAGN_SHIFT, 1, 1, analog_tlv),
|
PCM512x_LAGN_SHIFT, PCM512x_RAGN_SHIFT, 1, 1, analog_tlv),
|
||||||
SOC_DOUBLE_TLV("Playback Boost Volume", PCM512x_ANALOG_GAIN_BOOST,
|
SOC_DOUBLE_TLV("Analogue Playback Boost Volume", PCM512x_ANALOG_GAIN_BOOST,
|
||||||
|
|
|
@ -18,8 +18,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/nvram.c | 44 ++++++++++++++++++++++++++++++++------------
|
arch/mips/bcm47xx/nvram.c | 44 ++++++++++++++++++++++++++++++++------------
|
||||||
1 file changed, 32 insertions(+), 12 deletions(-)
|
1 file changed, 32 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
|
|
||||||
index 2bed73a..e07976b 100644
|
|
||||||
--- a/arch/mips/bcm47xx/nvram.c
|
--- a/arch/mips/bcm47xx/nvram.c
|
||||||
+++ b/arch/mips/bcm47xx/nvram.c
|
+++ b/arch/mips/bcm47xx/nvram.c
|
||||||
@@ -23,13 +23,13 @@
|
@@ -23,13 +23,13 @@
|
||||||
|
@ -127,6 +125,3 @@ index 2bed73a..e07976b 100644
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -22,8 +22,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
drivers/ssb/driver_mipscore.c | 14 +++++++++-
|
drivers/ssb/driver_mipscore.c | 14 +++++++++-
|
||||||
3 files changed, 23 insertions(+), 22 deletions(-)
|
3 files changed, 23 insertions(+), 22 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
|
|
||||||
index e07976b..fecc5ae 100644
|
|
||||||
--- a/arch/mips/bcm47xx/nvram.c
|
--- a/arch/mips/bcm47xx/nvram.c
|
||||||
+++ b/arch/mips/bcm47xx/nvram.c
|
+++ b/arch/mips/bcm47xx/nvram.c
|
||||||
@@ -98,7 +98,14 @@ found:
|
@@ -98,7 +98,14 @@ found:
|
||||||
|
@ -42,7 +40,7 @@ index e07976b..fecc5ae 100644
|
||||||
{
|
{
|
||||||
void __iomem *iobase;
|
void __iomem *iobase;
|
||||||
int err;
|
int err;
|
||||||
@@ -114,25 +121,6 @@ static int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
|
@@ -114,25 +121,6 @@ static int bcm47xx_nvram_init_from_mem(u
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,8 +75,6 @@ index e07976b..fecc5ae 100644
|
||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_BCM47XX_BCMA
|
#ifdef CONFIG_BCM47XX_BCMA
|
||||||
case BCM47XX_BUS_TYPE_BCMA:
|
case BCM47XX_BUS_TYPE_BCMA:
|
||||||
diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
|
||||||
index 36a3fc1..676be22 100644
|
|
||||||
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
||||||
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
||||||
@@ -32,6 +32,7 @@ struct nvram_header {
|
@@ -32,6 +32,7 @@ struct nvram_header {
|
||||||
|
@ -89,8 +85,6 @@ index 36a3fc1..676be22 100644
|
||||||
extern int bcm47xx_nvram_getenv(char *name, char *val, size_t val_len);
|
extern int bcm47xx_nvram_getenv(char *name, char *val, size_t val_len);
|
||||||
|
|
||||||
static inline void bcm47xx_nvram_parse_macaddr(char *buf, u8 macaddr[6])
|
static inline void bcm47xx_nvram_parse_macaddr(char *buf, u8 macaddr[6])
|
||||||
diff --git a/drivers/ssb/driver_mipscore.c b/drivers/ssb/driver_mipscore.c
|
|
||||||
index 0907706..7b986f9 100644
|
|
||||||
--- a/drivers/ssb/driver_mipscore.c
|
--- a/drivers/ssb/driver_mipscore.c
|
||||||
+++ b/drivers/ssb/driver_mipscore.c
|
+++ b/drivers/ssb/driver_mipscore.c
|
||||||
@@ -15,6 +15,9 @@
|
@@ -15,6 +15,9 @@
|
||||||
|
@ -103,7 +97,7 @@ index 0907706..7b986f9 100644
|
||||||
|
|
||||||
#include "ssb_private.h"
|
#include "ssb_private.h"
|
||||||
|
|
||||||
@@ -210,6 +213,7 @@ static void ssb_mips_serial_init(struct ssb_mipscore *mcore)
|
@@ -210,6 +213,7 @@ static void ssb_mips_serial_init(struct
|
||||||
static void ssb_mips_flash_detect(struct ssb_mipscore *mcore)
|
static void ssb_mips_flash_detect(struct ssb_mipscore *mcore)
|
||||||
{
|
{
|
||||||
struct ssb_bus *bus = mcore->dev->bus;
|
struct ssb_bus *bus = mcore->dev->bus;
|
||||||
|
@ -111,7 +105,7 @@ index 0907706..7b986f9 100644
|
||||||
struct ssb_pflash *pflash = &mcore->pflash;
|
struct ssb_pflash *pflash = &mcore->pflash;
|
||||||
|
|
||||||
/* When there is no chipcommon on the bus there is 4MB flash */
|
/* When there is no chipcommon on the bus there is 4MB flash */
|
||||||
@@ -242,7 +246,15 @@ static void ssb_mips_flash_detect(struct ssb_mipscore *mcore)
|
@@ -242,7 +246,15 @@ static void ssb_mips_flash_detect(struct
|
||||||
}
|
}
|
||||||
|
|
||||||
ssb_pflash:
|
ssb_pflash:
|
||||||
|
@ -128,6 +122,3 @@ index 0907706..7b986f9 100644
|
||||||
ssb_pflash_data.width = pflash->buswidth;
|
ssb_pflash_data.width = pflash->buswidth;
|
||||||
ssb_pflash_resource.start = pflash->window;
|
ssb_pflash_resource.start = pflash->window;
|
||||||
ssb_pflash_resource.end = pflash->window + pflash->window_size;
|
ssb_pflash_resource.end = pflash->window + pflash->window_size;
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -20,11 +20,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
drivers/bcma/driver_mips.c | 13 +++++++++++--
|
drivers/bcma/driver_mips.c | 13 +++++++++++--
|
||||||
2 files changed, 13 insertions(+), 42 deletions(-)
|
2 files changed, 13 insertions(+), 42 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
|
|
||||||
index fecc5ae..21712fb 100644
|
|
||||||
--- a/arch/mips/bcm47xx/nvram.c
|
--- a/arch/mips/bcm47xx/nvram.c
|
||||||
+++ b/arch/mips/bcm47xx/nvram.c
|
+++ b/arch/mips/bcm47xx/nvram.c
|
||||||
@@ -121,48 +121,10 @@ int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
|
@@ -121,48 +121,10 @@ int bcm47xx_nvram_init_from_mem(u32 base
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -75,8 +73,6 @@ index fecc5ae..21712fb 100644
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/drivers/bcma/driver_mips.c b/drivers/bcma/driver_mips.c
|
|
||||||
index 004d6aa..8a653dc 100644
|
|
||||||
--- a/drivers/bcma/driver_mips.c
|
--- a/drivers/bcma/driver_mips.c
|
||||||
+++ b/drivers/bcma/driver_mips.c
|
+++ b/drivers/bcma/driver_mips.c
|
||||||
@@ -20,6 +20,9 @@
|
@@ -20,6 +20,9 @@
|
||||||
|
@ -89,7 +85,7 @@ index 004d6aa..8a653dc 100644
|
||||||
|
|
||||||
enum bcma_boot_dev {
|
enum bcma_boot_dev {
|
||||||
BCMA_BOOT_DEV_UNK = 0,
|
BCMA_BOOT_DEV_UNK = 0,
|
||||||
@@ -316,10 +319,16 @@ static void bcma_core_mips_flash_detect(struct bcma_drv_mips *mcore)
|
@@ -316,10 +319,16 @@ static void bcma_core_mips_flash_detect(
|
||||||
switch (boot_dev) {
|
switch (boot_dev) {
|
||||||
case BCMA_BOOT_DEV_PARALLEL:
|
case BCMA_BOOT_DEV_PARALLEL:
|
||||||
case BCMA_BOOT_DEV_SERIAL:
|
case BCMA_BOOT_DEV_SERIAL:
|
||||||
|
@ -108,6 +104,3 @@ index 004d6aa..8a653dc 100644
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/sprom.c | 68 +++++++++++++++++++++++++++++++++++++
|
arch/mips/bcm47xx/sprom.c | 68 +++++++++++++++++++++++++++++++++++++
|
||||||
3 files changed, 73 insertions(+), 56 deletions(-)
|
3 files changed, 73 insertions(+), 56 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/bcm47xx_private.h b/arch/mips/bcm47xx/bcm47xx_private.h
|
|
||||||
index f1cc9d0..12a112d 100644
|
|
||||||
--- a/arch/mips/bcm47xx/bcm47xx_private.h
|
--- a/arch/mips/bcm47xx/bcm47xx_private.h
|
||||||
+++ b/arch/mips/bcm47xx/bcm47xx_private.h
|
+++ b/arch/mips/bcm47xx/bcm47xx_private.h
|
||||||
@@ -6,6 +6,9 @@
|
@@ -6,6 +6,9 @@
|
||||||
|
@ -34,8 +32,6 @@ index f1cc9d0..12a112d 100644
|
||||||
/* buttons.c */
|
/* buttons.c */
|
||||||
int __init bcm47xx_buttons_register(void);
|
int __init bcm47xx_buttons_register(void);
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
|
|
||||||
index c00585d..444c65a 100644
|
|
||||||
--- a/arch/mips/bcm47xx/setup.c
|
--- a/arch/mips/bcm47xx/setup.c
|
||||||
+++ b/arch/mips/bcm47xx/setup.c
|
+++ b/arch/mips/bcm47xx/setup.c
|
||||||
@@ -102,23 +102,6 @@ static void bcm47xx_machine_halt(void)
|
@@ -102,23 +102,6 @@ static void bcm47xx_machine_halt(void)
|
||||||
|
@ -62,7 +58,7 @@ index c00585d..444c65a 100644
|
||||||
static int bcm47xx_get_invariants(struct ssb_bus *bus,
|
static int bcm47xx_get_invariants(struct ssb_bus *bus,
|
||||||
struct ssb_init_invariants *iv)
|
struct ssb_init_invariants *iv)
|
||||||
{
|
{
|
||||||
@@ -144,11 +127,6 @@ static void __init bcm47xx_register_ssb(void)
|
@@ -144,11 +127,6 @@ static void __init bcm47xx_register_ssb(
|
||||||
char buf[100];
|
char buf[100];
|
||||||
struct ssb_mipscore *mcore;
|
struct ssb_mipscore *mcore;
|
||||||
|
|
||||||
|
@ -74,7 +70,7 @@ index c00585d..444c65a 100644
|
||||||
err = ssb_bus_ssbbus_register(&(bcm47xx_bus.ssb), SSB_ENUM_BASE,
|
err = ssb_bus_ssbbus_register(&(bcm47xx_bus.ssb), SSB_ENUM_BASE,
|
||||||
bcm47xx_get_invariants);
|
bcm47xx_get_invariants);
|
||||||
if (err)
|
if (err)
|
||||||
@@ -171,44 +149,10 @@ static void __init bcm47xx_register_ssb(void)
|
@@ -171,44 +149,10 @@ static void __init bcm47xx_register_ssb(
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_BCM47XX_BCMA
|
#ifdef CONFIG_BCM47XX_BCMA
|
||||||
|
@ -135,11 +131,9 @@ index c00585d..444c65a 100644
|
||||||
bcm47xx_register_ssb();
|
bcm47xx_register_ssb();
|
||||||
bcm47xx_set_system_type(bcm47xx_bus.ssb.chip_id);
|
bcm47xx_set_system_type(bcm47xx_bus.ssb.chip_id);
|
||||||
#endif
|
#endif
|
||||||
diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
|
|
||||||
index 41226b6..e772e77 100644
|
|
||||||
--- a/arch/mips/bcm47xx/sprom.c
|
--- a/arch/mips/bcm47xx/sprom.c
|
||||||
+++ b/arch/mips/bcm47xx/sprom.c
|
+++ b/arch/mips/bcm47xx/sprom.c
|
||||||
@@ -801,3 +801,71 @@ void bcm47xx_fill_bcma_boardinfo(struct bcma_boardinfo *boardinfo,
|
@@ -801,3 +801,71 @@ void bcm47xx_fill_bcma_boardinfo(struct
|
||||||
nvram_read_u16(prefix, NULL, "boardtype", &boardinfo->type, 0, true);
|
nvram_read_u16(prefix, NULL, "boardtype", &boardinfo->type, 0, true);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -211,6 +205,3 @@ index 41226b6..e772e77 100644
|
||||||
+ pr_warn("Failed to registered bcma SPROM handler\n");
|
+ pr_warn("Failed to registered bcma SPROM handler\n");
|
||||||
+#endif
|
+#endif
|
||||||
+}
|
+}
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -21,11 +21,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/setup.c | 33 +++++++++++++++++++++++++++------
|
arch/mips/bcm47xx/setup.c | 33 +++++++++++++++++++++++++++------
|
||||||
3 files changed, 38 insertions(+), 6 deletions(-)
|
3 files changed, 38 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/bcm47xx_private.h b/arch/mips/bcm47xx/bcm47xx_private.h
|
|
||||||
index 12a112d..ea909a5 100644
|
|
||||||
--- a/arch/mips/bcm47xx/bcm47xx_private.h
|
--- a/arch/mips/bcm47xx/bcm47xx_private.h
|
||||||
+++ b/arch/mips/bcm47xx/bcm47xx_private.h
|
+++ b/arch/mips/bcm47xx/bcm47xx_private.h
|
||||||
@@ -15,6 +15,9 @@ int __init bcm47xx_buttons_register(void);
|
@@ -15,6 +15,9 @@ int __init bcm47xx_buttons_register(void
|
||||||
/* leds.c */
|
/* leds.c */
|
||||||
void __init bcm47xx_leds_register(void);
|
void __init bcm47xx_leds_register(void);
|
||||||
|
|
||||||
|
@ -35,8 +33,6 @@ index 12a112d..ea909a5 100644
|
||||||
/* workarounds.c */
|
/* workarounds.c */
|
||||||
void __init bcm47xx_workarounds(void);
|
void __init bcm47xx_workarounds(void);
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/irq.c b/arch/mips/bcm47xx/irq.c
|
|
||||||
index e0585b7..21b4497 100644
|
|
||||||
--- a/arch/mips/bcm47xx/irq.c
|
--- a/arch/mips/bcm47xx/irq.c
|
||||||
+++ b/arch/mips/bcm47xx/irq.c
|
+++ b/arch/mips/bcm47xx/irq.c
|
||||||
@@ -22,6 +22,8 @@
|
@@ -22,6 +22,8 @@
|
||||||
|
@ -61,11 +57,9 @@ index e0585b7..21b4497 100644
|
||||||
#ifdef CONFIG_BCM47XX_BCMA
|
#ifdef CONFIG_BCM47XX_BCMA
|
||||||
if (bcm47xx_bus_type == BCM47XX_BUS_TYPE_BCMA) {
|
if (bcm47xx_bus_type == BCM47XX_BUS_TYPE_BCMA) {
|
||||||
bcma_write32(bcm47xx_bus.bcma.bus.drv_mips.core,
|
bcma_write32(bcm47xx_bus.bcma.bus.drv_mips.core,
|
||||||
diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
|
|
||||||
index 444c65a..e43b504 100644
|
|
||||||
--- a/arch/mips/bcm47xx/setup.c
|
--- a/arch/mips/bcm47xx/setup.c
|
||||||
+++ b/arch/mips/bcm47xx/setup.c
|
+++ b/arch/mips/bcm47xx/setup.c
|
||||||
@@ -156,15 +156,14 @@ static void __init bcm47xx_register_bcma(void)
|
@@ -156,15 +156,14 @@ static void __init bcm47xx_register_bcma
|
||||||
err = bcma_host_soc_register(&bcm47xx_bus.bcma);
|
err = bcma_host_soc_register(&bcm47xx_bus.bcma);
|
||||||
if (err)
|
if (err)
|
||||||
panic("Failed to register BCMA bus (err %d)", err);
|
panic("Failed to register BCMA bus (err %d)", err);
|
||||||
|
@ -115,6 +109,3 @@ index 444c65a..e43b504 100644
|
||||||
bcm47xx_board_detect();
|
bcm47xx_board_detect();
|
||||||
mips_set_machine_name(bcm47xx_board_get_name());
|
mips_set_machine_name(bcm47xx_board_get_name());
|
||||||
}
|
}
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/nvram.c | 42 ++++++++++++++++++++++++++++++++++++++----
|
arch/mips/bcm47xx/nvram.c | 42 ++++++++++++++++++++++++++++++++++++++----
|
||||||
1 file changed, 38 insertions(+), 4 deletions(-)
|
1 file changed, 38 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
|
|
||||||
index 21712fb..8b64991 100644
|
|
||||||
--- a/arch/mips/bcm47xx/nvram.c
|
--- a/arch/mips/bcm47xx/nvram.c
|
||||||
+++ b/arch/mips/bcm47xx/nvram.c
|
+++ b/arch/mips/bcm47xx/nvram.c
|
||||||
@@ -13,12 +13,10 @@
|
@@ -13,12 +13,10 @@
|
||||||
|
@ -38,7 +36,7 @@ index 21712fb..8b64991 100644
|
||||||
|
|
||||||
static char nvram_buf[NVRAM_SPACE];
|
static char nvram_buf[NVRAM_SPACE];
|
||||||
static const u32 nvram_sizes[] = {0x8000, 0xF000, 0x10000};
|
static const u32 nvram_sizes[] = {0x8000, 0xF000, 0x10000};
|
||||||
@@ -123,7 +121,43 @@ int bcm47xx_nvram_init_from_mem(u32 base, u32 lim)
|
@@ -123,7 +121,43 @@ int bcm47xx_nvram_init_from_mem(u32 base
|
||||||
|
|
||||||
static int nvram_init(void)
|
static int nvram_init(void)
|
||||||
{
|
{
|
||||||
|
@ -83,6 +81,3 @@ index 21712fb..8b64991 100644
|
||||||
|
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
}
|
}
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -23,8 +23,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h | 35 +---------------------
|
arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h | 35 +---------------------
|
||||||
3 files changed, 33 insertions(+), 39 deletions(-)
|
3 files changed, 33 insertions(+), 39 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
|
|
||||||
index 8b64991..c5c381c 100644
|
|
||||||
--- a/arch/mips/bcm47xx/nvram.c
|
--- a/arch/mips/bcm47xx/nvram.c
|
||||||
+++ b/arch/mips/bcm47xx/nvram.c
|
+++ b/arch/mips/bcm47xx/nvram.c
|
||||||
@@ -18,6 +18,19 @@
|
@@ -18,6 +18,19 @@
|
||||||
|
@ -47,7 +45,7 @@ index 8b64991..c5c381c 100644
|
||||||
static char nvram_buf[NVRAM_SPACE];
|
static char nvram_buf[NVRAM_SPACE];
|
||||||
static const u32 nvram_sizes[] = {0x8000, 0xF000, 0x10000};
|
static const u32 nvram_sizes[] = {0x8000, 0xF000, 0x10000};
|
||||||
|
|
||||||
@@ -28,7 +41,7 @@ static u32 find_nvram_size(void __iomem *end)
|
@@ -28,7 +41,7 @@ static u32 find_nvram_size(void __iomem
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(nvram_sizes); i++) {
|
for (i = 0; i < ARRAY_SIZE(nvram_sizes); i++) {
|
||||||
header = (struct nvram_header *)(end - nvram_sizes[i]);
|
header = (struct nvram_header *)(end - nvram_sizes[i]);
|
||||||
|
@ -56,7 +54,7 @@ index 8b64991..c5c381c 100644
|
||||||
return nvram_sizes[i];
|
return nvram_sizes[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -63,13 +76,13 @@ static int nvram_find_and_copy(void __iomem *iobase, u32 lim)
|
@@ -63,13 +76,13 @@ static int nvram_find_and_copy(void __io
|
||||||
|
|
||||||
/* Try embedded NVRAM at 4 KB and 1 KB as last resorts */
|
/* Try embedded NVRAM at 4 KB and 1 KB as last resorts */
|
||||||
header = (struct nvram_header *)(iobase + 4096);
|
header = (struct nvram_header *)(iobase + 4096);
|
||||||
|
@ -90,11 +88,9 @@ index 8b64991..c5c381c 100644
|
||||||
{
|
{
|
||||||
char *var, *value, *end, *eq;
|
char *var, *value, *end, *eq;
|
||||||
int err;
|
int err;
|
||||||
diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
|
|
||||||
index e772e77..2eff7fe 100644
|
|
||||||
--- a/arch/mips/bcm47xx/sprom.c
|
--- a/arch/mips/bcm47xx/sprom.c
|
||||||
+++ b/arch/mips/bcm47xx/sprom.c
|
+++ b/arch/mips/bcm47xx/sprom.c
|
||||||
@@ -136,6 +136,20 @@ static void nvram_read_leddc(const char *prefix, const char *name,
|
@@ -136,6 +136,20 @@ static void nvram_read_leddc(const char
|
||||||
*leddc_off_time = (val >> 16) & 0xff;
|
*leddc_off_time = (val >> 16) & 0xff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,8 +111,6 @@ index e772e77..2eff7fe 100644
|
||||||
static void nvram_read_macaddr(const char *prefix, const char *name,
|
static void nvram_read_macaddr(const char *prefix, const char *name,
|
||||||
u8 val[6], bool fallback)
|
u8 val[6], bool fallback)
|
||||||
{
|
{
|
||||||
diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
|
||||||
index 676be22..ee59ffe 100644
|
|
||||||
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
||||||
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
||||||
@@ -14,41 +14,8 @@
|
@@ -14,41 +14,8 @@
|
||||||
|
@ -162,6 +156,3 @@ index 676be22..ee59ffe 100644
|
||||||
int bcm47xx_nvram_gpio_pin(const char *name);
|
int bcm47xx_nvram_gpio_pin(const char *name);
|
||||||
|
|
||||||
#endif /* __BCM47XX_NVRAM_H */
|
#endif /* __BCM47XX_NVRAM_H */
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -17,11 +17,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/sprom.c | 33 +++++++++++++++++++++++++++++++++
|
arch/mips/bcm47xx/sprom.c | 33 +++++++++++++++++++++++++++++++++
|
||||||
1 file changed, 33 insertions(+)
|
1 file changed, 33 insertions(+)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
|
|
||||||
index 2eff7fe..eff9205 100644
|
|
||||||
--- a/arch/mips/bcm47xx/sprom.c
|
--- a/arch/mips/bcm47xx/sprom.c
|
||||||
+++ b/arch/mips/bcm47xx/sprom.c
|
+++ b/arch/mips/bcm47xx/sprom.c
|
||||||
@@ -836,6 +836,38 @@ static int bcm47xx_get_sprom_ssb(struct ssb_bus *bus, struct ssb_sprom *out)
|
@@ -836,6 +836,38 @@ static int bcm47xx_get_sprom_ssb(struct
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(CONFIG_BCM47XX_BCMA)
|
#if defined(CONFIG_BCM47XX_BCMA)
|
||||||
|
@ -60,7 +58,7 @@ index 2eff7fe..eff9205 100644
|
||||||
static int bcm47xx_get_sprom_bcma(struct bcma_bus *bus, struct ssb_sprom *out)
|
static int bcm47xx_get_sprom_bcma(struct bcma_bus *bus, struct ssb_sprom *out)
|
||||||
{
|
{
|
||||||
char prefix[10];
|
char prefix[10];
|
||||||
@@ -847,6 +879,7 @@ static int bcm47xx_get_sprom_bcma(struct bcma_bus *bus, struct ssb_sprom *out)
|
@@ -847,6 +879,7 @@ static int bcm47xx_get_sprom_bcma(struct
|
||||||
snprintf(prefix, sizeof(prefix), "pci/%u/%u/",
|
snprintf(prefix, sizeof(prefix), "pci/%u/%u/",
|
||||||
bus->host_pci->bus->number + 1,
|
bus->host_pci->bus->number + 1,
|
||||||
PCI_SLOT(bus->host_pci->devfn));
|
PCI_SLOT(bus->host_pci->devfn));
|
||||||
|
@ -68,6 +66,3 @@ index 2eff7fe..eff9205 100644
|
||||||
bcm47xx_fill_sprom(out, prefix, false);
|
bcm47xx_fill_sprom(out, prefix, false);
|
||||||
return 0;
|
return 0;
|
||||||
case BCMA_HOSTTYPE_SOC:
|
case BCMA_HOSTTYPE_SOC:
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -1,38 +0,0 @@
|
||||||
From e0c3678ae640db049f738f30b5f23cde740799ac Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com>
|
|
||||||
Date: Wed, 1 Apr 2015 16:01:02 +0200
|
|
||||||
Subject: [PATCH] MIPS: BCM47XX: Fix detecting Microsoft MN-700 & Asus WL500G
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Since the day of adding this code it was broken. We were iterating over
|
|
||||||
a wrong array and checking for wrong NVRAM entry.
|
|
||||||
|
|
||||||
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
|
||||||
Cc: linux-mips@linux-mips.org
|
|
||||||
Cc: Hauke Mehrtens <hauke@hauke-m.de>
|
|
||||||
Patchwork: https://patchwork.linux-mips.org/patch/9654/
|
|
||||||
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
|
||||||
---
|
|
||||||
arch/mips/bcm47xx/board.c | 4 ++--
|
|
||||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
|
|
||||||
index b3ae068..3fd369d 100644
|
|
||||||
--- a/arch/mips/bcm47xx/board.c
|
|
||||||
+++ b/arch/mips/bcm47xx/board.c
|
|
||||||
@@ -247,8 +247,8 @@ static __init const struct bcm47xx_board_type *bcm47xx_board_get_nvram(void)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bcm47xx_nvram_getenv("hardware_version", buf1, sizeof(buf1)) >= 0 &&
|
|
||||||
- bcm47xx_nvram_getenv("boardtype", buf2, sizeof(buf2)) >= 0) {
|
|
||||||
- for (e2 = bcm47xx_board_list_boot_hw; e2->value1; e2++) {
|
|
||||||
+ bcm47xx_nvram_getenv("boardnum", buf2, sizeof(buf2)) >= 0) {
|
|
||||||
+ for (e2 = bcm47xx_board_list_hw_version_num; e2->value1; e2++) {
|
|
||||||
if (!strstarts(buf1, e2->value1) &&
|
|
||||||
!strcmp(buf2, e2->value2))
|
|
||||||
return &e2->board;
|
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
|
@ -18,11 +18,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/nvram.c | 7 ++-----
|
arch/mips/bcm47xx/nvram.c | 7 ++-----
|
||||||
1 file changed, 2 insertions(+), 5 deletions(-)
|
1 file changed, 2 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
|
|
||||||
index c5c381c..5e4ae04 100644
|
|
||||||
--- a/arch/mips/bcm47xx/nvram.c
|
--- a/arch/mips/bcm47xx/nvram.c
|
||||||
+++ b/arch/mips/bcm47xx/nvram.c
|
+++ b/arch/mips/bcm47xx/nvram.c
|
||||||
@@ -91,7 +91,6 @@ static int nvram_find_and_copy(void __iomem *iobase, u32 lim)
|
@@ -91,7 +91,6 @@ static int nvram_find_and_copy(void __io
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
|
|
||||||
found:
|
found:
|
||||||
|
@ -51,6 +49,3 @@ index c5c381c..5e4ae04 100644
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -16,8 +16,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/nvram.c | 6 ++++--
|
arch/mips/bcm47xx/nvram.c | 6 ++++--
|
||||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
|
|
||||||
index 5e4ae04..d805d8a 100644
|
|
||||||
--- a/arch/mips/bcm47xx/nvram.c
|
--- a/arch/mips/bcm47xx/nvram.c
|
||||||
+++ b/arch/mips/bcm47xx/nvram.c
|
+++ b/arch/mips/bcm47xx/nvram.c
|
||||||
@@ -175,7 +175,7 @@ static int nvram_init(void)
|
@@ -175,7 +175,7 @@ static int nvram_init(void)
|
||||||
|
@ -29,7 +27,7 @@ index 5e4ae04..d805d8a 100644
|
||||||
|
|
||||||
if (!name)
|
if (!name)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@@ -191,7 +191,9 @@ int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len)
|
@@ -191,7 +191,9 @@ int bcm47xx_nvram_getenv(const char *nam
|
||||||
end = nvram_buf + sizeof(nvram_buf) - 2;
|
end = nvram_buf + sizeof(nvram_buf) - 2;
|
||||||
end[0] = end[1] = '\0';
|
end[0] = end[1] = '\0';
|
||||||
for (; *var; var = value + strlen(value) + 1) {
|
for (; *var; var = value + strlen(value) + 1) {
|
||||||
|
@ -40,6 +38,3 @@ index 5e4ae04..d805d8a 100644
|
||||||
if (!eq)
|
if (!eq)
|
||||||
break;
|
break;
|
||||||
value = eq + 1;
|
value = eq + 1;
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -39,8 +39,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
delete mode 100644 arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
delete mode 100644 arch/mips/include/asm/mach-bcm47xx/bcm47xx_nvram.h
|
||||||
create mode 100644 include/linux/bcm47xx_nvram.h
|
create mode 100644 include/linux/bcm47xx_nvram.h
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
|
|
||||||
index b3ae068..6e85130 100644
|
|
||||||
--- a/arch/mips/bcm47xx/board.c
|
--- a/arch/mips/bcm47xx/board.c
|
||||||
+++ b/arch/mips/bcm47xx/board.c
|
+++ b/arch/mips/bcm47xx/board.c
|
||||||
@@ -1,8 +1,8 @@
|
@@ -1,8 +1,8 @@
|
||||||
|
@ -53,8 +51,6 @@ index b3ae068..6e85130 100644
|
||||||
|
|
||||||
struct bcm47xx_board_type {
|
struct bcm47xx_board_type {
|
||||||
const enum bcm47xx_board board;
|
const enum bcm47xx_board board;
|
||||||
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
|
|
||||||
index d805d8a..7c77a88 100644
|
|
||||||
--- a/arch/mips/bcm47xx/nvram.c
|
--- a/arch/mips/bcm47xx/nvram.c
|
||||||
+++ b/arch/mips/bcm47xx/nvram.c
|
+++ b/arch/mips/bcm47xx/nvram.c
|
||||||
@@ -16,7 +16,7 @@
|
@@ -16,7 +16,7 @@
|
||||||
|
@ -66,8 +62,6 @@ index d805d8a..7c77a88 100644
|
||||||
|
|
||||||
#define NVRAM_MAGIC 0x48534C46 /* 'FLSH' */
|
#define NVRAM_MAGIC 0x48534C46 /* 'FLSH' */
|
||||||
#define NVRAM_SPACE 0x8000
|
#define NVRAM_SPACE 0x8000
|
||||||
diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
|
|
||||||
index e43b504..b26c9c2 100644
|
|
||||||
--- a/arch/mips/bcm47xx/setup.c
|
--- a/arch/mips/bcm47xx/setup.c
|
||||||
+++ b/arch/mips/bcm47xx/setup.c
|
+++ b/arch/mips/bcm47xx/setup.c
|
||||||
@@ -42,7 +42,6 @@
|
@@ -42,7 +42,6 @@
|
||||||
|
@ -78,8 +72,6 @@ index e43b504..b26c9c2 100644
|
||||||
#include <bcm47xx_board.h>
|
#include <bcm47xx_board.h>
|
||||||
|
|
||||||
union bcm47xx_bus bcm47xx_bus;
|
union bcm47xx_bus bcm47xx_bus;
|
||||||
diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
|
|
||||||
index eff9205..c114b02 100644
|
|
||||||
--- a/arch/mips/bcm47xx/sprom.c
|
--- a/arch/mips/bcm47xx/sprom.c
|
||||||
+++ b/arch/mips/bcm47xx/sprom.c
|
+++ b/arch/mips/bcm47xx/sprom.c
|
||||||
@@ -27,7 +27,6 @@
|
@@ -27,7 +27,6 @@
|
||||||
|
@ -90,8 +82,6 @@ index eff9205..c114b02 100644
|
||||||
#include <linux/if_ether.h>
|
#include <linux/if_ether.h>
|
||||||
#include <linux/etherdevice.h>
|
#include <linux/etherdevice.h>
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/time.c b/arch/mips/bcm47xx/time.c
|
|
||||||
index 2c85d92..5b46510 100644
|
|
||||||
--- a/arch/mips/bcm47xx/time.c
|
--- a/arch/mips/bcm47xx/time.c
|
||||||
+++ b/arch/mips/bcm47xx/time.c
|
+++ b/arch/mips/bcm47xx/time.c
|
||||||
@@ -27,7 +27,6 @@
|
@@ -27,7 +27,6 @@
|
||||||
|
@ -102,8 +92,6 @@ index 2c85d92..5b46510 100644
|
||||||
#include <bcm47xx_board.h>
|
#include <bcm47xx_board.h>
|
||||||
|
|
||||||
void __init plat_time_init(void)
|
void __init plat_time_init(void)
|
||||||
diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
|
|
||||||
index 7527c1d..8ed77f6 100644
|
|
||||||
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
|
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
|
||||||
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
|
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
|
||||||
@@ -22,6 +22,7 @@
|
@@ -22,6 +22,7 @@
|
||||||
|
@ -139,8 +127,6 @@ index 7527c1d..8ed77f6 100644
|
||||||
-
|
-
|
||||||
-#endif /* __BCM47XX_NVRAM_H */
|
-#endif /* __BCM47XX_NVRAM_H */
|
||||||
+#include <linux/bcm47xx_nvram.h>
|
+#include <linux/bcm47xx_nvram.h>
|
||||||
diff --git a/drivers/bcma/driver_mips.c b/drivers/bcma/driver_mips.c
|
|
||||||
index 04faf6d..24424f3 100644
|
|
||||||
--- a/drivers/bcma/driver_mips.c
|
--- a/drivers/bcma/driver_mips.c
|
||||||
+++ b/drivers/bcma/driver_mips.c
|
+++ b/drivers/bcma/driver_mips.c
|
||||||
@@ -21,7 +21,7 @@
|
@@ -21,7 +21,7 @@
|
||||||
|
@ -152,11 +138,9 @@ index 04faf6d..24424f3 100644
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
enum bcma_boot_dev {
|
enum bcma_boot_dev {
|
||||||
diff --git a/drivers/net/ethernet/broadcom/b44.c b/drivers/net/ethernet/broadcom/b44.c
|
|
||||||
index bd5916a..77363d6 100644
|
|
||||||
--- a/drivers/net/ethernet/broadcom/b44.c
|
--- a/drivers/net/ethernet/broadcom/b44.c
|
||||||
+++ b/drivers/net/ethernet/broadcom/b44.c
|
+++ b/drivers/net/ethernet/broadcom/b44.c
|
||||||
@@ -400,7 +400,7 @@ static void b44_set_flow_ctrl(struct b44 *bp, u32 local, u32 remote)
|
@@ -400,7 +400,7 @@ static void b44_set_flow_ctrl(struct b44
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_BCM47XX
|
#ifdef CONFIG_BCM47XX
|
||||||
|
@ -165,8 +149,6 @@ index bd5916a..77363d6 100644
|
||||||
static void b44_wap54g10_workaround(struct b44 *bp)
|
static void b44_wap54g10_workaround(struct b44 *bp)
|
||||||
{
|
{
|
||||||
char buf[20];
|
char buf[20];
|
||||||
diff --git a/drivers/net/ethernet/broadcom/bgmac.c b/drivers/net/ethernet/broadcom/bgmac.c
|
|
||||||
index 0469f72..be059df 100644
|
|
||||||
--- a/drivers/net/ethernet/broadcom/bgmac.c
|
--- a/drivers/net/ethernet/broadcom/bgmac.c
|
||||||
+++ b/drivers/net/ethernet/broadcom/bgmac.c
|
+++ b/drivers/net/ethernet/broadcom/bgmac.c
|
||||||
@@ -18,7 +18,7 @@
|
@@ -18,7 +18,7 @@
|
||||||
|
@ -178,8 +160,6 @@ index 0469f72..be059df 100644
|
||||||
|
|
||||||
static const struct bcma_device_id bgmac_bcma_tbl[] = {
|
static const struct bcma_device_id bgmac_bcma_tbl[] = {
|
||||||
BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_4706_MAC_GBIT, BCMA_ANY_REV, BCMA_ANY_CLASS),
|
BCMA_CORE(BCMA_MANUF_BCM, BCMA_CORE_4706_MAC_GBIT, BCMA_ANY_REV, BCMA_ANY_CLASS),
|
||||||
diff --git a/drivers/ssb/driver_chipcommon_pmu.c b/drivers/ssb/driver_chipcommon_pmu.c
|
|
||||||
index 1173a09..0942841 100644
|
|
||||||
--- a/drivers/ssb/driver_chipcommon_pmu.c
|
--- a/drivers/ssb/driver_chipcommon_pmu.c
|
||||||
+++ b/drivers/ssb/driver_chipcommon_pmu.c
|
+++ b/drivers/ssb/driver_chipcommon_pmu.c
|
||||||
@@ -14,7 +14,7 @@
|
@@ -14,7 +14,7 @@
|
||||||
|
@ -191,8 +171,6 @@ index 1173a09..0942841 100644
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "ssb_private.h"
|
#include "ssb_private.h"
|
||||||
diff --git a/drivers/ssb/driver_mipscore.c b/drivers/ssb/driver_mipscore.c
|
|
||||||
index 7b986f9..f87efef 100644
|
|
||||||
--- a/drivers/ssb/driver_mipscore.c
|
--- a/drivers/ssb/driver_mipscore.c
|
||||||
+++ b/drivers/ssb/driver_mipscore.c
|
+++ b/drivers/ssb/driver_mipscore.c
|
||||||
@@ -16,7 +16,7 @@
|
@@ -16,7 +16,7 @@
|
||||||
|
@ -204,9 +182,6 @@ index 7b986f9..f87efef 100644
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "ssb_private.h"
|
#include "ssb_private.h"
|
||||||
diff --git a/include/linux/bcm47xx_nvram.h b/include/linux/bcm47xx_nvram.h
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..b12b07e
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/include/linux/bcm47xx_nvram.h
|
+++ b/include/linux/bcm47xx_nvram.h
|
||||||
@@ -0,0 +1,34 @@
|
@@ -0,0 +1,34 @@
|
||||||
|
@ -244,6 +219,3 @@ index 0000000..b12b07e
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
+#endif /* __BCM47XX_NVRAM_H */
|
+#endif /* __BCM47XX_NVRAM_H */
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -25,8 +25,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/time.c | 1 -
|
arch/mips/bcm47xx/time.c | 1 -
|
||||||
8 files changed, 34 insertions(+), 30 deletions(-)
|
8 files changed, 34 insertions(+), 30 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/bcm47xx_private.h b/arch/mips/bcm47xx/bcm47xx_private.h
|
|
||||||
index ea909a5..41796be 100644
|
|
||||||
--- a/arch/mips/bcm47xx/bcm47xx_private.h
|
--- a/arch/mips/bcm47xx/bcm47xx_private.h
|
||||||
+++ b/arch/mips/bcm47xx/bcm47xx_private.h
|
+++ b/arch/mips/bcm47xx/bcm47xx_private.h
|
||||||
@@ -1,6 +1,10 @@
|
@@ -1,6 +1,10 @@
|
||||||
|
@ -40,8 +38,6 @@ index ea909a5..41796be 100644
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
|
|
||||||
/* prom.c */
|
/* prom.c */
|
||||||
diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
|
|
||||||
index 6e85130..d4a5a51 100644
|
|
||||||
--- a/arch/mips/bcm47xx/board.c
|
--- a/arch/mips/bcm47xx/board.c
|
||||||
+++ b/arch/mips/bcm47xx/board.c
|
+++ b/arch/mips/bcm47xx/board.c
|
||||||
@@ -330,9 +330,8 @@ void __init bcm47xx_board_detect(void)
|
@@ -330,9 +330,8 @@ void __init bcm47xx_board_detect(void)
|
||||||
|
@ -55,8 +51,6 @@ index 6e85130..d4a5a51 100644
|
||||||
|
|
||||||
board_detected = bcm47xx_board_get_nvram();
|
board_detected = bcm47xx_board_get_nvram();
|
||||||
bcm47xx_board.board = board_detected->board;
|
bcm47xx_board.board = board_detected->board;
|
||||||
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
|
|
||||||
index 7c77a88..6a97732 100644
|
|
||||||
--- a/arch/mips/bcm47xx/nvram.c
|
--- a/arch/mips/bcm47xx/nvram.c
|
||||||
+++ b/arch/mips/bcm47xx/nvram.c
|
+++ b/arch/mips/bcm47xx/nvram.c
|
||||||
@@ -18,8 +18,10 @@
|
@@ -18,8 +18,10 @@
|
||||||
|
@ -83,7 +77,7 @@ index 7c77a88..6a97732 100644
|
||||||
for (i = 0; i < sizeof(struct nvram_header); i += 4)
|
for (i = 0; i < sizeof(struct nvram_header); i += 4)
|
||||||
*dst++ = __raw_readl(src++);
|
*dst++ = __raw_readl(src++);
|
||||||
for (; i < header->len && i < NVRAM_SPACE && i < size; i += 4)
|
for (; i < header->len && i < NVRAM_SPACE && i < size; i += 4)
|
||||||
@@ -189,7 +191,8 @@ int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len)
|
@@ -189,7 +191,8 @@ int bcm47xx_nvram_getenv(const char *nam
|
||||||
/* Look for name=value and return value */
|
/* Look for name=value and return value */
|
||||||
var = &nvram_buf[sizeof(struct nvram_header)];
|
var = &nvram_buf[sizeof(struct nvram_header)];
|
||||||
end = nvram_buf + sizeof(nvram_buf) - 2;
|
end = nvram_buf + sizeof(nvram_buf) - 2;
|
||||||
|
@ -93,7 +87,7 @@ index 7c77a88..6a97732 100644
|
||||||
for (; *var; var = value + strlen(value) + 1) {
|
for (; *var; var = value + strlen(value) + 1) {
|
||||||
data_left = end - var;
|
data_left = end - var;
|
||||||
|
|
||||||
@@ -197,11 +200,10 @@ int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len)
|
@@ -197,11 +200,10 @@ int bcm47xx_nvram_getenv(const char *nam
|
||||||
if (!eq)
|
if (!eq)
|
||||||
break;
|
break;
|
||||||
value = eq + 1;
|
value = eq + 1;
|
||||||
|
@ -122,8 +116,6 @@ index 7c77a88..6a97732 100644
|
||||||
err = snprintf(nvram_var, sizeof(nvram_var), "gpio%i", i);
|
err = snprintf(nvram_var, sizeof(nvram_var), "gpio%i", i);
|
||||||
if (err <= 0)
|
if (err <= 0)
|
||||||
continue;
|
continue;
|
||||||
diff --git a/arch/mips/bcm47xx/prom.c b/arch/mips/bcm47xx/prom.c
|
|
||||||
index 1b170bf..ab698ba 100644
|
|
||||||
--- a/arch/mips/bcm47xx/prom.c
|
--- a/arch/mips/bcm47xx/prom.c
|
||||||
+++ b/arch/mips/bcm47xx/prom.c
|
+++ b/arch/mips/bcm47xx/prom.c
|
||||||
@@ -35,7 +35,6 @@
|
@@ -35,7 +35,6 @@
|
||||||
|
@ -143,11 +135,9 @@ index 1b170bf..ab698ba 100644
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (!memcmp(prom_init, prom_init + mem, 32))
|
if (!memcmp(prom_init, prom_init + mem, 32))
|
||||||
diff --git a/arch/mips/bcm47xx/serial.c b/arch/mips/bcm47xx/serial.c
|
|
||||||
index 2f5bbd6..df761d3 100644
|
|
||||||
--- a/arch/mips/bcm47xx/serial.c
|
--- a/arch/mips/bcm47xx/serial.c
|
||||||
+++ b/arch/mips/bcm47xx/serial.c
|
+++ b/arch/mips/bcm47xx/serial.c
|
||||||
@@ -36,8 +36,8 @@ static int __init uart8250_init_ssb(void)
|
@@ -36,8 +36,8 @@ static int __init uart8250_init_ssb(void
|
||||||
struct plat_serial8250_port *p = &(uart8250_data[i]);
|
struct plat_serial8250_port *p = &(uart8250_data[i]);
|
||||||
struct ssb_serial_port *ssb_port = &(mcore->serial_ports[i]);
|
struct ssb_serial_port *ssb_port = &(mcore->serial_ports[i]);
|
||||||
|
|
||||||
|
@ -158,7 +148,7 @@ index 2f5bbd6..df761d3 100644
|
||||||
p->irq = ssb_port->irq + 2;
|
p->irq = ssb_port->irq + 2;
|
||||||
p->uartclk = ssb_port->baud_base;
|
p->uartclk = ssb_port->baud_base;
|
||||||
p->regshift = ssb_port->reg_shift;
|
p->regshift = ssb_port->reg_shift;
|
||||||
@@ -62,8 +62,8 @@ static int __init uart8250_init_bcma(void)
|
@@ -62,8 +62,8 @@ static int __init uart8250_init_bcma(voi
|
||||||
struct bcma_serial_port *bcma_port;
|
struct bcma_serial_port *bcma_port;
|
||||||
bcma_port = &(cc->serial_ports[i]);
|
bcma_port = &(cc->serial_ports[i]);
|
||||||
|
|
||||||
|
@ -169,8 +159,6 @@ index 2f5bbd6..df761d3 100644
|
||||||
p->irq = bcma_port->irq;
|
p->irq = bcma_port->irq;
|
||||||
p->uartclk = bcma_port->baud_base;
|
p->uartclk = bcma_port->baud_base;
|
||||||
p->regshift = bcma_port->reg_shift;
|
p->regshift = bcma_port->reg_shift;
|
||||||
diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
|
|
||||||
index b26c9c2..82ff9fd 100644
|
|
||||||
--- a/arch/mips/bcm47xx/setup.c
|
--- a/arch/mips/bcm47xx/setup.c
|
||||||
+++ b/arch/mips/bcm47xx/setup.c
|
+++ b/arch/mips/bcm47xx/setup.c
|
||||||
@@ -52,7 +52,7 @@ EXPORT_SYMBOL(bcm47xx_bus_type);
|
@@ -52,7 +52,7 @@ EXPORT_SYMBOL(bcm47xx_bus_type);
|
||||||
|
@ -182,7 +170,7 @@ index b26c9c2..82ff9fd 100644
|
||||||
local_irq_disable();
|
local_irq_disable();
|
||||||
/* Set the watchdog timer to reset immediately */
|
/* Set the watchdog timer to reset immediately */
|
||||||
switch (bcm47xx_bus_type) {
|
switch (bcm47xx_bus_type) {
|
||||||
@@ -107,7 +107,7 @@ static int bcm47xx_get_invariants(struct ssb_bus *bus,
|
@@ -107,7 +107,7 @@ static int bcm47xx_get_invariants(struct
|
||||||
char buf[20];
|
char buf[20];
|
||||||
|
|
||||||
/* Fill boardinfo structure */
|
/* Fill boardinfo structure */
|
||||||
|
@ -191,7 +179,7 @@ index b26c9c2..82ff9fd 100644
|
||||||
|
|
||||||
bcm47xx_fill_ssb_boardinfo(&iv->boardinfo, NULL);
|
bcm47xx_fill_ssb_boardinfo(&iv->boardinfo, NULL);
|
||||||
|
|
||||||
@@ -126,7 +126,7 @@ static void __init bcm47xx_register_ssb(void)
|
@@ -126,7 +126,7 @@ static void __init bcm47xx_register_ssb(
|
||||||
char buf[100];
|
char buf[100];
|
||||||
struct ssb_mipscore *mcore;
|
struct ssb_mipscore *mcore;
|
||||||
|
|
||||||
|
@ -200,7 +188,7 @@ index b26c9c2..82ff9fd 100644
|
||||||
bcm47xx_get_invariants);
|
bcm47xx_get_invariants);
|
||||||
if (err)
|
if (err)
|
||||||
panic("Failed to initialize SSB bus (err %d)", err);
|
panic("Failed to initialize SSB bus (err %d)", err);
|
||||||
@@ -136,7 +136,7 @@ static void __init bcm47xx_register_ssb(void)
|
@@ -136,7 +136,7 @@ static void __init bcm47xx_register_ssb(
|
||||||
if (strstr(buf, "console=ttyS1")) {
|
if (strstr(buf, "console=ttyS1")) {
|
||||||
struct ssb_serial_port port;
|
struct ssb_serial_port port;
|
||||||
|
|
||||||
|
@ -227,11 +215,9 @@ index b26c9c2..82ff9fd 100644
|
||||||
#ifdef CONFIG_BCM47XX_SSB
|
#ifdef CONFIG_BCM47XX_SSB
|
||||||
bcm47xx_bus_type = BCM47XX_BUS_TYPE_SSB;
|
bcm47xx_bus_type = BCM47XX_BUS_TYPE_SSB;
|
||||||
bcm47xx_sprom_register_fallbacks();
|
bcm47xx_sprom_register_fallbacks();
|
||||||
diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
|
|
||||||
index c114b02..5d32afc 100644
|
|
||||||
--- a/arch/mips/bcm47xx/sprom.c
|
--- a/arch/mips/bcm47xx/sprom.c
|
||||||
+++ b/arch/mips/bcm47xx/sprom.c
|
+++ b/arch/mips/bcm47xx/sprom.c
|
||||||
@@ -780,8 +780,8 @@ void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
|
@@ -780,8 +780,8 @@ void bcm47xx_fill_sprom(struct ssb_sprom
|
||||||
bcm47xx_fill_sprom_path_r4589(sprom, prefix, fallback);
|
bcm47xx_fill_sprom_path_r4589(sprom, prefix, fallback);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -242,7 +228,7 @@ index c114b02..5d32afc 100644
|
||||||
sprom->revision = 1;
|
sprom->revision = 1;
|
||||||
bcm47xx_fill_sprom_r1234589(sprom, prefix, fallback);
|
bcm47xx_fill_sprom_r1234589(sprom, prefix, fallback);
|
||||||
bcm47xx_fill_sprom_r12389(sprom, prefix, fallback);
|
bcm47xx_fill_sprom_r12389(sprom, prefix, fallback);
|
||||||
@@ -828,7 +828,7 @@ static int bcm47xx_get_sprom_ssb(struct ssb_bus *bus, struct ssb_sprom *out)
|
@@ -828,7 +828,7 @@ static int bcm47xx_get_sprom_ssb(struct
|
||||||
bcm47xx_fill_sprom(out, prefix, false);
|
bcm47xx_fill_sprom(out, prefix, false);
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
|
@ -251,7 +237,7 @@ index c114b02..5d32afc 100644
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -893,7 +893,7 @@ static int bcm47xx_get_sprom_bcma(struct bcma_bus *bus, struct ssb_sprom *out)
|
@@ -893,7 +893,7 @@ static int bcm47xx_get_sprom_bcma(struct
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
default:
|
default:
|
||||||
|
@ -260,8 +246,6 @@ index c114b02..5d32afc 100644
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
diff --git a/arch/mips/bcm47xx/time.c b/arch/mips/bcm47xx/time.c
|
|
||||||
index 5b46510..74224cf 100644
|
|
||||||
--- a/arch/mips/bcm47xx/time.c
|
--- a/arch/mips/bcm47xx/time.c
|
||||||
+++ b/arch/mips/bcm47xx/time.c
|
+++ b/arch/mips/bcm47xx/time.c
|
||||||
@@ -22,7 +22,6 @@
|
@@ -22,7 +22,6 @@
|
||||||
|
@ -272,6 +256,3 @@ index 5b46510..74224cf 100644
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/ssb/ssb.h>
|
#include <linux/ssb/ssb.h>
|
||||||
#include <asm/time.h>
|
#include <asm/time.h>
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -17,8 +17,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/nvram.c | 3 ++-
|
arch/mips/bcm47xx/nvram.c | 3 ++-
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
|
|
||||||
index 6a97732..2357ea3 100644
|
|
||||||
--- a/arch/mips/bcm47xx/nvram.c
|
--- a/arch/mips/bcm47xx/nvram.c
|
||||||
+++ b/arch/mips/bcm47xx/nvram.c
|
+++ b/arch/mips/bcm47xx/nvram.c
|
||||||
@@ -11,6 +11,7 @@
|
@@ -11,6 +11,7 @@
|
||||||
|
@ -29,7 +27,7 @@ index 6a97732..2357ea3 100644
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
@@ -203,7 +204,7 @@ int bcm47xx_nvram_getenv(const char *name, char *val, size_t val_len)
|
@@ -203,7 +204,7 @@ int bcm47xx_nvram_getenv(const char *nam
|
||||||
if (eq - var == strlen(name) &&
|
if (eq - var == strlen(name) &&
|
||||||
strncmp(var, name, eq - var) == 0)
|
strncmp(var, name, eq - var) == 0)
|
||||||
return snprintf(val, val_len, "%s", value);
|
return snprintf(val, val_len, "%s", value);
|
||||||
|
@ -38,6 +36,3 @@ index 6a97732..2357ea3 100644
|
||||||
return -ENOENT;
|
return -ENOENT;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(bcm47xx_nvram_getenv);
|
EXPORT_SYMBOL(bcm47xx_nvram_getenv);
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/nvram.c | 2 +-
|
arch/mips/bcm47xx/nvram.c | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
|
|
||||||
index 2357ea3..2ac7482 100644
|
|
||||||
--- a/arch/mips/bcm47xx/nvram.c
|
--- a/arch/mips/bcm47xx/nvram.c
|
||||||
+++ b/arch/mips/bcm47xx/nvram.c
|
+++ b/arch/mips/bcm47xx/nvram.c
|
||||||
@@ -20,7 +20,7 @@
|
@@ -20,7 +20,7 @@
|
||||||
|
@ -32,6 +30,3 @@ index 2357ea3..2ac7482 100644
|
||||||
#define NVRAM_MAX_GPIO_ENTRIES 32
|
#define NVRAM_MAX_GPIO_ENTRIES 32
|
||||||
#define NVRAM_MAX_GPIO_VALUE_LEN 30
|
#define NVRAM_MAX_GPIO_VALUE_LEN 30
|
||||||
|
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/nvram.c | 36 ++++++++++++++----------------------
|
arch/mips/bcm47xx/nvram.c | 36 ++++++++++++++----------------------
|
||||||
1 file changed, 14 insertions(+), 22 deletions(-)
|
1 file changed, 14 insertions(+), 22 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/nvram.c b/arch/mips/bcm47xx/nvram.c
|
|
||||||
index 2ac7482..ba632ff 100644
|
|
||||||
--- a/arch/mips/bcm47xx/nvram.c
|
--- a/arch/mips/bcm47xx/nvram.c
|
||||||
+++ b/arch/mips/bcm47xx/nvram.c
|
+++ b/arch/mips/bcm47xx/nvram.c
|
||||||
@@ -139,36 +139,28 @@ static int nvram_init(void)
|
@@ -139,36 +139,28 @@ static int nvram_init(void)
|
||||||
|
@ -39,28 +37,29 @@ index 2ac7482..ba632ff 100644
|
||||||
-
|
-
|
||||||
- if (from < 0)
|
- if (from < 0)
|
||||||
- continue;
|
- continue;
|
||||||
-
|
|
||||||
- err = mtd_read(mtd, from, sizeof(header), &bytes_read,
|
|
||||||
- (uint8_t *)&header);
|
|
||||||
- if (!err && header.magic == NVRAM_MAGIC) {
|
|
||||||
- u8 *dst = (uint8_t *)nvram_buf;
|
|
||||||
- size_t len = header.len;
|
|
||||||
+ err = mtd_read(mtd, 0, sizeof(header), &bytes_read, (uint8_t *)&header);
|
+ err = mtd_read(mtd, 0, sizeof(header), &bytes_read, (uint8_t *)&header);
|
||||||
+ if (!err && header.magic == NVRAM_MAGIC) {
|
+ if (!err && header.magic == NVRAM_MAGIC) {
|
||||||
+ u8 *dst = (uint8_t *)nvram_buf;
|
+ u8 *dst = (uint8_t *)nvram_buf;
|
||||||
+ size_t len = header.len;
|
+ size_t len = header.len;
|
||||||
|
+
|
||||||
- if (header.len > NVRAM_SPACE) {
|
|
||||||
- pr_err("nvram on flash (%i bytes) is bigger than the reserved space in memory, will just copy the first %i bytes\n",
|
|
||||||
- header.len, NVRAM_SPACE);
|
|
||||||
- len = NVRAM_SPACE;
|
|
||||||
- }
|
|
||||||
+ if (header.len > NVRAM_SPACE) {
|
+ if (header.len > NVRAM_SPACE) {
|
||||||
+ pr_err("nvram on flash (%i bytes) is bigger than the reserved space in memory, will just copy the first %i bytes\n",
|
+ pr_err("nvram on flash (%i bytes) is bigger than the reserved space in memory, will just copy the first %i bytes\n",
|
||||||
+ header.len, NVRAM_SPACE);
|
+ header.len, NVRAM_SPACE);
|
||||||
+ len = NVRAM_SPACE;
|
+ len = NVRAM_SPACE;
|
||||||
+ }
|
+ }
|
||||||
|
|
||||||
|
- err = mtd_read(mtd, from, sizeof(header), &bytes_read,
|
||||||
|
- (uint8_t *)&header);
|
||||||
|
- if (!err && header.magic == NVRAM_MAGIC) {
|
||||||
|
- u8 *dst = (uint8_t *)nvram_buf;
|
||||||
|
- size_t len = header.len;
|
||||||
|
-
|
||||||
|
- if (header.len > NVRAM_SPACE) {
|
||||||
|
- pr_err("nvram on flash (%i bytes) is bigger than the reserved space in memory, will just copy the first %i bytes\n",
|
||||||
|
- header.len, NVRAM_SPACE);
|
||||||
|
- len = NVRAM_SPACE;
|
||||||
|
- }
|
||||||
|
-
|
||||||
- err = mtd_read(mtd, from, len, &bytes_read, dst);
|
- err = mtd_read(mtd, from, len, &bytes_read, dst);
|
||||||
- if (err)
|
- if (err)
|
||||||
- return err;
|
- return err;
|
||||||
|
@ -74,6 +73,3 @@ index 2ac7482..ba632ff 100644
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -16,11 +16,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/board.c | 48 ++++++++++++++++++++---------------------------
|
arch/mips/bcm47xx/board.c | 48 ++++++++++++++++++++---------------------------
|
||||||
1 file changed, 20 insertions(+), 28 deletions(-)
|
1 file changed, 20 insertions(+), 28 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
|
|
||||||
index d4a5a51..f936dcc 100644
|
|
||||||
--- a/arch/mips/bcm47xx/board.c
|
--- a/arch/mips/bcm47xx/board.c
|
||||||
+++ b/arch/mips/bcm47xx/board.c
|
+++ b/arch/mips/bcm47xx/board.c
|
||||||
@@ -40,20 +40,6 @@ struct bcm47xx_board_type_list1 bcm47xx_board_list_model_name[] __initconst = {
|
@@ -40,20 +40,6 @@ struct bcm47xx_board_type_list1 bcm47xx_
|
||||||
{ {0}, NULL},
|
{ {0}, NULL},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -41,7 +39,7 @@ index d4a5a51..f936dcc 100644
|
||||||
/* hardware_version */
|
/* hardware_version */
|
||||||
static const
|
static const
|
||||||
struct bcm47xx_board_type_list1 bcm47xx_board_list_hardware_version[] __initconst = {
|
struct bcm47xx_board_type_list1 bcm47xx_board_list_hardware_version[] __initconst = {
|
||||||
@@ -202,6 +188,18 @@ struct bcm47xx_board_type_list2 bcm47xx_board_list_board_type_rev[] __initconst
|
@@ -202,6 +188,18 @@ struct bcm47xx_board_type_list2 bcm47xx_
|
||||||
{ {0}, NULL},
|
{ {0}, NULL},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -60,7 +58,7 @@ index d4a5a51..f936dcc 100644
|
||||||
static const
|
static const
|
||||||
struct bcm47xx_board_type bcm47xx_board_unknown[] __initconst = {
|
struct bcm47xx_board_type bcm47xx_board_unknown[] __initconst = {
|
||||||
{BCM47XX_BOARD_UNKNOWN, "Unknown Board"},
|
{BCM47XX_BOARD_UNKNOWN, "Unknown Board"},
|
||||||
@@ -225,20 +223,6 @@ static __init const struct bcm47xx_board_type *bcm47xx_board_get_nvram(void)
|
@@ -225,20 +223,6 @@ static __init const struct bcm47xx_board
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -81,7 +79,7 @@ index d4a5a51..f936dcc 100644
|
||||||
if (bcm47xx_nvram_getenv("hardware_version", buf1, sizeof(buf1)) >= 0) {
|
if (bcm47xx_nvram_getenv("hardware_version", buf1, sizeof(buf1)) >= 0) {
|
||||||
for (e1 = bcm47xx_board_list_hardware_version; e1->value1; e1++) {
|
for (e1 = bcm47xx_board_list_hardware_version; e1->value1; e1++) {
|
||||||
if (strstarts(buf1, e1->value1))
|
if (strstarts(buf1, e1->value1))
|
||||||
@@ -314,6 +298,14 @@ static __init const struct bcm47xx_board_type *bcm47xx_board_get_nvram(void)
|
@@ -314,6 +298,14 @@ static __init const struct bcm47xx_board
|
||||||
return &e2->board;
|
return &e2->board;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,6 +94,3 @@ index d4a5a51..f936dcc 100644
|
||||||
return bcm47xx_board_unknown;
|
return bcm47xx_board_unknown;
|
||||||
}
|
}
|
||||||
|
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,6 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 4 ++++
|
arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 4 ++++
|
||||||
4 files changed, 36 insertions(+)
|
4 files changed, 36 insertions(+)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/board.c b/arch/mips/bcm47xx/board.c
|
|
||||||
index f936dcc..41b9736 100644
|
|
||||||
--- a/arch/mips/bcm47xx/board.c
|
--- a/arch/mips/bcm47xx/board.c
|
||||||
+++ b/arch/mips/bcm47xx/board.c
|
+++ b/arch/mips/bcm47xx/board.c
|
||||||
@@ -151,9 +151,11 @@ static const
|
@@ -151,9 +151,11 @@ static const
|
||||||
|
@ -34,7 +32,7 @@ index f936dcc..41b9736 100644
|
||||||
{{BCM47XX_BOARD_NETGEAR_WNDR3400VCNA, "Netgear WNDR3400 Vcna"}, "U12H155T01_NETGEAR"},
|
{{BCM47XX_BOARD_NETGEAR_WNDR3400VCNA, "Netgear WNDR3400 Vcna"}, "U12H155T01_NETGEAR"},
|
||||||
{{BCM47XX_BOARD_NETGEAR_WNDR3700V3, "Netgear WNDR3700 V3"}, "U12H194T00_NETGEAR"},
|
{{BCM47XX_BOARD_NETGEAR_WNDR3700V3, "Netgear WNDR3700 V3"}, "U12H194T00_NETGEAR"},
|
||||||
{{BCM47XX_BOARD_NETGEAR_WNDR4000, "Netgear WNDR4000"}, "U12H181T00_NETGEAR"},
|
{{BCM47XX_BOARD_NETGEAR_WNDR4000, "Netgear WNDR4000"}, "U12H181T00_NETGEAR"},
|
||||||
@@ -196,6 +198,8 @@ struct bcm47xx_board_type_list2 bcm47xx_board_list_board_type_rev[] __initconst
|
@@ -196,6 +198,8 @@ struct bcm47xx_board_type_list2 bcm47xx_
|
||||||
static const
|
static const
|
||||||
struct bcm47xx_board_type_list2 bcm47xx_board_list_key_value[] __initconst = {
|
struct bcm47xx_board_type_list2 bcm47xx_board_list_key_value[] __initconst = {
|
||||||
{{BCM47XX_BOARD_ASUS_WL700GE, "Asus WL700"}, "model_no", "WL700"},
|
{{BCM47XX_BOARD_ASUS_WL700GE, "Asus WL700"}, "model_no", "WL700"},
|
||||||
|
@ -43,11 +41,9 @@ index f936dcc..41b9736 100644
|
||||||
{{BCM47XX_BOARD_LINKSYS_WRTSL54GS, "Linksys WRTSL54GS"}, "machine_name", "WRTSL54GS"},
|
{{BCM47XX_BOARD_LINKSYS_WRTSL54GS, "Linksys WRTSL54GS"}, "machine_name", "WRTSL54GS"},
|
||||||
{ {0}, NULL},
|
{ {0}, NULL},
|
||||||
};
|
};
|
||||||
diff --git a/arch/mips/bcm47xx/buttons.c b/arch/mips/bcm47xx/buttons.c
|
|
||||||
index 913182b..276276a 100644
|
|
||||||
--- a/arch/mips/bcm47xx/buttons.c
|
--- a/arch/mips/bcm47xx/buttons.c
|
||||||
+++ b/arch/mips/bcm47xx/buttons.c
|
+++ b/arch/mips/bcm47xx/buttons.c
|
||||||
@@ -252,6 +252,12 @@ bcm47xx_buttons_linksys_wrt160nv3[] __initconst = {
|
@@ -252,6 +252,12 @@ bcm47xx_buttons_linksys_wrt160nv3[] __in
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct gpio_keys_button
|
static const struct gpio_keys_button
|
||||||
|
@ -60,7 +56,7 @@ index 913182b..276276a 100644
|
||||||
bcm47xx_buttons_linksys_wrt300nv11[] __initconst = {
|
bcm47xx_buttons_linksys_wrt300nv11[] __initconst = {
|
||||||
BCM47XX_GPIO_KEY(4, KEY_UNKNOWN),
|
BCM47XX_GPIO_KEY(4, KEY_UNKNOWN),
|
||||||
BCM47XX_GPIO_KEY(6, KEY_RESTART),
|
BCM47XX_GPIO_KEY(6, KEY_RESTART),
|
||||||
@@ -327,6 +333,12 @@ bcm47xx_buttons_netgear_wndr3400v1[] __initconst = {
|
@@ -327,6 +333,12 @@ bcm47xx_buttons_netgear_wndr3400v1[] __i
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct gpio_keys_button
|
static const struct gpio_keys_button
|
||||||
|
@ -73,7 +69,7 @@ index 913182b..276276a 100644
|
||||||
bcm47xx_buttons_netgear_wndr3700v3[] __initconst = {
|
bcm47xx_buttons_netgear_wndr3700v3[] __initconst = {
|
||||||
BCM47XX_GPIO_KEY(2, KEY_RFKILL),
|
BCM47XX_GPIO_KEY(2, KEY_RFKILL),
|
||||||
BCM47XX_GPIO_KEY(3, KEY_RESTART),
|
BCM47XX_GPIO_KEY(3, KEY_RESTART),
|
||||||
@@ -516,6 +528,9 @@ int __init bcm47xx_buttons_register(void)
|
@@ -516,6 +528,9 @@ int __init bcm47xx_buttons_register(void
|
||||||
case BCM47XX_BOARD_LINKSYS_WRT160NV3:
|
case BCM47XX_BOARD_LINKSYS_WRT160NV3:
|
||||||
err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt160nv3);
|
err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt160nv3);
|
||||||
break;
|
break;
|
||||||
|
@ -83,7 +79,7 @@ index 913182b..276276a 100644
|
||||||
case BCM47XX_BOARD_LINKSYS_WRT300NV11:
|
case BCM47XX_BOARD_LINKSYS_WRT300NV11:
|
||||||
err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt300nv11);
|
err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_wrt300nv11);
|
||||||
break;
|
break;
|
||||||
@@ -557,6 +572,9 @@ int __init bcm47xx_buttons_register(void)
|
@@ -557,6 +572,9 @@ int __init bcm47xx_buttons_register(void
|
||||||
case BCM47XX_BOARD_NETGEAR_WNDR3400V1:
|
case BCM47XX_BOARD_NETGEAR_WNDR3400V1:
|
||||||
err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1);
|
err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3400v1);
|
||||||
break;
|
break;
|
||||||
|
@ -93,11 +89,9 @@ index 913182b..276276a 100644
|
||||||
case BCM47XX_BOARD_NETGEAR_WNDR3700V3:
|
case BCM47XX_BOARD_NETGEAR_WNDR3700V3:
|
||||||
err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3700v3);
|
err = bcm47xx_copy_bdata(bcm47xx_buttons_netgear_wndr3700v3);
|
||||||
break;
|
break;
|
||||||
diff --git a/arch/mips/bcm47xx/leds.c b/arch/mips/bcm47xx/leds.c
|
|
||||||
index 903a656..0e4ade3 100644
|
|
||||||
--- a/arch/mips/bcm47xx/leds.c
|
--- a/arch/mips/bcm47xx/leds.c
|
||||||
+++ b/arch/mips/bcm47xx/leds.c
|
+++ b/arch/mips/bcm47xx/leds.c
|
||||||
@@ -292,6 +292,13 @@ bcm47xx_leds_linksys_wrt160nv3[] __initconst = {
|
@@ -292,6 +292,13 @@ bcm47xx_leds_linksys_wrt160nv3[] __initc
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct gpio_led
|
static const struct gpio_led
|
||||||
|
@ -121,8 +115,6 @@ index 903a656..0e4ade3 100644
|
||||||
case BCM47XX_BOARD_LINKSYS_WRT300NV11:
|
case BCM47XX_BOARD_LINKSYS_WRT300NV11:
|
||||||
bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300nv11);
|
bcm47xx_set_pdata(bcm47xx_leds_linksys_wrt300nv11);
|
||||||
break;
|
break;
|
||||||
diff --git a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
|
|
||||||
index 1f5643b..c41d1dc 100644
|
|
||||||
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
|
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
|
||||||
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
|
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
|
||||||
@@ -67,6 +67,7 @@ enum bcm47xx_board {
|
@@ -67,6 +67,7 @@ enum bcm47xx_board {
|
||||||
|
@ -153,6 +145,3 @@ index 1f5643b..c41d1dc 100644
|
||||||
BCM47XX_BOARD_NETGEAR_WNDR3400VCNA,
|
BCM47XX_BOARD_NETGEAR_WNDR3400VCNA,
|
||||||
BCM47XX_BOARD_NETGEAR_WNDR3700V3,
|
BCM47XX_BOARD_NETGEAR_WNDR3700V3,
|
||||||
BCM47XX_BOARD_NETGEAR_WNDR4000,
|
BCM47XX_BOARD_NETGEAR_WNDR4000,
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -23,11 +23,9 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/sprom.c | 32 +++++++++++++++++++++++++++++---
|
arch/mips/bcm47xx/sprom.c | 32 +++++++++++++++++++++++++++++---
|
||||||
1 file changed, 29 insertions(+), 3 deletions(-)
|
1 file changed, 29 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
|
|
||||||
index 5d32afc..77790c9 100644
|
|
||||||
--- a/arch/mips/bcm47xx/sprom.c
|
--- a/arch/mips/bcm47xx/sprom.c
|
||||||
+++ b/arch/mips/bcm47xx/sprom.c
|
+++ b/arch/mips/bcm47xx/sprom.c
|
||||||
@@ -180,6 +180,33 @@ static void nvram_read_alpha2(const char *prefix, const char *name,
|
@@ -180,6 +180,33 @@ static void nvram_read_alpha2(const char
|
||||||
memcpy(val, buf, 2);
|
memcpy(val, buf, 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -61,7 +59,7 @@ index 5d32afc..77790c9 100644
|
||||||
static void bcm47xx_fill_sprom_r1234589(struct ssb_sprom *sprom,
|
static void bcm47xx_fill_sprom_r1234589(struct ssb_sprom *sprom,
|
||||||
const char *prefix, bool fallback)
|
const char *prefix, bool fallback)
|
||||||
{
|
{
|
||||||
@@ -714,9 +741,6 @@ static void bcm47xx_fill_sprom_ethernet(struct ssb_sprom *sprom,
|
@@ -714,9 +741,6 @@ static void bcm47xx_fill_sprom_ethernet(
|
||||||
static void bcm47xx_fill_board_data(struct ssb_sprom *sprom, const char *prefix,
|
static void bcm47xx_fill_board_data(struct ssb_sprom *sprom, const char *prefix,
|
||||||
bool fallback)
|
bool fallback)
|
||||||
{
|
{
|
||||||
|
@ -71,7 +69,7 @@ index 5d32afc..77790c9 100644
|
||||||
nvram_read_u16(prefix, NULL, "boardtype", &sprom->board_type, 0, true);
|
nvram_read_u16(prefix, NULL, "boardtype", &sprom->board_type, 0, true);
|
||||||
nvram_read_u32_2(prefix, "boardflags", &sprom->boardflags_lo,
|
nvram_read_u32_2(prefix, "boardflags", &sprom->boardflags_lo,
|
||||||
&sprom->boardflags_hi, fallback);
|
&sprom->boardflags_hi, fallback);
|
||||||
@@ -787,6 +811,8 @@ void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
|
@@ -787,6 +811,8 @@ void bcm47xx_fill_sprom(struct ssb_sprom
|
||||||
bcm47xx_fill_sprom_r12389(sprom, prefix, fallback);
|
bcm47xx_fill_sprom_r12389(sprom, prefix, fallback);
|
||||||
bcm47xx_fill_sprom_r1(sprom, prefix, fallback);
|
bcm47xx_fill_sprom_r1(sprom, prefix, fallback);
|
||||||
}
|
}
|
||||||
|
@ -80,6 +78,3 @@ index 5d32afc..77790c9 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_BCM47XX_SSB
|
#ifdef CONFIG_BCM47XX_SSB
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -27,22 +27,19 @@ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||||||
arch/mips/bcm47xx/sprom.c | 605 ++++++++++++++++------------------------------
|
arch/mips/bcm47xx/sprom.c | 605 ++++++++++++++++------------------------------
|
||||||
1 file changed, 204 insertions(+), 401 deletions(-)
|
1 file changed, 204 insertions(+), 401 deletions(-)
|
||||||
|
|
||||||
diff --git a/arch/mips/bcm47xx/sprom.c b/arch/mips/bcm47xx/sprom.c
|
|
||||||
index 77790c9..68ebf23 100644
|
|
||||||
--- a/arch/mips/bcm47xx/sprom.c
|
--- a/arch/mips/bcm47xx/sprom.c
|
||||||
+++ b/arch/mips/bcm47xx/sprom.c
|
+++ b/arch/mips/bcm47xx/sprom.c
|
||||||
@@ -201,9 +201,211 @@ static void bcm47xx_sprom_fill_auto(struct ssb_sprom *sprom,
|
@@ -201,9 +201,211 @@ static void bcm47xx_sprom_fill_auto(stru
|
||||||
bool fb = fallback;
|
bool fb = fallback;
|
||||||
|
|
||||||
ENTRY(0xfffffffe, u16, pre, "boardrev", board_rev, 0, true);
|
ENTRY(0xfffffffe, u16, pre, "boardrev", board_rev, 0, true);
|
||||||
+ ENTRY(0x00000002, u16, pre, "boardflags", boardflags_lo, 0, fb);
|
+ ENTRY(0x00000002, u16, pre, "boardflags", boardflags_lo, 0, fb);
|
||||||
+ ENTRY(0xfffffffc, u16, pre, "boardtype", board_type, 0, true);
|
+ ENTRY(0xfffffffc, u16, pre, "boardtype", board_type, 0, true);
|
||||||
ENTRY(0xfffffffe, u16, pre, "boardnum", board_num, 0, fb);
|
ENTRY(0xfffffffe, u16, pre, "boardnum", board_num, 0, fb);
|
||||||
-
|
|
||||||
- /* TODO: Move more mappings here */
|
|
||||||
+ ENTRY(0x00000002, u8, pre, "cc", country_code, 0, fb);
|
+ ENTRY(0x00000002, u8, pre, "cc", country_code, 0, fb);
|
||||||
+ ENTRY(0xfffffff8, u8, pre, "regrev", regrev, 0, fb);
|
+ ENTRY(0xfffffff8, u8, pre, "regrev", regrev, 0, fb);
|
||||||
+
|
|
||||||
|
- /* TODO: Move more mappings here */
|
||||||
+ ENTRY(0xfffffffe, u8, pre, "ledbh0", gpio0, 0xff, fb);
|
+ ENTRY(0xfffffffe, u8, pre, "ledbh0", gpio0, 0xff, fb);
|
||||||
+ ENTRY(0xfffffffe, u8, pre, "ledbh1", gpio1, 0xff, fb);
|
+ ENTRY(0xfffffffe, u8, pre, "ledbh1", gpio1, 0xff, fb);
|
||||||
+ ENTRY(0xfffffffe, u8, pre, "ledbh2", gpio2, 0xff, fb);
|
+ ENTRY(0xfffffffe, u8, pre, "ledbh2", gpio2, 0xff, fb);
|
||||||
|
@ -245,7 +242,7 @@ index 77790c9..68ebf23 100644
|
||||||
}
|
}
|
||||||
#undef ENTRY /* It's specififc, uses local variable, don't use it (again). */
|
#undef ENTRY /* It's specififc, uses local variable, don't use it (again). */
|
||||||
|
|
||||||
@@ -211,90 +413,12 @@ static void bcm47xx_fill_sprom_r1234589(struct ssb_sprom *sprom,
|
@@ -211,90 +413,12 @@ static void bcm47xx_fill_sprom_r1234589(
|
||||||
const char *prefix, bool fallback)
|
const char *prefix, bool fallback)
|
||||||
{
|
{
|
||||||
nvram_read_u16(prefix, NULL, "devid", &sprom->dev_id, 0, fallback);
|
nvram_read_u16(prefix, NULL, "devid", &sprom->dev_id, 0, fallback);
|
||||||
|
@ -336,7 +333,7 @@ index 77790c9..68ebf23 100644
|
||||||
nvram_read_leddc(prefix, "leddc", &sprom->leddc_on_time,
|
nvram_read_leddc(prefix, "leddc", &sprom->leddc_on_time,
|
||||||
&sprom->leddc_off_time, fallback);
|
&sprom->leddc_off_time, fallback);
|
||||||
}
|
}
|
||||||
@@ -302,309 +426,10 @@ static void bcm47xx_fill_sprom_r3(struct ssb_sprom *sprom, const char *prefix,
|
@@ -302,309 +426,10 @@ static void bcm47xx_fill_sprom_r3(struct
|
||||||
static void bcm47xx_fill_sprom_r4589(struct ssb_sprom *sprom,
|
static void bcm47xx_fill_sprom_r4589(struct ssb_sprom *sprom,
|
||||||
const char *prefix, bool fallback)
|
const char *prefix, bool fallback)
|
||||||
{
|
{
|
||||||
|
@ -646,7 +643,7 @@ index 77790c9..68ebf23 100644
|
||||||
static void bcm47xx_fill_sprom_path_r4589(struct ssb_sprom *sprom,
|
static void bcm47xx_fill_sprom_path_r4589(struct ssb_sprom *sprom,
|
||||||
const char *prefix, bool fallback)
|
const char *prefix, bool fallback)
|
||||||
{
|
{
|
||||||
@@ -741,7 +566,6 @@ static void bcm47xx_fill_sprom_ethernet(struct ssb_sprom *sprom,
|
@@ -741,7 +566,6 @@ static void bcm47xx_fill_sprom_ethernet(
|
||||||
static void bcm47xx_fill_board_data(struct ssb_sprom *sprom, const char *prefix,
|
static void bcm47xx_fill_board_data(struct ssb_sprom *sprom, const char *prefix,
|
||||||
bool fallback)
|
bool fallback)
|
||||||
{
|
{
|
||||||
|
@ -654,7 +651,7 @@ index 77790c9..68ebf23 100644
|
||||||
nvram_read_u32_2(prefix, "boardflags", &sprom->boardflags_lo,
|
nvram_read_u32_2(prefix, "boardflags", &sprom->boardflags_lo,
|
||||||
&sprom->boardflags_hi, fallback);
|
&sprom->boardflags_hi, fallback);
|
||||||
nvram_read_u32_2(prefix, "boardflags2", &sprom->boardflags2_lo,
|
nvram_read_u32_2(prefix, "boardflags2", &sprom->boardflags2_lo,
|
||||||
@@ -759,48 +583,29 @@ void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
|
@@ -759,48 +583,29 @@ void bcm47xx_fill_sprom(struct ssb_sprom
|
||||||
switch (sprom->revision) {
|
switch (sprom->revision) {
|
||||||
case 1:
|
case 1:
|
||||||
bcm47xx_fill_sprom_r1234589(sprom, prefix, fallback);
|
bcm47xx_fill_sprom_r1234589(sprom, prefix, fallback);
|
||||||
|
@ -703,7 +700,7 @@ index 77790c9..68ebf23 100644
|
||||||
bcm47xx_fill_sprom_path_r4589(sprom, prefix, fallback);
|
bcm47xx_fill_sprom_path_r4589(sprom, prefix, fallback);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -808,8 +613,6 @@ void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix,
|
@@ -808,8 +613,6 @@ void bcm47xx_fill_sprom(struct ssb_sprom
|
||||||
sprom->revision);
|
sprom->revision);
|
||||||
sprom->revision = 1;
|
sprom->revision = 1;
|
||||||
bcm47xx_fill_sprom_r1234589(sprom, prefix, fallback);
|
bcm47xx_fill_sprom_r1234589(sprom, prefix, fallback);
|
||||||
|
@ -712,6 +709,3 @@ index 77790c9..68ebf23 100644
|
||||||
}
|
}
|
||||||
|
|
||||||
bcm47xx_sprom_fill_auto(sprom, prefix, fallback);
|
bcm47xx_sprom_fill_auto(sprom, prefix, fallback);
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ This prevents the options from being delete with make kernel_oldconfig.
|
||||||
the memory. This only works with the Broadcom SoCs from the
|
the memory. This only works with the Broadcom SoCs from the
|
||||||
--- a/drivers/ssb/Kconfig
|
--- a/drivers/ssb/Kconfig
|
||||||
+++ b/drivers/ssb/Kconfig
|
+++ b/drivers/ssb/Kconfig
|
||||||
@@ -146,6 +146,7 @@ config SSB_SFLASH
|
@@ -147,6 +147,7 @@ config SSB_SFLASH
|
||||||
config SSB_EMBEDDED
|
config SSB_EMBEDDED
|
||||||
bool
|
bool
|
||||||
depends on SSB_DRIVER_MIPS && SSB_PCICORE_HOSTMODE
|
depends on SSB_DRIVER_MIPS && SSB_PCICORE_HOSTMODE
|
||||||
|
|
|
@ -15,11 +15,9 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
|
||||||
drivers/ssb/driver_pcicore.c | 4 ++++
|
drivers/ssb/driver_pcicore.c | 4 ++++
|
||||||
1 file changed, 4 insertions(+)
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
diff --git a/drivers/ssb/driver_pcicore.c b/drivers/ssb/driver_pcicore.c
|
|
||||||
index 15a7ee3..c603d19 100644
|
|
||||||
--- a/drivers/ssb/driver_pcicore.c
|
--- a/drivers/ssb/driver_pcicore.c
|
||||||
+++ b/drivers/ssb/driver_pcicore.c
|
+++ b/drivers/ssb/driver_pcicore.c
|
||||||
@@ -164,6 +164,10 @@ static int ssb_extpci_write_config(struct ssb_pcicore *pc,
|
@@ -164,6 +164,10 @@ static int ssb_extpci_write_config(struc
|
||||||
SSB_WARN_ON(!pc->hostmode);
|
SSB_WARN_ON(!pc->hostmode);
|
||||||
if (unlikely(len != 1 && len != 2 && len != 4))
|
if (unlikely(len != 1 && len != 2 && len != 4))
|
||||||
goto out;
|
goto out;
|
||||||
|
@ -30,6 +28,3 @@ index 15a7ee3..c603d19 100644
|
||||||
addr = get_cfgspace_addr(pc, bus, dev, func, off);
|
addr = get_cfgspace_addr(pc, bus, dev, func, off);
|
||||||
if (unlikely(!addr))
|
if (unlikely(!addr))
|
||||||
goto out;
|
goto out;
|
||||||
--
|
|
||||||
1.8.4.5
|
|
||||||
|
|
||||||
|
|
|
@ -216,7 +216,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
|
||||||
periph_bases[1] += PERF_IRQMASK_6328_REG(1);
|
periph_bases[1] += PERF_IRQMASK_6328_REG(1);
|
||||||
--- a/arch/mips/bcm63xx/prom.c
|
--- a/arch/mips/bcm63xx/prom.c
|
||||||
+++ b/arch/mips/bcm63xx/prom.c
|
+++ b/arch/mips/bcm63xx/prom.c
|
||||||
@@ -72,7 +72,7 @@ void __init prom_init(void)
|
@@ -68,7 +68,7 @@ void __init prom_init(void)
|
||||||
|
|
||||||
if (reg & OTP_6328_REG3_TP1_DISABLED)
|
if (reg & OTP_6328_REG3_TP1_DISABLED)
|
||||||
bmips_smp_enabled = 0;
|
bmips_smp_enabled = 0;
|
||||||
|
@ -274,7 +274,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
|
||||||
bcm63xx_reset_bits = bcm6328_reset_bits;
|
bcm63xx_reset_bits = bcm6328_reset_bits;
|
||||||
--- a/arch/mips/bcm63xx/setup.c
|
--- a/arch/mips/bcm63xx/setup.c
|
||||||
+++ b/arch/mips/bcm63xx/setup.c
|
+++ b/arch/mips/bcm63xx/setup.c
|
||||||
@@ -71,6 +71,9 @@ void bcm63xx_machine_reboot(void)
|
@@ -72,6 +72,9 @@ void bcm63xx_machine_reboot(void)
|
||||||
case BCM3368_CPU_ID:
|
case BCM3368_CPU_ID:
|
||||||
perf_regs[0] = PERF_EXTIRQ_CFG_REG_3368;
|
perf_regs[0] = PERF_EXTIRQ_CFG_REG_3368;
|
||||||
break;
|
break;
|
||||||
|
@ -284,7 +284,7 @@ Subject: [PATCH 51/53] MIPS: BCM63XX: add support for BCM6318
|
||||||
case BCM6328_CPU_ID:
|
case BCM6328_CPU_ID:
|
||||||
perf_regs[0] = PERF_EXTIRQ_CFG_REG_6328;
|
perf_regs[0] = PERF_EXTIRQ_CFG_REG_6328;
|
||||||
break;
|
break;
|
||||||
@@ -110,7 +113,7 @@ void bcm63xx_machine_reboot(void)
|
@@ -111,7 +114,7 @@ void bcm63xx_machine_reboot(void)
|
||||||
bcm6348_a1_reboot();
|
bcm6348_a1_reboot();
|
||||||
|
|
||||||
printk(KERN_INFO "triggering watchdog soft-reset...\n");
|
printk(KERN_INFO "triggering watchdog soft-reset...\n");
|
||||||
|
|
|
@ -43,17 +43,17 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
/* read base address of boot chip select (0) */
|
/* read base address of boot chip select (0) */
|
||||||
--- a/arch/mips/bcm63xx/prom.c
|
--- a/arch/mips/bcm63xx/prom.c
|
||||||
+++ b/arch/mips/bcm63xx/prom.c
|
+++ b/arch/mips/bcm63xx/prom.c
|
||||||
@@ -18,6 +18,7 @@
|
@@ -17,6 +17,7 @@
|
||||||
|
#include <bcm63xx_cpu.h>
|
||||||
#include <bcm63xx_io.h>
|
#include <bcm63xx_io.h>
|
||||||
#include <bcm63xx_regs.h>
|
#include <bcm63xx_regs.h>
|
||||||
#include <bcm63xx_gpio.h>
|
|
||||||
+#include <bcm63xx_dev_flash.h>
|
+#include <bcm63xx_dev_flash.h>
|
||||||
|
|
||||||
void __init prom_init(void)
|
void __init prom_init(void)
|
||||||
{
|
{
|
||||||
@@ -56,6 +57,9 @@ void __init prom_init(void)
|
@@ -52,6 +53,9 @@ void __init prom_init(void)
|
||||||
/* register gpiochip */
|
reg &= ~mask;
|
||||||
bcm63xx_gpio_init();
|
bcm_perf_writel(reg, PERF_CKCTL_REG);
|
||||||
|
|
||||||
+ /* detect and setup flash access */
|
+ /* detect and setup flash access */
|
||||||
+ bcm63xx_flash_detect();
|
+ bcm63xx_flash_detect();
|
||||||
|
|
|
@ -7,7 +7,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
---
|
---
|
||||||
arch/mips/bcm63xx/boards/board_common.c | 2 +
|
arch/mips/bcm63xx/boards/board_common.c | 2 +
|
||||||
arch/mips/bcm63xx/gpio.c | 147 +++++++------------------------
|
arch/mips/bcm63xx/gpio.c | 147 +++++++------------------------
|
||||||
arch/mips/bcm63xx/prom.c | 3 -
|
arch/mips/bcm63xx/setup.c | 3 -
|
||||||
3 files changed, 33 insertions(+), 119 deletions(-)
|
3 files changed, 33 insertions(+), 119 deletions(-)
|
||||||
|
|
||||||
--- a/arch/mips/bcm63xx/boards/board_common.c
|
--- a/arch/mips/bcm63xx/boards/board_common.c
|
||||||
|
@ -202,15 +202,15 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
|
|
||||||
- return gpiochip_add(&bcm63xx_gpio_chip);
|
- return gpiochip_add(&bcm63xx_gpio_chip);
|
||||||
}
|
}
|
||||||
--- a/arch/mips/bcm63xx/prom.c
|
--- a/arch/mips/bcm63xx/setup.c
|
||||||
+++ b/arch/mips/bcm63xx/prom.c
|
+++ b/arch/mips/bcm63xx/setup.c
|
||||||
@@ -54,9 +54,6 @@ void __init prom_init(void)
|
@@ -164,9 +164,6 @@ void __init plat_mem_setup(void)
|
||||||
reg &= ~mask;
|
|
||||||
bcm_perf_writel(reg, PERF_CKCTL_REG);
|
|
||||||
|
|
||||||
|
int __init bcm63xx_register_devices(void)
|
||||||
|
{
|
||||||
- /* register gpiochip */
|
- /* register gpiochip */
|
||||||
- bcm63xx_gpio_init();
|
- bcm63xx_gpio_init();
|
||||||
-
|
-
|
||||||
/* detect and setup flash access */
|
return board_register_devices();
|
||||||
bcm63xx_flash_detect();
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
depends on SH_LANDISK
|
depends on SH_LANDISK
|
||||||
--- a/drivers/rtc/Makefile
|
--- a/drivers/rtc/Makefile
|
||||||
+++ b/drivers/rtc/Makefile
|
+++ b/drivers/rtc/Makefile
|
||||||
@@ -60,6 +60,7 @@ obj-$(CONFIG_RTC_DRV_DS3234) += rtc-ds3234.o
|
@@ -60,6 +60,7 @@ obj-$(CONFIG_RTC_DRV_EFI) += rtc-efi.o
|
||||||
obj-$(CONFIG_RTC_DRV_EM3027) += rtc-em3027.o
|
obj-$(CONFIG_RTC_DRV_EM3027) += rtc-em3027.o
|
||||||
obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93xx.o
|
obj-$(CONFIG_RTC_DRV_EP93XX) += rtc-ep93xx.o
|
||||||
obj-$(CONFIG_RTC_DRV_FM3130) += rtc-fm3130.o
|
obj-$(CONFIG_RTC_DRV_FM3130) += rtc-fm3130.o
|
||||||
|
|
|
@ -13,9 +13,9 @@
|
||||||
{
|
{
|
||||||
__raw_writel(RESET_GLOBAL | RESET_CPU1,
|
__raw_writel(RESET_GLOBAL | RESET_CPU1,
|
||||||
IO_ADDRESS(GEMINI_GLOBAL_BASE) + GLOBAL_RESET);
|
IO_ADDRESS(GEMINI_GLOBAL_BASE) + GLOBAL_RESET);
|
||||||
--- a/arch/arm/mach-gemini/common.h 2014-08-23 07:06:06.014200638 -0500
|
--- a/arch/arm/mach-gemini/common.h
|
||||||
+++ b/arch/arm/mach-gemini/common.h 2014-08-23 07:07:33.450536466 -0500
|
+++ b/arch/arm/mach-gemini/common.h
|
||||||
@@ -26,6 +26,6 @@
|
@@ -26,6 +26,6 @@ extern int platform_register_pflash(unsi
|
||||||
struct mtd_partition *parts,
|
struct mtd_partition *parts,
|
||||||
unsigned int nr_parts);
|
unsigned int nr_parts);
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/arch/arm/mach-gemini/gpio.c 2015-03-01 10:34:52.492113048 +0100
|
--- a/arch/arm/mach-gemini/gpio.c
|
||||||
+++ b/arch/arm/mach-gemini/gpio.c 2015-03-01 10:34:59.876498159 +0100
|
+++ b/arch/arm/mach-gemini/gpio.c
|
||||||
@@ -196,12 +196,18 @@
|
@@ -196,12 +196,18 @@ static int gemini_gpio_direction_output(
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
--- a/arch/arm/mm/cache-fa.S 2011-01-05 01:50:19.000000000 +0100
|
--- a/arch/arm/mm/cache-fa.S
|
||||||
+++ b/arch/arm/mm/cache-fa.S 2012-07-25 14:30:40.883639094 +0200
|
+++ b/arch/arm/mm/cache-fa.S
|
||||||
@@ -24,7 +24,8 @@
|
@@ -24,7 +24,8 @@
|
||||||
/*
|
/*
|
||||||
* The size of one data cache line.
|
* The size of one data cache line.
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The total size of the data cache.
|
* The total size of the data cache.
|
||||||
@@ -169,7 +170,17 @@
|
@@ -169,7 +170,17 @@ ENTRY(fa_flush_kern_dcache_area)
|
||||||
* - start - virtual start address
|
* - start - virtual start address
|
||||||
* - end - virtual end address
|
* - end - virtual end address
|
||||||
*/
|
*/
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
tst r0, #CACHE_DLINESIZE - 1
|
tst r0, #CACHE_DLINESIZE - 1
|
||||||
bic r0, r0, #CACHE_DLINESIZE - 1
|
bic r0, r0, #CACHE_DLINESIZE - 1
|
||||||
mcrne p15, 0, r0, c7, c14, 1 @ clean & invalidate D entry
|
mcrne p15, 0, r0, c7, c14, 1 @ clean & invalidate D entry
|
||||||
@@ -193,6 +204,10 @@
|
@@ -193,6 +204,10 @@ fa_dma_inv_range:
|
||||||
* - end - virtual end address
|
* - end - virtual end address
|
||||||
*/
|
*/
|
||||||
fa_dma_clean_range:
|
fa_dma_clean_range:
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
+};
|
+};
|
||||||
+
|
+
|
||||||
+#endif /* __NET_GEMINI_PLATFORM_H__ */
|
+#endif /* __NET_GEMINI_PLATFORM_H__ */
|
||||||
--- a/arch/arm/mach-gemini/common.h 2011-04-19 03:05:29.446367900 +0200
|
--- a/arch/arm/mach-gemini/common.h
|
||||||
+++ b/arch/arm/mach-gemini/common.h 2011-04-19 03:07:02.191154293 +0200
|
+++ b/arch/arm/mach-gemini/common.h
|
||||||
@@ -13,6 +13,7 @@
|
@@ -13,6 +13,7 @@
|
||||||
#define __GEMINI_COMMON_H__
|
#define __GEMINI_COMMON_H__
|
||||||
|
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
|
|
||||||
extern void gemini_map_io(void);
|
extern void gemini_map_io(void);
|
||||||
extern void gemini_init_irq(void);
|
extern void gemini_init_irq(void);
|
||||||
@@ -26,6 +27,7 @@
|
@@ -26,6 +27,7 @@ extern int platform_register_pflash(unsi
|
||||||
struct mtd_partition *parts,
|
struct mtd_partition *parts,
|
||||||
unsigned int nr_parts);
|
unsigned int nr_parts);
|
||||||
extern int platform_register_watchdog(void);
|
extern int platform_register_watchdog(void);
|
||||||
|
@ -40,8 +40,8 @@
|
||||||
|
|
||||||
extern void gemini_restart(enum reboot_mode mode, const char *cmd);
|
extern void gemini_restart(enum reboot_mode mode, const char *cmd);
|
||||||
|
|
||||||
--- a/arch/arm/mach-gemini/devices.c 2011-04-21 13:01:53.578121892 +0200
|
--- a/arch/arm/mach-gemini/devices.c
|
||||||
+++ b/arch/arm/mach-gemini/devices.c 2011-04-21 13:14:27.643158445 +0200
|
+++ b/arch/arm/mach-gemini/devices.c
|
||||||
@@ -17,6 +17,7 @@
|
@@ -17,6 +17,7 @@
|
||||||
#include <mach/irqs.h>
|
#include <mach/irqs.h>
|
||||||
#include <mach/hardware.h>
|
#include <mach/hardware.h>
|
||||||
|
@ -50,7 +50,7 @@
|
||||||
#include "common.h"
|
#include "common.h"
|
||||||
|
|
||||||
static struct plat_serial8250_port serial_platform_data[] = {
|
static struct plat_serial8250_port serial_platform_data[] = {
|
||||||
@@ -134,3 +134,56 @@
|
@@ -134,3 +135,56 @@ int __init platform_register_watchdog(vo
|
||||||
{
|
{
|
||||||
return platform_device_register(&wdt_device);
|
return platform_device_register(&wdt_device);
|
||||||
}
|
}
|
||||||
|
@ -107,10 +107,9 @@
|
||||||
+
|
+
|
||||||
+ return platform_device_register(ðernet_device);
|
+ return platform_device_register(ðernet_device);
|
||||||
+}
|
+}
|
||||||
|
--- a/drivers/net/ethernet/Kconfig
|
||||||
--- a/drivers/net/ethernet/Kconfig 2012-01-25 22:19:43.633736456 +0100
|
+++ b/drivers/net/ethernet/Kconfig
|
||||||
+++ b/drivers/net/ethernet/Kconfig 2012-01-25 22:20:28.582730742 +0100
|
@@ -70,6 +70,7 @@ source "drivers/net/ethernet/neterion/Kc
|
||||||
@@ -70,6 +70,7 @@
|
|
||||||
source "drivers/net/ethernet/faraday/Kconfig"
|
source "drivers/net/ethernet/faraday/Kconfig"
|
||||||
source "drivers/net/ethernet/freescale/Kconfig"
|
source "drivers/net/ethernet/freescale/Kconfig"
|
||||||
source "drivers/net/ethernet/fujitsu/Kconfig"
|
source "drivers/net/ethernet/fujitsu/Kconfig"
|
||||||
|
@ -118,9 +117,9 @@
|
||||||
source "drivers/net/ethernet/hisilicon/Kconfig"
|
source "drivers/net/ethernet/hisilicon/Kconfig"
|
||||||
source "drivers/net/ethernet/hp/Kconfig"
|
source "drivers/net/ethernet/hp/Kconfig"
|
||||||
source "drivers/net/ethernet/ibm/Kconfig"
|
source "drivers/net/ethernet/ibm/Kconfig"
|
||||||
--- a/drivers/net/ethernet/Makefile 2012-01-27 01:37:10.839114389 +0100
|
--- a/drivers/net/ethernet/Makefile
|
||||||
+++ b/drivers/net/ethernet/Makefile 2012-01-27 01:39:06.102105027 +0100
|
+++ b/drivers/net/ethernet/Makefile
|
||||||
@@ -33,6 +33,7 @@
|
@@ -33,6 +33,7 @@ obj-$(CONFIG_NET_VENDOR_EXAR) += neterio
|
||||||
obj-$(CONFIG_NET_VENDOR_FARADAY) += faraday/
|
obj-$(CONFIG_NET_VENDOR_FARADAY) += faraday/
|
||||||
obj-$(CONFIG_NET_VENDOR_FREESCALE) += freescale/
|
obj-$(CONFIG_NET_VENDOR_FREESCALE) += freescale/
|
||||||
obj-$(CONFIG_NET_VENDOR_FUJITSU) += fujitsu/
|
obj-$(CONFIG_NET_VENDOR_FUJITSU) += fujitsu/
|
||||||
|
@ -128,8 +127,8 @@
|
||||||
obj-$(CONFIG_NET_VENDOR_HISILICON) += hisilicon/
|
obj-$(CONFIG_NET_VENDOR_HISILICON) += hisilicon/
|
||||||
obj-$(CONFIG_NET_VENDOR_HP) += hp/
|
obj-$(CONFIG_NET_VENDOR_HP) += hp/
|
||||||
obj-$(CONFIG_NET_VENDOR_IBM) += ibm/
|
obj-$(CONFIG_NET_VENDOR_IBM) += ibm/
|
||||||
--- /dev/null 2012-01-23 21:36:48.249769447 +0100
|
--- /dev/null
|
||||||
+++ b/drivers/net/ethernet/gemini/Kconfig 2012-01-25 22:16:44.285740226 +0100
|
+++ b/drivers/net/ethernet/gemini/Kconfig
|
||||||
@@ -0,0 +1,31 @@
|
@@ -0,0 +1,31 @@
|
||||||
+#
|
+#
|
||||||
+# Gemini device configuration
|
+# Gemini device configuration
|
||||||
|
@ -162,16 +161,16 @@
|
||||||
+ This driver supports StorLink SL351x (Gemini) dual Gigabit Ethernet.
|
+ This driver supports StorLink SL351x (Gemini) dual Gigabit Ethernet.
|
||||||
+
|
+
|
||||||
+endif # NET_VENDOR_GEMINI
|
+endif # NET_VENDOR_GEMINI
|
||||||
--- /dev/null 2012-01-23 21:36:48.249769447 +0100
|
--- /dev/null
|
||||||
+++ b/drivers/net/ethernet/gemini/Makefile 2012-01-25 22:17:29.698741496 +0100
|
+++ b/drivers/net/ethernet/gemini/Makefile
|
||||||
@@ -0,0 +1,5 @@
|
@@ -0,0 +1,5 @@
|
||||||
+#
|
+#
|
||||||
+# Makefile for the Cortina Gemini network device drivers.
|
+# Makefile for the Cortina Gemini network device drivers.
|
||||||
+#
|
+#
|
||||||
+
|
+
|
||||||
+obj-$(CONFIG_GEMINI_SL351X) += sl351x.o
|
+obj-$(CONFIG_GEMINI_SL351X) += sl351x.o
|
||||||
--- /dev/null 2012-01-23 21:36:48.249769447 +0100
|
--- /dev/null
|
||||||
+++ b/drivers/net/ethernet/gemini/sl351x.c 2012-01-27 17:09:51.000000000 +0100
|
+++ b/drivers/net/ethernet/gemini/sl351x.c
|
||||||
@@ -0,0 +1,2340 @@
|
@@ -0,0 +1,2340 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Ethernet device driver for Gemini SoC (SL351x GMAC).
|
+ * Ethernet device driver for Gemini SoC (SL351x GMAC).
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
--- a/arch/arm/mach-gemini/board-nas4220b.c 2011-04-21 13:19:09.878432930 +0200
|
--- a/arch/arm/mach-gemini/board-nas4220b.c
|
||||||
+++ b/arch/arm/mach-gemini/board-nas4220b.c 2011-04-21 13:30:37.555082365 +0200
|
+++ b/arch/arm/mach-gemini/board-nas4220b.c
|
||||||
@@ -28,9 +28,27 @@
|
@@ -28,9 +28,27 @@
|
||||||
|
|
||||||
#include <mach/hardware.h>
|
#include <mach/hardware.h>
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
static struct gpio_led ib4220b_leds[] = {
|
static struct gpio_led ib4220b_leds[] = {
|
||||||
{
|
{
|
||||||
.name = "nas4220b:orange:hdd",
|
.name = "nas4220b:orange:hdd",
|
||||||
@@ -87,9 +105,39 @@
|
@@ -87,15 +105,47 @@ static struct platform_device ib4220b_ke
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -68,7 +68,6 @@
|
||||||
platform_register_uart();
|
platform_register_uart();
|
||||||
platform_register_pflash(SZ_16M, NULL, 0);
|
platform_register_pflash(SZ_16M, NULL, 0);
|
||||||
platform_device_register(&ib4220b_led_device);
|
platform_device_register(&ib4220b_led_device);
|
||||||
@@ -96,6 +144,8 @@
|
|
||||||
platform_device_register(&ib4220b_key_device);
|
platform_device_register(&ib4220b_key_device);
|
||||||
platform_register_rtc();
|
platform_register_rtc();
|
||||||
platform_register_watchdog();
|
platform_register_watchdog();
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/arch/arm/mach-gemini/devices.c 2011-04-23 01:00:16.738137491 +0200
|
--- a/arch/arm/mach-gemini/devices.c
|
||||||
+++ b/arch/arm/mach-gemini/devices.c 2011-04-23 01:06:55.539299920 +0200
|
+++ b/arch/arm/mach-gemini/devices.c
|
||||||
@@ -188,3 +188,64 @@
|
@@ -188,3 +188,64 @@ int platform_register_ethernet(struct ge
|
||||||
|
|
||||||
return platform_device_register(ðernet_device);
|
return platform_device_register(ðernet_device);
|
||||||
}
|
}
|
||||||
|
@ -65,9 +65,9 @@
|
||||||
+ return platform_device_register(&usb_device[id]);
|
+ return platform_device_register(&usb_device[id]);
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
--- a/arch/arm/mach-gemini/common.h 2011-04-23 01:09:31.413161153 +0200
|
--- a/arch/arm/mach-gemini/common.h
|
||||||
+++ b/arch/arm/mach-gemini/common.h 2011-04-23 01:09:52.426358514 +0200
|
+++ b/arch/arm/mach-gemini/common.h
|
||||||
@@ -28,6 +28,7 @@
|
@@ -28,6 +28,7 @@ extern int platform_register_pflash(unsi
|
||||||
unsigned int nr_parts);
|
unsigned int nr_parts);
|
||||||
extern int platform_register_watchdog(void);
|
extern int platform_register_watchdog(void);
|
||||||
extern int platform_register_ethernet(struct gemini_gmac_platform_data *pdata);
|
extern int platform_register_ethernet(struct gemini_gmac_platform_data *pdata);
|
||||||
|
@ -77,8 +77,7 @@
|
||||||
|
|
||||||
--- a/drivers/usb/host/ehci-hcd.c
|
--- a/drivers/usb/host/ehci-hcd.c
|
||||||
+++ b/drivers/usb/host/ehci-hcd.c
|
+++ b/drivers/usb/host/ehci-hcd.c
|
||||||
@@ -345,12 +345,14 @@ static void ehci_silence_controller(struct ehci_hcd *ehci)
|
@@ -346,11 +346,13 @@ static void ehci_silence_controller(stru
|
||||||
spin_lock_irq(&ehci->lock);
|
|
||||||
ehci->rh_state = EHCI_RH_HALTED;
|
ehci->rh_state = EHCI_RH_HALTED;
|
||||||
ehci_turn_off_all_ports(ehci);
|
ehci_turn_off_all_ports(ehci);
|
||||||
|
|
||||||
|
@ -92,7 +91,7 @@
|
||||||
spin_unlock_irq(&ehci->lock);
|
spin_unlock_irq(&ehci->lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -602,7 +604,9 @@ static int ehci_run (struct usb_hcd *hcd)
|
@@ -602,7 +604,9 @@ static int ehci_run (struct usb_hcd *hcd
|
||||||
// Philips, Intel, and maybe others need CMD_RUN before the
|
// Philips, Intel, and maybe others need CMD_RUN before the
|
||||||
// root hub will detect new devices (why?); NEC doesn't
|
// root hub will detect new devices (why?); NEC doesn't
|
||||||
ehci->command &= ~(CMD_LRESET|CMD_IAAD|CMD_PSE|CMD_ASE|CMD_RESET);
|
ehci->command &= ~(CMD_LRESET|CMD_IAAD|CMD_PSE|CMD_ASE|CMD_RESET);
|
||||||
|
@ -102,7 +101,7 @@
|
||||||
ehci_writel(ehci, ehci->command, &ehci->regs->command);
|
ehci_writel(ehci, ehci->command, &ehci->regs->command);
|
||||||
dbg_cmd (ehci, "init", ehci->command);
|
dbg_cmd (ehci, "init", ehci->command);
|
||||||
|
|
||||||
@@ -622,9 +626,11 @@ static int ehci_run (struct usb_hcd *hcd)
|
@@ -622,9 +626,11 @@ static int ehci_run (struct usb_hcd *hcd
|
||||||
*/
|
*/
|
||||||
down_write(&ehci_cf_port_reset_rwsem);
|
down_write(&ehci_cf_port_reset_rwsem);
|
||||||
ehci->rh_state = EHCI_RH_RUNNING;
|
ehci->rh_state = EHCI_RH_RUNNING;
|
||||||
|
@ -114,7 +113,7 @@
|
||||||
up_write(&ehci_cf_port_reset_rwsem);
|
up_write(&ehci_cf_port_reset_rwsem);
|
||||||
ehci->last_periodic_enable = ktime_get_real();
|
ehci->last_periodic_enable = ktime_get_real();
|
||||||
|
|
||||||
@@ -762,9 +768,10 @@ static irqreturn_t ehci_irq (struct usb_hcd *hcd)
|
@@ -762,9 +768,10 @@ static irqreturn_t ehci_irq (struct usb_
|
||||||
pcd_status = status;
|
pcd_status = status;
|
||||||
|
|
||||||
/* resume root hub? */
|
/* resume root hub? */
|
||||||
|
@ -138,9 +137,9 @@
|
||||||
#ifdef CONFIG_USB_EHCI_FSL
|
#ifdef CONFIG_USB_EHCI_FSL
|
||||||
#include "ehci-fsl.c"
|
#include "ehci-fsl.c"
|
||||||
#define PLATFORM_DRIVER ehci_fsl_driver
|
#define PLATFORM_DRIVER ehci_fsl_driver
|
||||||
--- a/drivers/usb/host/ehci-timer.c 2012-12-24 18:35:19.695560879 +0100
|
--- a/drivers/usb/host/ehci-timer.c
|
||||||
+++ b/drivers/usb/host/ehci-timer.c 2012-12-24 18:39:39.813308000 +0100
|
+++ b/drivers/usb/host/ehci-timer.c
|
||||||
@@ -208,7 +208,9 @@
|
@@ -208,7 +208,9 @@ static void ehci_handle_controller_death
|
||||||
|
|
||||||
/* Clean up the mess */
|
/* Clean up the mess */
|
||||||
ehci->rh_state = EHCI_RH_HALTED;
|
ehci->rh_state = EHCI_RH_HALTED;
|
||||||
|
@ -168,7 +167,7 @@
|
||||||
case 1:
|
case 1:
|
||||||
--- a/drivers/usb/host/ehci-hub.c
|
--- a/drivers/usb/host/ehci-hub.c
|
||||||
+++ b/drivers/usb/host/ehci-hub.c
|
+++ b/drivers/usb/host/ehci-hub.c
|
||||||
@@ -1072,6 +1072,11 @@ static int ehci_hub_control (
|
@@ -1075,6 +1075,11 @@ int ehci_hub_control(
|
||||||
/* see what we found out */
|
/* see what we found out */
|
||||||
temp = check_reset_complete (ehci, wIndex, status_reg,
|
temp = check_reset_complete (ehci, wIndex, status_reg,
|
||||||
ehci_readl(ehci, status_reg));
|
ehci_readl(ehci, status_reg));
|
||||||
|
@ -180,26 +179,24 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
/* transfer dedicated ports to the companion hc */
|
/* transfer dedicated ports to the companion hc */
|
||||||
--- a/include/linux/usb/ehci_def.h 2012-12-24 15:01:10.168320497 +0100
|
--- a/include/linux/usb/ehci_def.h
|
||||||
+++ b/include/linux/usb/ehci_def.h 2012-12-24 15:11:43.335575000 +0100
|
+++ b/include/linux/usb/ehci_def.h
|
||||||
@@ -110,9 +110,14 @@
|
@@ -110,8 +110,13 @@ struct ehci_regs {
|
||||||
u32 frame_list; /* points to periodic list */
|
u32 frame_list; /* points to periodic list */
|
||||||
/* ASYNCLISTADDR: offset 0x18 */
|
/* ASYNCLISTADDR: offset 0x18 */
|
||||||
u32 async_next; /* address of next async queue head */
|
u32 async_next; /* address of next async queue head */
|
||||||
-
|
-
|
||||||
+#ifndef CONFIG_ARCH_GEMINI
|
+#ifndef CONFIG_ARCH_GEMINI
|
||||||
u32 reserved1[2];
|
u32 reserved1[2];
|
||||||
-
|
|
||||||
+#else
|
+#else
|
||||||
+ u32 reserved1;
|
+ u32 reserved1;
|
||||||
+ /* PORTSC: offset 0x20 for Faraday OTG */
|
+ /* PORTSC: offset 0x20 for Faraday OTG */
|
||||||
+ u32 port_status[1];
|
+ u32 port_status[1];
|
||||||
+#endif
|
+#endif
|
||||||
+
|
|
||||||
/* TXFILLTUNING: offset 0x24 */
|
/* TXFILLTUNING: offset 0x24 */
|
||||||
u32 txfill_tuning; /* TX FIFO Tuning register */
|
u32 txfill_tuning; /* TX FIFO Tuning register */
|
||||||
#define TXFIFO_DEFAULT (8<<16) /* FIFO burst threshold 8 */
|
@@ -123,8 +128,11 @@ struct ehci_regs {
|
||||||
@@ -123,8 +128,11 @@
|
|
||||||
u32 configured_flag;
|
u32 configured_flag;
|
||||||
#define FLAG_CF (1<<0) /* true: we'll support "high speed" */
|
#define FLAG_CF (1<<0) /* true: we'll support "high speed" */
|
||||||
|
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
MACHINE_START(RUT100, "Teltonika RUT100")
|
MACHINE_START(RUT100, "Teltonika RUT100")
|
||||||
--- a/arch/arm/mach-gemini/board-nas4220b.c
|
--- a/arch/arm/mach-gemini/board-nas4220b.c
|
||||||
+++ b/arch/arm/mach-gemini/board-nas4220b.c
|
+++ b/arch/arm/mach-gemini/board-nas4220b.c
|
||||||
@@ -134,10 +134,23 @@
|
@@ -134,10 +134,23 @@ static void __init ib4220b_gmac_init(voi
|
||||||
GLOBAL_ARBITRATION1_CTRL));
|
GLOBAL_ARBITRATION1_CTRL));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -15,9 +15,9 @@
|
||||||
#define USB1_VBUS_ON (1 << 23)
|
#define USB1_VBUS_ON (1 << 23)
|
||||||
#define USB0_VBUS_ON (1 << 22)
|
#define USB0_VBUS_ON (1 << 22)
|
||||||
#define APB_CLKOUT_ENABLE (1 << 21)
|
#define APB_CLKOUT_ENABLE (1 << 21)
|
||||||
--- a/arch/arm/mach-gemini/irq.c 2013-02-19 13:38:13.263948000 +0100
|
--- a/arch/arm/mach-gemini/irq.c
|
||||||
+++ b/arch/arm/mach-gemini/irq.c 2013-02-19 18:24:02.912997292 +0100
|
+++ b/arch/arm/mach-gemini/irq.c
|
||||||
@@ -89,6 +89,9 @@
|
@@ -89,6 +89,9 @@ void __init gemini_init_irq(void)
|
||||||
irq_set_handler(i, handle_edge_irq);
|
irq_set_handler(i, handle_edge_irq);
|
||||||
mode |= 1 << i;
|
mode |= 1 << i;
|
||||||
level |= 1 << i;
|
level |= 1 << i;
|
||||||
|
@ -29,7 +29,7 @@
|
||||||
}
|
}
|
||||||
--- a/arch/arm/mach-gemini/common.h
|
--- a/arch/arm/mach-gemini/common.h
|
||||||
+++ b/arch/arm/mach-gemini/common.h
|
+++ b/arch/arm/mach-gemini/common.h
|
||||||
@@ -29,6 +29,7 @@
|
@@ -29,6 +29,7 @@ extern int platform_register_pflash(unsi
|
||||||
extern int platform_register_watchdog(void);
|
extern int platform_register_watchdog(void);
|
||||||
extern int platform_register_ethernet(struct gemini_gmac_platform_data *pdata);
|
extern int platform_register_ethernet(struct gemini_gmac_platform_data *pdata);
|
||||||
extern int platform_register_usb(unsigned int id);
|
extern int platform_register_usb(unsigned int id);
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
|
|
||||||
--- a/arch/arm/mach-gemini/devices.c
|
--- a/arch/arm/mach-gemini/devices.c
|
||||||
+++ b/arch/arm/mach-gemini/devices.c
|
+++ b/arch/arm/mach-gemini/devices.c
|
||||||
@@ -249,3 +249,67 @@
|
@@ -249,3 +249,67 @@ int __init platform_register_usb(unsigne
|
||||||
return platform_device_register(&usb_device[id]);
|
return platform_device_register(&usb_device[id]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@
|
||||||
+}
|
+}
|
||||||
--- a/arch/arm/mach-gemini/mm.c
|
--- a/arch/arm/mach-gemini/mm.c
|
||||||
+++ b/arch/arm/mach-gemini/mm.c
|
+++ b/arch/arm/mach-gemini/mm.c
|
||||||
@@ -24,6 +24,11 @@
|
@@ -24,6 +24,11 @@ static struct map_desc gemini_io_desc[]
|
||||||
.length = SZ_512K,
|
.length = SZ_512K,
|
||||||
.type = MT_DEVICE,
|
.type = MT_DEVICE,
|
||||||
}, {
|
}, {
|
||||||
|
@ -123,7 +123,7 @@
|
||||||
.length = SZ_512K,
|
.length = SZ_512K,
|
||||||
--- a/drivers/ata/Kconfig
|
--- a/drivers/ata/Kconfig
|
||||||
+++ b/drivers/ata/Kconfig
|
+++ b/drivers/ata/Kconfig
|
||||||
@@ -536,6 +536,16 @@ config PATA_EFAR
|
@@ -536,6 +536,16 @@ config PATA_EP93XX
|
||||||
|
|
||||||
If unsure, say N.
|
If unsure, say N.
|
||||||
|
|
||||||
|
@ -142,7 +142,7 @@
|
||||||
depends on PCI
|
depends on PCI
|
||||||
--- a/drivers/ata/Makefile
|
--- a/drivers/ata/Makefile
|
||||||
+++ b/drivers/ata/Makefile
|
+++ b/drivers/ata/Makefile
|
||||||
@@ -53,6 +53,7 @@
|
@@ -53,6 +53,7 @@ obj-$(CONFIG_PATA_CS5536) += pata_cs5536
|
||||||
obj-$(CONFIG_PATA_CYPRESS) += pata_cypress.o
|
obj-$(CONFIG_PATA_CYPRESS) += pata_cypress.o
|
||||||
obj-$(CONFIG_PATA_EFAR) += pata_efar.o
|
obj-$(CONFIG_PATA_EFAR) += pata_efar.o
|
||||||
obj-$(CONFIG_PATA_EP93XX) += pata_ep93xx.o
|
obj-$(CONFIG_PATA_EP93XX) += pata_ep93xx.o
|
||||||
|
@ -152,7 +152,7 @@
|
||||||
obj-$(CONFIG_PATA_HPT3X2N) += pata_hpt3x2n.o
|
obj-$(CONFIG_PATA_HPT3X2N) += pata_hpt3x2n.o
|
||||||
--- a/arch/arm/mach-gemini/board-nas4220b.c
|
--- a/arch/arm/mach-gemini/board-nas4220b.c
|
||||||
+++ b/arch/arm/mach-gemini/board-nas4220b.c
|
+++ b/arch/arm/mach-gemini/board-nas4220b.c
|
||||||
@@ -146,11 +146,28 @@
|
@@ -146,11 +146,28 @@ static void __init usb_ib4220b_init(void
|
||||||
GLOBAL_MISC_CTRL));
|
GLOBAL_MISC_CTRL));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,7 +181,7 @@
|
||||||
platform_register_uart();
|
platform_register_uart();
|
||||||
platform_register_pflash(SZ_16M, NULL, 0);
|
platform_register_pflash(SZ_16M, NULL, 0);
|
||||||
platform_device_register(&ib4220b_led_device);
|
platform_device_register(&ib4220b_led_device);
|
||||||
@@ -161,6 +178,8 @@
|
@@ -161,6 +178,8 @@ static void __init ib4220b_init(void)
|
||||||
platform_register_ethernet(&ib4220b_gmac_data);
|
platform_register_ethernet(&ib4220b_gmac_data);
|
||||||
platform_register_usb(0);
|
platform_register_usb(0);
|
||||||
platform_register_usb(1);
|
platform_register_usb(1);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
--- a/arch/arm/mach-gemini/time.c 2015-03-25 23:06:03.188317455 +0200
|
--- a/arch/arm/mach-gemini/time.c
|
||||||
+++ b/arch/arm/mach-gemini/time.c 2015-03-25 23:06:24.417315486 +0200
|
+++ b/arch/arm/mach-gemini/time.c
|
||||||
@@ -15,15 +15,18 @@
|
@@ -15,15 +15,18 @@
|
||||||
#include <asm/mach/time.h>
|
#include <asm/mach/time.h>
|
||||||
#include <linux/clockchips.h>
|
#include <linux/clockchips.h>
|
||||||
|
@ -76,7 +76,7 @@
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@@ -66,48 +80,68 @@
|
@@ -66,48 +80,68 @@ static void gemini_timer_set_mode(enum c
|
||||||
u32 cr;
|
u32 cr;
|
||||||
|
|
||||||
switch (mode) {
|
switch (mode) {
|
||||||
|
@ -176,7 +176,7 @@
|
||||||
{
|
{
|
||||||
struct clock_event_device *evt = &gemini_clockevent;
|
struct clock_event_device *evt = &gemini_clockevent;
|
||||||
|
|
||||||
@@ -116,14 +150,11 @@
|
@@ -116,14 +150,11 @@ static irqreturn_t gemini_timer_interrup
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct irqaction gemini_timer_irq = {
|
static struct irqaction gemini_timer_irq = {
|
||||||
|
@ -194,7 +194,7 @@
|
||||||
void __init gemini_timer_init(void)
|
void __init gemini_timer_init(void)
|
||||||
{
|
{
|
||||||
u32 reg_v;
|
u32 reg_v;
|
||||||
@@ -151,20 +182,35 @@
|
@@ -151,20 +182,35 @@ void __init gemini_timer_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -1,107 +0,0 @@
|
||||||
From: Ben Hutchings <ben.hutchings@codethink.co.uk>
|
|
||||||
Date: Thu, 26 Feb 2015 19:34:37 +0000
|
|
||||||
Subject: [PATCH] usbnet: Fix tx_packets stat for FLAG_MULTI_FRAME drivers
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
Currently the usbnet core does not update the tx_packets statistic for
|
|
||||||
drivers with FLAG_MULTI_PACKET and there is no hook in the TX
|
|
||||||
completion path where they could do this.
|
|
||||||
|
|
||||||
cdc_ncm and dependent drivers are bumping tx_packets stat on the
|
|
||||||
transmit path while asix and sr9800 aren't updating it at all.
|
|
||||||
|
|
||||||
Add a packet count in struct skb_data so these drivers can fill it
|
|
||||||
in, initialise it to 1 for other drivers, and add the packet count
|
|
||||||
to the tx_packets statistic on completion.
|
|
||||||
|
|
||||||
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
|
|
||||||
Tested-by: Bjørn Mork <bjorn@mork.no>
|
|
||||||
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
||||||
---
|
|
||||||
|
|
||||||
--- a/drivers/net/usb/asix_common.c
|
|
||||||
+++ b/drivers/net/usb/asix_common.c
|
|
||||||
@@ -188,6 +188,8 @@ struct sk_buff *asix_tx_fixup(struct usb
|
|
||||||
memcpy(skb_tail_pointer(skb), &padbytes, sizeof(padbytes));
|
|
||||||
skb_put(skb, sizeof(padbytes));
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+ usbnet_set_skb_tx_stats(skb, 1);
|
|
||||||
return skb;
|
|
||||||
}
|
|
||||||
|
|
||||||
--- a/drivers/net/usb/cdc_ncm.c
|
|
||||||
+++ b/drivers/net/usb/cdc_ncm.c
|
|
||||||
@@ -1172,7 +1172,6 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
|
|
||||||
|
|
||||||
/* return skb */
|
|
||||||
ctx->tx_curr_skb = NULL;
|
|
||||||
- dev->net->stats.tx_packets += ctx->tx_curr_frame_num;
|
|
||||||
|
|
||||||
/* keep private stats: framing overhead and number of NTBs */
|
|
||||||
ctx->tx_overhead += skb_out->len - ctx->tx_curr_frame_payload;
|
|
||||||
@@ -1184,6 +1183,8 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev
|
|
||||||
*/
|
|
||||||
dev->net->stats.tx_bytes -= skb_out->len - ctx->tx_curr_frame_payload;
|
|
||||||
|
|
||||||
+ usbnet_set_skb_tx_stats(skb_out, n);
|
|
||||||
+
|
|
||||||
return skb_out;
|
|
||||||
|
|
||||||
exit_no_skb:
|
|
||||||
--- a/drivers/net/usb/sr9800.c
|
|
||||||
+++ b/drivers/net/usb/sr9800.c
|
|
||||||
@@ -144,6 +144,7 @@ static struct sk_buff *sr_tx_fixup(struc
|
|
||||||
skb_put(skb, sizeof(padbytes));
|
|
||||||
}
|
|
||||||
|
|
||||||
+ usbnet_set_skb_tx_stats(skb, 1);
|
|
||||||
return skb;
|
|
||||||
}
|
|
||||||
|
|
||||||
--- a/drivers/net/usb/usbnet.c
|
|
||||||
+++ b/drivers/net/usb/usbnet.c
|
|
||||||
@@ -1189,8 +1189,7 @@ static void tx_complete (struct urb *urb
|
|
||||||
struct usbnet *dev = entry->dev;
|
|
||||||
|
|
||||||
if (urb->status == 0) {
|
|
||||||
- if (!(dev->driver_info->flags & FLAG_MULTI_PACKET))
|
|
||||||
- dev->net->stats.tx_packets++;
|
|
||||||
+ dev->net->stats.tx_packets += entry->packets;
|
|
||||||
dev->net->stats.tx_bytes += entry->length;
|
|
||||||
} else {
|
|
||||||
dev->net->stats.tx_errors++;
|
|
||||||
@@ -1349,6 +1348,8 @@ netdev_tx_t usbnet_start_xmit (struct sk
|
|
||||||
urb->transfer_flags |= URB_ZERO_PACKET;
|
|
||||||
}
|
|
||||||
entry->length = urb->transfer_buffer_length = length;
|
|
||||||
+ if (!(info->flags & FLAG_MULTI_PACKET))
|
|
||||||
+ usbnet_set_skb_tx_stats(skb, 1);
|
|
||||||
|
|
||||||
spin_lock_irqsave(&dev->txq.lock, flags);
|
|
||||||
retval = usb_autopm_get_interface_async(dev->intf);
|
|
||||||
--- a/include/linux/usb/usbnet.h
|
|
||||||
+++ b/include/linux/usb/usbnet.h
|
|
||||||
@@ -228,8 +228,20 @@ struct skb_data { /* skb->cb is one of t
|
|
||||||
struct usbnet *dev;
|
|
||||||
enum skb_state state;
|
|
||||||
size_t length;
|
|
||||||
+ unsigned long packets;
|
|
||||||
};
|
|
||||||
|
|
||||||
+/* Drivers that set FLAG_MULTI_PACKET must call this in their
|
|
||||||
+ * tx_fixup method before returning an skb.
|
|
||||||
+ */
|
|
||||||
+static inline void
|
|
||||||
+usbnet_set_skb_tx_stats(struct sk_buff *skb, unsigned long packets)
|
|
||||||
+{
|
|
||||||
+ struct skb_data *entry = (struct skb_data *) skb->cb;
|
|
||||||
+
|
|
||||||
+ entry->packets = packets;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
extern int usbnet_open(struct net_device *net);
|
|
||||||
extern int usbnet_stop(struct net_device *net);
|
|
||||||
extern netdev_tx_t usbnet_start_xmit(struct sk_buff *skb,
|
|
|
@ -31,7 +31,7 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
||||||
&ehci->regs->intr_enable); /* Turn On Interrupts */
|
&ehci->regs->intr_enable); /* Turn On Interrupts */
|
||||||
--- a/drivers/usb/host/ehci-hub.c
|
--- a/drivers/usb/host/ehci-hub.c
|
||||||
+++ b/drivers/usb/host/ehci-hub.c
|
+++ b/drivers/usb/host/ehci-hub.c
|
||||||
@@ -632,7 +632,7 @@ ehci_hub_status_data (struct usb_hcd *hc
|
@@ -635,7 +635,7 @@ ehci_hub_status_data (struct usb_hcd *hc
|
||||||
* always set, seem to clear PORT_OCC and PORT_CSC when writing to
|
* always set, seem to clear PORT_OCC and PORT_CSC when writing to
|
||||||
* PORT_POWER; that's surprising, but maybe within-spec.
|
* PORT_POWER; that's surprising, but maybe within-spec.
|
||||||
*/
|
*/
|
||||||
|
@ -40,7 +40,7 @@ Signed-off-by: Florian Fainelli <florian@openwrt.org>
|
||||||
mask = PORT_CSC | PORT_PEC | PORT_OCC;
|
mask = PORT_CSC | PORT_PEC | PORT_OCC;
|
||||||
else
|
else
|
||||||
mask = PORT_CSC | PORT_PEC;
|
mask = PORT_CSC | PORT_PEC;
|
||||||
@@ -992,7 +992,7 @@ int ehci_hub_control(
|
@@ -995,7 +995,7 @@ int ehci_hub_control(
|
||||||
if (temp & PORT_PEC)
|
if (temp & PORT_PEC)
|
||||||
status |= USB_PORT_STAT_C_ENABLE << 16;
|
status |= USB_PORT_STAT_C_ENABLE << 16;
|
||||||
|
|
||||||
|
|
|
@ -71,7 +71,7 @@
|
||||||
#include <linux/mutex.h>
|
#include <linux/mutex.h>
|
||||||
#include <linux/err.h>
|
#include <linux/err.h>
|
||||||
#include <linux/of.h>
|
#include <linux/of.h>
|
||||||
@@ -2635,3 +2636,5 @@ static int __init regmap_initcall(void)
|
@@ -2631,3 +2632,5 @@ static int __init regmap_initcall(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
postcore_initcall(regmap_initcall);
|
postcore_initcall(regmap_initcall);
|
||||||
|
|
|
@ -60,7 +60,7 @@ v2: incorporated changes suggested by Jonas Gorski
|
||||||
core-y += arch/mips/
|
core-y += arch/mips/
|
||||||
--- a/arch/mips/include/asm/fpu.h
|
--- a/arch/mips/include/asm/fpu.h
|
||||||
+++ b/arch/mips/include/asm/fpu.h
|
+++ b/arch/mips/include/asm/fpu.h
|
||||||
@@ -168,8 +168,10 @@ static inline int init_fpu(void)
|
@@ -169,8 +169,10 @@ static inline int init_fpu(void)
|
||||||
ret = __own_fpu();
|
ret = __own_fpu();
|
||||||
if (!ret)
|
if (!ret)
|
||||||
_init_fpu();
|
_init_fpu();
|
||||||
|
|
|
@ -97,7 +97,7 @@
|
||||||
if (instr->fail_addr != MTD_FAIL_ADDR_UNKNOWN)
|
if (instr->fail_addr != MTD_FAIL_ADDR_UNKNOWN)
|
||||||
instr->fail_addr -= part->offset;
|
instr->fail_addr -= part->offset;
|
||||||
instr->addr -= part->offset;
|
instr->addr -= part->offset;
|
||||||
@@ -514,18 +582,21 @@ static struct mtd_part *allocate_partiti
|
@@ -514,17 +582,20 @@ static struct mtd_part *allocate_partiti
|
||||||
if ((slave->mtd.flags & MTD_WRITEABLE) &&
|
if ((slave->mtd.flags & MTD_WRITEABLE) &&
|
||||||
mtd_mod_by_eb(slave->offset, &slave->mtd)) {
|
mtd_mod_by_eb(slave->offset, &slave->mtd)) {
|
||||||
/* Doesn't start on a boundary of major erase size */
|
/* Doesn't start on a boundary of major erase size */
|
||||||
|
@ -127,7 +127,6 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
slave->mtd.ecclayout = master->ecclayout;
|
slave->mtd.ecclayout = master->ecclayout;
|
||||||
slave->mtd.ecc_step_size = master->ecc_step_size;
|
|
||||||
--- a/include/linux/mtd/mtd.h
|
--- a/include/linux/mtd/mtd.h
|
||||||
+++ b/include/linux/mtd/mtd.h
|
+++ b/include/linux/mtd/mtd.h
|
||||||
@@ -55,6 +55,10 @@ struct erase_info {
|
@@ -55,6 +55,10 @@ struct erase_info {
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/drivers/net/ppp/pppoe.c
|
--- a/drivers/net/ppp/pppoe.c
|
||||||
+++ b/drivers/net/ppp/pppoe.c
|
+++ b/drivers/net/ppp/pppoe.c
|
||||||
@@ -865,7 +865,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
@@ -869,7 +869,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
||||||
0, GFP_KERNEL);
|
0, GFP_KERNEL);
|
||||||
if (!skb) {
|
if (!skb) {
|
||||||
error = -ENOMEM;
|
error = -ENOMEM;
|
||||||
@@ -873,7 +873,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
@@ -877,7 +877,7 @@ static int pppoe_sendmsg(struct kiocb *i
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reserve space for headers. */
|
/* Reserve space for headers. */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/net/netlink/af_netlink.c
|
--- a/net/netlink/af_netlink.c
|
||||||
+++ b/net/netlink/af_netlink.c
|
+++ b/net/netlink/af_netlink.c
|
||||||
@@ -1695,27 +1695,7 @@ void netlink_detachskb(struct sock *sk,
|
@@ -1693,27 +1693,7 @@ void netlink_detachskb(struct sock *sk,
|
||||||
|
|
||||||
static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
|
static struct sk_buff *netlink_trim(struct sk_buff *skb, gfp_t allocation)
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/include/linux/skbuff.h
|
--- a/include/linux/skbuff.h
|
||||||
+++ b/include/linux/skbuff.h
|
+++ b/include/linux/skbuff.h
|
||||||
@@ -2022,7 +2022,7 @@ static inline int pskb_network_may_pull(
|
@@ -2023,7 +2023,7 @@ static inline int pskb_network_may_pull(
|
||||||
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
|
* NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
|
||||||
*/
|
*/
|
||||||
#ifndef NET_SKB_PAD
|
#ifndef NET_SKB_PAD
|
||||||
|
|
|
@ -14,7 +14,7 @@ when needed.
|
||||||
|
|
||||||
--- a/include/linux/skbuff.h
|
--- a/include/linux/skbuff.h
|
||||||
+++ b/include/linux/skbuff.h
|
+++ b/include/linux/skbuff.h
|
||||||
@@ -2067,6 +2067,24 @@ static inline void pskb_trim_unique(stru
|
@@ -2068,6 +2068,24 @@ static inline void pskb_trim_unique(stru
|
||||||
BUG_ON(err);
|
BUG_ON(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,11 +24,9 @@ Signed-off-by: David S. Miller <davem@davemloft.net>
|
||||||
net/ipv6/route.c | 5 +++--
|
net/ipv6/route.c | 5 +++--
|
||||||
2 files changed, 34 insertions(+), 10 deletions(-)
|
2 files changed, 34 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c
|
|
||||||
index 7fde1f2..c217775 100644
|
|
||||||
--- a/net/ipv6/ip6_output.c
|
--- a/net/ipv6/ip6_output.c
|
||||||
+++ b/net/ipv6/ip6_output.c
|
+++ b/net/ipv6/ip6_output.c
|
||||||
@@ -897,21 +897,45 @@ static int ip6_dst_lookup_tail(struct so
|
@@ -898,21 +898,45 @@ static int ip6_dst_lookup_tail(struct so
|
||||||
#endif
|
#endif
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
|
@ -83,7 +81,7 @@ index 7fde1f2..c217775 100644
|
||||||
* Here if the dst entry we've looked up
|
* Here if the dst entry we've looked up
|
||||||
--- a/net/ipv6/route.c
|
--- a/net/ipv6/route.c
|
||||||
+++ b/net/ipv6/route.c
|
+++ b/net/ipv6/route.c
|
||||||
@@ -2215,9 +2215,10 @@ int ip6_route_get_saddr(struct net *net,
|
@@ -2182,9 +2182,10 @@ int ip6_route_get_saddr(struct net *net,
|
||||||
unsigned int prefs,
|
unsigned int prefs,
|
||||||
struct in6_addr *saddr)
|
struct in6_addr *saddr)
|
||||||
{
|
{
|
||||||
|
|
|
@ -173,7 +173,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
/*
|
/*
|
||||||
* Allocate a dst for local (unicast / anycast) address.
|
* Allocate a dst for local (unicast / anycast) address.
|
||||||
*/
|
*/
|
||||||
@@ -2362,7 +2395,8 @@ static int rtm_to_fib6_config(struct sk_
|
@@ -2363,7 +2396,8 @@ static int rtm_to_fib6_config(struct sk_
|
||||||
if (rtm->rtm_type == RTN_UNREACHABLE ||
|
if (rtm->rtm_type == RTN_UNREACHABLE ||
|
||||||
rtm->rtm_type == RTN_BLACKHOLE ||
|
rtm->rtm_type == RTN_BLACKHOLE ||
|
||||||
rtm->rtm_type == RTN_PROHIBIT ||
|
rtm->rtm_type == RTN_PROHIBIT ||
|
||||||
|
@ -183,7 +183,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
cfg->fc_flags |= RTF_REJECT;
|
cfg->fc_flags |= RTF_REJECT;
|
||||||
|
|
||||||
if (rtm->rtm_type == RTN_LOCAL)
|
if (rtm->rtm_type == RTN_LOCAL)
|
||||||
@@ -2564,6 +2598,9 @@ static int rt6_fill_node(struct net *net
|
@@ -2565,6 +2599,9 @@ static int rt6_fill_node(struct net *net
|
||||||
case -EACCES:
|
case -EACCES:
|
||||||
rtm->rtm_type = RTN_PROHIBIT;
|
rtm->rtm_type = RTN_PROHIBIT;
|
||||||
break;
|
break;
|
||||||
|
@ -193,7 +193,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
case -EAGAIN:
|
case -EAGAIN:
|
||||||
rtm->rtm_type = RTN_THROW;
|
rtm->rtm_type = RTN_THROW;
|
||||||
break;
|
break;
|
||||||
@@ -2817,6 +2854,8 @@ static int ip6_route_dev_notify(struct n
|
@@ -2818,6 +2855,8 @@ static int ip6_route_dev_notify(struct n
|
||||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||||
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
|
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
|
||||||
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
|
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
|
||||||
|
@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
|
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
|
||||||
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
|
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
|
||||||
#endif
|
#endif
|
||||||
@@ -3033,6 +3072,17 @@ static int __net_init ip6_route_net_init
|
@@ -3034,6 +3073,17 @@ static int __net_init ip6_route_net_init
|
||||||
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
|
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
|
||||||
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
|
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
|
||||||
ip6_template_metrics, true);
|
ip6_template_metrics, true);
|
||||||
|
@ -220,7 +220,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
net->ipv6.sysctl.flush_delay = 0;
|
net->ipv6.sysctl.flush_delay = 0;
|
||||||
@@ -3051,6 +3101,8 @@ out:
|
@@ -3052,6 +3102,8 @@ out:
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||||
|
@ -229,7 +229,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
out_ip6_prohibit_entry:
|
out_ip6_prohibit_entry:
|
||||||
kfree(net->ipv6.ip6_prohibit_entry);
|
kfree(net->ipv6.ip6_prohibit_entry);
|
||||||
out_ip6_null_entry:
|
out_ip6_null_entry:
|
||||||
@@ -3068,6 +3120,7 @@ static void __net_exit ip6_route_net_exi
|
@@ -3069,6 +3121,7 @@ static void __net_exit ip6_route_net_exi
|
||||||
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
||||||
kfree(net->ipv6.ip6_prohibit_entry);
|
kfree(net->ipv6.ip6_prohibit_entry);
|
||||||
kfree(net->ipv6.ip6_blk_hole_entry);
|
kfree(net->ipv6.ip6_blk_hole_entry);
|
||||||
|
@ -237,7 +237,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
#endif
|
#endif
|
||||||
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
|
||||||
}
|
}
|
||||||
@@ -3164,6 +3217,9 @@ int __init ip6_route_init(void)
|
@@ -3165,6 +3218,9 @@ int __init ip6_route_init(void)
|
||||||
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||||
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
|
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
|
||||||
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
|
||||||
|
|
|
@ -17,7 +17,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||||
|
|
||||||
--- a/net/core/dev.c
|
--- a/net/core/dev.c
|
||||||
+++ b/net/core/dev.c
|
+++ b/net/core/dev.c
|
||||||
@@ -4003,6 +4003,9 @@ static enum gro_result dev_gro_receive(s
|
@@ -4001,6 +4001,9 @@ static enum gro_result dev_gro_receive(s
|
||||||
enum gro_result ret;
|
enum gro_result ret;
|
||||||
int grow;
|
int grow;
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||||
if (!(skb->dev->features & NETIF_F_GRO))
|
if (!(skb->dev->features & NETIF_F_GRO))
|
||||||
goto normal;
|
goto normal;
|
||||||
|
|
||||||
@@ -5066,6 +5069,48 @@ static void __netdev_adjacent_dev_unlink
|
@@ -5064,6 +5067,48 @@ static void __netdev_adjacent_dev_unlink
|
||||||
&upper_dev->adj_list.lower);
|
&upper_dev->adj_list.lower);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||||
static int __netdev_upper_dev_link(struct net_device *dev,
|
static int __netdev_upper_dev_link(struct net_device *dev,
|
||||||
struct net_device *upper_dev, bool master,
|
struct net_device *upper_dev, bool master,
|
||||||
void *private)
|
void *private)
|
||||||
@@ -5126,6 +5171,7 @@ static int __netdev_upper_dev_link(struc
|
@@ -5124,6 +5169,7 @@ static int __netdev_upper_dev_link(struc
|
||||||
goto rollback_lower_mesh;
|
goto rollback_lower_mesh;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -84,7 +84,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||||
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
|
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@@ -5243,6 +5289,7 @@ void netdev_upper_dev_unlink(struct net_
|
@@ -5241,6 +5287,7 @@ void netdev_upper_dev_unlink(struct net_
|
||||||
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
|
list_for_each_entry(i, &upper_dev->all_adj_list.upper, list)
|
||||||
__netdev_adjacent_dev_unlink(dev, i->dev);
|
__netdev_adjacent_dev_unlink(dev, i->dev);
|
||||||
|
|
||||||
|
@ -92,7 +92,7 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||||
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
|
call_netdevice_notifiers(NETDEV_CHANGEUPPER, dev);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(netdev_upper_dev_unlink);
|
EXPORT_SYMBOL(netdev_upper_dev_unlink);
|
||||||
@@ -5762,6 +5809,7 @@ int dev_set_mac_address(struct net_devic
|
@@ -5760,6 +5807,7 @@ int dev_set_mac_address(struct net_devic
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
dev->addr_assign_type = NET_ADDR_SET;
|
dev->addr_assign_type = NET_ADDR_SET;
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
*/
|
*/
|
||||||
--- a/include/linux/skbuff.h
|
--- a/include/linux/skbuff.h
|
||||||
+++ b/include/linux/skbuff.h
|
+++ b/include/linux/skbuff.h
|
||||||
@@ -2053,6 +2053,10 @@ static inline int pskb_trim(struct sk_bu
|
@@ -2054,6 +2054,10 @@ static inline int pskb_trim(struct sk_bu
|
||||||
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
|
return (len < skb->len) ? __pskb_trim(skb, len) : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
/**
|
/**
|
||||||
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
|
* pskb_trim_unique - remove end from a paged unique (not cloned) buffer
|
||||||
* @skb: buffer to alter
|
* @skb: buffer to alter
|
||||||
@@ -2179,16 +2183,6 @@ static inline struct sk_buff *dev_alloc_
|
@@ -2180,16 +2184,6 @@ static inline struct sk_buff *dev_alloc_
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -121,7 +121,7 @@
|
||||||
|
|
||||||
#include <net/protocol.h>
|
#include <net/protocol.h>
|
||||||
#include <net/dst.h>
|
#include <net/dst.h>
|
||||||
@@ -451,6 +452,22 @@ struct sk_buff *__netdev_alloc_skb(struc
|
@@ -469,6 +470,22 @@ struct sk_buff *__netdev_alloc_skb(struc
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(__netdev_alloc_skb);
|
EXPORT_SYMBOL(__netdev_alloc_skb);
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@
|
||||||
* @dev: device the buffer will be used with
|
* @dev: device the buffer will be used with
|
||||||
--- a/include/linux/usb.h
|
--- a/include/linux/usb.h
|
||||||
+++ b/include/linux/usb.h
|
+++ b/include/linux/usb.h
|
||||||
@@ -695,6 +695,7 @@ static inline bool usb_device_no_sg_cons
|
@@ -721,6 +721,7 @@ static inline bool usb_device_no_sg_cons
|
||||||
return udev && udev->bus && udev->bus->no_sg_constraint;
|
return udev && udev->bus && udev->bus->no_sg_constraint;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -173,7 +173,7 @@
|
||||||
goto err;
|
goto err;
|
||||||
--- a/net/core/sock.c
|
--- a/net/core/sock.c
|
||||||
+++ b/net/core/sock.c
|
+++ b/net/core/sock.c
|
||||||
@@ -2915,6 +2915,8 @@ static __net_initdata struct pernet_oper
|
@@ -2934,6 +2934,8 @@ static __net_initdata struct pernet_oper
|
||||||
|
|
||||||
static int __init proto_init(void)
|
static int __init proto_init(void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -11,7 +11,7 @@ Date: Thu Feb 27 01:02:23 2014 -0800
|
||||||
|
|
||||||
--- a/drivers/pci/host/pcie-designware.c
|
--- a/drivers/pci/host/pcie-designware.c
|
||||||
+++ b/drivers/pci/host/pcie-designware.c
|
+++ b/drivers/pci/host/pcie-designware.c
|
||||||
@@ -492,6 +492,9 @@ int __init dw_pcie_host_init(struct pcie
|
@@ -492,6 +492,9 @@ int dw_pcie_host_init(struct pcie_port *
|
||||||
if (pp->ops->host_init)
|
if (pp->ops->host_init)
|
||||||
pp->ops->host_init(pp);
|
pp->ops->host_init(pp);
|
||||||
|
|
||||||
|
|
|
@ -443,7 +443,7 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
|
||||||
exit:
|
exit:
|
||||||
spi_qup_set_state(controller, QUP_STATE_RESET);
|
spi_qup_set_state(controller, QUP_STATE_RESET);
|
||||||
spin_lock_irqsave(&controller->lock, flags);
|
spin_lock_irqsave(&controller->lock, flags);
|
||||||
@@ -553,6 +816,7 @@ static int spi_qup_probe(struct platform
|
@@ -554,6 +817,7 @@ static int spi_qup_probe(struct platform
|
||||||
master->transfer_one = spi_qup_transfer_one;
|
master->transfer_one = spi_qup_transfer_one;
|
||||||
master->dev.of_node = pdev->dev.of_node;
|
master->dev.of_node = pdev->dev.of_node;
|
||||||
master->auto_runtime_pm = true;
|
master->auto_runtime_pm = true;
|
||||||
|
@ -451,7 +451,7 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
|
||||||
|
|
||||||
platform_set_drvdata(pdev, master);
|
platform_set_drvdata(pdev, master);
|
||||||
|
|
||||||
@@ -618,6 +882,56 @@ static int spi_qup_probe(struct platform
|
@@ -619,6 +883,56 @@ static int spi_qup_probe(struct platform
|
||||||
QUP_ERROR_INPUT_UNDER_RUN | QUP_ERROR_OUTPUT_UNDER_RUN,
|
QUP_ERROR_INPUT_UNDER_RUN | QUP_ERROR_OUTPUT_UNDER_RUN,
|
||||||
base + QUP_ERROR_FLAGS_EN);
|
base + QUP_ERROR_FLAGS_EN);
|
||||||
|
|
||||||
|
@ -508,7 +508,7 @@ Signed-off-by: Andy Gross <agross@codeaurora.org>
|
||||||
writel_relaxed(0, base + SPI_CONFIG);
|
writel_relaxed(0, base + SPI_CONFIG);
|
||||||
writel_relaxed(SPI_IO_C_NO_TRI_STATE, base + SPI_IO_CONTROL);
|
writel_relaxed(SPI_IO_C_NO_TRI_STATE, base + SPI_IO_CONTROL);
|
||||||
|
|
||||||
@@ -730,6 +1044,11 @@ static int spi_qup_remove(struct platfor
|
@@ -731,6 +1045,11 @@ static int spi_qup_remove(struct platfor
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,6 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
|
||||||
drivers/watchdog/qcom-wdt.c | 21 +++++++++++++++------
|
drivers/watchdog/qcom-wdt.c | 21 +++++++++++++++------
|
||||||
1 file changed, 15 insertions(+), 6 deletions(-)
|
1 file changed, 15 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
diff --git a/drivers/watchdog/qcom-wdt.c b/drivers/watchdog/qcom-wdt.c
|
|
||||||
index aa85618..aa03ca8 100644
|
|
||||||
--- a/drivers/watchdog/qcom-wdt.c
|
--- a/drivers/watchdog/qcom-wdt.c
|
||||||
+++ b/drivers/watchdog/qcom-wdt.c
|
+++ b/drivers/watchdog/qcom-wdt.c
|
||||||
@@ -20,9 +20,9 @@
|
@@ -20,9 +20,9 @@
|
||||||
|
@ -31,7 +29,7 @@ index aa85618..aa03ca8 100644
|
||||||
|
|
||||||
struct qcom_wdt {
|
struct qcom_wdt {
|
||||||
struct watchdog_device wdd;
|
struct watchdog_device wdd;
|
||||||
@@ -117,6 +117,8 @@ static int qcom_wdt_probe(struct platform_device *pdev)
|
@@ -117,6 +117,8 @@ static int qcom_wdt_probe(struct platfor
|
||||||
{
|
{
|
||||||
struct qcom_wdt *wdt;
|
struct qcom_wdt *wdt;
|
||||||
struct resource *res;
|
struct resource *res;
|
||||||
|
@ -40,7 +38,7 @@ index aa85618..aa03ca8 100644
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
wdt = devm_kzalloc(&pdev->dev, sizeof(*wdt), GFP_KERNEL);
|
wdt = devm_kzalloc(&pdev->dev, sizeof(*wdt), GFP_KERNEL);
|
||||||
@@ -124,6 +126,14 @@ static int qcom_wdt_probe(struct platform_device *pdev)
|
@@ -124,6 +126,14 @@ static int qcom_wdt_probe(struct platfor
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||||
|
@ -55,7 +53,7 @@ index aa85618..aa03ca8 100644
|
||||||
wdt->base = devm_ioremap_resource(&pdev->dev, res);
|
wdt->base = devm_ioremap_resource(&pdev->dev, res);
|
||||||
if (IS_ERR(wdt->base))
|
if (IS_ERR(wdt->base))
|
||||||
return PTR_ERR(wdt->base);
|
return PTR_ERR(wdt->base);
|
||||||
@@ -203,9 +213,8 @@ static int qcom_wdt_remove(struct platform_device *pdev)
|
@@ -203,9 +213,8 @@ static int qcom_wdt_remove(struct platfo
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct of_device_id qcom_wdt_of_table[] = {
|
static const struct of_device_id qcom_wdt_of_table[] = {
|
||||||
|
@ -67,6 +65,3 @@ index aa85618..aa03ca8 100644
|
||||||
{ },
|
{ },
|
||||||
};
|
};
|
||||||
MODULE_DEVICE_TABLE(of, qcom_wdt_of_table);
|
MODULE_DEVICE_TABLE(of, qcom_wdt_of_table);
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,6 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
|
||||||
arch/arm/boot/dts/qcom-ipq8064.dtsi | 14 +++++++++++++-
|
arch/arm/boot/dts/qcom-ipq8064.dtsi | 14 +++++++++++++-
|
||||||
1 file changed, 13 insertions(+), 1 deletion(-)
|
1 file changed, 13 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/qcom-ipq8064.dtsi b/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
|
||||||
index cb225da..d01f618 100644
|
|
||||||
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
--- a/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
||||||
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
+++ b/arch/arm/boot/dts/qcom-ipq8064.dtsi
|
||||||
@@ -60,6 +60,14 @@
|
@@ -60,6 +60,14 @@
|
||||||
|
@ -48,6 +46,3 @@ index cb225da..d01f618 100644
|
||||||
cpu-offset = <0x80000>;
|
cpu-offset = <0x80000>;
|
||||||
};
|
};
|
||||||
|
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
||||||
|
|
|
@ -13,8 +13,6 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
|
||||||
2 files changed, 258 insertions(+)
|
2 files changed, 258 insertions(+)
|
||||||
create mode 100644 arch/arm/boot/dts/qcom-ipq8064-db149.dts
|
create mode 100644 arch/arm/boot/dts/qcom-ipq8064-db149.dts
|
||||||
|
|
||||||
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
|
||||||
index 38c89ca..745360a 100644
|
|
||||||
--- a/arch/arm/boot/dts/Makefile
|
--- a/arch/arm/boot/dts/Makefile
|
||||||
+++ b/arch/arm/boot/dts/Makefile
|
+++ b/arch/arm/boot/dts/Makefile
|
||||||
@@ -360,6 +360,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
@@ -360,6 +360,7 @@ dtb-$(CONFIG_ARCH_QCOM) += \
|
||||||
|
@ -25,9 +23,6 @@ index 38c89ca..745360a 100644
|
||||||
qcom-msm8660-surf.dtb \
|
qcom-msm8660-surf.dtb \
|
||||||
qcom-msm8960-cdp.dtb \
|
qcom-msm8960-cdp.dtb \
|
||||||
qcom-msm8974-sony-xperia-honami.dtb
|
qcom-msm8974-sony-xperia-honami.dtb
|
||||||
diff --git a/arch/arm/boot/dts/qcom-ipq8064-db149.dts b/arch/arm/boot/dts/qcom-ipq8064-db149.dts
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..224c54f
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/arch/arm/boot/dts/qcom-ipq8064-db149.dts
|
+++ b/arch/arm/boot/dts/qcom-ipq8064-db149.dts
|
||||||
@@ -0,0 +1,257 @@
|
@@ -0,0 +1,257 @@
|
||||||
|
@ -288,6 +283,3 @@ index 0000000..224c54f
|
||||||
+ };
|
+ };
|
||||||
+ };
|
+ };
|
||||||
+};
|
+};
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt b/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
|
|
||||||
index 4ce24d4..186e5f4 100644
|
|
||||||
--- a/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
|
--- a/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
|
||||||
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
|
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom,gsbi.txt
|
||||||
@@ -6,7 +6,8 @@ configuration settings. The mode setting will govern the input/output mode of
|
@@ -6,7 +6,8 @@ configuration settings. The mode settin
|
||||||
the 4 GSBI IOs.
|
the 4 GSBI IOs.
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
|
@ -48,8 +46,6 @@ index 4ce24d4..186e5f4 100644
|
||||||
+ };
|
+ };
|
||||||
+
|
+
|
||||||
+
|
+
|
||||||
diff --git a/drivers/soc/qcom/Kconfig b/drivers/soc/qcom/Kconfig
|
|
||||||
index 7bd2c94..460b2db 100644
|
|
||||||
--- a/drivers/soc/qcom/Kconfig
|
--- a/drivers/soc/qcom/Kconfig
|
||||||
+++ b/drivers/soc/qcom/Kconfig
|
+++ b/drivers/soc/qcom/Kconfig
|
||||||
@@ -4,6 +4,7 @@
|
@@ -4,6 +4,7 @@
|
||||||
|
@ -60,8 +56,6 @@ index 7bd2c94..460b2db 100644
|
||||||
help
|
help
|
||||||
Say y here to enable GSBI support. The GSBI provides control
|
Say y here to enable GSBI support. The GSBI provides control
|
||||||
functions for connecting the underlying serial UART, SPI, and I2C
|
functions for connecting the underlying serial UART, SPI, and I2C
|
||||||
diff --git a/drivers/soc/qcom/qcom_gsbi.c b/drivers/soc/qcom/qcom_gsbi.c
|
|
||||||
index 729425d..09c669e 100644
|
|
||||||
--- a/drivers/soc/qcom/qcom_gsbi.c
|
--- a/drivers/soc/qcom/qcom_gsbi.c
|
||||||
+++ b/drivers/soc/qcom/qcom_gsbi.c
|
+++ b/drivers/soc/qcom/qcom_gsbi.c
|
||||||
@@ -18,22 +18,129 @@
|
@@ -18,22 +18,129 @@
|
||||||
|
@ -194,7 +188,7 @@ index 729425d..09c669e 100644
|
||||||
|
|
||||||
gsbi = devm_kzalloc(&pdev->dev, sizeof(*gsbi), GFP_KERNEL);
|
gsbi = devm_kzalloc(&pdev->dev, sizeof(*gsbi), GFP_KERNEL);
|
||||||
|
|
||||||
@@ -45,6 +152,32 @@ static int gsbi_probe(struct platform_device *pdev)
|
@@ -45,6 +152,32 @@ static int gsbi_probe(struct platform_de
|
||||||
if (IS_ERR(base))
|
if (IS_ERR(base))
|
||||||
return PTR_ERR(base);
|
return PTR_ERR(base);
|
||||||
|
|
||||||
|
@ -227,7 +221,7 @@ index 729425d..09c669e 100644
|
||||||
if (of_property_read_u32(node, "qcom,mode", &gsbi->mode)) {
|
if (of_property_read_u32(node, "qcom,mode", &gsbi->mode)) {
|
||||||
dev_err(&pdev->dev, "missing mode configuration\n");
|
dev_err(&pdev->dev, "missing mode configuration\n");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
@@ -64,6 +197,25 @@ static int gsbi_probe(struct platform_device *pdev)
|
@@ -64,6 +197,25 @@ static int gsbi_probe(struct platform_de
|
||||||
writel_relaxed((gsbi->mode << GSBI_PROTOCOL_SHIFT) | gsbi->crci,
|
writel_relaxed((gsbi->mode << GSBI_PROTOCOL_SHIFT) | gsbi->crci,
|
||||||
base + GSBI_CTRL_REG);
|
base + GSBI_CTRL_REG);
|
||||||
|
|
||||||
|
@ -253,6 +247,3 @@ index 729425d..09c669e 100644
|
||||||
/* make sure the gsbi control write is not reordered */
|
/* make sure the gsbi control write is not reordered */
|
||||||
wmb();
|
wmb();
|
||||||
|
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
||||||
|
|
|
@ -27,9 +27,6 @@ Signed-off-by: Stanimir Varbanov <svarbanov@mm-sol.com>
|
||||||
1 files changed, 231 insertions(+), 0 deletions(-)
|
1 files changed, 231 insertions(+), 0 deletions(-)
|
||||||
create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie.txt
|
create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie.txt
|
||||||
|
|
||||||
diff --git a/Documentation/devicetree/bindings/pci/qcom,pcie.txt b/Documentation/devicetree/bindings/pci/qcom,pcie.txt
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..dcf7348
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/Documentation/devicetree/bindings/pci/qcom,pcie.txt
|
+++ b/Documentation/devicetree/bindings/pci/qcom,pcie.txt
|
||||||
@@ -0,0 +1,231 @@
|
@@ -0,0 +1,231 @@
|
||||||
|
|
|
@ -31,8 +31,6 @@ Signed-off-by: Mathieu Olivari <mathieu@codeaurora.org>
|
||||||
3 files changed, 4 insertions(+), 1 deletion(-)
|
3 files changed, 4 insertions(+), 1 deletion(-)
|
||||||
create mode 100644 arch/arm/mach-qcom/Makefile.boot
|
create mode 100644 arch/arm/mach-qcom/Makefile.boot
|
||||||
|
|
||||||
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
|
|
||||||
index 89c4b5c..4583ea5 100644
|
|
||||||
--- a/arch/arm/Kconfig
|
--- a/arch/arm/Kconfig
|
||||||
+++ b/arch/arm/Kconfig
|
+++ b/arch/arm/Kconfig
|
||||||
@@ -311,7 +311,7 @@ config ARCH_MULTIPLATFORM
|
@@ -311,7 +311,7 @@ config ARCH_MULTIPLATFORM
|
||||||
|
@ -44,11 +42,9 @@ index 89c4b5c..4583ea5 100644
|
||||||
select CLKSRC_OF
|
select CLKSRC_OF
|
||||||
select COMMON_CLK
|
select COMMON_CLK
|
||||||
select GENERIC_CLOCKEVENTS
|
select GENERIC_CLOCKEVENTS
|
||||||
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
|
||||||
index 7453352..5d6f8ac 100644
|
|
||||||
--- a/arch/arm/Makefile
|
--- a/arch/arm/Makefile
|
||||||
+++ b/arch/arm/Makefile
|
+++ b/arch/arm/Makefile
|
||||||
@@ -240,9 +240,11 @@ MACHINE := arch/arm/mach-$(word 1,$(machine-y))/
|
@@ -240,9 +240,11 @@ MACHINE := arch/arm/mach-$(word 1,$(mac
|
||||||
else
|
else
|
||||||
MACHINE :=
|
MACHINE :=
|
||||||
endif
|
endif
|
||||||
|
@ -60,13 +56,7 @@ index 7453352..5d6f8ac 100644
|
||||||
|
|
||||||
machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
|
machdirs := $(patsubst %,arch/arm/mach-%/,$(machine-y))
|
||||||
platdirs := $(patsubst %,arch/arm/plat-%/,$(sort $(plat-y)))
|
platdirs := $(patsubst %,arch/arm/plat-%/,$(sort $(plat-y)))
|
||||||
diff --git a/arch/arm/mach-qcom/Makefile.boot b/arch/arm/mach-qcom/Makefile.boot
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..67a6d5a
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/arch/arm/mach-qcom/Makefile.boot
|
+++ b/arch/arm/mach-qcom/Makefile.boot
|
||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+zreladdr-y+= 0x42208000
|
+zreladdr-y+= 0x42208000
|
||||||
--
|
|
||||||
1.9.1
|
|
||||||
|
|
||||||
|
|
|
@ -18,11 +18,9 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
arch/arm/mach-ixp4xx/vulcan-setup.c | 2 ++
|
arch/arm/mach-ixp4xx/vulcan-setup.c | 2 ++
|
||||||
7 files changed, 14 insertions(+)
|
7 files changed, 14 insertions(+)
|
||||||
|
|
||||||
Index: linux-3.18.5/arch/arm/mach-ixp4xx/fsg-setup.c
|
--- a/arch/arm/mach-ixp4xx/fsg-setup.c
|
||||||
===================================================================
|
+++ b/arch/arm/mach-ixp4xx/fsg-setup.c
|
||||||
--- linux-3.18.5.orig/arch/arm/mach-ixp4xx/fsg-setup.c 2015-02-09 13:54:27.000000000 +0100
|
@@ -142,12 +142,14 @@ static struct platform_device fsg_eth[]
|
||||||
+++ linux-3.18.5/arch/arm/mach-ixp4xx/fsg-setup.c 2015-02-09 13:54:43.025969682 +0100
|
|
||||||
@@ -142,12 +142,14 @@
|
|
||||||
.id = IXP4XX_ETH_NPEB,
|
.id = IXP4XX_ETH_NPEB,
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = fsg_plat_eth,
|
.platform_data = fsg_plat_eth,
|
||||||
|
@ -37,11 +35,9 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/fsg-setup.c
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
Index: linux-3.18.5/arch/arm/mach-ixp4xx/goramo_mlr.c
|
--- a/arch/arm/mach-ixp4xx/goramo_mlr.c
|
||||||
===================================================================
|
+++ b/arch/arm/mach-ixp4xx/goramo_mlr.c
|
||||||
--- linux-3.18.5.orig/arch/arm/mach-ixp4xx/goramo_mlr.c 2015-02-09 13:54:27.000000000 +0100
|
@@ -295,10 +295,12 @@ static struct platform_device device_eth
|
||||||
+++ linux-3.18.5/arch/arm/mach-ixp4xx/goramo_mlr.c 2015-02-09 13:54:43.025969682 +0100
|
|
||||||
@@ -295,10 +295,12 @@
|
|
||||||
.name = "ixp4xx_eth",
|
.name = "ixp4xx_eth",
|
||||||
.id = IXP4XX_ETH_NPEB,
|
.id = IXP4XX_ETH_NPEB,
|
||||||
.dev.platform_data = eth_plat,
|
.dev.platform_data = eth_plat,
|
||||||
|
@ -54,10 +50,8 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/goramo_mlr.c
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Index: linux-3.18.5/arch/arm/mach-ixp4xx/ixdp425-setup.c
|
--- a/arch/arm/mach-ixp4xx/ixdp425-setup.c
|
||||||
===================================================================
|
+++ b/arch/arm/mach-ixp4xx/ixdp425-setup.c
|
||||||
--- linux-3.18.5.orig/arch/arm/mach-ixp4xx/ixdp425-setup.c 2015-02-09 13:54:27.000000000 +0100
|
|
||||||
+++ linux-3.18.5/arch/arm/mach-ixp4xx/ixdp425-setup.c 2015-02-09 13:54:43.025969682 +0100
|
|
||||||
@@ -20,6 +20,7 @@
|
@@ -20,6 +20,7 @@
|
||||||
#include <linux/mtd/nand.h>
|
#include <linux/mtd/nand.h>
|
||||||
#include <linux/mtd/partitions.h>
|
#include <linux/mtd/partitions.h>
|
||||||
|
@ -66,7 +60,7 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/ixdp425-setup.c
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
#include <asm/types.h>
|
#include <asm/types.h>
|
||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
@@ -196,10 +197,12 @@
|
@@ -196,10 +197,12 @@ static struct platform_device ixdp425_et
|
||||||
.name = "ixp4xx_eth",
|
.name = "ixp4xx_eth",
|
||||||
.id = IXP4XX_ETH_NPEB,
|
.id = IXP4XX_ETH_NPEB,
|
||||||
.dev.platform_data = ixdp425_plat_eth,
|
.dev.platform_data = ixdp425_plat_eth,
|
||||||
|
@ -79,11 +73,9 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/ixdp425-setup.c
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Index: linux-3.18.5/arch/arm/mach-ixp4xx/nas100d-setup.c
|
--- a/arch/arm/mach-ixp4xx/nas100d-setup.c
|
||||||
===================================================================
|
+++ b/arch/arm/mach-ixp4xx/nas100d-setup.c
|
||||||
--- linux-3.18.5.orig/arch/arm/mach-ixp4xx/nas100d-setup.c 2015-02-09 13:54:27.000000000 +0100
|
@@ -170,6 +170,7 @@ static struct platform_device nas100d_et
|
||||||
+++ linux-3.18.5/arch/arm/mach-ixp4xx/nas100d-setup.c 2015-02-09 13:54:43.025969682 +0100
|
|
||||||
@@ -170,6 +170,7 @@
|
|
||||||
.name = "ixp4xx_eth",
|
.name = "ixp4xx_eth",
|
||||||
.id = IXP4XX_ETH_NPEB,
|
.id = IXP4XX_ETH_NPEB,
|
||||||
.dev.platform_data = nas100d_plat_eth,
|
.dev.platform_data = nas100d_plat_eth,
|
||||||
|
@ -91,11 +83,9 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/nas100d-setup.c
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Index: linux-3.18.5/arch/arm/mach-ixp4xx/nslu2-setup.c
|
--- a/arch/arm/mach-ixp4xx/nslu2-setup.c
|
||||||
===================================================================
|
+++ b/arch/arm/mach-ixp4xx/nslu2-setup.c
|
||||||
--- linux-3.18.5.orig/arch/arm/mach-ixp4xx/nslu2-setup.c 2015-02-09 13:54:27.000000000 +0100
|
@@ -182,6 +182,7 @@ static struct platform_device nslu2_eth[
|
||||||
+++ linux-3.18.5/arch/arm/mach-ixp4xx/nslu2-setup.c 2015-02-09 13:54:43.025969682 +0100
|
|
||||||
@@ -182,6 +182,7 @@
|
|
||||||
.name = "ixp4xx_eth",
|
.name = "ixp4xx_eth",
|
||||||
.id = IXP4XX_ETH_NPEB,
|
.id = IXP4XX_ETH_NPEB,
|
||||||
.dev.platform_data = nslu2_plat_eth,
|
.dev.platform_data = nslu2_plat_eth,
|
||||||
|
@ -103,10 +93,8 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/nslu2-setup.c
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
Index: linux-3.18.5/arch/arm/mach-ixp4xx/omixp-setup.c
|
--- a/arch/arm/mach-ixp4xx/omixp-setup.c
|
||||||
===================================================================
|
+++ b/arch/arm/mach-ixp4xx/omixp-setup.c
|
||||||
--- linux-3.18.5.orig/arch/arm/mach-ixp4xx/omixp-setup.c 2015-02-09 13:54:27.000000000 +0100
|
|
||||||
+++ linux-3.18.5/arch/arm/mach-ixp4xx/omixp-setup.c 2015-02-09 13:55:01.150008153 +0100
|
|
||||||
@@ -17,6 +17,7 @@
|
@@ -17,6 +17,7 @@
|
||||||
#include <linux/serial_8250.h>
|
#include <linux/serial_8250.h>
|
||||||
#include <linux/mtd/mtd.h>
|
#include <linux/mtd/mtd.h>
|
||||||
|
@ -115,7 +103,7 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/omixp-setup.c
|
||||||
#include <linux/leds.h>
|
#include <linux/leds.h>
|
||||||
|
|
||||||
#include <asm/setup.h>
|
#include <asm/setup.h>
|
||||||
@@ -188,10 +189,12 @@
|
@@ -188,10 +189,12 @@ static struct platform_device ixdp425_et
|
||||||
.name = "ixp4xx_eth",
|
.name = "ixp4xx_eth",
|
||||||
.id = IXP4XX_ETH_NPEB,
|
.id = IXP4XX_ETH_NPEB,
|
||||||
.dev.platform_data = ixdp425_plat_eth,
|
.dev.platform_data = ixdp425_plat_eth,
|
||||||
|
@ -128,11 +116,9 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/omixp-setup.c
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
Index: linux-3.18.5/arch/arm/mach-ixp4xx/vulcan-setup.c
|
--- a/arch/arm/mach-ixp4xx/vulcan-setup.c
|
||||||
===================================================================
|
+++ b/arch/arm/mach-ixp4xx/vulcan-setup.c
|
||||||
--- linux-3.18.5.orig/arch/arm/mach-ixp4xx/vulcan-setup.c 2015-02-09 13:54:27.000000000 +0100
|
@@ -139,6 +139,7 @@ static struct platform_device vulcan_eth
|
||||||
+++ linux-3.18.5/arch/arm/mach-ixp4xx/vulcan-setup.c 2015-02-09 13:54:43.025969682 +0100
|
|
||||||
@@ -139,6 +139,7 @@
|
|
||||||
.id = IXP4XX_ETH_NPEB,
|
.id = IXP4XX_ETH_NPEB,
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &vulcan_plat_eth[0],
|
.platform_data = &vulcan_plat_eth[0],
|
||||||
|
@ -140,7 +126,7 @@ Index: linux-3.18.5/arch/arm/mach-ixp4xx/vulcan-setup.c
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
[1] = {
|
[1] = {
|
||||||
@@ -146,6 +147,7 @@
|
@@ -146,6 +147,7 @@ static struct platform_device vulcan_eth
|
||||||
.id = IXP4XX_ETH_NPEC,
|
.id = IXP4XX_ETH_NPEC,
|
||||||
.dev = {
|
.dev = {
|
||||||
.platform_data = &vulcan_plat_eth[1],
|
.platform_data = &vulcan_plat_eth[1],
|
||||||
|
|
|
@ -15,7 +15,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
|
|
||||||
--- a/drivers/net/ethernet/xscale/ixp4xx_eth.c
|
--- a/drivers/net/ethernet/xscale/ixp4xx_eth.c
|
||||||
+++ b/drivers/net/ethernet/xscale/ixp4xx_eth.c
|
+++ b/drivers/net/ethernet/xscale/ixp4xx_eth.c
|
||||||
@@ -661,10 +661,10 @@ static inline void queue_put_desc(unsign
|
@@ -657,10 +657,10 @@ static inline void queue_put_desc(unsign
|
||||||
static inline void dma_unmap_tx(struct port *port, struct desc *desc)
|
static inline void dma_unmap_tx(struct port *port, struct desc *desc)
|
||||||
{
|
{
|
||||||
#ifdef __ARMEB__
|
#ifdef __ARMEB__
|
||||||
|
@ -28,7 +28,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
ALIGN((desc->data & 3) + desc->buf_len, 4),
|
ALIGN((desc->data & 3) + desc->buf_len, 4),
|
||||||
DMA_TO_DEVICE);
|
DMA_TO_DEVICE);
|
||||||
#endif
|
#endif
|
||||||
@@ -731,9 +731,9 @@ static int eth_poll(struct napi_struct *
|
@@ -727,9 +727,9 @@ static int eth_poll(struct napi_struct *
|
||||||
|
|
||||||
#ifdef __ARMEB__
|
#ifdef __ARMEB__
|
||||||
if ((skb = netdev_alloc_skb(dev, RX_BUFF_SIZE))) {
|
if ((skb = netdev_alloc_skb(dev, RX_BUFF_SIZE))) {
|
||||||
|
@ -40,7 +40,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
skb = NULL;
|
skb = NULL;
|
||||||
}
|
}
|
||||||
@@ -756,10 +756,11 @@ static int eth_poll(struct napi_struct *
|
@@ -752,10 +752,11 @@ static int eth_poll(struct napi_struct *
|
||||||
#ifdef __ARMEB__
|
#ifdef __ARMEB__
|
||||||
temp = skb;
|
temp = skb;
|
||||||
skb = port->rx_buff_tab[n];
|
skb = port->rx_buff_tab[n];
|
||||||
|
@ -54,7 +54,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
RX_BUFF_SIZE, DMA_FROM_DEVICE);
|
RX_BUFF_SIZE, DMA_FROM_DEVICE);
|
||||||
memcpy_swab32((u32 *)skb->data, (u32 *)port->rx_buff_tab[n],
|
memcpy_swab32((u32 *)skb->data, (u32 *)port->rx_buff_tab[n],
|
||||||
ALIGN(NET_IP_ALIGN + desc->pkt_len, 4) / 4);
|
ALIGN(NET_IP_ALIGN + desc->pkt_len, 4) / 4);
|
||||||
@@ -878,7 +879,7 @@ static int eth_xmit(struct sk_buff *skb,
|
@@ -874,7 +875,7 @@ static int eth_xmit(struct sk_buff *skb,
|
||||||
memcpy_swab32(mem, (u32 *)((int)skb->data & ~3), bytes / 4);
|
memcpy_swab32(mem, (u32 *)((int)skb->data & ~3), bytes / 4);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -63,7 +63,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
if (dma_mapping_error(&dev->dev, phys)) {
|
if (dma_mapping_error(&dev->dev, phys)) {
|
||||||
dev_kfree_skb(skb);
|
dev_kfree_skb(skb);
|
||||||
#ifndef __ARMEB__
|
#ifndef __ARMEB__
|
||||||
@@ -1128,7 +1129,7 @@ static int init_queues(struct port *port
|
@@ -1124,7 +1125,7 @@ static int init_queues(struct port *port
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (!ports_open) {
|
if (!ports_open) {
|
||||||
|
@ -72,7 +72,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
POOL_ALLOC_SIZE, 32, 0);
|
POOL_ALLOC_SIZE, 32, 0);
|
||||||
if (!dma_pool)
|
if (!dma_pool)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
@@ -1156,9 +1157,9 @@ static int init_queues(struct port *port
|
@@ -1152,9 +1153,9 @@ static int init_queues(struct port *port
|
||||||
data = buff;
|
data = buff;
|
||||||
#endif
|
#endif
|
||||||
desc->buf_len = MAX_MRU;
|
desc->buf_len = MAX_MRU;
|
||||||
|
@ -84,7 +84,7 @@ Signed-off-by: Jonas Gorski <jogo@openwrt.org>
|
||||||
free_buffer(buff);
|
free_buffer(buff);
|
||||||
return -EIO;
|
return -EIO;
|
||||||
}
|
}
|
||||||
@@ -1178,7 +1179,7 @@ static void destroy_queues(struct port *
|
@@ -1174,7 +1175,7 @@ static void destroy_queues(struct port *
|
||||||
struct desc *desc = rx_desc_ptr(port, i);
|
struct desc *desc = rx_desc_ptr(port, i);
|
||||||
buffer_t *buff = port->rx_buff_tab[i];
|
buffer_t *buff = port->rx_buff_tab[i];
|
||||||
if (buff) {
|
if (buff) {
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
Index: linux-3.18.5/drivers/gpio/Kconfig
|
--- a/drivers/gpio/Kconfig
|
||||||
===================================================================
|
+++ b/drivers/gpio/Kconfig
|
||||||
--- linux-3.18.5.orig/drivers/gpio/Kconfig 2015-01-30 02:41:03.000000000 +0100
|
@@ -794,6 +794,14 @@ config GPIO_RDC321X
|
||||||
+++ linux-3.18.5/drivers/gpio/Kconfig 2015-02-09 13:55:16.942041668 +0100
|
|
||||||
@@ -794,6 +794,14 @@
|
|
||||||
Support for the RDC R321x SoC GPIOs over southbridge
|
Support for the RDC R321x SoC GPIOs over southbridge
|
||||||
PCI configuration space.
|
PCI configuration space.
|
||||||
|
|
||||||
|
@ -17,19 +15,15 @@ Index: linux-3.18.5/drivers/gpio/Kconfig
|
||||||
comment "SPI GPIO expanders:"
|
comment "SPI GPIO expanders:"
|
||||||
|
|
||||||
config GPIO_MAX7301
|
config GPIO_MAX7301
|
||||||
Index: linux-3.18.5/drivers/gpio/Makefile
|
--- a/drivers/gpio/Makefile
|
||||||
===================================================================
|
+++ b/drivers/gpio/Makefile
|
||||||
--- linux-3.18.5.orig/drivers/gpio/Makefile 2015-01-30 02:41:03.000000000 +0100
|
@@ -106,3 +106,4 @@ obj-$(CONFIG_GPIO_XILINX) += gpio-xilinx
|
||||||
+++ linux-3.18.5/drivers/gpio/Makefile 2015-02-09 13:56:05.990145732 +0100
|
|
||||||
@@ -106,3 +106,4 @@
|
|
||||||
obj-$(CONFIG_GPIO_XTENSA) += gpio-xtensa.o
|
obj-$(CONFIG_GPIO_XTENSA) += gpio-xtensa.o
|
||||||
obj-$(CONFIG_GPIO_ZEVIO) += gpio-zevio.o
|
obj-$(CONFIG_GPIO_ZEVIO) += gpio-zevio.o
|
||||||
obj-$(CONFIG_GPIO_ZYNQ) += gpio-zynq.o
|
obj-$(CONFIG_GPIO_ZYNQ) += gpio-zynq.o
|
||||||
+obj-$(CONFIG_GPIO_GW_I2C_PLD) += gw_i2c_pld.o
|
+obj-$(CONFIG_GPIO_GW_I2C_PLD) += gw_i2c_pld.o
|
||||||
Index: linux-3.18.5/drivers/gpio/gw_i2c_pld.c
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/drivers/gpio/gw_i2c_pld.c
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-3.18.5/drivers/gpio/gw_i2c_pld.c 2015-02-09 14:02:00.146895858 +0100
|
|
||||||
@@ -0,0 +1,371 @@
|
@@ -0,0 +1,371 @@
|
||||||
+/*
|
+/*
|
||||||
+ * Gateworks I2C PLD GPIO expander
|
+ * Gateworks I2C PLD GPIO expander
|
||||||
|
@ -402,10 +396,8 @@ Index: linux-3.18.5/drivers/gpio/gw_i2c_pld.c
|
||||||
+
|
+
|
||||||
+MODULE_LICENSE("GPL");
|
+MODULE_LICENSE("GPL");
|
||||||
+MODULE_AUTHOR("Chris Lang");
|
+MODULE_AUTHOR("Chris Lang");
|
||||||
Index: linux-3.18.5/include/linux/i2c/gw_i2c_pld.h
|
--- /dev/null
|
||||||
===================================================================
|
+++ b/include/linux/i2c/gw_i2c_pld.h
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ linux-3.18.5/include/linux/i2c/gw_i2c_pld.h 2015-02-09 13:55:16.946041675 +0100
|
|
||||||
@@ -0,0 +1,20 @@
|
@@ -0,0 +1,20 @@
|
||||||
+#ifndef __LINUX_GW_I2C_PLD_H
|
+#ifndef __LINUX_GW_I2C_PLD_H
|
||||||
+#define __LINUX_GW_I2C_PLD_H
|
+#define __LINUX_GW_I2C_PLD_H
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/arch/arm/mach-ixp4xx/common.c
|
--- a/arch/arm/mach-ixp4xx/common.c
|
||||||
+++ b/arch/arm/mach-ixp4xx/common.c
|
+++ b/arch/arm/mach-ixp4xx/common.c
|
||||||
@@ -93,22 +93,7 @@
|
@@ -93,22 +93,7 @@ void __init ixp4xx_map_io(void)
|
||||||
/*
|
/*
|
||||||
* GPIO-functions
|
* GPIO-functions
|
||||||
*/
|
*/
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
{
|
{
|
||||||
if (direction == IXP4XX_GPIO_IN)
|
if (direction == IXP4XX_GPIO_IN)
|
||||||
*IXP4XX_GPIO_GPOER |= (1 << line);
|
*IXP4XX_GPIO_GPOER |= (1 << line);
|
||||||
@@ -116,17 +101,17 @@
|
@@ -116,17 +101,17 @@ static void gpio_line_config(u8 line, u3
|
||||||
*IXP4XX_GPIO_GPOER &= ~(1 << line);
|
*IXP4XX_GPIO_GPOER &= ~(1 << line);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
/*************************************************************************
|
/*************************************************************************
|
||||||
--- a/arch/arm/mach-ixp4xx/include/mach/platform.h
|
--- a/arch/arm/mach-ixp4xx/include/mach/platform.h
|
||||||
+++ b/arch/arm/mach-ixp4xx/include/mach/platform.h
|
+++ b/arch/arm/mach-ixp4xx/include/mach/platform.h
|
||||||
@@ -131,5 +131,21 @@
|
@@ -131,5 +131,21 @@ struct pci_sys_data;
|
||||||
extern int ixp4xx_setup(int nr, struct pci_sys_data *sys);
|
extern int ixp4xx_setup(int nr, struct pci_sys_data *sys);
|
||||||
extern struct pci_ops ixp4xx_ops;
|
extern struct pci_ops ixp4xx_ops;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/drivers/char/random.c
|
--- a/drivers/char/random.c
|
||||||
+++ b/drivers/char/random.c
|
+++ b/drivers/char/random.c
|
||||||
@@ -280,11 +280,11 @@
|
@@ -285,11 +285,11 @@
|
||||||
/*
|
/*
|
||||||
* Configuration information
|
* Configuration information
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- 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
|
||||||
@@ -410,6 +410,20 @@ static void mem_serial_out(struct uart_p
|
@@ -416,6 +416,20 @@ static void mem_serial_out(struct uart_p
|
||||||
writeb(value, p->membase + offset);
|
writeb(value, p->membase + offset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@
|
||||||
static void mem32_serial_out(struct uart_port *p, int offset, int value)
|
static void mem32_serial_out(struct uart_port *p, int offset, int value)
|
||||||
{
|
{
|
||||||
offset = offset << p->regshift;
|
offset = offset << p->regshift;
|
||||||
@@ -461,6 +475,11 @@ static void set_io_from_upio(struct uart
|
@@ -466,6 +480,11 @@ static void set_io_from_upio(struct uart
|
||||||
p->serial_out = mem32_serial_out;
|
p->serial_out = mem32_serial_out;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -33,7 +33,7 @@
|
||||||
#if defined(CONFIG_MIPS_ALCHEMY) || defined(CONFIG_SERIAL_8250_RT288X)
|
#if defined(CONFIG_MIPS_ALCHEMY) || defined(CONFIG_SERIAL_8250_RT288X)
|
||||||
case UPIO_AU:
|
case UPIO_AU:
|
||||||
p->serial_in = au_serial_in;
|
p->serial_in = au_serial_in;
|
||||||
@@ -486,6 +505,7 @@ serial_port_out_sync(struct uart_port *p
|
@@ -491,6 +510,7 @@ serial_port_out_sync(struct uart_port *p
|
||||||
switch (p->iotype) {
|
switch (p->iotype) {
|
||||||
case UPIO_MEM:
|
case UPIO_MEM:
|
||||||
case UPIO_MEM32:
|
case UPIO_MEM32:
|
||||||
|
@ -41,7 +41,7 @@
|
||||||
case UPIO_AU:
|
case UPIO_AU:
|
||||||
p->serial_out(p, offset, value);
|
p->serial_out(p, offset, value);
|
||||||
p->serial_in(p, UART_LCR); /* safe, no side-effects */
|
p->serial_in(p, UART_LCR); /* safe, no side-effects */
|
||||||
@@ -2538,6 +2558,7 @@ static int serial8250_request_std_resour
|
@@ -2655,6 +2675,7 @@ static int serial8250_request_std_resour
|
||||||
case UPIO_TSI:
|
case UPIO_TSI:
|
||||||
case UPIO_MEM32:
|
case UPIO_MEM32:
|
||||||
case UPIO_MEM:
|
case UPIO_MEM:
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
if (!port->mapbase)
|
if (!port->mapbase)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -2574,6 +2595,7 @@ static void serial8250_release_std_resou
|
@@ -2691,6 +2712,7 @@ static void serial8250_release_std_resou
|
||||||
case UPIO_TSI:
|
case UPIO_TSI:
|
||||||
case UPIO_MEM32:
|
case UPIO_MEM32:
|
||||||
case UPIO_MEM:
|
case UPIO_MEM:
|
||||||
|
@ -57,7 +57,7 @@
|
||||||
if (!port->mapbase)
|
if (!port->mapbase)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -3113,6 +3135,7 @@ static int serial8250_probe(struct platf
|
@@ -3424,6 +3446,7 @@ static int serial8250_probe(struct platf
|
||||||
uart.port.set_termios = p->set_termios;
|
uart.port.set_termios = p->set_termios;
|
||||||
uart.port.pm = p->pm;
|
uart.port.pm = p->pm;
|
||||||
uart.port.dev = &dev->dev;
|
uart.port.dev = &dev->dev;
|
||||||
|
@ -65,7 +65,7 @@
|
||||||
uart.port.irqflags |= irqflag;
|
uart.port.irqflags |= irqflag;
|
||||||
ret = serial8250_register_8250_port(&uart);
|
ret = serial8250_register_8250_port(&uart);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
@@ -3264,6 +3287,7 @@ int serial8250_register_8250_port(struct
|
@@ -3580,6 +3603,7 @@ int serial8250_register_8250_port(struct
|
||||||
uart->port.flags = up->port.flags | UPF_BOOT_AUTOCONF;
|
uart->port.flags = up->port.flags | UPF_BOOT_AUTOCONF;
|
||||||
uart->bugs = up->bugs;
|
uart->bugs = up->bugs;
|
||||||
uart->port.mapbase = up->port.mapbase;
|
uart->port.mapbase = up->port.mapbase;
|
||||||
|
@ -83,7 +83,7 @@
|
||||||
case UPIO_MEM:
|
case UPIO_MEM:
|
||||||
case UPIO_MEM32:
|
case UPIO_MEM32:
|
||||||
case UPIO_AU:
|
case UPIO_AU:
|
||||||
@@ -2711,6 +2712,7 @@ int uart_match_port(struct uart_port *po
|
@@ -2736,6 +2737,7 @@ int uart_match_port(struct uart_port *po
|
||||||
case UPIO_HUB6:
|
case UPIO_HUB6:
|
||||||
return (port1->iobase == port2->iobase) &&
|
return (port1->iobase == port2->iobase) &&
|
||||||
(port1->hub6 == port2->hub6);
|
(port1->hub6 == port2->hub6);
|
||||||
|
@ -103,7 +103,7 @@
|
||||||
unsigned int type; /* If UPF_FIXED_TYPE */
|
unsigned int type; /* If UPF_FIXED_TYPE */
|
||||||
--- a/include/linux/serial_core.h
|
--- a/include/linux/serial_core.h
|
||||||
+++ b/include/linux/serial_core.h
|
+++ b/include/linux/serial_core.h
|
||||||
@@ -141,6 +141,7 @@ struct uart_port {
|
@@ -146,6 +146,7 @@ struct uart_port {
|
||||||
#define UPIO_MEM32 (3)
|
#define UPIO_MEM32 (3)
|
||||||
#define UPIO_AU (4) /* Au1x00 and RT288x type IO */
|
#define UPIO_AU (4) /* Au1x00 and RT288x type IO */
|
||||||
#define UPIO_TSI (5) /* Tsi108/109 type IO */
|
#define UPIO_TSI (5) /* Tsi108/109 type IO */
|
||||||
|
@ -111,8 +111,8 @@
|
||||||
|
|
||||||
unsigned int read_status_mask; /* driver specific */
|
unsigned int read_status_mask; /* driver specific */
|
||||||
unsigned int ignore_status_mask; /* driver specific */
|
unsigned int ignore_status_mask; /* driver specific */
|
||||||
@@ -189,6 +190,7 @@ struct uart_port {
|
@@ -202,6 +203,7 @@ struct uart_port {
|
||||||
|
int hw_stopped; /* sw-assisted CTS flow state */
|
||||||
unsigned int mctrl; /* current modem ctrl settings */
|
unsigned int mctrl; /* current modem ctrl settings */
|
||||||
unsigned int timeout; /* character-based timeout */
|
unsigned int timeout; /* character-based timeout */
|
||||||
+ unsigned int rw_delay; /* udelay for slow busses, IXP4XX Expansion Bus */
|
+ unsigned int rw_delay; /* udelay for slow busses, IXP4XX Expansion Bus */
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
--- a/sound/soc/Kconfig
|
--- a/sound/soc/Kconfig
|
||||||
+++ b/sound/soc/Kconfig
|
+++ b/sound/soc/Kconfig
|
||||||
@@ -54,6 +54,7 @@ source "sound/soc/spear/Kconfig"
|
@@ -55,6 +55,7 @@ source "sound/soc/spear/Kconfig"
|
||||||
source "sound/soc/tegra/Kconfig"
|
source "sound/soc/tegra/Kconfig"
|
||||||
source "sound/soc/txx9/Kconfig"
|
source "sound/soc/txx9/Kconfig"
|
||||||
source "sound/soc/ux500/Kconfig"
|
source "sound/soc/ux500/Kconfig"
|
||||||
|
@ -10,7 +10,7 @@
|
||||||
source "sound/soc/codecs/Kconfig"
|
source "sound/soc/codecs/Kconfig"
|
||||||
--- a/sound/soc/Makefile
|
--- a/sound/soc/Makefile
|
||||||
+++ b/sound/soc/Makefile
|
+++ b/sound/soc/Makefile
|
||||||
@@ -31,3 +31,4 @@ obj-$(CONFIG_SND_SOC) += spear/
|
@@ -32,3 +32,4 @@ obj-$(CONFIG_SND_SOC) += spear/
|
||||||
obj-$(CONFIG_SND_SOC) += tegra/
|
obj-$(CONFIG_SND_SOC) += tegra/
|
||||||
obj-$(CONFIG_SND_SOC) += txx9/
|
obj-$(CONFIG_SND_SOC) += txx9/
|
||||||
obj-$(CONFIG_SND_SOC) += ux500/
|
obj-$(CONFIG_SND_SOC) += ux500/
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue