From: Henry Chen <henryc.chen@mediatek.com>
To: Lee Jones <lee.jones@linaro.org>
Cc: Matthias Brugger <matthias.bgg@gmail.com>,
John Crispin <blogic@openwrt.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Flora Fu <flora.fu@mediatek.com>, <linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-mediatek@lists.infradead.org>,
Henry Chen <henryc.chen@mediatek.com>
Subject: [PATCH v2 1/3] mfd: mt6397: irq domain should initialize before mfd_add_devices()
Date: Fri, 8 Apr 2016 14:58:47 +0800 [thread overview]
Message-ID: <1460098729-25549-1-git-send-email-henryc.chen@mediatek.com> (raw)
Some sub driver like RTC module need irq domain from parent to create
irq mapping when driver initialize. so move mt6397_irq_init() before
mfd_add_devices().
Acked-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Henry Chen <henryc.chen@mediatek.com>
---
This series fixed the below warning based on "Linux kernel v4.6-rc1"
WARNING: CPU: 1 PID: 132 at kernel/mediatek/kernel/irq/irqdomain.c:471
irq_create_mapping+0xc4/0xd0
Changes in V2: Add two patch for error handle checking.
---
drivers/mfd/mt6397-core.c | 37 ++++++++++++++++++++++---------------
1 file changed, 22 insertions(+), 15 deletions(-)
diff --git a/drivers/mfd/mt6397-core.c b/drivers/mfd/mt6397-core.c
index 8e8d932..a879223 100644
--- a/drivers/mfd/mt6397-core.c
+++ b/drivers/mfd/mt6397-core.c
@@ -270,22 +270,36 @@ static int mt6397_probe(struct platform_device *pdev)
goto fail_irq;
}
+ pmic->irq = platform_get_irq(pdev, 0);
+
switch (id & 0xff) {
case MT6323_CID_CODE:
- pmic->int_con[0] = MT6323_INT_CON0;
- pmic->int_con[1] = MT6323_INT_CON1;
- pmic->int_status[0] = MT6323_INT_STATUS0;
- pmic->int_status[1] = MT6323_INT_STATUS1;
+ if (pmic->irq > 0) {
+ pmic->int_con[0] = MT6323_INT_CON0;
+ pmic->int_con[1] = MT6323_INT_CON1;
+ pmic->int_status[0] = MT6323_INT_STATUS0;
+ pmic->int_status[1] = MT6323_INT_STATUS1;
+ ret = mt6397_irq_init(pmic);
+ if (ret)
+ return ret;
+ }
+
ret = mfd_add_devices(&pdev->dev, -1, mt6323_devs,
ARRAY_SIZE(mt6323_devs), NULL, 0, NULL);
break;
case MT6397_CID_CODE:
case MT6391_CID_CODE:
- pmic->int_con[0] = MT6397_INT_CON0;
- pmic->int_con[1] = MT6397_INT_CON1;
- pmic->int_status[0] = MT6397_INT_STATUS0;
- pmic->int_status[1] = MT6397_INT_STATUS1;
+ if (pmic->irq > 0) {
+ pmic->int_con[0] = MT6397_INT_CON0;
+ pmic->int_con[1] = MT6397_INT_CON1;
+ pmic->int_status[0] = MT6397_INT_STATUS0;
+ pmic->int_status[1] = MT6397_INT_STATUS1;
+ ret = mt6397_irq_init(pmic);
+ if (ret)
+ return ret;
+ }
+
ret = mfd_add_devices(&pdev->dev, -1, mt6397_devs,
ARRAY_SIZE(mt6397_devs), NULL, 0, NULL);
break;
@@ -296,13 +310,6 @@ static int mt6397_probe(struct platform_device *pdev)
break;
}
- pmic->irq = platform_get_irq(pdev, 0);
- if (pmic->irq > 0) {
- ret = mt6397_irq_init(pmic);
- if (ret)
- return ret;
- }
-
fail_irq:
if (ret) {
irq_domain_remove(pmic->irq_domain);
--
1.8.1.1.dirty
WARNING: multiple messages have this Message-ID (diff)
From: Henry Chen <henryc.chen@mediatek.com>
To: Lee Jones <lee.jones@linaro.org>
Cc: Matthias Brugger <matthias.bgg@gmail.com>,
John Crispin <blogic@openwrt.org>,
Sascha Hauer <s.hauer@pengutronix.de>,
Flora Fu <flora.fu@mediatek.com>,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-mediatek@lists.infradead.org,
Henry Chen <henryc.chen@mediatek.com>
Subject: [PATCH v2 1/3] mfd: mt6397: irq domain should initialize before mfd_add_devices()
Date: Fri, 8 Apr 2016 14:58:47 +0800 [thread overview]
Message-ID: <1460098729-25549-1-git-send-email-henryc.chen@mediatek.com> (raw)
Some sub driver like RTC module need irq domain from parent to create
irq mapping when driver initialize. so move mt6397_irq_init() before
mfd_add_devices().
Acked-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Henry Chen <henryc.chen@mediatek.com>
---
This series fixed the below warning based on "Linux kernel v4.6-rc1"
WARNING: CPU: 1 PID: 132 at kernel/mediatek/kernel/irq/irqdomain.c:471
irq_create_mapping+0xc4/0xd0
Changes in V2: Add two patch for error handle checking.
---
drivers/mfd/mt6397-core.c | 37 ++++++++++++++++++++++---------------
1 file changed, 22 insertions(+), 15 deletions(-)
diff --git a/drivers/mfd/mt6397-core.c b/drivers/mfd/mt6397-core.c
index 8e8d932..a879223 100644
--- a/drivers/mfd/mt6397-core.c
+++ b/drivers/mfd/mt6397-core.c
@@ -270,22 +270,36 @@ static int mt6397_probe(struct platform_device *pdev)
goto fail_irq;
}
+ pmic->irq = platform_get_irq(pdev, 0);
+
switch (id & 0xff) {
case MT6323_CID_CODE:
- pmic->int_con[0] = MT6323_INT_CON0;
- pmic->int_con[1] = MT6323_INT_CON1;
- pmic->int_status[0] = MT6323_INT_STATUS0;
- pmic->int_status[1] = MT6323_INT_STATUS1;
+ if (pmic->irq > 0) {
+ pmic->int_con[0] = MT6323_INT_CON0;
+ pmic->int_con[1] = MT6323_INT_CON1;
+ pmic->int_status[0] = MT6323_INT_STATUS0;
+ pmic->int_status[1] = MT6323_INT_STATUS1;
+ ret = mt6397_irq_init(pmic);
+ if (ret)
+ return ret;
+ }
+
ret = mfd_add_devices(&pdev->dev, -1, mt6323_devs,
ARRAY_SIZE(mt6323_devs), NULL, 0, NULL);
break;
case MT6397_CID_CODE:
case MT6391_CID_CODE:
- pmic->int_con[0] = MT6397_INT_CON0;
- pmic->int_con[1] = MT6397_INT_CON1;
- pmic->int_status[0] = MT6397_INT_STATUS0;
- pmic->int_status[1] = MT6397_INT_STATUS1;
+ if (pmic->irq > 0) {
+ pmic->int_con[0] = MT6397_INT_CON0;
+ pmic->int_con[1] = MT6397_INT_CON1;
+ pmic->int_status[0] = MT6397_INT_STATUS0;
+ pmic->int_status[1] = MT6397_INT_STATUS1;
+ ret = mt6397_irq_init(pmic);
+ if (ret)
+ return ret;
+ }
+
ret = mfd_add_devices(&pdev->dev, -1, mt6397_devs,
ARRAY_SIZE(mt6397_devs), NULL, 0, NULL);
break;
@@ -296,13 +310,6 @@ static int mt6397_probe(struct platform_device *pdev)
break;
}
- pmic->irq = platform_get_irq(pdev, 0);
- if (pmic->irq > 0) {
- ret = mt6397_irq_init(pmic);
- if (ret)
- return ret;
- }
-
fail_irq:
if (ret) {
irq_domain_remove(pmic->irq_domain);
--
1.8.1.1.dirty
WARNING: multiple messages have this Message-ID (diff)
From: henryc.chen@mediatek.com (Henry Chen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/3] mfd: mt6397: irq domain should initialize before mfd_add_devices()
Date: Fri, 8 Apr 2016 14:58:47 +0800 [thread overview]
Message-ID: <1460098729-25549-1-git-send-email-henryc.chen@mediatek.com> (raw)
Some sub driver like RTC module need irq domain from parent to create
irq mapping when driver initialize. so move mt6397_irq_init() before
mfd_add_devices().
Acked-by: John Crispin <blogic@openwrt.org>
Signed-off-by: Henry Chen <henryc.chen@mediatek.com>
---
This series fixed the below warning based on "Linux kernel v4.6-rc1"
WARNING: CPU: 1 PID: 132 at kernel/mediatek/kernel/irq/irqdomain.c:471
irq_create_mapping+0xc4/0xd0
Changes in V2: Add two patch for error handle checking.
---
drivers/mfd/mt6397-core.c | 37 ++++++++++++++++++++++---------------
1 file changed, 22 insertions(+), 15 deletions(-)
diff --git a/drivers/mfd/mt6397-core.c b/drivers/mfd/mt6397-core.c
index 8e8d932..a879223 100644
--- a/drivers/mfd/mt6397-core.c
+++ b/drivers/mfd/mt6397-core.c
@@ -270,22 +270,36 @@ static int mt6397_probe(struct platform_device *pdev)
goto fail_irq;
}
+ pmic->irq = platform_get_irq(pdev, 0);
+
switch (id & 0xff) {
case MT6323_CID_CODE:
- pmic->int_con[0] = MT6323_INT_CON0;
- pmic->int_con[1] = MT6323_INT_CON1;
- pmic->int_status[0] = MT6323_INT_STATUS0;
- pmic->int_status[1] = MT6323_INT_STATUS1;
+ if (pmic->irq > 0) {
+ pmic->int_con[0] = MT6323_INT_CON0;
+ pmic->int_con[1] = MT6323_INT_CON1;
+ pmic->int_status[0] = MT6323_INT_STATUS0;
+ pmic->int_status[1] = MT6323_INT_STATUS1;
+ ret = mt6397_irq_init(pmic);
+ if (ret)
+ return ret;
+ }
+
ret = mfd_add_devices(&pdev->dev, -1, mt6323_devs,
ARRAY_SIZE(mt6323_devs), NULL, 0, NULL);
break;
case MT6397_CID_CODE:
case MT6391_CID_CODE:
- pmic->int_con[0] = MT6397_INT_CON0;
- pmic->int_con[1] = MT6397_INT_CON1;
- pmic->int_status[0] = MT6397_INT_STATUS0;
- pmic->int_status[1] = MT6397_INT_STATUS1;
+ if (pmic->irq > 0) {
+ pmic->int_con[0] = MT6397_INT_CON0;
+ pmic->int_con[1] = MT6397_INT_CON1;
+ pmic->int_status[0] = MT6397_INT_STATUS0;
+ pmic->int_status[1] = MT6397_INT_STATUS1;
+ ret = mt6397_irq_init(pmic);
+ if (ret)
+ return ret;
+ }
+
ret = mfd_add_devices(&pdev->dev, -1, mt6397_devs,
ARRAY_SIZE(mt6397_devs), NULL, 0, NULL);
break;
@@ -296,13 +310,6 @@ static int mt6397_probe(struct platform_device *pdev)
break;
}
- pmic->irq = platform_get_irq(pdev, 0);
- if (pmic->irq > 0) {
- ret = mt6397_irq_init(pmic);
- if (ret)
- return ret;
- }
-
fail_irq:
if (ret) {
irq_domain_remove(pmic->irq_domain);
--
1.8.1.1.dirty
next reply other threads:[~2016-04-08 6:59 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-08 6:58 Henry Chen [this message]
2016-04-08 6:58 ` [PATCH v2 1/3] mfd: mt6397: irq domain should initialize before mfd_add_devices() Henry Chen
2016-04-08 6:58 ` Henry Chen
2016-04-08 6:58 ` [PATCH v2 2/3] mfd: mt6397: Checking for null before irq_domain_remove Henry Chen
2016-04-08 6:58 ` Henry Chen
2016-04-08 6:58 ` Henry Chen
2016-04-11 8:53 ` Lee Jones
2016-04-11 8:53 ` Lee Jones
2016-04-08 6:58 ` [PATCH v2 3/3] mfd: mt6397: check the EPROBE_DEFER from platform_get_irq Henry Chen
2016-04-08 6:58 ` Henry Chen
2016-04-08 6:58 ` Henry Chen
2016-04-11 8:50 ` Lee Jones
2016-04-11 8:50 ` Lee Jones
2016-04-13 5:48 ` Henry Chen
2016-04-13 5:48 ` Henry Chen
2016-04-13 5:48 ` Henry Chen
2016-04-11 8:56 ` [PATCH v2 1/3] mfd: mt6397: irq domain should initialize before mfd_add_devices() Lee Jones
2016-04-11 8:56 ` Lee Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1460098729-25549-1-git-send-email-henryc.chen@mediatek.com \
--to=henryc.chen@mediatek.com \
--cc=blogic@openwrt.org \
--cc=flora.fu@mediatek.com \
--cc=lee.jones@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=s.hauer@pengutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.