git: 14f0497aa49b - stable/13 - loader: Add more bus name to pnpautoload
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 14 Jan 2022 13:42:09 UTC
The branch stable/13 has been updated by manu: URL: https://cgit.FreeBSD.org/src/commit/?id=14f0497aa49b1cee48407ba77a9c67e117ec8562 commit 14f0497aa49b1cee48407ba77a9c67e117ec8562 Author: Emmanuel Vadot <manu@FreeBSD.org> AuthorDate: 2021-11-14 14:32:00 +0000 Commit: Emmanuel Vadot <manu@FreeBSD.org> CommitDate: 2022-01-14 13:38:07 +0000 loader: Add more bus name to pnpautoload Add ofwbus, iicbus and spibus to pnpautoload so modules under those buses will be loaded. On my rockpro64 now : OK pnpautoload -v Autoloading modules for simplebus Using DTB provided by EFI at 0x8100000. Autoloading modules for ofwbus /boot/kernel/rk_spi.ko text=0x14b2 text=0xd4c data=0x4d0+0x8 syms=[0x8+0xa98+0x8+0x807] /boot/kernel/dwwdt.ko text=0x12e2 text=0x78c data=0x4c8+0x10 syms=[0x8+0x990+0x8+0x6e1] Autoloading modules for iicbus Autoloading modules for spibus /boot/kernel/mx25l.ko text=0x1613 text=0x114c data=0x6e8+0x8 syms=[0x8+0xa08+0x8+0x665] loading required module 'fdt_slicer' /boot/kernel/fdt_slicer.ko text=0x95e text=0x340 data=0x290 syms=[0x8+0x6c0+0x8+0x4a0] (cherry picked from commit 4c0c353d0e48d06f82cae16aba02e5923794ba98) --- stand/common/module.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/stand/common/module.c b/stand/common/module.c index e6567c735f36..f28771396af0 100644 --- a/stand/common/module.c +++ b/stand/common/module.c @@ -446,7 +446,7 @@ command_pnpload(int argc, char *argv[]) #if defined(LOADER_FDT_SUPPORT) static void -pnpautoload_simplebus(void) { +pnpautoload_fdt_bus(const char *busname) { const char *pnpstring; const char *compatstr; char *pnpinfo = NULL; @@ -464,7 +464,7 @@ pnpautoload_simplebus(void) { pnplen += strlen(compatstr) + 1; asprintf(&pnpinfo, "compat=%s", compatstr); - module = mod_searchmodule_pnpinfo("simplebus", pnpinfo); + module = mod_searchmodule_pnpinfo(busname, pnpinfo); if (module) { error = mod_loadkld(module, 0, NULL); if (error) @@ -480,12 +480,15 @@ pnpautoload_simplebus(void) { struct pnp_bus { const char *name; - void (*load)(void); + void (*load)(const char *busname); }; struct pnp_bus pnp_buses[] = { #if defined(LOADER_FDT_SUPPORT) - {"simplebus", pnpautoload_simplebus}, + {"simplebus", pnpautoload_fdt_bus}, + {"ofwbus", pnpautoload_fdt_bus}, + {"iicbus", pnpautoload_fdt_bus}, + {"spibus", pnpautoload_fdt_bus}, #endif }; @@ -528,8 +531,8 @@ command_pnpautoload(int argc, char *argv[]) continue; } if (verbose) - printf("Autoloading modules for simplebus\n"); - pnp_buses[i].load(); + printf("Autoloading modules for %s\n", pnp_buses[i].name); + pnp_buses[i].load(pnp_buses[i].name); match = 1; } if (match == 0)