--- /dev/null
+From 48d99f47a81a66bdd61a348c7fe8df5a7afdf5f3 Mon Sep 17 00:00:00 2001
+From: Ben Hutchings <ben@decadent.org.uk>
+Date: Sun, 8 Apr 2012 05:18:53 +0100
+Subject: ARM: orion5x: Fix GPIO enable bits for MPP9
+
+From: Ben Hutchings <ben@decadent.org.uk>
+
+commit 48d99f47a81a66bdd61a348c7fe8df5a7afdf5f3 upstream.
+
+Commit 554cdaefd1cf7bb54b209c4e68c7cec87ce442a9 ('ARM: orion5x: Refactor
+mpp code to use common orion platform mpp.') seems to have accidentally
+inverted the GPIO valid bits for MPP9 (only). For the mv2120 platform
+which uses MPP9 as a GPIO LED device, this results in the error:
+
+[ 12.711476] leds-gpio: probe of leds-gpio failed with error -22
+
+Reported-by: Henry von Tresckow <hvontres@gmail.com>
+References: http://bugs.debian.org/667446
+Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
+Tested-by: Hans Henry von Tresckow <hvontres@gmail.com>
+Signed-off-by: Jason Cooper <jason@lakedaemon.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/arm/mach-orion5x/mpp.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/arch/arm/mach-orion5x/mpp.h
++++ b/arch/arm/mach-orion5x/mpp.h
+@@ -65,8 +65,8 @@
+ #define MPP8_GIGE MPP(8, 0x1, 0, 0, 1, 1, 1)
+
+ #define MPP9_UNUSED MPP(9, 0x0, 0, 0, 1, 1, 1)
+-#define MPP9_GPIO MPP(9, 0x0, 0, 0, 1, 1, 1)
+-#define MPP9_GIGE MPP(9, 0x1, 1, 1, 1, 1, 1)
++#define MPP9_GPIO MPP(9, 0x0, 1, 1, 1, 1, 1)
++#define MPP9_GIGE MPP(9, 0x1, 0, 0, 1, 1, 1)
+
+ #define MPP10_UNUSED MPP(10, 0x0, 0, 0, 1, 1, 1)
+ #define MPP10_GPIO MPP(10, 0x0, 1, 1, 1, 1, 1)
--- /dev/null
+From f55205f4d4a8823a11bb8b37ef2ecbd78fb09463 Mon Sep 17 00:00:00 2001
+From: Axel Lin <axel.lin@gmail.com>
+Date: Wed, 11 Apr 2012 20:53:58 +0800
+Subject: regulator: Fix the logic to ensure new voltage setting in valid range
+
+From: Axel Lin <axel.lin@gmail.com>
+
+commit f55205f4d4a8823a11bb8b37ef2ecbd78fb09463 upstream.
+
+I think this is a typo.
+To ensure new voltage setting won't greater than desc->max,
+the equation should be desc->min + desc->step * new_val <= desc->max.
+
+Signed-off-by: Axel Lin <axel.lin@gmail.com>
+Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/regulator/max8997.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/regulator/max8997.c
++++ b/drivers/regulator/max8997.c
+@@ -688,7 +688,7 @@ static int max8997_set_voltage_buck(stru
+ }
+
+ new_val++;
+- } while (desc->min + desc->step + new_val <= desc->max);
++ } while (desc->min + desc->step * new_val <= desc->max);
+
+ new_idx = tmp_idx;
+ new_val = tmp_val;