X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/4d6e8198995599f4e82c09561bffc08c97cf092c..2adda3cec6b01b487d89bb5a5473d4d67622c7f4:/target/linux/rdc/patches-2.6.32/100-rdc_boards.patch diff --git a/target/linux/rdc/patches-2.6.32/100-rdc_boards.patch b/target/linux/rdc/patches-2.6.32/100-rdc_boards.patch index e88e6ee85..66ebcfe3f 100644 --- a/target/linux/rdc/patches-2.6.32/100-rdc_boards.patch +++ b/target/linux/rdc/patches-2.6.32/100-rdc_boards.patch @@ -1,17 +1,25 @@ -Index: linux-2.6.32.10/arch/x86/mach-rdc321x/Makefile -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.32.10/arch/x86/mach-rdc321x/Makefile 2010-04-28 11:39:32.000000000 +0200 +--- a/arch/x86/Makefile ++++ b/arch/x86/Makefile +@@ -125,6 +125,9 @@ libs-y += arch/x86/lib/ + # See arch/x86/Kbuild for content of core part of the kernel + core-y += arch/x86/ + ++# RDC R-321X support ++core-$(CONFIG_X86_RDC321X) += arch/x86/mach-rdc321x/ ++ + # drivers-y are linked after core-y + drivers-$(CONFIG_MATH_EMULATION) += arch/x86/math-emu/ + drivers-$(CONFIG_PCI) += arch/x86/pci/ +--- /dev/null ++++ b/arch/x86/mach-rdc321x/Makefile @@ -0,0 +1,5 @@ +# +# Makefile for the RDC321x specific parts of the kernel +# +obj-$(CONFIG_X86_RDC321X) := platform.o reboot.o boards/sitecom.o boards/ar525w.o boards/bifferboard.o boards/r8610.o + -Index: linux-2.6.32.10/arch/x86/mach-rdc321x/platform.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.32.10/arch/x86/mach-rdc321x/platform.c 2010-04-28 11:39:32.000000000 +0200 +--- /dev/null ++++ b/arch/x86/mach-rdc321x/platform.c @@ -0,0 +1,115 @@ +/* + * Generic RDC321x platform devices @@ -128,10 +136,8 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/platform.c + return platform_add_devices(rdc321x_devs, ARRAY_SIZE(rdc321x_devs)); +} +late_initcall(rdc_board_setup); -Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/ar525w.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.32.10/arch/x86/mach-rdc321x/boards/ar525w.c 2010-04-28 11:39:32.000000000 +0200 +--- /dev/null ++++ b/arch/x86/mach-rdc321x/boards/ar525w.c @@ -0,0 +1,243 @@ +/* + * ar525w RDC321x platform devices @@ -376,11 +382,9 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/ar525w.c +} + +arch_initcall(ar525w_setup); -Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/bifferboard.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.32.10/arch/x86/mach-rdc321x/boards/bifferboard.c 2010-04-28 11:39:32.000000000 +0200 -@@ -0,0 +1,81 @@ +--- /dev/null ++++ b/arch/x86/mach-rdc321x/boards/bifferboard.c +@@ -0,0 +1,69 @@ +/* + * Bifferboard RDC321x platform devices + * @@ -417,38 +421,26 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/bifferboard.c + u32 kernel_len; + u16 tmp; + -+ if (master->size == 0x100000) -+ kernel_len = master->size - 0x10000; -+ else { -+ res = master->read(master, 0x4000 + 1036, 2, &len, (char *) &tmp); -+ if (res) -+ return res; -+ kernel_len = tmp * master->erasesize; -+ } ++ res = master->read(master, 0x4000 + 1036, 2, &len, (char *) &tmp); ++ if (res) ++ return res; ++ kernel_len = tmp * master->erasesize; + -+ rdc_flash_parts = kzalloc(sizeof(struct mtd_partition) * 4, GFP_KERNEL); ++ rdc_flash_parts = kzalloc(sizeof(struct mtd_partition) * 3, GFP_KERNEL); + + *pparts = rdc_flash_parts; + -+ rdc_flash_parts[0].name = "biffboot"; -+ rdc_flash_parts[0].offset = master->size - 0x10000; -+ rdc_flash_parts[0].size = 0x10000; -+ rdc_flash_parts[0].mask_flags = MTD_WRITEABLE; -+ rdc_flash_parts[1].name = "firmware"; -+ rdc_flash_parts[1].offset = 0; -+ rdc_flash_parts[1].size = rdc_flash_parts[0].offset; -+ rdc_flash_parts[2].name = "kernel"; -+ rdc_flash_parts[2].offset = 0x00000000; -+ rdc_flash_parts[2].size = kernel_len; -+ -+ if (master->size == 0x100000) -+ return 2; -+ -+ rdc_flash_parts[3].name = "rootfs"; -+ rdc_flash_parts[3].offset = MTDPART_OFS_APPEND; -+ rdc_flash_parts[3].size = rdc_flash_parts[1].size - rdc_flash_parts[2].size; ++ rdc_flash_parts[0].name = "kernel"; ++ rdc_flash_parts[0].offset = 0; ++ rdc_flash_parts[0].size = kernel_len; ++ rdc_flash_parts[1].name = "rootfs"; ++ rdc_flash_parts[1].offset = kernel_len; ++ rdc_flash_parts[1].size = master->size - kernel_len - 0x10000; ++ rdc_flash_parts[2].name = "biffboot"; ++ rdc_flash_parts[2].offset = master->size - 0x10000; ++ rdc_flash_parts[2].size = 0x10000; + -+ return 4; ++ return 3; +} + +struct mtd_part_parser __initdata bifferboard_parser = { @@ -462,10 +454,8 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/bifferboard.c + return register_mtd_parser(&bifferboard_parser); +} +arch_initcall(bifferboard_setup); -Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/r8610.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.32.10/arch/x86/mach-rdc321x/boards/r8610.c 2010-04-28 11:39:32.000000000 +0200 +--- /dev/null ++++ b/arch/x86/mach-rdc321x/boards/r8610.c @@ -0,0 +1,65 @@ +/* + * R8610 RDC321x platform devices @@ -532,10 +522,8 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/r8610.c +} + +arch_initcall(r8610_setup); -Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/sitecom.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.32.10/arch/x86/mach-rdc321x/boards/sitecom.c 2010-04-28 11:39:32.000000000 +0200 +--- /dev/null ++++ b/arch/x86/mach-rdc321x/boards/sitecom.c @@ -0,0 +1,111 @@ +/* + * Sitecom RDC321x platform devices @@ -612,7 +600,7 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/sitecom.c + + rdc_flash_parts[0].name = "firmware"; + rdc_flash_parts[0].offset = 0x8000; -+ rdc_flash_parts[0].size = 0x3F0000; ++ rdc_flash_parts[0].size = 0x3F0000 - 0x8000; + rdc_flash_parts[1].name = "config"; + rdc_flash_parts[1].offset = 0; + rdc_flash_parts[1].size = 0x8000; @@ -648,10 +636,8 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/boards/sitecom.c +} + +arch_initcall(sitecom_setup); -Index: linux-2.6.32.10/arch/x86/mach-rdc321x/reboot.c -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.32.10/arch/x86/mach-rdc321x/reboot.c 2010-04-28 11:39:32.000000000 +0200 +--- /dev/null ++++ b/arch/x86/mach-rdc321x/reboot.c @@ -0,0 +1,44 @@ +/* + * This program is free software; you can redistribute it and/or @@ -697,10 +683,8 @@ Index: linux-2.6.32.10/arch/x86/mach-rdc321x/reboot.c +} + +arch_initcall(rdc_setup_reset); -Index: linux-2.6.32.10/arch/x86/include/asm/rdc_boards.h -=================================================================== ---- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ linux-2.6.32.10/arch/x86/include/asm/rdc_boards.h 2010-04-28 11:39:32.000000000 +0200 +--- /dev/null ++++ b/arch/x86/include/asm/rdc_boards.h @@ -0,0 +1,36 @@ +/* + * RDC321x boards