Re: [PATCH v2 1/5] mfd: mt6397: create irq mappings in mfd core driver
On Mon, 07 Aug 2017, 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> --- > drivers/mfd/mt6397-core.c |4 ++-- > drivers/rtc/rtc-mt6397.c |2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) Once you've fixed Dmitry's comment: For my own reference: Acked-for-MFD-by: Lee Jones -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
Re: [PATCH v2 1/5] mfd: mt6397: create irq mappings in mfd core driver
On Mon, 07 Aug 2017, 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 > --- > drivers/mfd/mt6397-core.c |4 ++-- > drivers/rtc/rtc-mt6397.c |2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) Once you've fixed Dmitry's comment: For my own reference: Acked-for-MFD-by: Lee Jones -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog
Re: [PATCH v2 1/5] mfd: mt6397: create irq mappings in mfd core driver
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> > > > For the RTC part: > > Acked-by: Alexandre Belloni > > > > > --- > > > 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(>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(>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.
Re: [PATCH v2 1/5] mfd: mt6397: create irq mappings in mfd core driver
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 > > > > For the RTC part: > > Acked-by: Alexandre Belloni > > > > > --- > > > 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(>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(>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.
Re: [PATCH v2 1/5] mfd: mt6397: create irq mappings in mfd core driver
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> > For the RTC part: > Acked-by: Alexandre Belloni > > > --- > > 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(>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(>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. -- Dmitry
Re: [PATCH v2 1/5] mfd: mt6397: create irq mappings in mfd core driver
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 > > For the RTC part: > Acked-by: Alexandre Belloni > > > --- > > 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(>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(>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. -- Dmitry
Re: [PATCH v2 1/5] mfd: mt6397: create irq mappings in mfd core driver
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 ZhongFor the RTC part: Acked-by: Alexandre Belloni > --- > 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(>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(>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; > if (rtc->irq <= 0) > return -EINVAL; > > -- > 1.7.9.5 > -- Alexandre Belloni, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
Re: [PATCH v2 1/5] mfd: mt6397: create irq mappings in mfd core driver
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 For the RTC part: Acked-by: Alexandre Belloni > --- > 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(>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(>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; > if (rtc->irq <= 0) > return -EINVAL; > > -- > 1.7.9.5 > -- Alexandre Belloni, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
[PATCH v2 1/5] mfd: mt6397: create irq mappings in mfd core driver
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--- 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(>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(>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; if (rtc->irq <= 0) return -EINVAL; -- 1.7.9.5
[PATCH v2 1/5] mfd: mt6397: create irq mappings in mfd core driver
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 --- 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(>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(>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; if (rtc->irq <= 0) return -EINVAL; -- 1.7.9.5