diff options
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/brcm63xx/patches-2.6.37/040-bcm963xx_flashmap.patch | 34 | ||||
-rw-r--r-- | target/linux/brcm63xx/patches-2.6.37/141-led_count.patch | 23 |
2 files changed, 29 insertions, 28 deletions
diff --git a/target/linux/brcm63xx/patches-2.6.37/040-bcm963xx_flashmap.patch b/target/linux/brcm63xx/patches-2.6.37/040-bcm963xx_flashmap.patch index d08b9b12e..daec18162 100644 --- a/target/linux/brcm63xx/patches-2.6.37/040-bcm963xx_flashmap.patch +++ b/target/linux/brcm63xx/patches-2.6.37/040-bcm963xx_flashmap.patch @@ -1,14 +1,14 @@ -From b1096781081b328fdac0e14a726ea04c2e9545c7 Mon Sep 17 00:00:00 2001 +From a4d005c91d403d9f3d0272db6cc46202c06ec774 Mon Sep 17 00:00:00 2001 From: Axel Gembe <ago@bastart.eu.org> Date: Mon, 12 May 2008 18:54:09 +0200 Subject: [PATCH] bcm963xx: flashmap support Signed-off-by: Axel Gembe <ago@bastart.eu.org> --- - arch/mips/bcm63xx/boards/board_bcm963xx.c | 19 +--------------- - drivers/mtd/maps/bcm963xx-flash.c | 34 ++++++++++++++++++++++++---- - drivers/mtd/redboot.c | 13 ++++++++-- - 3 files changed, 40 insertions(+), 26 deletions(-) + arch/mips/bcm63xx/boards/board_bcm963xx.c | 19 +---------------- + drivers/mtd/maps/bcm963xx-flash.c | 32 ++++++++++++++++++++++++---- + drivers/mtd/redboot.c | 13 +++++++++-- + 3 files changed, 38 insertions(+), 26 deletions(-) --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c @@ -73,29 +73,7 @@ Signed-off-by: Axel Gembe <ago@bastart.eu.org> static struct mtd_partition *parsed_parts; static struct mtd_info *bcm963xx_mtd_info; -@@ -56,7 +66,7 @@ static int parse_cfe_partitions(struct m - unsigned int rootfsaddr, kerneladdr, spareaddr; - unsigned int rootfslen, kernellen, sparelen, totallen; - int namelen = 0; -- int i; -+ int i, offset; - char *boardid; - char *tagversion; - -@@ -84,9 +94,11 @@ static int parse_cfe_partitions(struct m - - kerneladdr = kerneladdr - BCM63XX_EXTENDED_SIZE; - rootfsaddr = kerneladdr + kernellen; -+ -+ rootfslen = ( ( rootfslen % master->erasesize ) > 0 ? (((rootfslen / master->erasesize) + 1 ) * master->erasesize) : rootfslen); -+ - spareaddr = roundup(totallen, master->erasesize) + master->erasesize; - sparelen = master->size - spareaddr - master->erasesize; -- rootfslen = spareaddr - rootfsaddr; - - /* Determine number of partitions */ - namelen = 8; -@@ -214,9 +226,21 @@ static int bcm963xx_probe(struct platfor +@@ -214,9 +224,21 @@ static int bcm963xx_probe(struct platfor } } } else { diff --git a/target/linux/brcm63xx/patches-2.6.37/141-led_count.patch b/target/linux/brcm63xx/patches-2.6.37/141-led_count.patch new file mode 100644 index 000000000..baf092053 --- /dev/null +++ b/target/linux/brcm63xx/patches-2.6.37/141-led_count.patch @@ -0,0 +1,23 @@ +--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c ++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c +@@ -881,6 +881,7 @@ int __init board_register_devices(void) + { + u32 val; + int button_count = 0; ++ int led_count = 0; + + if (board.has_uart0) + bcm63xx_uart_register(0); +@@ -922,7 +923,11 @@ int __init board_register_devices(void) + + platform_device_register_simple("GPIODEV", 0, &gpiodev_resource, 1); + +- bcm63xx_led_data.num_leds = ARRAY_SIZE(board.leds); ++ /* count number of LEDs defined by this device */ ++ while (led_count < ARRAY_SIZE(board.leds) && board.leds[led_count].name) ++ led_count++; ++ ++ bcm63xx_led_data.num_leds = led_count; + bcm63xx_led_data.leds = board.leds; + + platform_device_register(&bcm63xx_gpio_leds); |