[rtc-linux] [PATCH v3 2/3] rtc: Add APM X-Gene SoC RTC driver

Loc Ho lho at apm.com
Wed Apr 9 10:16:11 PDT 2014


Hi,

>> +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?

This was modeled after rtc-spear.c. Is this or rtc-spear in-correct?

>
>> +     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.

This was also modeled after rtc-spear. I guess I can check and print
an warning but don't believe it matter.

>
>> +             xgene_rtc_alarm_irq_enable(dev, 1);
>> +     }
>
> Won't this unconditionally enable the interrupt regardless of what the
> setting was prior to suspend?

This was also modeled after rtc-spear.c. Is this or rtc-spear in-correct?

-Loc



More information about the linux-arm-kernel mailing list