Re: [RFT/PATCH] Input: omap4-keypad - switch to use managed resources

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 25, 2012 at 05:09:16PM +0300, Felipe Balbi wrote:
> Hi,
> 
> On Thu, Oct 25, 2012 at 06:31:32PM +0530, Sourav wrote:
> > Hi Dmitry,
> > 
> > -       pm_runtime_put_sync(dev);
> > -
> >  out:
> >         pm_runtime_disable(dev);
> >         return retval;
> > @@ -387,8 +385,9 @@
> >                 return error;
> >         }
> > 
> > +       pm_runtime_put_sync(dev);
> > +
> >         platform_set_drvdata(pdev, keypad_data);
> > -       pm_runtime_enable(dev);
> > 
> >         return 0;
> >  }
> > 
> > This patch seems to solve the warning and keypad functionality is restored.
> 
> the driver looks wrong to me. Why are calling pm_runtime_put_sync()
> after pm_runtime_disable() ???

No, we should not be doing this...

OK, so the idea was to do everything via managed resources (devm_*) and
not having any gotos :) But I guess we had keypad somewhat alive and it
managed to generate an interrupt while parent(s) was sleeping because we
did pm_runtime_put_sync()/pm_runtime_disable() after reading register.
I wonder if we should have something like:

static void omap4_keypad_inhibit()
{
	kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQENABLE,
			 OMAP4_VAL_IRQDISABLE);
	kbd_write_irqreg(keypad_data, OMAP4_KBD_IRQSTATUS,
			 kbd_read_irqreg(keypad_data,
					 OMAP4_KBD_IRQSTATUS));
}

and call it after reading the revision register.

Either that or we need devm_pm_runtime_enable().

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


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux