Re: [PATCH v2 1/5] mfd: mt6397: create irq mappings in mfd core driver

From: Chen Zhong
Date: Tue Aug 08 2017 - 05:10:09 EST


On Mon, 2017-08-07 at 19:53 -0700, Dmitry Torokhov wrote:
> On Mon, Aug 07, 2017 at 11:32:44PM +0200, Alexandre Belloni wrote:
> > On 07/08/2017 at 09:57:41 +0800, Chen Zhong wrote:
> > > The core driver should create and manage irq mappings instead of
> > > leaf drivers. This patch change to pass irq domain to
> > > devm_mfd_add_devices() and it will create mapping for irq resources
> > > automatically. And remove irq mapping in rtc driver since this has
> > > been done in core driver.
> > >
> > > Signed-off-by: Chen Zhong <chen.zhong@xxxxxxxxxxxx>
> >
> > For the RTC part:
> > Acked-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxxxxxxxxx>
> >
> > > ---
> > > drivers/mfd/mt6397-core.c | 4 ++--
> > > drivers/rtc/rtc-mt6397.c | 2 +-
> > > 2 files changed, 3 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/drivers/mfd/mt6397-core.c b/drivers/mfd/mt6397-core.c
> > > index 04a601f..6546d7f 100644
> > > --- a/drivers/mfd/mt6397-core.c
> > > +++ b/drivers/mfd/mt6397-core.c
> > > @@ -289,7 +289,7 @@ static int mt6397_probe(struct platform_device *pdev)
> > >
> > > ret = devm_mfd_add_devices(&pdev->dev, -1, mt6323_devs,
> > > ARRAY_SIZE(mt6323_devs), NULL,
> > > - 0, NULL);
> > > + 0, pmic->irq_domain);
> > > break;
> > >
> > > case MT6397_CID_CODE:
> > > @@ -304,7 +304,7 @@ static int mt6397_probe(struct platform_device *pdev)
> > >
> > > ret = devm_mfd_add_devices(&pdev->dev, -1, mt6397_devs,
> > > ARRAY_SIZE(mt6397_devs), NULL,
> > > - 0, NULL);
> > > + 0, pmic->irq_domain);
> > > break;
> > >
> > > default:
> > > diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c
> > > index 1a61fa5..22c52f7 100644
> > > --- a/drivers/rtc/rtc-mt6397.c
> > > +++ b/drivers/rtc/rtc-mt6397.c
> > > @@ -323,7 +323,7 @@ static int mtk_rtc_probe(struct platform_device *pdev)
> > > rtc->addr_base = res->start;
> > >
> > > res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
> > > - rtc->irq = irq_create_mapping(mt6397_chip->irq_domain, res->start);
> > > + rtc->irq = res->start;
>
> Why not
>
> rtc->irq = platform_get_irq(pdev, 0);
> if (rtc->irq < 0)
> return rtc->irq;
> ?
>
> This way you propagate error properly.
>
> Thanks.
>

Hi Dmitry,

I'll modify it to get irq number via this way.

Thank you.