]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
kernel-modules: Fix storage module selection for sdhci/mmc/ahci
authorPeter Robinson <pbrobinson@gmail.com>
Fri, 23 May 2014 10:54:01 +0000 (11:54 +0100)
committerHarald Hoyer <harald@redhat.com>
Tue, 29 Jul 2014 10:00:29 +0000 (12:00 +0200)
Currently the block driver detection for generic initrd doesn't include
the SD/MMC drivers so we fail to boot generic images on any device using
those platforms as boot devices when using a generic initrd. Add logic
to detect those modules. This primarily fixes embedded ARM devices but
also likely intel tablets/dev boards and enterprise hypervisors that
have the ability to boot from SD.

Also the ahci_init_controller misses a number of drivers that use the
libahci_platform module for the init so this fixes some missing achi
moduless too.

Finally it cleans up the ARM storage module hacks that the above now
deals with in a more generic manner.

Signed-off-by: <pbrobinson@gmail.com>
(cherry picked from commit 827ec27a9c36755095dda899eff75cdae78b2120)

modules.d/90kernel-modules/module-setup.sh

index a7803d009a24823e2b47a2357505507e2c7c90ff..603a7a196782024aec0235af03b2f3ede4918656 100755 (executable)
@@ -5,7 +5,7 @@
 installkernel() {
     if [[ -z $drivers ]]; then
         block_module_filter() {
-            local _blockfuncs='ahci_init_controller|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect'
+            local _blockfuncs='ahci_platform_get_resources|ata_scsi_ioctl|scsi_add_host|blk_cleanup_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device|usb_stor_disconnect|mmc_add_host|sdhci_pltfm_init'
             # subfunctions inherit following FDs
             local _merge=8 _side2=9
             function bmf1() {
@@ -50,9 +50,7 @@ installkernel() {
 
         if [[ "$(uname -p)" == arm* ]]; then
             # arm specific modules
-            hostonly='' instmods sdhci_esdhc_imx mmci sdhci_tegra mvsdio omap omapdrm \
-                omap_hsmmc panel-tfp410 sdhci_dove ahci_platform pata_imx sata_mv \
-                ehci-tegra mmc_block usb_storage
+            hostonly='' instmods omapdrm panel-tfp410
         fi
 
         # install virtual machine support