Skip to content

Commit

Permalink
Input: dm355evm_keys - remove dm355evm_keys_hardirq
Browse files Browse the repository at this point in the history
The genirq already provides default hard IRQ handler for threaded
IRQs, no need to implement our own here.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Dmitry Torokhov committed Sep 18, 2009
1 parent 30b3713 commit 3b0a9ce
Showing 1 changed file with 9 additions and 17 deletions.
26 changes: 9 additions & 17 deletions drivers/input/misc/dm355evm_keys.c
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,13 @@ static struct {
{ 0x3169, KEY_PAUSE, },
};

/* runs in an IRQ thread -- can (and will!) sleep */
/*
* Because we communicate with the MSP430 using I2C, and all I2C calls
* in Linux sleep, we use a threaded IRQ handler. The IRQ itself is
* active low, but we go through the GPIO controller so we can trigger
* on falling edges and not worry about enabling/disabling the IRQ in
* the keypress handling path.
*/
static irqreturn_t dm355evm_keys_irq(int irq, void *_keys)
{
struct dm355evm_keys *keys = _keys;
Expand Down Expand Up @@ -171,18 +177,6 @@ static irqreturn_t dm355evm_keys_irq(int irq, void *_keys)
return IRQ_HANDLED;
}

/*
* Because we communicate with the MSP430 using I2C, and all I2C calls
* in Linux sleep, we use a threaded IRQ handler. The IRQ itself is
* active low, but we go through the GPIO controller so we can trigger
* on falling edges and not worry about enabling/disabling the IRQ in
* the keypress handling path.
*/
static irqreturn_t dm355evm_keys_hardirq(int irq, void *_keys)
{
return IRQ_WAKE_THREAD;
}

static int dm355evm_setkeycode(struct input_dev *dev, int index, int keycode)
{
u16 old_keycode;
Expand Down Expand Up @@ -257,10 +251,8 @@ static int __devinit dm355evm_keys_probe(struct platform_device *pdev)

/* REVISIT: flush the event queue? */

status = request_threaded_irq(keys->irq,
dm355evm_keys_hardirq, dm355evm_keys_irq,
IRQF_TRIGGER_FALLING,
dev_name(&pdev->dev), keys);
status = request_threaded_irq(keys->irq, NULL, dm355evm_keys_irq,
IRQF_TRIGGER_FALLING, dev_name(&pdev->dev), keys);
if (status < 0)
goto fail1;

Expand Down

0 comments on commit 3b0a9ce

Please sign in to comment.