]>
Commit | Line | Data |
---|---|---|
fb9e3ed2 | 1 | #!/bin/sh |
c34c6a69 | 2 | SATA_RCSID='$Revision$ $Date:: $' |
05c474b5 | 3 | |
fb9e3ed2 | 4 | # geninitrd mod: sata |
5 | ||
8b2e8710 ER |
6 | # setup geninitrd module |
7 | # @access public | |
8 | setup_mod_sata() { | |
13639229 ER |
9 | } |
10 | ||
11 | find_modules_sata() { | |
12 | debug "Finding SATA modules (class=0x0106)" | |
13 | ||
fb9e3ed2 | 14 | # Classes (we want only 0106) |
13639229 ER |
15 | # http://pci-ids.ucw.cz/read/PD/01 |
16 | # 0100 - SCSI | |
fb9e3ed2 | 17 | # 0101 - IDE/PATA |
18 | # 0106 - SATA/AHCI | |
19 | # 0107 - SAS | |
8b2e8710 ER |
20 | local m modules=$(find_modules_by_class 0106) |
21 | ||
944bba65 ER |
22 | # sort modules that ones who depend on libata are first |
23 | # this is best we could think of now :) | |
24 | local left right | |
8b2e8710 | 25 | for m in $modules; do |
944bba65 ER |
26 | if NEW_MODINFO=1 modinfo -k $kernel -F depends $m | grep -q libata; then |
27 | left="$left $m" | |
28 | else | |
29 | right="$right $m" | |
30 | fi | |
31 | done | |
32 | ||
33 | for m in $left $right; do | |
8b2e8710 ER |
34 | find_module $m |
35 | done | |
fb9e3ed2 | 36 | } |