All of lore.kernel.org
 help / color / mirror / Atom feed
From: Biwen Li <biwen.li@oss.nxp.com>
To: linux@rasmusvillemoes.dk, shawnguo@kernel.org,
	robh+dt@kernel.org, mark.rutland@arm.com, leoyang.li@nxp.com,
	zhiqiang.hou@nxp.com, tglx@linutronix.de, jason@lakedaemon.net,
	maz@kernel.org
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	jiafei.pan@nxp.com, xiaobo.xie@nxp.com,
	linux-arm-kernel@lists.infradead.org,
	Hou Zhiqiang <Zhiqiang.Hou@nxp.com>, Biwen Li <biwen.li@nxp.com>
Subject: [v4 01/11] irqchip: ls-extirq: Add LS1043A, LS1088A external interrupt
Date: Mon, 30 Nov 2020 18:15:05 +0800	[thread overview]
Message-ID: <20201130101515.27431-1-biwen.li@oss.nxp.com> (raw)

From: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>

Add an new IRQ chip declaration for LS1043A and LS1088A
- compatible "fsl,ls1043a-extirq" for LS1043A, LS1046A.
- compatible "fsl,ls1088a-extirq" for LS1088A, LS208xA, LX216xA.
- get mask value directly according to compatible property of DT
  and remove confused code(bit_reverse field of struct ls_extirq_data,
  no need this field for SoC LS1021A. Because the register
  LS1021A_SCFGREVCR is initialized to 0xffffffff by the relative rcw)

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Signed-off-by: Biwen Li <biwen.li@nxp.com>
---
Change in v4:
	- fix warning when checking patch
	- simplify code
	- update commit message

Change in v3:
	- cleanup code
	- remove robust copyright

Change in v2:
	- add despcription of bit reverse
	- update copyright

 drivers/irqchip/irq-ls-extirq.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/drivers/irqchip/irq-ls-extirq.c b/drivers/irqchip/irq-ls-extirq.c
index 4d1179fed77c..f94f974a8764 100644
--- a/drivers/irqchip/irq-ls-extirq.c
+++ b/drivers/irqchip/irq-ls-extirq.c
@@ -18,7 +18,7 @@
 struct ls_extirq_data {
 	struct regmap		*syscon;
 	u32			intpcr;
-	bool			bit_reverse;
+	bool			is_ls1021a_or_ls1043a;
 	u32			nirq;
 	struct irq_fwspec	map[MAXIRQ];
 };
@@ -30,7 +30,7 @@ ls_extirq_set_type(struct irq_data *data, unsigned int type)
 	irq_hw_number_t hwirq = data->hwirq;
 	u32 value, mask;
 
-	if (priv->bit_reverse)
+	if (priv->is_ls1021a_or_ls1043a)
 		mask = 1U << (31 - hwirq);
 	else
 		mask = 1U << hwirq;
@@ -174,14 +174,8 @@ ls_extirq_of_init(struct device_node *node, struct device_node *parent)
 	if (ret)
 		goto out;
 
-	if (of_device_is_compatible(node, "fsl,ls1021a-extirq")) {
-		u32 revcr;
-
-		ret = regmap_read(priv->syscon, LS1021A_SCFGREVCR, &revcr);
-		if (ret)
-			goto out;
-		priv->bit_reverse = (revcr != 0);
-	}
+	priv->is_ls1021a_or_ls1043a = of_device_is_compatible(node, "fsl,ls1021a-extirq") ||
+				      of_device_is_compatible(node, "fsl,ls1043a-extirq");
 
 	domain = irq_domain_add_hierarchy(parent_domain, 0, priv->nirq, node,
 					  &extirq_domain_ops, priv);
@@ -195,3 +189,5 @@ ls_extirq_of_init(struct device_node *node, struct device_node *parent)
 }
 
 IRQCHIP_DECLARE(ls1021a_extirq, "fsl,ls1021a-extirq", ls_extirq_of_init);
+IRQCHIP_DECLARE(ls1043a_extirq, "fsl,ls1043a-extirq", ls_extirq_of_init);
+IRQCHIP_DECLARE(ls1088a_extirq, "fsl,ls1088a-extirq", ls_extirq_of_init);
-- 
2.17.1


WARNING: multiple messages have this Message-ID (diff)
From: Biwen Li <biwen.li@oss.nxp.com>
To: linux@rasmusvillemoes.dk, shawnguo@kernel.org,
	robh+dt@kernel.org, mark.rutland@arm.com, leoyang.li@nxp.com,
	zhiqiang.hou@nxp.com, tglx@linutronix.de, jason@lakedaemon.net,
	maz@kernel.org
Cc: devicetree@vger.kernel.org, Biwen Li <biwen.li@nxp.com>,
	Hou Zhiqiang <Zhiqiang.Hou@nxp.com>,
	linux-kernel@vger.kernel.org, xiaobo.xie@nxp.com,
	jiafei.pan@nxp.com, linux-arm-kernel@lists.infradead.org
Subject: [v4 01/11] irqchip: ls-extirq: Add LS1043A, LS1088A external interrupt
Date: Mon, 30 Nov 2020 18:15:05 +0800	[thread overview]
Message-ID: <20201130101515.27431-1-biwen.li@oss.nxp.com> (raw)

From: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>

Add an new IRQ chip declaration for LS1043A and LS1088A
- compatible "fsl,ls1043a-extirq" for LS1043A, LS1046A.
- compatible "fsl,ls1088a-extirq" for LS1088A, LS208xA, LX216xA.
- get mask value directly according to compatible property of DT
  and remove confused code(bit_reverse field of struct ls_extirq_data,
  no need this field for SoC LS1021A. Because the register
  LS1021A_SCFGREVCR is initialized to 0xffffffff by the relative rcw)

Signed-off-by: Hou Zhiqiang <Zhiqiang.Hou@nxp.com>
Signed-off-by: Biwen Li <biwen.li@nxp.com>
---
Change in v4:
	- fix warning when checking patch
	- simplify code
	- update commit message

Change in v3:
	- cleanup code
	- remove robust copyright

Change in v2:
	- add despcription of bit reverse
	- update copyright

 drivers/irqchip/irq-ls-extirq.c | 16 ++++++----------
 1 file changed, 6 insertions(+), 10 deletions(-)

diff --git a/drivers/irqchip/irq-ls-extirq.c b/drivers/irqchip/irq-ls-extirq.c
index 4d1179fed77c..f94f974a8764 100644
--- a/drivers/irqchip/irq-ls-extirq.c
+++ b/drivers/irqchip/irq-ls-extirq.c
@@ -18,7 +18,7 @@
 struct ls_extirq_data {
 	struct regmap		*syscon;
 	u32			intpcr;
-	bool			bit_reverse;
+	bool			is_ls1021a_or_ls1043a;
 	u32			nirq;
 	struct irq_fwspec	map[MAXIRQ];
 };
@@ -30,7 +30,7 @@ ls_extirq_set_type(struct irq_data *data, unsigned int type)
 	irq_hw_number_t hwirq = data->hwirq;
 	u32 value, mask;
 
-	if (priv->bit_reverse)
+	if (priv->is_ls1021a_or_ls1043a)
 		mask = 1U << (31 - hwirq);
 	else
 		mask = 1U << hwirq;
@@ -174,14 +174,8 @@ ls_extirq_of_init(struct device_node *node, struct device_node *parent)
 	if (ret)
 		goto out;
 
-	if (of_device_is_compatible(node, "fsl,ls1021a-extirq")) {
-		u32 revcr;
-
-		ret = regmap_read(priv->syscon, LS1021A_SCFGREVCR, &revcr);
-		if (ret)
-			goto out;
-		priv->bit_reverse = (revcr != 0);
-	}
+	priv->is_ls1021a_or_ls1043a = of_device_is_compatible(node, "fsl,ls1021a-extirq") ||
+				      of_device_is_compatible(node, "fsl,ls1043a-extirq");
 
 	domain = irq_domain_add_hierarchy(parent_domain, 0, priv->nirq, node,
 					  &extirq_domain_ops, priv);
@@ -195,3 +189,5 @@ ls_extirq_of_init(struct device_node *node, struct device_node *parent)
 }
 
 IRQCHIP_DECLARE(ls1021a_extirq, "fsl,ls1021a-extirq", ls_extirq_of_init);
+IRQCHIP_DECLARE(ls1043a_extirq, "fsl,ls1043a-extirq", ls_extirq_of_init);
+IRQCHIP_DECLARE(ls1088a_extirq, "fsl,ls1088a-extirq", ls_extirq_of_init);
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

             reply	other threads:[~2020-11-30 10:08 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-30 10:15 Biwen Li [this message]
2020-11-30 10:15 ` [v4 01/11] irqchip: ls-extirq: Add LS1043A, LS1088A external interrupt Biwen Li
2020-11-30 10:15 ` [v4 02/11] arm64: dts: ls1043a: add DT node for external interrupt lines Biwen Li
2020-11-30 10:15   ` Biwen Li
2021-01-05  1:45   ` Shawn Guo
2021-01-05  1:45     ` Shawn Guo
2020-11-30 10:15 ` [v4 03/11] arm64: dts: ls1046a: " Biwen Li
2020-11-30 10:15   ` Biwen Li
2020-11-30 10:15 ` [v4 04/11] arm64: dts: ls1046ardb: Add interrupt line for RTC node Biwen Li
2020-11-30 10:15   ` Biwen Li
2020-11-30 10:15 ` [v4 05/11] arm64: dts: ls1088a: add DT node for external interrupt lines Biwen Li
2020-11-30 10:15   ` Biwen Li
2020-11-30 10:15 ` [v4 06/11] arm64: dts: ls1088ardb: fix interrupt line for RTC node Biwen Li
2020-11-30 10:15   ` Biwen Li
2020-11-30 10:15 ` [v4 07/11] arm64: dts: ls208xa: add DT node for external interrupt lines Biwen Li
2020-11-30 10:15   ` Biwen Li
2020-11-30 10:15 ` [v4 08/11] arm64: dts: ls208xa-rdb: add interrupt line for RTC node Biwen Li
2020-11-30 10:15   ` Biwen Li
2020-11-30 10:15 ` [v4 09/11] arm64: dts: lx2160a: add DT node for external interrupt lines Biwen Li
2020-11-30 10:15   ` Biwen Li
2020-11-30 10:15 ` [v4 10/11] arm64: dts: lx2160ardb: fix interrupt line for RTC node Biwen Li
2020-11-30 10:15   ` Biwen Li
2020-11-30 10:15 ` [v4 11/11] dt-bindings: interrupt-controller: update bindings for supporting more SoCs Biwen Li
2020-11-30 10:15   ` Biwen Li
2020-12-01  2:09   ` Rob Herring
2020-12-01  2:09     ` Rob Herring
2020-12-11 14:58   ` [irqchip: irq/irqchip-next] " irqchip-bot for Biwen Li
2020-12-11 14:58 ` [irqchip: irq/irqchip-next] irqchip/ls-extirq: Add LS1043A, LS1088A external interrupt support irqchip-bot for Hou Zhiqiang
2020-12-11 15:01 ` [v4 01/11] irqchip: ls-extirq: Add LS1043A, LS1088A external interrupt Marc Zyngier
2020-12-11 15:01   ` Marc Zyngier

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=20201130101515.27431-1-biwen.li@oss.nxp.com \
    --to=biwen.li@oss.nxp.com \
    --cc=biwen.li@nxp.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jason@lakedaemon.net \
    --cc=jiafei.pan@nxp.com \
    --cc=leoyang.li@nxp.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=shawnguo@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=xiaobo.xie@nxp.com \
    --cc=zhiqiang.hou@nxp.com \
    /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.