mirror of
https://git.proxmox.com/git/mirror_ubuntu-kernels.git
synced 2025-11-24 23:44:13 +00:00
amd_cache_northbridges() is exported by amd_nb.c and is called by amd64-agp.c and amd64_edac.c modules at module_init() time so that NB descriptors are properly cached before those drivers can use them. However, the init_amd_nbs() initcall already does call amd_cache_northbridges() unconditionally and thus makes sure the NB descriptors are enumerated. That initcall is a fs_initcall type which is on the 5th group (starting from 0) of initcalls that gets run in increasing numerical order by the init code. The module_init() call is turned into an __initcall() in the MODULE=n case and those are device-level initcalls, i.e., group 6. Therefore, the northbridges caching is already finished by the time module initialization starts and thus the correct initialization order is retained. Unexport amd_cache_northbridges(), update dependent modules to call amd_nb_num() instead. While at it, simplify the checks in amd_cache_northbridges(). [ bp: Heavily massage and *actually* explain why the change is ok. ] Signed-off-by: Muralidhara M K <muralimk@amd.com> Signed-off-by: Naveen Krishna Chatradhi <nchatrad@amd.com> Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lore.kernel.org/r/20220324122729.221765-1-nchatrad@amd.com |
||
|---|---|---|
| .. | ||
| agp.h | ||
| ali-agp.c | ||
| alpha-agp.c | ||
| amd64-agp.c | ||
| amd-k7-agp.c | ||
| ati-agp.c | ||
| backend.c | ||
| compat_ioctl.c | ||
| compat_ioctl.h | ||
| efficeon-agp.c | ||
| frontend.c | ||
| generic.c | ||
| hp-agp.c | ||
| i460-agp.c | ||
| intel-agp.c | ||
| intel-agp.h | ||
| intel-gtt.c | ||
| isoch.c | ||
| Kconfig | ||
| Makefile | ||
| nvidia-agp.c | ||
| parisc-agp.c | ||
| sis-agp.c | ||
| sworks-agp.c | ||
| uninorth-agp.c | ||
| via-agp.c | ||