[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMuHMdVmh7tG0D8az6E9tWE8iHhxvrw56o-u5DR53Rpcoh45qg@mail.gmail.com>
Date: Fri, 23 Jan 2026 11:45:19 +0100
From: Geert Uytterhoeven <geert@...ux-m68k.org>
To: Prabhakar <prabhakar.csengg@...il.com>
Cc: Thomas Gleixner <tglx@...nel.org>, Philipp Zabel <p.zabel@...gutronix.de>,
Magnus Damm <magnus.damm@...il.com>, linux-kernel@...r.kernel.org,
linux-renesas-soc@...r.kernel.org, Biju Das <biju.das.jz@...renesas.com>,
Fabrizio Castro <fabrizio.castro.jz@...esas.com>,
Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
Subject: Re: [PATCH 4/6] irqchip/renesas-rzv2h: Add CA55 software interrupt support
Hi Prabhakar,
On Wed, 21 Jan 2026 at 16:01, Prabhakar <prabhakar.csengg@...il.com> wrote:
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
>
> The Renesas RZ/V2H ICU provides a software interrupt register (ICU_SWINT)
> that allows software to explicitly assert interrupts toward individual
> CA55 cores. Writing BIT(n) to ICU_SWINT triggers the corresponding
> interrupt.
>
> Introduce a debug mechanism to trigger software interrupts on individual
> Cortex-A55 cores via the RZ/V2H ICU. The interface is gated behind
> CONFIG_DEBUG_FS and a module parameter to ensure it only exists when
> explicitly enabled.
>
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@...renesas.com>
Thanks for your patch!
> --- a/drivers/irqchip/irq-renesas-rzv2h.c
> +++ b/drivers/irqchip/irq-renesas-rzv2h.c
> @@ -11,16 +11,23 @@
>
> #include <linux/bitfield.h>
> #include <linux/cleanup.h>
> +#include <linux/cpu.h>
> +#include <linux/debugfs.h>
> #include <linux/err.h>
> +#include <linux/fs.h>
> #include <linux/io.h>
> #include <linux/irqchip.h>
> #include <linux/irqchip/irq-renesas-rzv2h.h>
> #include <linux/irqdomain.h>
> +#include <linux/kconfig.h>
> +#include <linux/kstrtox.h>
> +#include <linux/moduleparam.h>
> #include <linux/of_platform.h>
> #include <linux/pm_runtime.h>
> #include <linux/reset.h>
> #include <linux/spinlock.h>
> #include <linux/syscore_ops.h>
> +#include <linux/uaccess.h>
>
[...]
> +static int rzv2h_icu_setup_debug_irqs(struct platform_device *pdev)
> +{
> + static const u8 swint_idx[ICU_SWINT_NUM] = { 0, 1, 2, 3 };
> + static const char * const rzv2h_swint_names[] = {
> + "int-ca55-0", "int-ca55-1",
> + "int-ca55-2", "int-ca55-3",
> + };
> + struct device *dev = &pdev->dev;
> + struct dentry *dentry;
> + struct dentry *dir;
> + unsigned int i;
> + int icu_irq;
> + int ret;
> +
> + if (!IS_ENABLED(CONFIG_DEBUG_FS) || !enable_icu_debug)
> + return 0;
> +
> + dev_info(dev, "RZ/V2H ICU debug interrupts enabled\n");
> +
> + for (i = 0; i < ICU_SWINT_NUM; i++) {
> + icu_irq = platform_get_irq_byname(pdev, rzv2h_swint_names[i]);
> + if (icu_irq < 0)
> + return dev_err_probe(dev, icu_irq,
> + "Failed to get %s IRQ\n", rzv2h_swint_names[i]);
> + ret = devm_request_irq(dev, icu_irq, rzv2h_icu_swint_irq, 0, dev_name(dev),
> + (void *)&swint_idx[i]);
drivers/irqchip/irq-renesas-rzv2h.c:730:23: error: implicit
declaration of function ‘devm_request_irq’; did you mean
‘can_request_irq’? [-Werror=implicit-function-declaration]
How does this build for you, without including <linux/interrupt.h>?
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