Re: [patch v14 2/4] irqchip/qeic: merge qeic init code from platforms to a common function

From: Marc Zyngier
Date: Mon Mar 25 2019 - 05:20:39 EST


On Mon, 25 Mar 2019 03:53:37 +0000,
Qiang Zhao <qiang.zhao@xxxxxxx> wrote:
>
> The codes of qe_ic init from a variety of platforms are redundant,
> merge them to a common function and put it to irqchip/irq-qeic.c
>
> For non-p1021_mds mpc85xx_mds boards, use "qe_ic_init(np, 0,
> qe_ic_cascade_low_mpic, qe_ic_cascade_high_mpic);" instead of
> "qe_ic_init(np, 0, qe_ic_cascade_muxed_mpic, NULL);".
>
> qe_ic_cascade_muxed_mpic was used for boards has the same interrupt
> number for low interrupt and high interrupt, qe_ic_init has checked
> if "low interrupt == high interrupt"
>
> Signed-off-by: Zhao Qiang <qiang.zhao@xxxxxxx>
> ---
> arch/powerpc/platforms/83xx/misc.c | 15 ---------------
> arch/powerpc/platforms/85xx/corenet_generic.c | 9 ---------
> arch/powerpc/platforms/85xx/mpc85xx_mds.c | 14 --------------
> arch/powerpc/platforms/85xx/mpc85xx_rdb.c | 16 ----------------
> arch/powerpc/platforms/85xx/twr_p102x.c | 14 --------------
> drivers/irqchip/irq-qeic.c | 13 +++++++++++++
> 6 files changed, 13 insertions(+), 68 deletions(-)
>
> diff --git a/arch/powerpc/platforms/83xx/misc.c b/arch/powerpc/platforms/83xx/misc.c
> index 2b6589f..4150b56 100644

[...]

> diff --git a/drivers/irqchip/irq-qeic.c b/drivers/irqchip/irq-qeic.c
> index aba7135..673afb4 100644
> --- a/drivers/irqchip/irq-qeic.c
> +++ b/drivers/irqchip/irq-qeic.c
> @@ -18,6 +18,7 @@
> #include <linux/of_address.h>
> #include <linux/kernel.h>
> #include <linux/init.h>
> +#include <linux/irqchip.h>
> #include <linux/errno.h>
> #include <linux/reboot.h>
> #include <linux/slab.h>
> @@ -598,4 +599,16 @@ static int __init init_qe_ic_sysfs(void)
> return 0;
> }
>
> +static int __init qeic_of_init(struct device_node *node,
> + struct device_node *parent)
> +{
> + if (!node)
> + return -ENODEV;

How can node be NULL here?

> + qe_ic_init(node, 0, qe_ic_cascade_low_mpic,
> + qe_ic_cascade_high_mpic);
> + of_node_put(node);
> + return 0;
> +}
> +
> +IRQCHIP_DECLARE(qeic, "fsl,qe-ic", qeic_of_init);
> subsys_initcall(init_qe_ic_sysfs);
> --
> 1.7.1
>

Thanks,

M.

--
Jazz is not dead, it just smell funny.