Hi Linus, On Sun, Jun 17, 2012 at 04:17:51PM +0200, Linus Walleij wrote: > From: Naveen Kumar Gaddipati <naveen.gaddipati@xxxxxxxxxxxxxx> > > Suspend and resume support for ske keypad by using disable or > enable of keypad. I do not understand this changelog entry. The driver appears to already have suspend/resume handling, but apparently it is deficient. Please explain exactly why old implementation is not enough. > > Signed-off-by: Naveen Kumar Gaddipati <naveen.gaddipati@xxxxxxxxxxxxxx> > Reviewed-by: Srinidhi Kasagar <srinidhi.kasagar@xxxxxxxxxxxxxx> > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> > --- > drivers/input/keyboard/nomadik-ske-keypad.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/drivers/input/keyboard/nomadik-ske-keypad.c b/drivers/input/keyboard/nomadik-ske-keypad.c > index 6857454..68c36a7 100644 > --- a/drivers/input/keyboard/nomadik-ske-keypad.c > +++ b/drivers/input/keyboard/nomadik-ske-keypad.c > @@ -368,8 +368,11 @@ static int ske_keypad_suspend(struct device *dev) > > if (device_may_wakeup(dev)) > enable_irq_wake(irq); > - else > + else { > + disable_irq(keypad->irq); > ske_keypad_set_bits(keypad, SKE_IMSC, ~SKE_KPIMA, 0x0); > + clk_disable(keypad->clk); > + } > > return 0; > } > @@ -382,8 +385,11 @@ static int ske_keypad_resume(struct device *dev) > > if (device_may_wakeup(dev)) > disable_irq_wake(irq); > - else > - ske_keypad_set_bits(keypad, SKE_IMSC, 0x0, SKE_KPIMA); > + else { > + clk_enable(keypad->clk); > + enable_irq(keypad->irq); > + ske_keypad_chip_init(keypad); ske_keypad_chip_init() is marked __init, if it is used in resume it has to lose this markup. Thanks. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html