RE: [PATCH] EDAC/dmc520: Don't print an error for each unconfigured interrupt line

From: Lei Wang (DPLAT)
Date: Wed Jan 12 2022 - 12:19:25 EST


> -----Original Message-----
> From: Tyler Hicks <tyhicks@xxxxxxxxxxxxxxxxxxx>
> Sent: Tuesday, January 11, 2022 8:38 AM
> To: Lei Wang (DPLAT) <Wang.Lei@xxxxxxxxxxxxx>; Borislav Petkov
> <bp@xxxxxxxxx>; Tony Luck <tony.luck@xxxxxxxxx>; Mauro Carvalho Chehab
> <mchehab@xxxxxxxxxx>
> Cc: Sinan Kaya <okaya@xxxxxxxxxx>; Shiping Ji <shiping.linux@xxxxxxxxx>;
> James Morse <james.morse@xxxxxxx>; Robert Richter <rric@xxxxxxxxxx>;
> linux-edac@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] EDAC/dmc520: Don't print an error for each unconfigured
> interrupt line
>
> The dmc520 driver requires that at least one interrupt line, out of the ten
> possible, is configured. The driver prints an error and returns -EINVAL from
> its .probe function if there are no interrupt lines configured.
>
> Don't print a KERN_ERR level message for each interrupt line that's
> unconfigured as that can confuse users into thinking that there is an error
> condition.
>
> Before this change, the following KERN_ERR level messages would be reported
> if only dram_ecc_errc and dram_ecc_errd were configured in the device tree:
>
> dmc520 68000000.dmc: IRQ ram_ecc_errc not found
> dmc520 68000000.dmc: IRQ ram_ecc_errd not found
> dmc520 68000000.dmc: IRQ failed_access not found
> dmc520 68000000.dmc: IRQ failed_prog not found
> dmc520 68000000.dmc: IRQ link_err not
> dmc520 68000000.dmc: IRQ temperature_event not found
> dmc520 68000000.dmc: IRQ arch_fsm not found
> dmc520 68000000.dmc: IRQ phy_request not found
>
> Fixes: 1088750d7839 ("EDAC: Add EDAC driver for DMC520")
> Signed-off-by: Tyler Hicks <tyhicks@xxxxxxxxxxxxxxxxxxx>

Looks good. EDAC-CORE maintainers, please take the patch through your tree.
Thanks!

Acked-by: Lei Wang <lewan@xxxxxxxxxxxxx>

> Cc: <stable@xxxxxxxxxxxxxxx>
> Reported-by: Sinan Kaya <okaya@xxxxxxxxxx>
> ---
> drivers/edac/dmc520_edac.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/edac/dmc520_edac.c b/drivers/edac/dmc520_edac.c index
> b8a7d9594afd..1fa5ca57e9ec 100644
> --- a/drivers/edac/dmc520_edac.c
> +++ b/drivers/edac/dmc520_edac.c
> @@ -489,7 +489,7 @@ static int dmc520_edac_probe(struct platform_device
> *pdev)
> dev = &pdev->dev;
>
> for (idx = 0; idx < NUMBER_OF_IRQS; idx++) {
> - irq = platform_get_irq_byname(pdev,
> dmc520_irq_configs[idx].name);
> + irq = platform_get_irq_byname_optional(pdev,
> +dmc520_irq_configs[idx].name);
> irqs[idx] = irq;
> masks[idx] = dmc520_irq_configs[idx].mask;
> if (irq >= 0) {
> --
> 2.25.1