summaryrefslogtreecommitdiffstats
path: root/drivers/edac/amd64_edac.h
diff options
context:
space:
mode:
authorYazen Ghannam <yazen.ghannam@amd.com>2023-01-27 17:04:08 +0000
committerBorislav Petkov (AMD) <bp@alien8.de>2023-03-24 13:03:20 +0100
commit9a97a7f4d7b26cb61cdbb328b9d8982d94c99170 (patch)
tree5454703433a126ce0d5cf8082155b7352543ee0e /drivers/edac/amd64_edac.h
parented623d55eef46d0ca7557b9665b4693931bfb507 (diff)
downloadlinux-stable-9a97a7f4d7b26cb61cdbb328b9d8982d94c99170.tar.gz
linux-stable-9a97a7f4d7b26cb61cdbb328b9d8982d94c99170.tar.bz2
linux-stable-9a97a7f4d7b26cb61cdbb328b9d8982d94c99170.zip
EDAC/amd64: Rework hw_info_{get,put}
The bulk of system-specific information is gathered at init time with hw_info_get(). This function calls a number of helper functions, and many of these helper functions are split between a modern UMC/DF path and a legacy DCT path. Split hw_info_get() into legacy and modern versions. This creates two separate code paths early on, and legacy and modern helper functions can be called directly in the appropriate code path. Also, simplify hw_info_put() and share it between legacy and modern systems. NULL pointer checks are done in pci_dev_put() and kfree(), so they can be called unconditionally. Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com> Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de> Link: https://lore.kernel.org/r/20230127170419.1824692-12-yazen.ghannam@amd.com
Diffstat (limited to 'drivers/edac/amd64_edac.h')
-rw-r--r--drivers/edac/amd64_edac.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/edac/amd64_edac.h b/drivers/edac/amd64_edac.h
index 8eea15546b9f..00b3f32e3cbb 100644
--- a/drivers/edac/amd64_edac.h
+++ b/drivers/edac/amd64_edac.h
@@ -466,6 +466,7 @@ struct low_ops {
struct err_info *err);
int (*dbam_to_cs)(struct amd64_pvt *pvt, u8 dct,
unsigned int cs_mode, int cs_mask_nr);
+ int (*hw_info_get)(struct amd64_pvt *pvt);
};
int __amd64_read_pci_cfg_dword(struct pci_dev *pdev, int offset,