diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-02-21 12:49:27 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-02-21 13:04:10 +0100 |
commit | 5c7dd5ac3ae20da352b953cf8bb55baadd1274e1 (patch) | |
tree | 9115c79cdf50c517cd41bbaba25eb42a3805feba /gnu/build | |
parent | 57a41bfb3c84d72f95269dde45446b1f2869c37e (diff) | |
download | guix-5c7dd5ac3ae20da352b953cf8bb55baadd1274e1.tar guix-5c7dd5ac3ae20da352b953cf8bb55baadd1274e1.tar.gz |
linux-modules: Use normalized module names for 'modprobe.blacklist'.
* gnu/build/linux-modules.scm (normalize-module-name): New procedure.
(file-name->module-name): Use it.
(module-black-list): Expound docstring.
Diffstat (limited to 'gnu/build')
-rw-r--r-- | gnu/build/linux-modules.scm | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index bbe1a74d85..d7feb3a080 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -96,10 +96,20 @@ contains module names, not actual file names." name (dot-ko name))) +(define (normalize-module-name module) + "Return the \"canonical\" name for MODULE, replacing hyphens with +underscores." + ;; See 'modname_normalize' in libkmod. + (string-map (lambda (chr) + (case chr + ((#\-) #\_) + (else chr))) + module)) + (define (file-name->module-name file) - "Return the module name corresponding to FILE, stripping the trailing '.ko', -etc." - (basename file ".ko")) + "Return the module name corresponding to FILE, stripping the trailing '.ko' +and normalizing it." + (normalize-module-name (basename file ".ko"))) (define* (recursive-module-dependencies files #:key (lookup-module dot-ko)) @@ -138,7 +148,9 @@ LOOKUP-MODULE to the module name." (define (module-black-list) "Return the black list of modules that must not be loaded. This black list is specified using 'modprobe.blacklist=MODULE1,MODULE2,...' on the kernel -command line; it is honored by libkmod." +command line; it is honored by libkmod for users that pass +'KMOD_PROBE_APPLY_BLACKLIST', which includes 'modprobe --use-blacklist' and +udev." (define parameter "modprobe.blacklist=") |