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

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

 




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?

Attachment: signature.asc
Description: Digital signature


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]
  Powered by Linux