RE: [PATCH] rtc: tps65910: Use platform_get_irq to get RTC irq details

Venu Byravarasu
2012-09-24T06:18:52Z

> -----Original Message-----
> From: Stephen Warren [mailto:swarren@wwwdotorg.org]
> Sent: Friday, September 21, 2012 9:21 PM
> To: Venu Byravarasu
> Cc: akpm@linux-foundation.org; a.zummo@towertech.it; linux-
> kernel@vger.kernel.org; rtc-linux@googlegroups.com
> Subject: Re: [PATCH] rtc: tps65910: Use platform_get_irq to get RTC irq
> details
>
> On 09/21/2012 05:00 AM, Venu Byravarasu wrote:
> > As RTC driver needs only irq number from platform data,
> > using platform_get_irq(), instead of generic dev_get_platdata().
>
> I assume this patch depends on "mfd: tps65910: Add alarm interrupt of
> TPS65910 RTC to mfd device list" which you posted just before? If so,
> the two patches should go through the same tree to avoid "git bisect"
> issues.
>
> Also, I thought you needed to fix the MFD driver to call
> mfd_add_devices() only after all the IRQ stuff had been set up -
> otherwise, when the RTC driver calls devm_request_threaded_irq(), the
> parent IRQ domain that the IRQ points at won't exist, and the call will
> fail.

No, I do not agree completely here.
Current patch just changes the way to get irq info in the RTC driver.
If proper irq number is passed from MFD, then it proceeds further and deals with it.
In case of missing valid irq info, this returns error as in earlier case.

I agree with you that this patch alone cannot make RTC completely functional,
till we get mfd patch as well.

However should lack of mfd changes really block this patch, as these two are
independent drivers.

>
> Also, the MFD patch you sent to create add the IRQ resource into the RTC
> device's resource list sets the IRQ number to TPS65910_IRQ_RTC_ALARM,
> which is the offset within the IRQ domain, not the absolute Linux IRQ
> number. Where does the base of the IRQ domain get added on such that
> this is an actual IRQ numbmer not an offset?
>
> > - dev_dbg(&pdev->dev, "Enabling rtc-tps65910.\n");
> > + dev_dbg(&pdev->dev, "Enabling tps65910 rtc.\n");
>
> Unrelated change.

Fine, I can move all of the unrelated changes mentioned here to different patch.

>
> > - irq = pmic_plat_data->irq_base;
> > + irq = platform_get_irq(pdev, 0);
>
> There are two spaces there before the =.
>
> > - "rtc-tps65910", &pdev->dev);
> > + "tps65910-rtc", &pdev->dev);
>
> Unrelated change.
>
> > - .name = "rtc-tps65910",
> > + .name = "tps65910-rtc",
>
> Unrelated change.