[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