[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