Re: [PATCH] drivers/edac: add missing macro arguments and missing macro edac_pci_remove_sysfs

From: Robert Richter
Date: Tue Jul 27 2021 - 06:18:37 EST


On 15.07.21 14:58:26, Colin King wrote:
> From: Colin Ian King <colin.king@xxxxxxxxxxxxx>
>
> The macros edac_pci_handle_pe and edac_pci_handle_npe are missing their
> arguments and don't match the function prototypes they replace. Also
> macro edac_pci_remove_sysfs is missing. Fix this by adding in the missing
> arguments and missing macro.
>
> Fixes: d4c1465b7de9 ("drivers/edac: fix edac_pci sysfs")
> Signed-off-by: Colin Ian King <colin.king@xxxxxxxxxxxxx>
> ---
> drivers/edac/edac_module.h | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/edac/edac_module.h b/drivers/edac/edac_module.h
> index aa1f91688eb8..ed194ba2c207 100644
> --- a/drivers/edac/edac_module.h
> +++ b/drivers/edac/edac_module.h
> @@ -123,8 +123,9 @@ extern void edac_pci_handle_npe(struct edac_pci_ctl_info *pci,
> #define edac_sysfs_pci_teardown()
> #define edac_pci_get_check_errors()
> #define edac_pci_get_poll_msec()
> -#define edac_pci_handle_pe()
> -#define edac_pci_handle_npe()
> +#define edac_pci_remove_sysfs(pci)
> +#define edac_pci_handle_pe(pci, msg)
> +#define edac_pci_handle_npe(pci, msg)

All drivers of those functions are guarded by CONFIG_PCI (all except
EDAC_MPC85XX by Kconfig dependency and for mpc85xx it is inline). Not
protected is only:

drivers/edac/edac_module.c: edac_pci_clear_parity_errors();
drivers/edac/edac_pci.c: edac_pci_remove_sysfs(pci);
drivers/edac/edac_pci.c: if (edac_pci_get_check_errors())
drivers/edac/edac_pci.c: msec = edac_pci_get_poll_msec();
drivers/edac/edac_pci.c: edac_queue_work(&pci->work, msecs_to_jiffies(edac_pci_get_poll_msec()));
drivers/edac/edac_pci.c: edac_pci_do_parity_check();

So instead of adding those stubs we should in fact remove the whole
!CONFIG_PCI part here, make edac_pci.c dependent on CONFIG_PCI too and
fix the use of edac_pci_clear_parity_errors() in modules.c which looks
wrong at this location anyway.

-Robert

> #endif /* CONFIG_PCI */
>
> #endif /* __EDAC_MODULE_H__ */
> --
> 2.31.1
>