From ba3915036edfad8a5abb16cdabb647737d16dbf4 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Arve=20Hj=C3=B8nnev=C3=A5g?= Date: Fri, 17 Apr 2009 18:24:59 -0700 Subject: [PATCH] Input: gpio_input: disable_irq -> disable_irq_nosync MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Arve Hjønnevåg --- drivers/input/misc/gpio_input.c | 4 +--- drivers/input/misc/gpio_matrix.c | 2 +- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/input/misc/gpio_input.c b/drivers/input/misc/gpio_input.c index 6aef289e6e14..758df480600b 100644 --- a/drivers/input/misc/gpio_input.c +++ b/drivers/input/misc/gpio_input.c @@ -182,7 +182,7 @@ static irqreturn_t gpio_event_input_irq_handler(int irq, void *dev_id) ds->info->type, key_entry->code, keymap_index, key_entry->gpio); } else { - disable_irq(irq); + disable_irq_nosync(irq); ks->debounce = DEBOUNCE_UNSTABLE; } spin_unlock_irqrestore(&ds->irq_lock, irqflags); @@ -245,11 +245,9 @@ int gpio_event_input_func(struct gpio_event_input_devs *input_devs, di = container_of(info, struct gpio_event_input_info, info); if (func == GPIO_EVENT_FUNC_SUSPEND) { - spin_lock_irqsave(&ds->irq_lock, irqflags); if (ds->use_irq) for (i = 0; i < di->keymap_size; i++) disable_irq(gpio_to_irq(di->keymap[i].gpio)); - spin_unlock_irqrestore(&ds->irq_lock, irqflags); hrtimer_cancel(&ds->timer); return 0; } diff --git a/drivers/input/misc/gpio_matrix.c b/drivers/input/misc/gpio_matrix.c index adb00ab47b6b..f645471b54dd 100644 --- a/drivers/input/misc/gpio_matrix.c +++ b/drivers/input/misc/gpio_matrix.c @@ -220,7 +220,7 @@ static irqreturn_t gpio_keypad_irq_handler(int irq_in, void *dev_id) return IRQ_HANDLED; for (i = 0; i < mi->ninputs; i++) - disable_irq(gpio_to_irq(mi->input_gpios[i])); + disable_irq_nosync(gpio_to_irq(mi->input_gpios[i])); for (i = 0; i < mi->noutputs; i++) { if (gpio_keypad_flags & GPIOKPF_DRIVE_INACTIVE) gpio_set_value(mi->output_gpios[i], -- 2.11.0