diff options
author | Naga Radhesh <naga.radheshy@stericsson.com> | 2012-01-12 19:20:47 +0530 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:02:41 +0200 |
commit | 95e791e82c80f16e44f4ed570008b71f6888fa61 (patch) | |
tree | 6d45c0fdb6c918a7114198a93fdb9f310dc6246e | |
parent | 878e75f5c204dcc9fcb94d6d3038ba8e00be3831 (diff) |
skekeypad:Release all acquired resources
During remove release the clock,irq's and
gpio pins properly.
ST-Ericsson ID: 410064
ST-Ericsson Linux next: NA
ST-Ericsson FOSS-OUT ID: Trivial
Change-Id:I68fdc2fd16ca6476166b8a89e01eed0f02679fd9
Signed-off-by: Naga Radhesh <naga.radheshy@stericsson.com>
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/45282
Reviewed-by: QATOOLS
Reviewed-by: QABUILD
Reviewed-by: Srinidhi KASAGAR <srinidhi.kasagar@stericsson.com>
-rw-r--r-- | arch/arm/mach-ux500/board-mop500.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/arch/arm/mach-ux500/board-mop500.c b/arch/arm/mach-ux500/board-mop500.c index 974da6eac8f..8bacdcdbc60 100644 --- a/arch/arm/mach-ux500/board-mop500.c +++ b/arch/arm/mach-ux500/board-mop500.c @@ -347,20 +347,16 @@ static int ske_kp_cols[] = { COL_PIN_O4, COL_PIN_O5, COL_PIN_O6, COL_PIN_O7, }; -static bool ske_config; /* * ske_set_gpio_row: request and set gpio rows */ static int ske_set_gpio_row(int gpio) { int ret; - - if (!ske_config) { - ret = gpio_request(gpio, "ske-kp"); - if (ret < 0) { - pr_err("ske_set_gpio_row: gpio request failed\n"); - return ret; - } + ret = gpio_request(gpio, "ske-kp"); + if (ret < 0) { + pr_err("ske_set_gpio_row: gpio request failed\n"); + return ret; } ret = gpio_direction_output(gpio, 1); @@ -391,8 +387,6 @@ static int ske_kp_init(void) return ret; } } - if (!ske_config) - ske_config = true; return 0; } @@ -400,11 +394,15 @@ static int ske_kp_init(void) static int ske_kp_exit(void) { struct ux500_pins *pins; + int i; pins = ux500_pins_get("ske"); if (pins) ux500_pins_disable(pins); + for (i = 0; i < SKE_KPD_MAX_ROWS; i++) + gpio_free(ske_kp_rows[i]); + return 0; } |