]> git.pld-linux.org Git - projects/geninitrd.git/blame - mod-sata.sh
Don't run ldd on dynamic linker
[projects/geninitrd.git] / mod-sata.sh
CommitLineData
fb9e3ed2 1#!/bin/sh
c34c6a69 2SATA_RCSID='$Revision$ $Date:: $'
05c474b5 3
fb9e3ed2 4# geninitrd mod: sata
5
13639229
ER
6find_modules_sata() {
7 debug "Finding SATA modules (class=0x0106)"
8
fb9e3ed2 9 # Classes (we want only 0106)
13639229
ER
10 # http://pci-ids.ucw.cz/read/PD/01
11 # 0100 - SCSI
fb9e3ed2 12 # 0101 - IDE/PATA
13 # 0106 - SATA/AHCI
14 # 0107 - SAS
8b2e8710
ER
15 local m modules=$(find_modules_by_class 0106)
16
944bba65
ER
17 # sort modules that ones who depend on libata are first
18 # this is best we could think of now :)
19 local left right
8b2e8710 20 for m in $modules; do
944bba65
ER
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
8b2e8710
ER
29 find_module $m
30 done
fb9e3ed2 31}
This page took 0.080821 seconds and 4 git commands to generate.