[rtc-linux] [PATCH v3 2/3] rtc: Add APM X-Gene SoC RTC driver
Mark Brown
broonie at kernel.org
Thu Apr 3 09:26:48 PDT 2014
On Thu, Apr 03, 2014 at 12:17:52AM -0600, Loc Ho wrote:
> +static int xgene_rtc_suspend(struct device *dev)
> +{
> + struct platform_device *pdev = to_platform_device(dev);
> + struct xgene_rtc_dev *pdata = platform_get_drvdata(pdev);
> + int irq;
> +
> + irq = platform_get_irq(pdev, 0);
> + if (device_may_wakeup(&pdev->dev)) {
> + if (!enable_irq_wake(irq))
> + pdata->irq_wake = 1;
> + } else {
> + xgene_rtc_alarm_irq_enable(dev, 0);
> + clk_disable(pdata->clk);
> + }
Why does the driver only disable the clock over suspend rather than also
unpreparing it?
> + if (device_may_wakeup(&pdev->dev)) {
> + if (pdata->irq_wake) {
> + disable_irq_wake(irq);
> + pdata->irq_wake = 0;
> + }
> + } else {
> + clk_enable(pdata->clk);
It's also not checking for errors here.
> + xgene_rtc_alarm_irq_enable(dev, 1);
> + }
Won't this unconditionally enable the interrupt regardless of what the
setting was prior to suspend?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20140403/031f94a7/attachment.sig>
More information about the linux-arm-kernel
mailing list