]> git.pld-linux.org Git - projects/geninitrd.git/blame - mod-sata.sh
USB keyboard modules finding and loading at initrd level.
[projects/geninitrd.git] / mod-sata.sh
CommitLineData
fb9e3ed2 1#!/bin/sh
c34c6a69 2SATA_RCSID='$Revision$ $Date:: $'
05c474b5 3
fb9e3ed2 4# geninitrd mod: sata
5
8b2e8710
ER
6# setup geninitrd module
7# @access public
8setup_mod_sata() {
13639229
ER
9}
10
11find_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}
This page took 0.103981 seconds and 4 git commands to generate.