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
next 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: linkBe 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.