kernel: swconfig: add a missing unlock in error path
[openwrt.git] / target / linux / rdc / patches-2.6.32 / 100-rdc_boards.patch
index e88e6ee..66ebcfe 100644 (file)
@@ -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
This page took 0.024463 seconds and 4 git commands to generate.