Message ID | 20250326122003.122976-18-biju.das.jz@bp.renesas.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Series | Add support for RZ/G3E CANFD | expand |
On 26/03/2025 at 21:19, Biju Das wrote: > Currently multi_channel_irqs has only 2 channels. But RZ/G3E has six > channels. Enhance multi_channel_irqs handling to support more than two > channels. > > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> > Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> With below nitpicks addressed: Reviewed-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr> > --- > v6->v7: > * No change. > v5->v6: > * No change. > v4->v5: > * Collected tag. > v3->v4: > * No change. > v2->v3: > * No change. > v1->v2: > * No change. > --- > drivers/net/can/rcar/rcar_canfd.c | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_canfd.c > index 7ad27087a176..91f5649078c6 100644 > --- a/drivers/net/can/rcar/rcar_canfd.c > +++ b/drivers/net/can/rcar/rcar_canfd.c > @@ -1851,16 +1851,19 @@ static int rcar_canfd_channel_probe(struct rcar_canfd_global *gpriv, u32 ch, > > if (info->multi_channel_irqs) { > char *irq_name; > + char name[10]; > int err_irq; > int tx_irq; > > - err_irq = platform_get_irq_byname(pdev, ch == 0 ? "ch0_err" : "ch1_err"); > + scnprintf(name, 10, "ch%u_err", ch); scnprintf(name, sizeof(name), "ch%u_err", ch); > + err_irq = platform_get_irq_byname(pdev, name); > if (err_irq < 0) { > err = err_irq; > goto fail; > } > > - tx_irq = platform_get_irq_byname(pdev, ch == 0 ? "ch0_trx" : "ch1_trx"); > + scnprintf(name, 10, "ch%u_trx", ch); scnprintf(name, sizeof(name), "ch%u_trx", ch); > + tx_irq = platform_get_irq_byname(pdev, name); > if (tx_irq < 0) { > err = tx_irq; > goto fail; Yours sincerely, Vincent Mailhol
diff --git a/drivers/net/can/rcar/rcar_canfd.c b/drivers/net/can/rcar/rcar_canfd.c index 7ad27087a176..91f5649078c6 100644 --- a/drivers/net/can/rcar/rcar_canfd.c +++ b/drivers/net/can/rcar/rcar_canfd.c @@ -1851,16 +1851,19 @@ static int rcar_canfd_channel_probe(struct rcar_canfd_global *gpriv, u32 ch, if (info->multi_channel_irqs) { char *irq_name; + char name[10]; int err_irq; int tx_irq; - err_irq = platform_get_irq_byname(pdev, ch == 0 ? "ch0_err" : "ch1_err"); + scnprintf(name, 10, "ch%u_err", ch); + err_irq = platform_get_irq_byname(pdev, name); if (err_irq < 0) { err = err_irq; goto fail; } - tx_irq = platform_get_irq_byname(pdev, ch == 0 ? "ch0_trx" : "ch1_trx"); + scnprintf(name, 10, "ch%u_trx", ch); + tx_irq = platform_get_irq_byname(pdev, name); if (tx_irq < 0) { err = tx_irq; goto fail;