Remove redundant CFE check in mtd parser.
Fix "cfe-" string length copy and mtd read size.
Add last byte on "cfe-v" versions a.b.c-d.e -> a.b.c-d.e-f.
Add support for Huawei CFE versions ("cfe-vd").Signed-off-by: Álvaro Fernández Rojas <[email protected]> --- V2: Changed to remove redundant check in mtd parser. diff --git a/target/linux/brcm63xx/patches-3.7/311-cfe_version_mod.patch b/target/linux/brcm63xx/patches-3.7/311-cfe_version_mod.patch index b9edc23..7117a6d 100644 --- a/target/linux/brcm63xx/patches-3.7/311-cfe_version_mod.patch +++ b/target/linux/brcm63xx/patches-3.7/311-cfe_version_mod.patch @@ -1,26 +1,115 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -796,6 +796,8 @@ void __init board_prom_init(void) - if (!memcmp(cfe, "cfe-v", 5)) - snprintf(cfe_version, sizeof(cfe_version), "%u.%u.%u-%u.%u", - cfe[5], cfe[6], cfe[7], cfe[8], cfe[9]); -+ else if (!memcmp(cfe, "cfe-", 4)) -+ snprintf(cfe_version, 16, "%s", (char *) &cfe[4]); - else +@@ -745,6 +745,11 @@ const char *board_get_name(void) + return board.name; + } + ++int bcm63xx_cfe_present = 0; ++int bcm63xx_is_cfe_present(void) { ++ return bcm63xx_cfe_present; ++} ++ + static void __init boardid_fixup(u8 *boot_addr) + { + struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K); +@@ -793,11 +798,26 @@ void __init board_prom_init(void) + + /* dump cfe version */ + cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET; +- if (!memcmp(cfe, "cfe-v", 5)) +- snprintf(cfe_version, sizeof(cfe_version), "%u.%u.%u-%u.%u", +- cfe[5], cfe[6], cfe[7], cfe[8], cfe[9]); +- else ++ if (!memcmp(cfe, "cfe-vd", 6)) { ++ bcm63xx_cfe_present = 1; ++ snprintf(cfe_version, 11, "%s", (char *) &cfe[5]); ++ } ++ else if (!memcmp(cfe, "cfe-v", 5)) { ++ bcm63xx_cfe_present = 1; ++ snprintf(cfe_version, sizeof(cfe_version), "%u.%u.%u-%u.%u-%u", ++ cfe[5], cfe[6], cfe[7], cfe[8], cfe[9], cfe[10]); ++ } ++ else if (!memcmp(cfe, "cfe-", 4)) { ++ bcm63xx_cfe_present = 1; ++ snprintf(cfe_version, 12, "%s", (char *) &cfe[4]); ++ } ++ else { strcpy(cfe_version, "unknown"); ++ ++ cfe = boot_addr + BCM963XX_CFE_MAGIC_OFFSET; ++ if(!memcmp(cfe, "CFE1CFE1", 8)) ++ bcm63xx_cfe_present = 1; ++ } printk(KERN_INFO PFX "CFE version: %s\n", cfe_version); + + bcm63xx_nvram_init(boot_addr + BCM963XX_NVRAM_OFFSET); +--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_board.h ++++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_board.h +@@ -9,4 +9,6 @@ void board_setup(void); + + int board_register_devices(void); + ++int bcm63xx_is_cfe_present(void); ++ + #endif /* ! BCM63XX_BOARD_H_ */ +--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h ++++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h +@@ -12,6 +12,7 @@ + /* + * flash mapping + */ ++#define BCM963XX_CFE_MAGIC_OFFSET 0x4e0 + #define BCM963XX_CFE_VERSION_OFFSET 0x570 + #define BCM963XX_NVRAM_OFFSET 0x580 + --- a/drivers/mtd/bcm63xxpart.c +++ b/drivers/mtd/bcm63xxpart.c -@@ -54,10 +54,10 @@ static int bcm63xx_detect_cfe(struct mtd - if (ret) - return ret; +@@ -33,38 +33,12 @@ + #include <linux/mtd/partitions.h> -- if (strncmp("cfe-v", buf, 5) == 0) -+ if (strncmp("cfe-", buf, 4) == 0) - return 0; + #include <linux/bcm963xx_tag.h> +-#include <asm/mach-bcm63xx/board_bcm963xx.h> ++#include <asm/mach-bcm63xx/bcm63xx_board.h> + + #define BCM63XX_EXTENDED_SIZE 0xBFC00000 /* Extended flash address */ + + #define BCM63XX_CFE_BLOCK_SIZE 0x10000 /* always at least 64KiB */ +-#define BCM63XX_CFE_MAGIC_OFFSET 0x4e0 +- +-static int bcm63xx_detect_cfe(struct mtd_info *master) +-{ +- char buf[9]; +- int ret; +- size_t retlen; +- +- ret = mtd_read(master, BCM963XX_CFE_VERSION_OFFSET, 5, &retlen, +- (void *)buf); +- buf[retlen] = 0; +- +- if (ret) +- return ret; +- +- if (strncmp("cfe-v", buf, 5) == 0) +- return 0; +- - /* very old CFE's do not have the cfe-v string, so check for magic */ -+ /* very old CFE's do not have the cfe- string, so check for magic */ - ret = mtd_read(master, BCM63XX_CFE_MAGIC_OFFSET, 8, &retlen, - (void *)buf); - buf[retlen] = 0; +- ret = mtd_read(master, BCM63XX_CFE_MAGIC_OFFSET, 8, &retlen, +- (void *)buf); +- buf[retlen] = 0; +- +- return strncmp("CFE1CFE1", buf, 8); +-} +- + static int bcm63xx_parse_cfe_partitions(struct mtd_info *master, + struct mtd_partition **pparts, + struct mtd_part_parser_data *data) +@@ -83,7 +57,7 @@ static int bcm63xx_parse_cfe_partitions( + u32 computed_crc; + bool rootfs_first = false; + +- if (bcm63xx_detect_cfe(master)) ++ if (!bcm63xx_is_cfe_present()) + return -EINVAL; + + cfe_erasesize = max_t(uint32_t, master->erasesize, diff --git a/target/linux/brcm63xx/patches-3.7/312-MIPS-BCM63XX-add-basic-BCM6362-support.patch b/target/linux/brcm63xx/patches-3.7/312-MIPS-BCM63XX-add-basic-BCM6362-support.patch index f8dc7a4..df58031 100644 --- a/target/linux/brcm63xx/patches-3.7/312-MIPS-BCM63XX-add-basic-BCM6362-support.patch +++ b/target/linux/brcm63xx/patches-3.7/312-MIPS-BCM63XX-add-basic-BCM6362-support.patch @@ -33,7 +33,7 @@ Signed-off-by: Jonas Gorski <[email protected]> select HW_HAS_PCI --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -783,7 +783,7 @@ void __init board_prom_init(void) +@@ -788,7 +788,7 @@ void __init board_prom_init(void) /* read base address of boot chip select (0) * 6328 does not have MPI but boots from a fixed address */ diff --git a/target/linux/brcm63xx/patches-3.7/401-MIPS-BCM63XX-register-ohci-device.patch b/target/linux/brcm63xx/patches-3.7/401-MIPS-BCM63XX-register-ohci-device.patch index 80ff1c2..f8a0ab9 100644 --- a/target/linux/brcm63xx/patches-3.7/401-MIPS-BCM63XX-register-ohci-device.patch +++ b/target/linux/brcm63xx/patches-3.7/401-MIPS-BCM63XX-register-ohci-device.patch @@ -71,7 +71,7 @@ Subject: [PATCH 31/72] MIPS: BCM63XX: register ohci device. #include <bcm63xx_dev_usb_usbd.h> #include <board_bcm963xx.h> -@@ -923,6 +924,9 @@ int __init board_register_devices(void) +@@ -941,6 +942,9 @@ int __init board_register_devices(void) if (board.has_usbd) bcm63xx_usbd_register(&board.usbd); diff --git a/target/linux/brcm63xx/patches-3.7/403-MIPS-BCM63XX-register-ehci-device.patch b/target/linux/brcm63xx/patches-3.7/403-MIPS-BCM63XX-register-ehci-device.patch index 10af689..ada7ed6 100644 --- a/target/linux/brcm63xx/patches-3.7/403-MIPS-BCM63XX-register-ehci-device.patch +++ b/target/linux/brcm63xx/patches-3.7/403-MIPS-BCM63XX-register-ehci-device.patch @@ -52,7 +52,7 @@ Subject: [PATCH 33/72] MIPS: BCM63XX: register ehci device. #include <bcm63xx_dev_usb_usbd.h> #include <board_bcm963xx.h> -@@ -924,6 +925,9 @@ int __init board_register_devices(void) +@@ -942,6 +943,9 @@ int __init board_register_devices(void) if (board.has_usbd) bcm63xx_usbd_register(&board.usbd); diff --git a/target/linux/brcm63xx/patches-3.7/405-bcm963xx_real_rootfs_length.patch b/target/linux/brcm63xx/patches-3.7/405-bcm963xx_real_rootfs_length.patch index 955c32f..f17751e 100644 --- a/target/linux/brcm63xx/patches-3.7/405-bcm963xx_real_rootfs_length.patch +++ b/target/linux/brcm63xx/patches-3.7/405-bcm963xx_real_rootfs_length.patch @@ -15,7 +15,7 @@ /* 240-255: Unused at present */ --- a/drivers/mtd/bcm63xxpart.c +++ b/drivers/mtd/bcm63xxpart.c -@@ -131,7 +131,8 @@ static int bcm63xx_parse_cfe_partitions( +@@ -105,7 +105,8 @@ static int bcm63xx_parse_cfe_partitions( } else { /* OpenWrt layout */ rootfsaddr = kerneladdr + kernellen; diff --git a/target/linux/brcm63xx/patches-3.7/408-6358-enet1-external-mii-clk.patch b/target/linux/brcm63xx/patches-3.7/408-6358-enet1-external-mii-clk.patch index 6b4886d..3b639fa 100644 --- a/target/linux/brcm63xx/patches-3.7/408-6358-enet1-external-mii-clk.patch +++ b/target/linux/brcm63xx/patches-3.7/408-6358-enet1-external-mii-clk.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -859,6 +859,8 @@ void __init board_prom_init(void) +@@ -877,6 +877,8 @@ void __init board_prom_init(void) if (BCMCPU_IS_6348()) val |= GPIO_MODE_6348_G3_EXT_MII | GPIO_MODE_6348_G0_EXT_MII; diff --git a/target/linux/brcm63xx/patches-3.7/415-bcm63xx_enet-add-support-for-bcm6368-internal-ethern.patch b/target/linux/brcm63xx/patches-3.7/415-bcm63xx_enet-add-support-for-bcm6368-internal-ethern.patch index 5dec825..84a8027 100644 --- a/target/linux/brcm63xx/patches-3.7/415-bcm63xx_enet-add-support-for-bcm6368-internal-ethern.patch +++ b/target/linux/brcm63xx/patches-3.7/415-bcm63xx_enet-add-support-for-bcm6368-internal-ethern.patch @@ -13,7 +13,7 @@ Subject: [PATCH 31/63] bcm63xx_enet: add support for bcm6368 internal ethernet s --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -927,6 +927,10 @@ int __init board_register_devices(void) +@@ -945,6 +945,10 @@ int __init board_register_devices(void) if (board.has_usbd) bcm63xx_usbd_register(&board.usbd); @@ -26,7 +26,7 @@ Subject: [PATCH 31/63] bcm63xx_enet: add support for bcm6368 internal ethernet s --- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h +++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -@@ -25,6 +25,7 @@ struct board_info { +@@ -26,6 +26,7 @@ struct board_info { /* enabled feature/device */ unsigned int has_enet0:1; unsigned int has_enet1:1; @@ -34,7 +34,7 @@ Subject: [PATCH 31/63] bcm63xx_enet: add support for bcm6368 internal ethernet s unsigned int has_pci:1; unsigned int has_pccard:1; unsigned int has_ohci0:1; -@@ -37,6 +38,7 @@ struct board_info { +@@ -38,6 +39,7 @@ struct board_info { /* ethernet config */ struct bcm63xx_enet_platform_data enet0; struct bcm63xx_enet_platform_data enet1; diff --git a/target/linux/brcm63xx/patches-3.7/425-MIPS-BCM63XX-add-HS-SPI-platform-device-and-register.patch b/target/linux/brcm63xx/patches-3.7/425-MIPS-BCM63XX-add-HS-SPI-platform-device-and-register.patch index 15240ce..1c29a43 100644 --- a/target/linux/brcm63xx/patches-3.7/425-MIPS-BCM63XX-add-HS-SPI-platform-device-and-register.patch +++ b/target/linux/brcm63xx/patches-3.7/425-MIPS-BCM63XX-add-HS-SPI-platform-device-and-register.patch @@ -36,7 +36,7 @@ Signed-off-by: Jonas Gorski <[email protected]> #include <bcm63xx_dev_pcmcia.h> #include <bcm63xx_dev_spi.h> #include <bcm63xx_dev_usb_ohci.h> -@@ -952,6 +953,7 @@ int __init board_register_devices(void) +@@ -970,6 +971,7 @@ int __init board_register_devices(void) pr_err(PFX "failed to register fallback SPROM\n"); } #endif diff --git a/target/linux/brcm63xx/patches-3.7/430-MTD-bcm63xxpart-use-nvram-for-PSI-size.patch b/target/linux/brcm63xx/patches-3.7/430-MTD-bcm63xxpart-use-nvram-for-PSI-size.patch index fd1bfc4..910a5af 100644 --- a/target/linux/brcm63xx/patches-3.7/430-MTD-bcm63xxpart-use-nvram-for-PSI-size.patch +++ b/target/linux/brcm63xx/patches-3.7/430-MTD-bcm63xxpart-use-nvram-for-PSI-size.patch @@ -15,9 +15,9 @@ Subject: [PATCH 62/79] MTD: bcm63xxpart: use nvram for PSI size +#include <asm/mach-bcm63xx/bcm63xx_nvram.h> #include <linux/bcm963xx_tag.h> - #include <asm/mach-bcm63xx/board_bcm963xx.h> + #include <asm/mach-bcm63xx/bcm63xx_board.h> -@@ -90,7 +91,8 @@ static int bcm63xx_parse_cfe_partitions( +@@ -64,7 +65,8 @@ static int bcm63xx_parse_cfe_partitions( BCM63XX_CFE_BLOCK_SIZE); cfelen = cfe_erasesize; diff --git a/target/linux/brcm63xx/patches-3.7/432-BCM63XX-allow-providing-fixup-data-in-board-data.patch b/target/linux/brcm63xx/patches-3.7/432-BCM63XX-allow-providing-fixup-data-in-board-data.patch index 033a8a5..077c996 100644 --- a/target/linux/brcm63xx/patches-3.7/432-BCM63XX-allow-providing-fixup-data-in-board-data.patch +++ b/target/linux/brcm63xx/patches-3.7/432-BCM63XX-allow-providing-fixup-data-in-board-data.patch @@ -18,7 +18,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data #include <uapi/linux/bcm963xx_tag.h> -@@ -907,6 +908,7 @@ int __init board_register_devices(void) +@@ -925,6 +926,7 @@ int __init board_register_devices(void) { int button_count = 0; int led_count = 0; @@ -26,7 +26,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data if (board.has_uart0) bcm63xx_uart_register(0); -@@ -945,7 +947,8 @@ int __init board_register_devices(void) +@@ -963,7 +965,8 @@ int __init board_register_devices(void) * do this after registering enet devices */ #ifdef CONFIG_SSB_PCIHOST @@ -36,7 +36,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data memcpy(bcm63xx_sprom.et0mac, bcm63xx_sprom.il0mac, ETH_ALEN); memcpy(bcm63xx_sprom.et1mac, bcm63xx_sprom.il0mac, ETH_ALEN); if (ssb_arch_register_fallback_sprom( -@@ -987,5 +990,9 @@ int __init board_register_devices(void) +@@ -1005,5 +1008,9 @@ int __init board_register_devices(void) platform_device_register(&bcm63xx_gpio_keys_device); } @@ -56,7 +56,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data /* * flash mapping -@@ -15,6 +16,11 @@ +@@ -16,6 +17,11 @@ #define BCM963XX_CFE_VERSION_OFFSET 0x570 #define BCM963XX_NVRAM_OFFSET 0x580 @@ -68,7 +68,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data /* * board definition */ -@@ -34,6 +40,10 @@ struct board_info { +@@ -35,6 +41,10 @@ struct board_info { unsigned int has_dsp:1; unsigned int has_uart0:1; unsigned int has_uart1:1; diff --git a/target/linux/brcm63xx/patches-3.7/436-MTD-bcm63xxpart-allow-passing-a-caldata-offset.patch b/target/linux/brcm63xx/patches-3.7/436-MTD-bcm63xxpart-allow-passing-a-caldata-offset.patch index af2bb75..1c14989 100644 --- a/target/linux/brcm63xx/patches-3.7/436-MTD-bcm63xxpart-allow-passing-a-caldata-offset.patch +++ b/target/linux/brcm63xx/patches-3.7/436-MTD-bcm63xxpart-allow-passing-a-caldata-offset.patch @@ -8,7 +8,7 @@ contained in flash. --- a/drivers/mtd/bcm63xxpart.c +++ b/drivers/mtd/bcm63xxpart.c -@@ -76,10 +76,12 @@ static int bcm63xx_parse_cfe_partitions( +@@ -50,10 +50,12 @@ static int bcm63xx_parse_cfe_partitions( struct mtd_partition *parts; int ret; size_t retlen; @@ -22,7 +22,7 @@ contained in flash. int i; u32 computed_crc; bool rootfs_first = false; -@@ -93,6 +95,24 @@ static int bcm63xx_parse_cfe_partitions( +@@ -67,6 +69,24 @@ static int bcm63xx_parse_cfe_partitions( cfelen = cfe_erasesize; nvramlen = bcm63xx_nvram_get_psi_size() * 1024; nvramlen = roundup(nvramlen, cfe_erasesize); @@ -47,7 +47,7 @@ contained in flash. /* Allocate memory for buffer */ buf = vmalloc(sizeof(struct bcm_tag)); -@@ -144,7 +164,7 @@ static int bcm63xx_parse_cfe_partitions( +@@ -118,7 +138,7 @@ static int bcm63xx_parse_cfe_partitions( rootfsaddr = 0; spareaddr = cfelen; } @@ -56,7 +56,7 @@ contained in flash. /* Determine number of partitions */ if (rootfslen > 0) -@@ -153,6 +173,12 @@ static int bcm63xx_parse_cfe_partitions( +@@ -127,6 +147,12 @@ static int bcm63xx_parse_cfe_partitions( if (kernellen > 0) nrparts++; @@ -69,7 +69,7 @@ contained in flash. /* Ask kernel for more memory */ parts = kzalloc(sizeof(*parts) * nrparts + 10 * nrparts, GFP_KERNEL); if (!parts) { -@@ -190,15 +216,32 @@ static int bcm63xx_parse_cfe_partitions( +@@ -164,15 +190,32 @@ static int bcm63xx_parse_cfe_partitions( curpart++; } diff --git a/target/linux/brcm63xx/patches-3.7/437-MIPS-BCM63XX-pass-caldata-info-to-flash.patch b/target/linux/brcm63xx/patches-3.7/437-MIPS-BCM63XX-pass-caldata-info-to-flash.patch index fb3b4f0..92b448f 100644 --- a/target/linux/brcm63xx/patches-3.7/437-MIPS-BCM63XX-pass-caldata-info-to-flash.patch +++ b/target/linux/brcm63xx/patches-3.7/437-MIPS-BCM63XX-pass-caldata-info-to-flash.patch @@ -11,7 +11,7 @@ Subject: [PATCH 69/80] MIPS: BCM63XX: pass caldata info to flash --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -966,7 +966,7 @@ int __init board_register_devices(void) +@@ -984,7 +984,7 @@ int __init board_register_devices(void) if (board.num_spis) spi_register_board_info(board.spis, board.num_spis); diff --git a/target/linux/brcm63xx/patches-3.7/444-BCM63XX-add-endian-check-for-ath9k.patch b/target/linux/brcm63xx/patches-3.7/444-BCM63XX-add-endian-check-for-ath9k.patch index 2127bf3..fb571cd 100644 --- a/target/linux/brcm63xx/patches-3.7/444-BCM63XX-add-endian-check-for-ath9k.patch +++ b/target/linux/brcm63xx/patches-3.7/444-BCM63XX-add-endian-check-for-ath9k.patch @@ -13,7 +13,7 @@ Subject: [PATCH] BCM63XX: add endian check for ath9k #endif /* _PCI_ATH9K_FIXUP */ --- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h +++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -@@ -19,6 +19,7 @@ +@@ -20,6 +20,7 @@ struct ath9k_caldata { unsigned int slot; u32 caldata_offset; @@ -41,7 +41,7 @@ Subject: [PATCH] BCM63XX: add endian check for ath9k return; --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -992,7 +992,8 @@ int __init board_register_devices(void) +@@ -1010,7 +1010,8 @@ int __init board_register_devices(void) /* register any fixups */ for (i = 0; i < board.has_caldata; i++) diff --git a/target/linux/brcm63xx/patches-3.7/445-BCM63XX-add-led-pin-for-ath9k.patch b/target/linux/brcm63xx/patches-3.7/445-BCM63XX-add-led-pin-for-ath9k.patch index cb724e6..18dd4e3 100644 --- a/target/linux/brcm63xx/patches-3.7/445-BCM63XX-add-led-pin-for-ath9k.patch +++ b/target/linux/brcm63xx/patches-3.7/445-BCM63XX-add-led-pin-for-ath9k.patch @@ -2,7 +2,7 @@ From: Álvaro Fernández Rojas <[email protected]> Subject: BCM63XX: add led pin for ath9k --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -993,7 +993,7 @@ int __init board_register_devices(void) +@@ -1011,7 +1011,7 @@ int __init board_register_devices(void) /* register any fixups */ for (i = 0; i < board.has_caldata; i++) pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset, @@ -31,7 +31,7 @@ Subject: BCM63XX: add led pin for ath9k return; --- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h +++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -@@ -20,6 +20,7 @@ struct ath9k_caldata { +@@ -21,6 +21,7 @@ struct ath9k_caldata { unsigned int slot; u32 caldata_offset; unsigned int endian_check:1; diff --git a/target/linux/brcm63xx/patches-3.7/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch b/target/linux/brcm63xx/patches-3.7/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch index 033cdb4..8966c0b 100644 --- a/target/linux/brcm63xx/patches-3.7/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch +++ b/target/linux/brcm63xx/patches-3.7/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch @@ -36,7 +36,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices #include <uapi/linux/bcm963xx_tag.h> -@@ -991,9 +992,19 @@ int __init board_register_devices(void) +@@ -1009,9 +1010,19 @@ int __init board_register_devices(void) } /* register any fixups */ @@ -165,7 +165,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices /* * flash mapping -@@ -16,11 +17,15 @@ +@@ -17,11 +18,15 @@ #define BCM963XX_CFE_VERSION_OFFSET 0x570 #define BCM963XX_NVRAM_OFFSET 0x580 @@ -182,7 +182,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices }; /* -@@ -45,7 +50,7 @@ struct board_info { +@@ -46,7 +51,7 @@ struct board_info { unsigned int has_caldata:2; /* wifi calibration data config */ diff --git a/target/linux/brcm63xx/patches-3.7/501-board-NB4.patch b/target/linux/brcm63xx/patches-3.7/501-board-NB4.patch index 99b7e43..e1afda3 100644 --- a/target/linux/brcm63xx/patches-3.7/501-board-NB4.patch +++ b/target/linux/brcm63xx/patches-3.7/501-board-NB4.patch @@ -631,7 +631,7 @@ #endif }; -@@ -806,6 +1409,16 @@ static void __init boardid_fixup(u8 *boo +@@ -811,6 +1414,16 @@ static void __init boardid_fixup(u8 *boo struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K); char *board_name = (char *)bcm63xx_nvram_get_name(); diff --git a/target/linux/brcm63xx/patches-3.7/511-board_V2500V.patch b/target/linux/brcm63xx/patches-3.7/511-board_V2500V.patch index 20ce84c..5558b6f 100644 --- a/target/linux/brcm63xx/patches-3.7/511-board_V2500V.patch +++ b/target/linux/brcm63xx/patches-3.7/511-board_V2500V.patch @@ -74,7 +74,7 @@ #endif #ifdef CONFIG_BCM63XX_CPU_6358 -@@ -2070,6 +2130,22 @@ void __init board_prom_init(void) +@@ -2075,6 +2135,22 @@ void __init board_prom_init(void) val &= MPI_CSBASE_BASE_MASK; } boot_addr = (u8 *)KSEG1ADDR(val); diff --git a/target/linux/brcm63xx/patches-3.7/520-bcm63xx-add-support-for-96368MVWG-board.patch b/target/linux/brcm63xx/patches-3.7/520-bcm63xx-add-support-for-96368MVWG-board.patch index c3b2c16..02ad31f 100644 --- a/target/linux/brcm63xx/patches-3.7/520-bcm63xx-add-support-for-96368MVWG-board.patch +++ b/target/linux/brcm63xx/patches-3.7/520-bcm63xx-add-support-for-96368MVWG-board.patch @@ -100,7 +100,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board. }; /* -@@ -2409,12 +2485,25 @@ void __init board_prom_init(void) +@@ -2427,12 +2503,25 @@ void __init board_prom_init(void) bcm63xx_pci_enabled = 1; if (BCMCPU_IS_6348()) val |= GPIO_MODE_6348_G2_PCI; diff --git a/target/linux/brcm63xx/patches-3.7/528-board_nb6.patch b/target/linux/brcm63xx/patches-3.7/528-board_nb6.patch index e565b8e..e031af0 100644 --- a/target/linux/brcm63xx/patches-3.7/528-board_nb6.patch +++ b/target/linux/brcm63xx/patches-3.7/528-board_nb6.patch @@ -132,7 +132,7 @@ #ifdef CONFIG_BCM63XX_CPU_6368 &board_96368mvwg, &board_96368mvngr, -@@ -2893,6 +2997,11 @@ static void __init boardid_fixup(u8 *boo +@@ -2898,6 +3002,11 @@ static void __init boardid_fixup(u8 *boo } } diff --git a/target/linux/brcm63xx/patches-3.7/554-board_hw556.patch b/target/linux/brcm63xx/patches-3.7/554-board_hw556.patch index 55aadee..45103e2 100644 --- a/target/linux/brcm63xx/patches-3.7/554-board_hw556.patch +++ b/target/linux/brcm63xx/patches-3.7/554-board_hw556.patch @@ -386,7 +386,7 @@ &board_spw303v, &board_DVAG3810BN, #endif -@@ -3466,13 +3838,37 @@ static void __init boardid_fixup(u8 *boo +@@ -3471,13 +3843,37 @@ static void __init boardid_fixup(u8 *boo struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K); char *board_name = (char *)bcm63xx_nvram_get_name(); @@ -433,7 +433,7 @@ --- a/drivers/mtd/bcm63xxpart.c +++ b/drivers/mtd/bcm63xxpart.c -@@ -93,6 +93,11 @@ static int bcm63xx_parse_cfe_partitions( +@@ -67,6 +67,11 @@ static int bcm63xx_parse_cfe_partitions( BCM63XX_CFE_BLOCK_SIZE); cfelen = cfe_erasesize; diff --git a/target/linux/brcm63xx/patches-3.8/311-cfe_version_mod.patch b/target/linux/brcm63xx/patches-3.8/311-cfe_version_mod.patch index a05b9a5..55d5aea 100644 --- a/target/linux/brcm63xx/patches-3.8/311-cfe_version_mod.patch +++ b/target/linux/brcm63xx/patches-3.8/311-cfe_version_mod.patch @@ -1,26 +1,115 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -798,6 +798,8 @@ void __init board_prom_init(void) - if (!memcmp(cfe, "cfe-v", 5)) - snprintf(cfe_version, sizeof(cfe_version), "%u.%u.%u-%u.%u", - cfe[5], cfe[6], cfe[7], cfe[8], cfe[9]); -+ else if (!memcmp(cfe, "cfe-", 4)) -+ snprintf(cfe_version, 16, "%s", (char *) &cfe[4]); - else +@@ -747,6 +747,11 @@ const char *board_get_name(void) + return board.name; + } + ++int bcm63xx_cfe_present = 0; ++int bcm63xx_is_cfe_present(void) { ++ return bcm63xx_cfe_present; ++} ++ + static void __init boardid_fixup(u8 *boot_addr) + { + struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K); +@@ -795,11 +800,26 @@ void __init board_prom_init(void) + + /* dump cfe version */ + cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET; +- if (!memcmp(cfe, "cfe-v", 5)) +- snprintf(cfe_version, sizeof(cfe_version), "%u.%u.%u-%u.%u", +- cfe[5], cfe[6], cfe[7], cfe[8], cfe[9]); +- else ++ if (!memcmp(cfe, "cfe-vd", 6)) { ++ bcm63xx_cfe_present = 1; ++ snprintf(cfe_version, 11, "%s", (char *) &cfe[5]); ++ } ++ else if (!memcmp(cfe, "cfe-v", 5)) { ++ bcm63xx_cfe_present = 1; ++ snprintf(cfe_version, sizeof(cfe_version), "%u.%u.%u-%u.%u-%u", ++ cfe[5], cfe[6], cfe[7], cfe[8], cfe[9], cfe[10]); ++ } ++ else if (!memcmp(cfe, "cfe-", 4)) { ++ bcm63xx_cfe_present = 1; ++ snprintf(cfe_version, 12, "%s", (char *) &cfe[4]); ++ } ++ else { strcpy(cfe_version, "unknown"); ++ ++ cfe = boot_addr + BCM963XX_CFE_MAGIC_OFFSET; ++ if(!memcmp(cfe, "CFE1CFE1", 8)) ++ bcm63xx_cfe_present = 1; ++ } printk(KERN_INFO PFX "CFE version: %s\n", cfe_version); + + bcm63xx_nvram_init(boot_addr + BCM963XX_NVRAM_OFFSET); +--- a/arch/mips/include/asm/mach-bcm63xx/bcm63xx_board.h ++++ b/arch/mips/include/asm/mach-bcm63xx/bcm63xx_board.h +@@ -9,4 +9,6 @@ void board_setup(void); + + int board_register_devices(void); + ++int bcm63xx_is_cfe_present(void); ++ + #endif /* ! BCM63XX_BOARD_H_ */ +--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h ++++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h +@@ -12,6 +12,7 @@ + /* + * flash mapping + */ ++#define BCM963XX_CFE_MAGIC_OFFSET 0x4e0 + #define BCM963XX_CFE_VERSION_OFFSET 0x570 + #define BCM963XX_NVRAM_OFFSET 0x580 + --- a/drivers/mtd/bcm63xxpart.c +++ b/drivers/mtd/bcm63xxpart.c -@@ -54,10 +54,10 @@ static int bcm63xx_detect_cfe(struct mtd - if (ret) - return ret; +@@ -33,38 +33,12 @@ + #include <linux/mtd/partitions.h> -- if (strncmp("cfe-v", buf, 5) == 0) -+ if (strncmp("cfe-", buf, 4) == 0) - return 0; + #include <linux/bcm963xx_tag.h> +-#include <asm/mach-bcm63xx/board_bcm963xx.h> ++#include <asm/mach-bcm63xx/bcm63xx_board.h> + + #define BCM63XX_EXTENDED_SIZE 0xBFC00000 /* Extended flash address */ + + #define BCM63XX_CFE_BLOCK_SIZE 0x10000 /* always at least 64KiB */ +-#define BCM63XX_CFE_MAGIC_OFFSET 0x4e0 +- +-static int bcm63xx_detect_cfe(struct mtd_info *master) +-{ +- char buf[9]; +- int ret; +- size_t retlen; +- +- ret = mtd_read(master, BCM963XX_CFE_VERSION_OFFSET, 5, &retlen, +- (void *)buf); +- buf[retlen] = 0; +- +- if (ret) +- return ret; +- +- if (strncmp("cfe-v", buf, 5) == 0) +- return 0; +- - /* very old CFE's do not have the cfe-v string, so check for magic */ -+ /* very old CFE's do not have the cfe- string, so check for magic */ - ret = mtd_read(master, BCM63XX_CFE_MAGIC_OFFSET, 8, &retlen, - (void *)buf); - buf[retlen] = 0; +- ret = mtd_read(master, BCM63XX_CFE_MAGIC_OFFSET, 8, &retlen, +- (void *)buf); +- buf[retlen] = 0; +- +- return strncmp("CFE1CFE1", buf, 8); +-} +- + static int bcm63xx_parse_cfe_partitions(struct mtd_info *master, + struct mtd_partition **pparts, + struct mtd_part_parser_data *data) +@@ -83,7 +57,7 @@ static int bcm63xx_parse_cfe_partitions( + u32 computed_crc; + bool rootfs_first = false; + +- if (bcm63xx_detect_cfe(master)) ++ if (!bcm63xx_is_cfe_present()) + return -EINVAL; + + cfe_erasesize = max_t(uint32_t, master->erasesize, diff --git a/target/linux/brcm63xx/patches-3.8/312-MIPS-BCM63XX-add-basic-BCM6362-support.patch b/target/linux/brcm63xx/patches-3.8/312-MIPS-BCM63XX-add-basic-BCM6362-support.patch index 9068590..7e7e0d8 100644 --- a/target/linux/brcm63xx/patches-3.8/312-MIPS-BCM63XX-add-basic-BCM6362-support.patch +++ b/target/linux/brcm63xx/patches-3.8/312-MIPS-BCM63XX-add-basic-BCM6362-support.patch @@ -33,7 +33,7 @@ Signed-off-by: Jonas Gorski <[email protected]> select HW_HAS_PCI --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -785,7 +785,7 @@ void __init board_prom_init(void) +@@ -790,7 +790,7 @@ void __init board_prom_init(void) /* read base address of boot chip select (0) * 6328 does not have MPI but boots from a fixed address */ diff --git a/target/linux/brcm63xx/patches-3.8/405-bcm963xx_real_rootfs_length.patch b/target/linux/brcm63xx/patches-3.8/405-bcm963xx_real_rootfs_length.patch index 955c32f..f17751e 100644 --- a/target/linux/brcm63xx/patches-3.8/405-bcm963xx_real_rootfs_length.patch +++ b/target/linux/brcm63xx/patches-3.8/405-bcm963xx_real_rootfs_length.patch @@ -15,7 +15,7 @@ /* 240-255: Unused at present */ --- a/drivers/mtd/bcm63xxpart.c +++ b/drivers/mtd/bcm63xxpart.c -@@ -131,7 +131,8 @@ static int bcm63xx_parse_cfe_partitions( +@@ -105,7 +105,8 @@ static int bcm63xx_parse_cfe_partitions( } else { /* OpenWrt layout */ rootfsaddr = kerneladdr + kernellen; diff --git a/target/linux/brcm63xx/patches-3.8/408-6358-enet1-external-mii-clk.patch b/target/linux/brcm63xx/patches-3.8/408-6358-enet1-external-mii-clk.patch index 4ead53f..bc11fb4 100644 --- a/target/linux/brcm63xx/patches-3.8/408-6358-enet1-external-mii-clk.patch +++ b/target/linux/brcm63xx/patches-3.8/408-6358-enet1-external-mii-clk.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -859,6 +859,8 @@ void __init board_prom_init(void) +@@ -877,6 +877,8 @@ void __init board_prom_init(void) if (BCMCPU_IS_6348()) val |= GPIO_MODE_6348_G3_EXT_MII | GPIO_MODE_6348_G0_EXT_MII; diff --git a/target/linux/brcm63xx/patches-3.8/415-bcm63xx_enet-add-support-for-bcm6368-internal-ethern.patch b/target/linux/brcm63xx/patches-3.8/415-bcm63xx_enet-add-support-for-bcm6368-internal-ethern.patch index ef61519..e4b63ae 100644 --- a/target/linux/brcm63xx/patches-3.8/415-bcm63xx_enet-add-support-for-bcm6368-internal-ethern.patch +++ b/target/linux/brcm63xx/patches-3.8/415-bcm63xx_enet-add-support-for-bcm6368-internal-ethern.patch @@ -13,7 +13,7 @@ Subject: [PATCH 31/63] bcm63xx_enet: add support for bcm6368 internal ethernet s --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -927,6 +927,10 @@ int __init board_register_devices(void) +@@ -945,6 +945,10 @@ int __init board_register_devices(void) if (board.has_usbd) bcm63xx_usbd_register(&board.usbd); @@ -26,7 +26,7 @@ Subject: [PATCH 31/63] bcm63xx_enet: add support for bcm6368 internal ethernet s --- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h +++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -@@ -25,6 +25,7 @@ struct board_info { +@@ -26,6 +26,7 @@ struct board_info { /* enabled feature/device */ unsigned int has_enet0:1; unsigned int has_enet1:1; @@ -34,7 +34,7 @@ Subject: [PATCH 31/63] bcm63xx_enet: add support for bcm6368 internal ethernet s unsigned int has_pci:1; unsigned int has_pccard:1; unsigned int has_ohci0:1; -@@ -37,6 +38,7 @@ struct board_info { +@@ -38,6 +39,7 @@ struct board_info { /* ethernet config */ struct bcm63xx_enet_platform_data enet0; struct bcm63xx_enet_platform_data enet1; diff --git a/target/linux/brcm63xx/patches-3.8/425-MIPS-BCM63XX-add-HS-SPI-platform-device-and-register.patch b/target/linux/brcm63xx/patches-3.8/425-MIPS-BCM63XX-add-HS-SPI-platform-device-and-register.patch index babe04a..7b6dc71 100644 --- a/target/linux/brcm63xx/patches-3.8/425-MIPS-BCM63XX-add-HS-SPI-platform-device-and-register.patch +++ b/target/linux/brcm63xx/patches-3.8/425-MIPS-BCM63XX-add-HS-SPI-platform-device-and-register.patch @@ -37,7 +37,7 @@ Signed-off-by: Jonas Gorski <[email protected]> #include <bcm63xx_dev_pcmcia.h> #include <bcm63xx_dev_spi.h> #include <bcm63xx_dev_usb_ehci.h> -@@ -952,6 +953,7 @@ int __init board_register_devices(void) +@@ -970,6 +971,7 @@ int __init board_register_devices(void) pr_err(PFX "failed to register fallback SPROM\n"); } #endif diff --git a/target/linux/brcm63xx/patches-3.8/430-MTD-bcm63xxpart-use-nvram-for-PSI-size.patch b/target/linux/brcm63xx/patches-3.8/430-MTD-bcm63xxpart-use-nvram-for-PSI-size.patch index fd1bfc4..910a5af 100644 --- a/target/linux/brcm63xx/patches-3.8/430-MTD-bcm63xxpart-use-nvram-for-PSI-size.patch +++ b/target/linux/brcm63xx/patches-3.8/430-MTD-bcm63xxpart-use-nvram-for-PSI-size.patch @@ -15,9 +15,9 @@ Subject: [PATCH 62/79] MTD: bcm63xxpart: use nvram for PSI size +#include <asm/mach-bcm63xx/bcm63xx_nvram.h> #include <linux/bcm963xx_tag.h> - #include <asm/mach-bcm63xx/board_bcm963xx.h> + #include <asm/mach-bcm63xx/bcm63xx_board.h> -@@ -90,7 +91,8 @@ static int bcm63xx_parse_cfe_partitions( +@@ -64,7 +65,8 @@ static int bcm63xx_parse_cfe_partitions( BCM63XX_CFE_BLOCK_SIZE); cfelen = cfe_erasesize; diff --git a/target/linux/brcm63xx/patches-3.8/432-BCM63XX-allow-providing-fixup-data-in-board-data.patch b/target/linux/brcm63xx/patches-3.8/432-BCM63XX-allow-providing-fixup-data-in-board-data.patch index 06d0b1b..83ff699 100644 --- a/target/linux/brcm63xx/patches-3.8/432-BCM63XX-allow-providing-fixup-data-in-board-data.patch +++ b/target/linux/brcm63xx/patches-3.8/432-BCM63XX-allow-providing-fixup-data-in-board-data.patch @@ -18,7 +18,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data #include <uapi/linux/bcm963xx_tag.h> -@@ -907,6 +908,7 @@ int __init board_register_devices(void) +@@ -925,6 +926,7 @@ int __init board_register_devices(void) { int button_count = 0; int led_count = 0; @@ -26,7 +26,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data if (board.has_uart0) bcm63xx_uart_register(0); -@@ -945,7 +947,8 @@ int __init board_register_devices(void) +@@ -963,7 +965,8 @@ int __init board_register_devices(void) * do this after registering enet devices */ #ifdef CONFIG_SSB_PCIHOST @@ -36,7 +36,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data memcpy(bcm63xx_sprom.et0mac, bcm63xx_sprom.il0mac, ETH_ALEN); memcpy(bcm63xx_sprom.et1mac, bcm63xx_sprom.il0mac, ETH_ALEN); if (ssb_arch_register_fallback_sprom( -@@ -987,5 +990,9 @@ int __init board_register_devices(void) +@@ -1005,5 +1008,9 @@ int __init board_register_devices(void) platform_device_register(&bcm63xx_gpio_keys_device); } @@ -56,7 +56,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data /* * flash mapping -@@ -15,6 +16,11 @@ +@@ -16,6 +17,11 @@ #define BCM963XX_CFE_VERSION_OFFSET 0x570 #define BCM963XX_NVRAM_OFFSET 0x580 @@ -68,7 +68,7 @@ Subject: [PATCH 58/72] BCM63XX: allow providing fixup data in board data /* * board definition */ -@@ -34,6 +40,10 @@ struct board_info { +@@ -35,6 +41,10 @@ struct board_info { unsigned int has_dsp:1; unsigned int has_uart0:1; unsigned int has_uart1:1; diff --git a/target/linux/brcm63xx/patches-3.8/436-MTD-bcm63xxpart-allow-passing-a-caldata-offset.patch b/target/linux/brcm63xx/patches-3.8/436-MTD-bcm63xxpart-allow-passing-a-caldata-offset.patch index 3b34eec..0ed688f 100644 --- a/target/linux/brcm63xx/patches-3.8/436-MTD-bcm63xxpart-allow-passing-a-caldata-offset.patch +++ b/target/linux/brcm63xx/patches-3.8/436-MTD-bcm63xxpart-allow-passing-a-caldata-offset.patch @@ -7,7 +7,7 @@ contained in flash. --- a/drivers/mtd/bcm63xxpart.c +++ b/drivers/mtd/bcm63xxpart.c -@@ -76,10 +76,12 @@ static int bcm63xx_parse_cfe_partitions( +@@ -50,10 +50,12 @@ static int bcm63xx_parse_cfe_partitions( struct mtd_partition *parts; int ret; size_t retlen; @@ -21,7 +21,7 @@ contained in flash. int i; u32 computed_crc; bool rootfs_first = false; -@@ -93,6 +95,24 @@ static int bcm63xx_parse_cfe_partitions( +@@ -67,6 +69,24 @@ static int bcm63xx_parse_cfe_partitions( cfelen = cfe_erasesize; nvramlen = bcm63xx_nvram_get_psi_size() * 1024; nvramlen = roundup(nvramlen, cfe_erasesize); @@ -46,7 +46,7 @@ contained in flash. /* Allocate memory for buffer */ buf = vmalloc(sizeof(struct bcm_tag)); -@@ -144,7 +164,7 @@ static int bcm63xx_parse_cfe_partitions( +@@ -118,7 +138,7 @@ static int bcm63xx_parse_cfe_partitions( rootfsaddr = 0; spareaddr = cfelen; } @@ -55,7 +55,7 @@ contained in flash. /* Determine number of partitions */ if (rootfslen > 0) -@@ -153,6 +173,12 @@ static int bcm63xx_parse_cfe_partitions( +@@ -127,6 +147,12 @@ static int bcm63xx_parse_cfe_partitions( if (kernellen > 0) nrparts++; @@ -68,7 +68,7 @@ contained in flash. /* Ask kernel for more memory */ parts = kzalloc(sizeof(*parts) * nrparts + 10 * nrparts, GFP_KERNEL); if (!parts) { -@@ -190,15 +216,32 @@ static int bcm63xx_parse_cfe_partitions( +@@ -164,15 +190,32 @@ static int bcm63xx_parse_cfe_partitions( curpart++; } diff --git a/target/linux/brcm63xx/patches-3.8/437-MIPS-BCM63XX-pass-caldata-info-to-flash.patch b/target/linux/brcm63xx/patches-3.8/437-MIPS-BCM63XX-pass-caldata-info-to-flash.patch index fb3b4f0..92b448f 100644 --- a/target/linux/brcm63xx/patches-3.8/437-MIPS-BCM63XX-pass-caldata-info-to-flash.patch +++ b/target/linux/brcm63xx/patches-3.8/437-MIPS-BCM63XX-pass-caldata-info-to-flash.patch @@ -11,7 +11,7 @@ Subject: [PATCH 69/80] MIPS: BCM63XX: pass caldata info to flash --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -966,7 +966,7 @@ int __init board_register_devices(void) +@@ -984,7 +984,7 @@ int __init board_register_devices(void) if (board.num_spis) spi_register_board_info(board.spis, board.num_spis); diff --git a/target/linux/brcm63xx/patches-3.8/444-BCM63XX-add-endian-check-for-ath9k.patch b/target/linux/brcm63xx/patches-3.8/444-BCM63XX-add-endian-check-for-ath9k.patch index bdcb3e0..6dd5574 100644 --- a/target/linux/brcm63xx/patches-3.8/444-BCM63XX-add-endian-check-for-ath9k.patch +++ b/target/linux/brcm63xx/patches-3.8/444-BCM63XX-add-endian-check-for-ath9k.patch @@ -11,7 +11,7 @@ #endif /* _PCI_ATH9K_FIXUP */ --- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h +++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -@@ -19,6 +19,7 @@ +@@ -20,6 +20,7 @@ struct ath9k_caldata { unsigned int slot; u32 caldata_offset; @@ -39,7 +39,7 @@ return; --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -992,7 +992,8 @@ int __init board_register_devices(void) +@@ -1010,7 +1010,8 @@ int __init board_register_devices(void) /* register any fixups */ for (i = 0; i < board.has_caldata; i++) diff --git a/target/linux/brcm63xx/patches-3.8/445-BCM63XX-add-led-pin-for-ath9k.patch b/target/linux/brcm63xx/patches-3.8/445-BCM63XX-add-led-pin-for-ath9k.patch index 4f77179..aa6200f 100644 --- a/target/linux/brcm63xx/patches-3.8/445-BCM63XX-add-led-pin-for-ath9k.patch +++ b/target/linux/brcm63xx/patches-3.8/445-BCM63XX-add-led-pin-for-ath9k.patch @@ -1,6 +1,6 @@ --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c -@@ -993,7 +993,7 @@ int __init board_register_devices(void) +@@ -1011,7 +1011,7 @@ int __init board_register_devices(void) /* register any fixups */ for (i = 0; i < board.has_caldata; i++) pci_enable_ath9k_fixup(board.caldata[i].slot, board.caldata[i].caldata_offset, @@ -29,7 +29,7 @@ return; --- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h +++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h -@@ -20,6 +20,7 @@ struct ath9k_caldata { +@@ -21,6 +21,7 @@ struct ath9k_caldata { unsigned int slot; u32 caldata_offset; unsigned int endian_check:1; diff --git a/target/linux/brcm63xx/patches-3.8/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch b/target/linux/brcm63xx/patches-3.8/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch index 039e988..dfe1bf9 100644 --- a/target/linux/brcm63xx/patches-3.8/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch +++ b/target/linux/brcm63xx/patches-3.8/446-BCM63XX-add-a-fixup-for-rt2x00-devices.patch @@ -36,7 +36,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices #include <uapi/linux/bcm963xx_tag.h> -@@ -991,9 +992,19 @@ int __init board_register_devices(void) +@@ -1009,9 +1010,19 @@ int __init board_register_devices(void) } /* register any fixups */ @@ -165,7 +165,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices /* * flash mapping -@@ -16,11 +17,15 @@ +@@ -17,11 +18,15 @@ #define BCM963XX_CFE_VERSION_OFFSET 0x570 #define BCM963XX_NVRAM_OFFSET 0x580 @@ -182,7 +182,7 @@ Subject: [PATCH 72/72] 446-BCM63XX-add-a-fixup-for-rt2x00-devices }; /* -@@ -45,7 +50,7 @@ struct board_info { +@@ -46,7 +51,7 @@ struct board_info { unsigned int has_caldata:2; /* wifi calibration data config */ diff --git a/target/linux/brcm63xx/patches-3.8/501-board-NB4.patch b/target/linux/brcm63xx/patches-3.8/501-board-NB4.patch index 99b7e43..e1afda3 100644 --- a/target/linux/brcm63xx/patches-3.8/501-board-NB4.patch +++ b/target/linux/brcm63xx/patches-3.8/501-board-NB4.patch @@ -631,7 +631,7 @@ #endif }; -@@ -806,6 +1409,16 @@ static void __init boardid_fixup(u8 *boo +@@ -811,6 +1414,16 @@ static void __init boardid_fixup(u8 *boo struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K); char *board_name = (char *)bcm63xx_nvram_get_name(); diff --git a/target/linux/brcm63xx/patches-3.8/511-board_V2500V.patch b/target/linux/brcm63xx/patches-3.8/511-board_V2500V.patch index 899a894..24e6162 100644 --- a/target/linux/brcm63xx/patches-3.8/511-board_V2500V.patch +++ b/target/linux/brcm63xx/patches-3.8/511-board_V2500V.patch @@ -74,7 +74,7 @@ #endif #ifdef CONFIG_BCM63XX_CPU_6358 -@@ -2070,6 +2130,22 @@ void __init board_prom_init(void) +@@ -2075,6 +2135,22 @@ void __init board_prom_init(void) val &= MPI_CSBASE_BASE_MASK; } boot_addr = (u8 *)KSEG1ADDR(val); diff --git a/target/linux/brcm63xx/patches-3.8/520-bcm63xx-add-support-for-96368MVWG-board.patch b/target/linux/brcm63xx/patches-3.8/520-bcm63xx-add-support-for-96368MVWG-board.patch index c3b2c16..02ad31f 100644 --- a/target/linux/brcm63xx/patches-3.8/520-bcm63xx-add-support-for-96368MVWG-board.patch +++ b/target/linux/brcm63xx/patches-3.8/520-bcm63xx-add-support-for-96368MVWG-board.patch @@ -100,7 +100,7 @@ Subject: [PATCH 32/63] bcm63xx: add support for 96368MVWG board. }; /* -@@ -2409,12 +2485,25 @@ void __init board_prom_init(void) +@@ -2427,12 +2503,25 @@ void __init board_prom_init(void) bcm63xx_pci_enabled = 1; if (BCMCPU_IS_6348()) val |= GPIO_MODE_6348_G2_PCI; diff --git a/target/linux/brcm63xx/patches-3.8/528-board_nb6.patch b/target/linux/brcm63xx/patches-3.8/528-board_nb6.patch index e565b8e..e031af0 100644 --- a/target/linux/brcm63xx/patches-3.8/528-board_nb6.patch +++ b/target/linux/brcm63xx/patches-3.8/528-board_nb6.patch @@ -132,7 +132,7 @@ #ifdef CONFIG_BCM63XX_CPU_6368 &board_96368mvwg, &board_96368mvngr, -@@ -2893,6 +2997,11 @@ static void __init boardid_fixup(u8 *boo +@@ -2898,6 +3002,11 @@ static void __init boardid_fixup(u8 *boo } } diff --git a/target/linux/brcm63xx/patches-3.8/554-board_hw556.patch b/target/linux/brcm63xx/patches-3.8/554-board_hw556.patch index 55aadee..45103e2 100644 --- a/target/linux/brcm63xx/patches-3.8/554-board_hw556.patch +++ b/target/linux/brcm63xx/patches-3.8/554-board_hw556.patch @@ -386,7 +386,7 @@ &board_spw303v, &board_DVAG3810BN, #endif -@@ -3466,13 +3838,37 @@ static void __init boardid_fixup(u8 *boo +@@ -3471,13 +3843,37 @@ static void __init boardid_fixup(u8 *boo struct bcm_tag *tag = (struct bcm_tag *)(boot_addr + CFE_OFFSET_64K); char *board_name = (char *)bcm63xx_nvram_get_name(); @@ -433,7 +433,7 @@ --- a/drivers/mtd/bcm63xxpart.c +++ b/drivers/mtd/bcm63xxpart.c -@@ -93,6 +93,11 @@ static int bcm63xx_parse_cfe_partitions( +@@ -67,6 +67,11 @@ static int bcm63xx_parse_cfe_partitions( BCM63XX_CFE_BLOCK_SIZE); cfelen = cfe_erasesize; _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
