From: Hauke Mehrtens Date: Sun, 12 Jan 2014 18:54:38 +0000 (+0000) Subject: brcm47xx: update some patches to versions in linux mainline X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=30cf6f5815b898f956ae95a88f28d327677a3f62;p=openwrt%2Fstaging%2Flynxis%2Fomap.git brcm47xx: update some patches to versions in linux mainline Signed-off-by: Hauke Mehrtens SVN-Revision: 39251 --- diff --git a/package/kernel/broadcom-diag/src/diag.c b/package/kernel/broadcom-diag/src/diag.c index fccc2194b4..e39f5b4143 100644 --- a/package/kernel/broadcom-diag/src/diag.c +++ b/package/kernel/broadcom-diag/src/diag.c @@ -144,8 +144,6 @@ enum { WR850GP, /* Belkin */ - BELKIN_UNKNOWN, - BELKIN_F7D330X, /* covers F7D7302,F7D3302,F7D3301, and F7D7301 */ BELKIN_F7D4301, /* Netgear */ @@ -955,38 +953,6 @@ static struct platform_t __initdata platforms[] = { }, /* Belkin */ - [BELKIN_UNKNOWN] = { - .name = "Belkin (unknown)", - /* FIXME: verify & add detection */ - .buttons = { - { .name = "reset", .gpio = 1 << 7 }, - }, - .leds = { - { .name = "power", .gpio = 1 << 5, .polarity = NORMAL }, - { .name = "wlan", .gpio = 1 << 3, .polarity = NORMAL }, - { .name = "connected", .gpio = 1 << 0, .polarity = NORMAL }, - }, - }, - [BELKIN_F7D330X] = { - .name = "Belkin F7D330X", - .buttons = { - { .name = "reset", .gpio = 1 << 6 }, - { .name = "wps", .gpio = 1 << 8 }, - }, - .leds = { - /* green */ - { .name = "power", .gpio = 1 << 10, .polarity = REVERSE }, - /* orange power */ - { .name = "warn", .gpio = 1 << 11, .polarity = REVERSE }, - /* green */ - { .name = "wps", .gpio = 1 << 12, .polarity = REVERSE }, - /* orange wps */ - { .name = "wlan", .gpio = 1 << 13, .polarity = REVERSE }, - { .name = "usb0", .gpio = 1 << 14, .polarity = REVERSE }, - /* shipped unconnected in the F7D3302 */ - { .name = "usb1", .gpio = 1 << 15, .polarity = REVERSE }, - }, - }, [BELKIN_F7D4301] = { .name = "Belkin PlayMax F7D4301", .buttons = { @@ -1401,8 +1367,6 @@ static struct platform_t __init *platform_detect(void) return &platforms[WLHDD]; case BCM47XX_BOARD_BELKIN_F7D4301: return &platforms[BELKIN_F7D4301]; - case BCM47XX_BOARD_BELKIN_F7D330X: - return &platforms[BELKIN_F7D330X]; case BCM47XX_BOARD_BUFFALO_WBR2_G54: return &platforms[WBR2_G54]; case BCM47XX_BOARD_BUFFALO_WHR2_A54G54: diff --git a/target/linux/brcm47xx/patches-3.10/072-MIPS-BCM47XX-only-print-SoC-name-in-system-type-in-c.patch b/target/linux/brcm47xx/patches-3.10/072-MIPS-BCM47XX-only-print-SoC-name-in-system-type-in-c.patch index 1993cf5a44..4dcd380aea 100644 --- a/target/linux/brcm47xx/patches-3.10/072-MIPS-BCM47XX-only-print-SoC-name-in-system-type-in-c.patch +++ b/target/linux/brcm47xx/patches-3.10/072-MIPS-BCM47XX-only-print-SoC-name-in-system-type-in-c.patch @@ -1,15 +1,22 @@ -commit 88aaea30099c1562c4b4015d965c22df29034a74 -Author: Hauke Mehrtens -Date: Thu Sep 19 22:01:53 2013 +0200 +From 17e0ca5d6e08a83eed8dada75af4c0107f162051 Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens +Date: Thu, 19 Sep 2013 23:40:09 +0200 +Subject: [PATCH 018/110] MIPS: BCM47XX: only print SoC name in system type in + cpuinfo - MIPS: BCM47XX: only print SoC name in system type in cpuinfo - - Recently the output of "system type" in /proc/cpuinfo was changed to - Broadcom BCM4730 (Some sample board), but it is better to just print - the SoC name in the "system type" entry. The board name will be added - in the machine entry later. - - Signed-off-by: Hauke Mehrtens +Recently the output of "system type" in /proc/cpuinfo was changed to +Broadcom BCM4730 (Some sample board), but it is better to just print +the SoC name in the "system type" entry. The board name will be added +in the machine entry later. + +Signed-off-by: Hauke Mehrtens +Acked-by: John Crispin +Patchwork: http://patchwork.linux-mips.org/patch/5865/ +--- + arch/mips/bcm47xx/prom.c | 31 ++++++++------------------ + arch/mips/bcm47xx/setup.c | 2 ++ + arch/mips/include/asm/mach-bcm47xx/bcm47xx.h | 2 ++ + 3 files changed, 13 insertions(+), 22 deletions(-) --- a/arch/mips/bcm47xx/prom.c +++ b/arch/mips/bcm47xx/prom.c diff --git a/target/linux/brcm47xx/patches-3.10/073-MIPS-BCM47XX-print-board-name-in-machine-entry-in-cp.patch b/target/linux/brcm47xx/patches-3.10/073-MIPS-BCM47XX-print-board-name-in-machine-entry-in-cp.patch index b7bc335f95..8a786429ed 100644 --- a/target/linux/brcm47xx/patches-3.10/073-MIPS-BCM47XX-print-board-name-in-machine-entry-in-cp.patch +++ b/target/linux/brcm47xx/patches-3.10/073-MIPS-BCM47XX-print-board-name-in-machine-entry-in-cp.patch @@ -1,12 +1,17 @@ -commit 86bd812676d1e99968f395ad82ccaa2db7965748 -Author: Hauke Mehrtens -Date: Thu Sep 19 22:04:04 2013 +0200 +From 6d683038f2155bf0d6f486a1f11a10bbc455da8a Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens +Date: Thu, 19 Sep 2013 23:40:10 +0200 +Subject: [PATCH 019/110] MIPS: BCM47XX: print board name in machine entry in + cpuinfo - MIPS: BCM47XX: print board name in machine entry in cpuinfo - - This will add the board name to the machine entry in /proc/cpuinfo. - - Signed-off-by: Hauke Mehrtens +This will add the board name to the machine entry in /proc/cpuinfo. + +Signed-off-by: Hauke Mehrtens +Acked-by: John Crispin +Patchwork: http://patchwork.linux-mips.org/patch/5864/ +--- + arch/mips/bcm47xx/setup.c | 2 ++ + 1 file changed, 2 insertions(+) --- a/arch/mips/bcm47xx/setup.c +++ b/arch/mips/bcm47xx/setup.c diff --git a/target/linux/brcm47xx/patches-3.10/075-MIPS-BCM47XX-fix-detection-for-some-boards.patch b/target/linux/brcm47xx/patches-3.10/075-MIPS-BCM47XX-fix-detection-for-some-boards.patch new file mode 100644 index 0000000000..cfa45bc874 --- /dev/null +++ b/target/linux/brcm47xx/patches-3.10/075-MIPS-BCM47XX-fix-detection-for-some-boards.patch @@ -0,0 +1,51 @@ +From 255842a25bf36b7ba585e6cf81d856fa9df66cf2 Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens +Date: Fri, 3 Jan 2014 20:41:58 +0100 +Subject: [PATCH] MIPS: BCM47XX: fix detection for some boards + +When a nvram reset was performed from CFE, it sometimes does not +contain the productid value in nvram, but it still contains +hardware_version. + +Signed-off-by: Hauke Mehrtens +Acked-by: Rafa? Mi?ecki +--- + arch/mips/bcm47xx/board.c | 13 +++++++------ + 1 file changed, 7 insertions(+), 6 deletions(-) + +--- a/arch/mips/bcm47xx/board.c ++++ b/arch/mips/bcm47xx/board.c +@@ -56,6 +56,12 @@ struct bcm47xx_board_type_list1 bcm47xx_ + /* hardware_version */ + static const + struct bcm47xx_board_type_list1 bcm47xx_board_list_hardware_version[] __initconst = { ++ {{BCM47XX_BOARD_ASUS_RTN10U, "Asus RT-N10U"}, "RTN10U"}, ++ {{BCM47XX_BOARD_ASUS_RTN12, "Asus RT-N12"}, "RT-N12"}, ++ {{BCM47XX_BOARD_ASUS_RTN12B1, "Asus RT-N12B1"}, "RTN12B1"}, ++ {{BCM47XX_BOARD_ASUS_RTN12C1, "Asus RT-N12C1"}, "RTN12C1"}, ++ {{BCM47XX_BOARD_ASUS_RTN12D1, "Asus RT-N12D1"}, "RTN12D1"}, ++ {{BCM47XX_BOARD_ASUS_RTN12HP, "Asus RT-N12HP"}, "RTN12HP"}, + {{BCM47XX_BOARD_ASUS_RTN16, "Asus RT-N16"}, "RT-N16-"}, + {{BCM47XX_BOARD_ASUS_WL320GE, "Asus WL320GE"}, "WL320G-"}, + {{BCM47XX_BOARD_ASUS_WL330GE, "Asus WL330GE"}, "WL330GE-"}, +@@ -75,12 +81,6 @@ struct bcm47xx_board_type_list1 bcm47xx_ + {{BCM47XX_BOARD_ASUS_RTAC66U, "Asus RT-AC66U"}, "RT-AC66U"}, + {{BCM47XX_BOARD_ASUS_RTN10, "Asus RT-N10"}, "RT-N10"}, + {{BCM47XX_BOARD_ASUS_RTN10D, "Asus RT-N10D"}, "RT-N10D"}, +- {{BCM47XX_BOARD_ASUS_RTN10U, "Asus RT-N10U"}, "RT-N10U"}, +- {{BCM47XX_BOARD_ASUS_RTN12, "Asus RT-N12"}, "RT-N12"}, +- {{BCM47XX_BOARD_ASUS_RTN12B1, "Asus RT-N12B1"}, "RT-N12B1"}, +- {{BCM47XX_BOARD_ASUS_RTN12C1, "Asus RT-N12C1"}, "RT-N12C1"}, +- {{BCM47XX_BOARD_ASUS_RTN12D1, "Asus RT-N12D1"}, "RT-N12D1"}, +- {{BCM47XX_BOARD_ASUS_RTN12HP, "Asus RT-N12HP"}, "RT-N12HP"}, + {{BCM47XX_BOARD_ASUS_RTN15U, "Asus RT-N15U"}, "RT-N15U"}, + {{BCM47XX_BOARD_ASUS_RTN16, "Asus RT-N16"}, "RT-N16"}, + {{BCM47XX_BOARD_ASUS_RTN53, "Asus RT-N53"}, "RT-N53"}, +@@ -174,6 +174,7 @@ struct bcm47xx_board_type_list3 bcm47xx_ + {{BCM47XX_BOARD_HUAWEI_E970, "Huawei E970"}, "0x048e", "0x5347", "0x11"}, + {{BCM47XX_BOARD_PHICOMM_M1, "Phicomm M1"}, "0x0590", "80", "0x1104"}, + {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"}, ++ {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "0x04CF", "3500", "02"}, + { {0}, 0}, + }; + diff --git a/target/linux/brcm47xx/patches-3.10/075-MIPS-BCM47XX-fix-detection-of-some-boards.patch b/target/linux/brcm47xx/patches-3.10/075-MIPS-BCM47XX-fix-detection-of-some-boards.patch deleted file mode 100644 index 9c8bf7beb0..0000000000 --- a/target/linux/brcm47xx/patches-3.10/075-MIPS-BCM47XX-fix-detection-of-some-boards.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 2beb91164802b1cbfda369564d3371b3ff649eec Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens -Date: Sun, 13 Oct 2013 16:05:49 +0200 -Subject: [PATCH 6/6] MIPS: BCM47XX: fix detection of some boards - -This adds some more boards - -Signed-off-by: Hauke Mehrtens ---- a/arch/mips/bcm47xx/board.c -+++ b/arch/mips/bcm47xx/board.c -@@ -56,6 +56,10 @@ struct bcm47xx_board_type_list1 bcm47xx_ - /* hardware_version */ - static const - struct bcm47xx_board_type_list1 bcm47xx_board_list_hardware_version[] __initconst = { -+ {{BCM47XX_BOARD_ASUS_RTN10U, "Asus RT-N10U"}, "RTN10U"}, -+ {{BCM47XX_BOARD_ASUS_RTN12, "Asus RT-N12"}, "RT-N12"}, -+ {{BCM47XX_BOARD_ASUS_RTN12D1, "Asus RT-N12D1"}, "RTN12D1"}, -+ {{BCM47XX_BOARD_ASUS_RTN12B1, "Asus RT-N12B1"}, "RTN12B1"}, - {{BCM47XX_BOARD_ASUS_RTN16, "Asus RT-N16"}, "RT-N16-"}, - {{BCM47XX_BOARD_ASUS_WL320GE, "Asus WL320GE"}, "WL320G-"}, - {{BCM47XX_BOARD_ASUS_WL330GE, "Asus WL330GE"}, "WL330GE-"}, -@@ -174,6 +178,8 @@ struct bcm47xx_board_type_list3 bcm47xx_ - {{BCM47XX_BOARD_HUAWEI_E970, "Huawei E970"}, "0x048e", "0x5347", "0x11"}, - {{BCM47XX_BOARD_PHICOMM_M1, "Phicomm M1"}, "0x0590", "80", "0x1104"}, - {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"}, -+ {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "0x04CF", "3500", "02"}, -+ {{BCM47XX_BOARD_LINKSYS_WRT54GSV1, "Linksys WRT54GS V1"}, "0x0101", "42", "0x10"}, - { {0}, 0}, - }; - ---- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -@@ -66,6 +66,7 @@ enum bcm47xx_board { - BCM47XX_BOARD_LINKSYS_WRT310NV1, - BCM47XX_BOARD_LINKSYS_WRT310NV2, - BCM47XX_BOARD_LINKSYS_WRT54G3GV2, -+ BCM47XX_BOARD_LINKSYS_WRT54GSV1, - BCM47XX_BOARD_LINKSYS_WRT610NV1, - BCM47XX_BOARD_LINKSYS_WRT610NV2, - BCM47XX_BOARD_LINKSYS_WRTSL54GS, diff --git a/target/linux/brcm47xx/patches-3.10/076-MIPS-BCM47XX-add-board-detection-for-Linksys-WRT54GS.patch b/target/linux/brcm47xx/patches-3.10/076-MIPS-BCM47XX-add-board-detection-for-Linksys-WRT54GS.patch new file mode 100644 index 0000000000..098cf119cb --- /dev/null +++ b/target/linux/brcm47xx/patches-3.10/076-MIPS-BCM47XX-add-board-detection-for-Linksys-WRT54GS.patch @@ -0,0 +1,34 @@ +From a2da7b7a2cb8319b6383e93d99905cb027252584 Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens +Date: Fri, 3 Jan 2014 20:41:59 +0100 +Subject: [PATCH] MIPS: BCM47XX: add board detection for Linksys WRT54GS V1 + +This adds board detection for Linksys WRT54GS V1. + +Signed-off-by: Hauke Mehrtens +Acked-by: Rafa? Mi?ecki +--- + arch/mips/bcm47xx/board.c | 1 + + arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 1 + + 2 files changed, 2 insertions(+) + +--- a/arch/mips/bcm47xx/board.c ++++ b/arch/mips/bcm47xx/board.c +@@ -175,6 +175,7 @@ struct bcm47xx_board_type_list3 bcm47xx_ + {{BCM47XX_BOARD_PHICOMM_M1, "Phicomm M1"}, "0x0590", "80", "0x1104"}, + {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"}, + {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "0x04CF", "3500", "02"}, ++ {{BCM47XX_BOARD_LINKSYS_WRT54GSV1, "Linksys WRT54GS V1"}, "0x0101", "42", "0x10"}, + { {0}, 0}, + }; + +--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h ++++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h +@@ -66,6 +66,7 @@ enum bcm47xx_board { + BCM47XX_BOARD_LINKSYS_WRT310NV1, + BCM47XX_BOARD_LINKSYS_WRT310NV2, + BCM47XX_BOARD_LINKSYS_WRT54G3GV2, ++ BCM47XX_BOARD_LINKSYS_WRT54GSV1, + BCM47XX_BOARD_LINKSYS_WRT610NV1, + BCM47XX_BOARD_LINKSYS_WRT610NV2, + BCM47XX_BOARD_LINKSYS_WRTSL54GS, diff --git a/target/linux/brcm47xx/patches-3.10/076-MIPS-BCM47XX-fix-detection-of-some-boards-2.patch b/target/linux/brcm47xx/patches-3.10/076-MIPS-BCM47XX-fix-detection-of-some-boards-2.patch deleted file mode 100644 index f3306693c2..0000000000 --- a/target/linux/brcm47xx/patches-3.10/076-MIPS-BCM47XX-fix-detection-of-some-boards-2.patch +++ /dev/null @@ -1,33 +0,0 @@ ---- a/arch/mips/bcm47xx/board.c -+++ b/arch/mips/bcm47xx/board.c -@@ -180,6 +180,7 @@ struct bcm47xx_board_type_list3 bcm47xx_ - {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"}, - {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "0x04CF", "3500", "02"}, - {{BCM47XX_BOARD_LINKSYS_WRT54GSV1, "Linksys WRT54GS V1"}, "0x0101", "42", "0x10"}, -+ {{BCM47XX_BOARD_BELKIN_F7D330X, "Belkin F7D330X"}, "0xa4cf", NULL, "0x1102" }, - { {0}, 0}, - }; - -@@ -270,9 +271,9 @@ static __init const struct bcm47xx_board - bcm47xx_nvram_getenv("boardnum", buf2, sizeof(buf2)) >= 0 && - bcm47xx_nvram_getenv("boardrev", buf3, sizeof(buf3)) >= 0) { - for (e3 = bcm47xx_board_list_board; e3->value1; e3++) { -- if (!strcmp(buf1, e3->value1) && -- !strcmp(buf2, e3->value2) && -- !strcmp(buf3, e3->value3)) -+ if ((!e3->value1 || !strcmp(buf1, e3->value1)) && -+ (!e3->value2 || !strcmp(buf2, e3->value2)) && -+ (!e3->value3 || !strcmp(buf3, e3->value3))) - return &e3->board; - } - } ---- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h -@@ -28,6 +28,7 @@ enum bcm47xx_board { - BCM47XX_BOARD_ASUS_WLHDD, - - BCM47XX_BOARD_BELKIN_F7D4301, -+ BCM47XX_BOARD_BELKIN_F7D330X, - - BCM47XX_BOARD_BUFFALO_WBR2_G54, - BCM47XX_BOARD_BUFFALO_WHR2_A54G54, diff --git a/target/linux/brcm47xx/patches-3.10/077-MIPS-BCM47XX-fix-sparse-warnings-in-board.c.patch b/target/linux/brcm47xx/patches-3.10/077-MIPS-BCM47XX-fix-sparse-warnings-in-board.c.patch new file mode 100644 index 0000000000..b7ce90a213 --- /dev/null +++ b/target/linux/brcm47xx/patches-3.10/077-MIPS-BCM47XX-fix-sparse-warnings-in-board.c.patch @@ -0,0 +1,113 @@ +From ab76ce5c01293f518db823c7089d52586fc1d899 Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens +Date: Fri, 3 Jan 2014 20:42:00 +0100 +Subject: [PATCH] MIPS: BCM47XX: fix sparse warnings in board.c + +This fixes the following sparse warnings: +arch/mips/bcm47xx/board.c:39:16: warning: Using plain integer as NULL pointer +arch/mips/bcm47xx/board.c:46:16: warning: Using plain integer as NULL pointer +arch/mips/bcm47xx/board.c:53:16: warning: Using plain integer as NULL pointer +arch/mips/bcm47xx/board.c:78:16: warning: Using plain integer as NULL pointer +arch/mips/bcm47xx/board.c:99:16: warning: Using plain integer as NULL pointer +arch/mips/bcm47xx/board.c:109:16: warning: Using plain integer as NULL pointer +arch/mips/bcm47xx/board.c:124:16: warning: Using plain integer as NULL pointer +arch/mips/bcm47xx/board.c:155:16: warning: Using plain integer as NULL pointer +arch/mips/bcm47xx/board.c:177:16: warning: Using plain integer as NULL pointer +arch/mips/bcm47xx/board.c:189:16: warning: Using plain integer as NULL pointer + +Signed-off-by: Hauke Mehrtens +Acked-by: Rafa? Mi?ecki +--- + arch/mips/bcm47xx/board.c | 20 ++++++++++---------- + 1 file changed, 10 insertions(+), 10 deletions(-) + +--- a/arch/mips/bcm47xx/board.c ++++ b/arch/mips/bcm47xx/board.c +@@ -36,21 +36,21 @@ static const + struct bcm47xx_board_type_list1 bcm47xx_board_list_model_name[] __initconst = { + {{BCM47XX_BOARD_DLINK_DIR130, "D-Link DIR-130"}, "DIR-130"}, + {{BCM47XX_BOARD_DLINK_DIR330, "D-Link DIR-330"}, "DIR-330"}, +- { {0}, 0}, ++ { {0}, NULL}, + }; + + /* model_no */ + static const + struct bcm47xx_board_type_list1 bcm47xx_board_list_model_no[] __initconst = { + {{BCM47XX_BOARD_ASUS_WL700GE, "Asus WL700"}, "WL700"}, +- { {0}, 0}, ++ { {0}, NULL}, + }; + + /* machine_name */ + static const + struct bcm47xx_board_type_list1 bcm47xx_board_list_machine_name[] __initconst = { + {{BCM47XX_BOARD_LINKSYS_WRTSL54GS, "Linksys WRTSL54GS"}, "WRTSL54GS"}, +- { {0}, 0}, ++ { {0}, NULL}, + }; + + /* hardware_version */ +@@ -72,7 +72,7 @@ struct bcm47xx_board_type_list1 bcm47xx_ + {{BCM47XX_BOARD_ASUS_WL520GC, "Asus WL520GC"}, "WL520GC-"}, + {{BCM47XX_BOARD_ASUS_WL520GU, "Asus WL520GU"}, "WL520GU-"}, + {{BCM47XX_BOARD_BELKIN_F7D4301, "Belkin F7D4301"}, "F7D4301"}, +- { {0}, 0}, ++ { {0}, NULL}, + }; + + /* productid */ +@@ -87,7 +87,7 @@ struct bcm47xx_board_type_list1 bcm47xx_ + {{BCM47XX_BOARD_ASUS_RTN66U, "Asus RT-N66U"}, "RT-N66U"}, + {{BCM47XX_BOARD_ASUS_WL300G, "Asus WL300G"}, "WL300g"}, + {{BCM47XX_BOARD_ASUS_WLHDD, "Asus WLHDD"}, "WLHDD"}, +- { {0}, 0}, ++ { {0}, NULL}, + }; + + /* ModelId */ +@@ -97,7 +97,7 @@ struct bcm47xx_board_type_list1 bcm47xx_ + {{BCM47XX_BOARD_MOTOROLA_WE800G, "Motorola WE800G"}, "WE800G"}, + {{BCM47XX_BOARD_MOTOROLA_WR850GP, "Motorola WR850GP"}, "WR850GP"}, + {{BCM47XX_BOARD_MOTOROLA_WR850GV2V3, "Motorola WR850G"}, "WR850G"}, +- { {0}, 0}, ++ { {0}, NULL}, + }; + + /* melco_id or buf1falo_id */ +@@ -112,7 +112,7 @@ struct bcm47xx_board_type_list1 bcm47xx_ + {{BCM47XX_BOARD_BUFFALO_WZR_G300N, "Buffalo WZR-G300N"}, "31120"}, + {{BCM47XX_BOARD_BUFFALO_WZR_RS_G54, "Buffalo WZR-RS-G54"}, "30083"}, + {{BCM47XX_BOARD_BUFFALO_WZR_RS_G54HP, "Buffalo WZR-RS-G54HP"}, "30103"}, +- { {0}, 0}, ++ { {0}, NULL}, + }; + + /* boot_hw_model, boot_hw_ver */ +@@ -143,7 +143,7 @@ struct bcm47xx_board_type_list2 bcm47xx_ + {{BCM47XX_BOARD_LINKSYS_WRT54G3GV2, "Linksys WRT54G3GV2-VF"}, "WRT54G3GV2-VF", "1.0"}, + {{BCM47XX_BOARD_LINKSYS_WRT610NV1, "Linksys WRT610N V1"}, "WRT610N", "1.0"}, + {{BCM47XX_BOARD_LINKSYS_WRT610NV2, "Linksys WRT610N V2"}, "WRT610N", "2.0"}, +- { {0}, 0}, ++ { {0}, NULL}, + }; + + /* board_id */ +@@ -165,7 +165,7 @@ struct bcm47xx_board_type_list1 bcm47xx_ + {{BCM47XX_BOARD_NETGEAR_WNR3500V2, "Netgear WNR3500 V2"}, "U12H127T00_NETGEAR"}, + {{BCM47XX_BOARD_NETGEAR_WNR3500V2VC, "Netgear WNR3500 V2vc"}, "U12H127T70_NETGEAR"}, + {{BCM47XX_BOARD_NETGEAR_WNR834BV2, "Netgear WNR834B V2"}, "U12H081T00_NETGEAR"}, +- { {0}, 0}, ++ { {0}, NULL}, + }; + + /* boardtype, boardnum, boardrev */ +@@ -176,7 +176,7 @@ struct bcm47xx_board_type_list3 bcm47xx_ + {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"}, + {{BCM47XX_BOARD_NETGEAR_WNR3500L, "Netgear WNR3500L"}, "0x04CF", "3500", "02"}, + {{BCM47XX_BOARD_LINKSYS_WRT54GSV1, "Linksys WRT54GS V1"}, "0x0101", "42", "0x10"}, +- { {0}, 0}, ++ { {0}, NULL}, + }; + + static const diff --git a/target/linux/brcm47xx/patches-3.10/095-MIPS-BCM47XX-Cocci-spatch-noderef.patch b/target/linux/brcm47xx/patches-3.10/095-MIPS-BCM47XX-Cocci-spatch-noderef.patch deleted file mode 100644 index 57d3a7f20f..0000000000 --- a/target/linux/brcm47xx/patches-3.10/095-MIPS-BCM47XX-Cocci-spatch-noderef.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit 8a289346c135c2f014a7cde5b2a9320beb096188 -Author: thomas@m3y3r.de -Date: Thu Sep 19 20:38:21 2013 +0200 - - MIPS: BCM47XX: Cocci spatch "noderef" - - sizeof when applied to a pointer typed expression gives the size of the - pointer. - Found by coccinelle spatch "misc/noderef.cocci" - - Signed-off-by: Thomas Meyer - ---- a/arch/mips/bcm47xx/sprom.c -+++ b/arch/mips/bcm47xx/sprom.c -@@ -162,7 +162,7 @@ static void nvram_read_alpha2(const char - pr_warn("alpha2 is too long %s\n", buf); - return; - } -- memcpy(val, buf, sizeof(val)); -+ memcpy(val, buf, sizeof(*val)); - } - - static void bcm47xx_fill_sprom_r1234589(struct ssb_sprom *sprom, diff --git a/target/linux/brcm47xx/patches-3.10/095-MIPS-BCM47XX-Fix-some-very-confused-types-and-data-c.patch b/target/linux/brcm47xx/patches-3.10/095-MIPS-BCM47XX-Fix-some-very-confused-types-and-data-c.patch new file mode 100644 index 0000000000..a4bc08adca --- /dev/null +++ b/target/linux/brcm47xx/patches-3.10/095-MIPS-BCM47XX-Fix-some-very-confused-types-and-data-c.patch @@ -0,0 +1,86 @@ +From 855094d7e46eb14c597ca09631cf95a92909982d Mon Sep 17 00:00:00 2001 +From: Ilia Mirkin +Date: Fri, 6 Dec 2013 18:56:53 -0500 +Subject: [PATCH] MIPS: BCM47XX: Fix some very confused types and data + corruption + +Fix nvram_read_alpha2 copying too many bytes over the ssb_sprom +structure. Also fix the arguments of the read_macaddr, although the code +was technically not wrong before due to an extra dereference. + +Signed-off-by: Ilia Mirkin +Acked-by: Hauke Mehrtens +Acked-by: John Crispin +Patchwork: http://patchwork.linux-mips.org/patch/6211/ +--- + arch/mips/bcm47xx/sprom.c | 18 +++++++++--------- + 1 file changed, 9 insertions(+), 9 deletions(-) + +--- a/arch/mips/bcm47xx/sprom.c ++++ b/arch/mips/bcm47xx/sprom.c +@@ -135,7 +135,7 @@ static void nvram_read_leddc(const char + } + + static void nvram_read_macaddr(const char *prefix, const char *name, +- u8 (*val)[6], bool fallback) ++ u8 val[6], bool fallback) + { + char buf[100]; + int err; +@@ -144,11 +144,11 @@ static void nvram_read_macaddr(const cha + if (err < 0) + return; + +- bcm47xx_nvram_parse_macaddr(buf, *val); ++ bcm47xx_nvram_parse_macaddr(buf, val); + } + + static void nvram_read_alpha2(const char *prefix, const char *name, +- char (*val)[2], bool fallback) ++ char val[2], bool fallback) + { + char buf[10]; + int err; +@@ -162,7 +162,7 @@ static void nvram_read_alpha2(const char + pr_warn("alpha2 is too long %s\n", buf); + return; + } +- memcpy(val, buf, sizeof(val)); ++ memcpy(val, buf, 2); + } + + static void bcm47xx_fill_sprom_r1234589(struct ssb_sprom *sprom, +@@ -180,7 +180,7 @@ static void bcm47xx_fill_sprom_r1234589( + fallback); + nvram_read_s8(prefix, NULL, "ag1", &sprom->antenna_gain.a1, 0, + fallback); +- nvram_read_alpha2(prefix, "ccode", &sprom->alpha2, fallback); ++ nvram_read_alpha2(prefix, "ccode", sprom->alpha2, fallback); + } + + static void bcm47xx_fill_sprom_r12389(struct ssb_sprom *sprom, +@@ -633,20 +633,20 @@ static void bcm47xx_fill_sprom_path_r45( + static void bcm47xx_fill_sprom_ethernet(struct ssb_sprom *sprom, + const char *prefix, bool fallback) + { +- nvram_read_macaddr(prefix, "et0macaddr", &sprom->et0mac, fallback); ++ nvram_read_macaddr(prefix, "et0macaddr", sprom->et0mac, fallback); + nvram_read_u8(prefix, NULL, "et0mdcport", &sprom->et0mdcport, 0, + fallback); + nvram_read_u8(prefix, NULL, "et0phyaddr", &sprom->et0phyaddr, 0, + fallback); + +- nvram_read_macaddr(prefix, "et1macaddr", &sprom->et1mac, fallback); ++ nvram_read_macaddr(prefix, "et1macaddr", sprom->et1mac, fallback); + nvram_read_u8(prefix, NULL, "et1mdcport", &sprom->et1mdcport, 0, + fallback); + nvram_read_u8(prefix, NULL, "et1phyaddr", &sprom->et1phyaddr, 0, + fallback); + +- nvram_read_macaddr(prefix, "macaddr", &sprom->il0mac, fallback); +- nvram_read_macaddr(prefix, "il0macaddr", &sprom->il0mac, fallback); ++ nvram_read_macaddr(prefix, "macaddr", sprom->il0mac, fallback); ++ nvram_read_macaddr(prefix, "il0macaddr", sprom->il0mac, fallback); + } + + static void bcm47xx_fill_board_data(struct ssb_sprom *sprom, const char *prefix,