]> git.pld-linux.org Git - projects/geninitrd.git/blob - mod-sata.sh
7cbff992553bbf32cc2fa5ba40f7dd975ba97a65
[projects/geninitrd.git] / mod-sata.sh
1 #!/bin/sh
2 SATA_RCSID='$Revision$ $Date::                            $'
3
4 # geninitrd mod: sata
5
6 find_modules_sata() {
7         verbose "Finding SATA modules (class=0x0106)"
8
9         # Classes (we want only 0106)
10         # http://pci-ids.ucw.cz/read/PD/01
11         # 0100 - SCSI
12         # 0101 - IDE/PATA
13         # 0106 - SATA/AHCI
14         # 0107 - SAS
15         local m modules=$(find_modules_by_class 0106)
16
17         # sort modules that ones who depend on libata are first
18         # this is best we could think of now :)
19         local left right
20         for m in $modules; do
21                 if NEW_MODINFO=1 modinfo -k $kernel -F depends $m | grep -q libata; then
22                         left="$left $m"
23                 else
24                         right="$right $m"
25                 fi
26         done
27
28         for m in $left $right; do
29                 find_module $m
30         done
31 }
This page took 0.043938 seconds and 2 git commands to generate.