]> git.pld-linux.org Git - projects/geninitrd.git/blobdiff - mod-sata.sh
sort modules that ones who depend on libata are first
[projects/geninitrd.git] / mod-sata.sh
index 1262e9d9f2cf86bb32abf38f8fb29cc47f6ca156..9727d54049a28447e3e396692add45ace21af554 100644 (file)
@@ -51,10 +51,18 @@ find_modules_sata() {
        # 0107 - SAS
        local m modules=$(find_modules_by_class 0106)
 
-       # FIXME: how to handle if multiple modules returned?
-       # i.e two modules can do same id
-       # currently we load all of them...
+       # sort modules that ones who depend on libata are first
+       # this is best we could think of now :)
+       local left right
        for m in $modules; do
+               if NEW_MODINFO=1 modinfo -k $kernel -F depends $m | grep -q libata; then
+                       left="$left $m"
+               else
+                       right="$right $m"
+               fi
+       done
+
+       for m in $left $right; do
                find_module $m
        done
 }
This page took 0.023584 seconds and 4 git commands to generate.