[PATCH 15/21] ARM: ux500: gpio-keys: Remove dynamic handling of pins

Naga RADHESH Y naga.radheshy at stericsson.com
Tue Feb 14 06:47:02 UTC 2012


From: Jonas Aaberg <jonas.aberg at stericsson.com>

Dynamic handling of pins does not work properly if done manually from suspend/resume hooks,
so let's remove it for the time beeing.

ST-Ericsson Linux next: -
ST-Ericsson ID: 369952
ST-Ericsson FOSS-OUT ID: Trivial

Change-Id: I3b130256b19af7feae9db0e4a1bd72c7856bb88c
Signed-off-by: Jonas Aaberg <jonas.aberg at stericsson.com>
---
 arch/arm/mach-ux500/board-mop500.c |   56 ++++++++++++++++--------------------
 1 files changed, 25 insertions(+), 31 deletions(-)

diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c
index d3d1b67..3898416 100644
--- a/arch/arm/mach-ux500/board-mop500.c
+++ b/arch/arm/mach-ux500/board-mop500.c
@@ -665,16 +665,15 @@ static struct gpio_keys_button mop500_gpio_keys[] = {
 	}
 };
 
-static struct regulator *sensors1p_regulator;
-struct ux500_pins *sensors1p_pins;
-static int mop500_sensors1p_activate(struct device *dev);
-static void mop500_sensors1p_deactivate(struct device *dev);
+static struct regulator *gpio_keys_regulator;
+static int mop500_gpio_keys_activate(struct device *dev);
+static void mop500_gpio_keys_deactivate(struct device *dev);
 
 static struct gpio_keys_platform_data mop500_gpio_keys_data = {
 	.buttons	= mop500_gpio_keys,
 	.nbuttons	= ARRAY_SIZE(mop500_gpio_keys),
-	.enable		= mop500_sensors1p_activate,
-	.disable	= mop500_sensors1p_deactivate,
+	.enable		= mop500_gpio_keys_activate,
+	.disable	= mop500_gpio_keys_deactivate,
 };
 
 static struct platform_device mop500_gpio_keys_device = {
@@ -703,20 +702,15 @@ static struct platform_device snowball_gpio_en_3v3_regulator_device = {
 };
 #endif
 
-static int mop500_sensors1p_activate(struct device *dev)
+static int mop500_gpio_keys_activate(struct device *dev)
 {
-	if (sensors1p_pins == NULL)
-		return -EINVAL;
-
-	ux500_pins_enable(sensors1p_pins);
-
-	sensors1p_regulator = regulator_get(&mop500_gpio_keys_device.dev,
+	gpio_keys_regulator = regulator_get(&mop500_gpio_keys_device.dev,
 						"vcc");
-	if (IS_ERR(sensors1p_regulator)) {
+	if (IS_ERR(gpio_keys_regulator)) {
 		dev_err(&mop500_gpio_keys_device.dev, "no regulator\n");
-		return PTR_ERR(sensors1p_regulator);
+		return PTR_ERR(gpio_keys_regulator);
 	}
-	regulator_enable(sensors1p_regulator);
+	regulator_enable(gpio_keys_regulator);
 
 	/*
 	 * Please be aware that the start-up time of the SFH7741 is
@@ -726,31 +720,31 @@ static int mop500_sensors1p_activate(struct device *dev)
 	return 0;
 }
 
-static void mop500_sensors1p_deactivate(struct device *dev)
+static void mop500_gpio_keys_deactivate(struct device *dev)
 {
-	if (!IS_ERR(sensors1p_regulator)) {
-		regulator_disable(sensors1p_regulator);
-		regulator_put(sensors1p_regulator);
+	if (!IS_ERR(gpio_keys_regulator)) {
+		regulator_disable(gpio_keys_regulator);
+		regulator_put(gpio_keys_regulator);
 	}
-
-	if (sensors1p_pins != NULL)
-		ux500_pins_disable(sensors1p_pins);
 }
 
-static __init void mop500_sensors1p_init(void)
+static __init void mop500_gpio_keys_init(void)
 {
-	sensors1p_pins = ux500_pins_get("gpio-keys.0");
+	struct ux500_pins *gpio_keys_pins = ux500_pins_get("gpio-keys.0");
 
-	if (sensors1p_pins == NULL) {
-		pr_err("sensors1p: Fail to get keys\n");
+	if (gpio_keys_pins == NULL) {
+		pr_err("gpio_keys: Fail to get pins\n");
 		return;
 	}
 
-	mop500_gpio_keys[0].gpio = PIN_NUM(sensors1p_pins->cfg[0]);
-	mop500_gpio_keys[1].gpio = PIN_NUM(sensors1p_pins->cfg[1]);
+	ux500_pins_enable(gpio_keys_pins);
+
+	mop500_gpio_keys[0].gpio = PIN_NUM(gpio_keys_pins->cfg[0]);
+	mop500_gpio_keys[1].gpio = PIN_NUM(gpio_keys_pins->cfg[1]);
+
 }
 #else
-static inline void mop500_sensors1p_init(void) { }
+static inline void mop500_gpio_keys_init(void) { }
 #endif
 
 #ifdef CONFIG_LEDS_PWM
@@ -1247,7 +1241,7 @@ static void __init mop500_init_machine(void)
 		platform_add_devices(snowball_platform_devs,
 					ARRAY_SIZE(snowball_platform_devs));
 	} else {
-		mop500_sensors1p_init();
+		mop500_gpio_keys_init();
 		platform_add_devices(mop500_platform_devs,
 					ARRAY_SIZE(mop500_platform_devs));
 	}
-- 
1.7.4.3



More information about the kernel mailing list