diff options
author | Jonas Aaberg <jonas.aberg@stericsson.com> | 2011-10-27 09:52:14 +0200 |
---|---|---|
committer | Jonas ABERG <jonas.aberg@stericsson.com> | 2011-10-28 10:17:04 +0200 |
commit | 4d1eca362472f7889fcb7fc9b409d9fa02c2f396 (patch) | |
tree | 59dac7248ae23241cd48f028b9914f2cc6a4b577 /arch | |
parent | 8f62dad11b54cbbaba8d9e88411713a5d3fdee58 (diff) |
ARM: ux500: gpio-keys: Remove dynamic handling of pins
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@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/35405
Reviewed-by: Bengt JONSSON <bengt.g.jonsson@stericsson.com>
Reviewed-by: QABUILD
Diffstat (limited to 'arch')
-rw-r--r-- | 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 0c614276fe9..11b4ad69f91 100644 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c @@ -633,16 +633,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 = { @@ -653,20 +652,15 @@ static struct platform_device mop500_gpio_keys_device = { }, }; -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 @@ -676,31 +670,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 @@ -1171,7 +1165,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)); } |