On Friday, August 19, 2022 12:30 PM, Borislav Petkov wrote: > > This flag is a static variable, say ghes_present, which is set to > > false initially. ghes_probe() sets it to true. ghes_edac_preferred() > > (aka. ghes_get_device) checks this flag at beginning and returns false > > if this flag is false. It does not get unlatched since ACPI GHES table > > is static. > > What is that flag needed for at all? Because ghes_get_device() always returns &ghes_devs on Arm, which is !NULL. It does not check if GHES is present. > There are two possibilities: > > 1. ghes_probe() succeeds. ghes_edac loads properly and other drivers use > ghes_get_devices() to know when to load. > > 2. ghes_probe() fails and that is caught during platform testing of all > those platforms who wish to use ghes_edac. BIOS is fixed and goto 1. > > No need for funky flags whatsoever. 3. ghes_probe() is not called, but ghes_get_device() is called from other edac drivers. Toshi