lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdUmtYhYzvtNaOMANHOD6rabWTdZXLiCvqRjB+K-1jPd=Q@mail.gmail.com>
Date: Fri, 5 Dec 2025 11:28:29 +0100
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Ioana Ciornei <ioana.ciornei@....com>
Cc: Thomas Gleixner <tglx@...utronix.de>, Ulf Hansson <ulf.hansson@...aro.org>, 
	Johan Hovold <johan+linaro@...nel.org>, "Rafael J. Wysocki" <rafael@...nel.org>, 
	"Rob Herring (Arm)" <robh@...nel.org>, Greg Kroah-Hartman <gregkh@...uxfoundation.org>, 
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/2] irqchip/ls-extirq: convert to a platform driver

Hi Ionana,

On Thu, 4 Dec 2025 at 18:43, Ioana Ciornei <ioana.ciornei@....com> wrote:
> Since there is no need for ls-extirq to be initialized early, convert it
> to a proper platform driver. Instead of using IRQCHIP_DECLARE, add an
> of_device_id array with the same compatible strings as before. Also
> change the prototype and name of the probe function and adjust it to a
> platform_device structure.
>
> With this change we also have the added advantage of avoiding the
> irqchip_init() -> of_irq_init() code path which imposes dt checks that
> the ls-extirq does not comply with because of its improper use of the
> interrupt-map property.
>
> Fixes: 1b1f04d8271e ("of/irq: Ignore interrupt parent for nodes without interrupts")
> Signed-off-by: Ioana Ciornei <ioana.ciornei@....com>

Thanks for your patch!

> --- a/drivers/irqchip/irq-ls-extirq.c
> +++ b/drivers/irqchip/irq-ls-extirq.c

> @@ -227,6 +235,20 @@ ls_extirq_of_init(struct device_node *node, struct device_node *parent)
>         return ret;
>  }
>
> -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);
> +static const struct of_device_id ls_extirq_dt_ids[] = {
> +       { .compatible = "fsl,ls1021a-extirq" },
> +       { .compatible = "fsl,ls1043a-extirq" },
> +       { .compatible = "fsl,ls1088a-extirq" },
> +       {}
> +};
> +MODULE_DEVICE_TABLE(of, ls_extirq_dt_ids);
> +
> +static struct platform_driver ls_extirq_driver = {
> +       .probe = ls_extirq_probe,
> +       .driver = {
> +               .name = "ls-extirq",
> +               .of_match_table = ls_extirq_dt_ids,
> +       }
> +};
> +
> +module_platform_driver(ls_extirq_driver);

builtin_platform_driver(), as the driver cannot be modular?

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@...ux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ