Re: [PATCH v9 2/2] EDAC: al-mc-edac: Introduce Amazon's Annapurna Labs Memory Controller EDAC

From: Borislav Petkov
Date: Sun Aug 16 2020 - 07:23:46 EST


On Sun, Aug 16, 2020 at 12:17:31PM +0300, Shenhar, Talel wrote:
> Let me know what you think.

Well, devm_al_mc_edac_free() devm_al_mc_edac_del() look like useless
wrappers to me and can be removed and you can use edac_mc_del_mc() and
edac_mc_free() directly. But then you need to cast them in an ugly way
so that it builds:

ret = devm_add_action(&pdev->dev, (void (*)(void *data))edac_mc_free, mci);

I guess we can leave them as is and then lift them into the EDAC core if
someone else wants to do the same devm_* thing.

al_mc_edac_get_scrub_mode() doesn't need a prefix because it is used
only once and the compiler is simply inlining it so you can forget the
stack trace visibility:

$ readelf -s drivers/edac/al_mc_edac.ko | grep scrub
$

The others are fine, I guess, since they're function pointers and cannot be
inlined as such so you want them prefixed:

$ readelf -s drivers/edac/al_mc_edac.ko | grep al_mc_edac
23: 00000000 0 FILE LOCAL DEFAULT ABS al_mc_edac.c
25: 00000000 4 FUNC LOCAL DEFAULT 1 devm_al_mc_edac_free
27: 00000004 4 FUNC LOCAL DEFAULT 1 devm_al_mc_edac_del
31: 00000124 24 FUNC LOCAL DEFAULT 1 al_mc_edac_irq_handler_ce
35: 00000260 24 FUNC LOCAL DEFAULT 1 al_mc_edac_irq_handler_ue
36: 00000278 56 FUNC LOCAL DEFAULT 1 al_mc_edac_check
37: 000002b0 680 FUNC LOCAL DEFAULT 1 al_mc_edac_probe
47: 00000000 20 FUNC LOCAL DEFAULT 3 al_mc_edac_driver_init
51: 00000000 12 FUNC LOCAL DEFAULT 5 al_mc_edac_driver_exit
53: 00000000 392 OBJECT LOCAL DEFAULT 16 al_mc_edac_of_match
59: 00000000 104 OBJECT LOCAL DEFAULT 20 al_mc_edac_driver
61: 00000000 0 FILE LOCAL DEFAULT ABS al_mc_edac.mod.c
88: 00000000 392 OBJECT GLOBAL DEFAULT 16 __mod_of__al_mc_edac_of_m

Thx.

--
Regards/Gruss,
Boris.

https://people.kernel.org/tglx/notes-about-netiquette