a56a5e
From 9c45cb9c117505191f2678e25edac481ff6da9f2 Mon Sep 17 00:00:00 2001
a56a5e
From: Peter Robinson <pbrobinson@gmail.com>
a56a5e
Date: Fri, 23 May 2014 11:54:01 +0100
a56a5e
Subject: [PATCH] kernel-modules: Fix storage module selection for
a56a5e
 sdhci/mmc/ahci
a56a5e
a56a5e
Currently the block driver detection for generic initrd doesn't include
a56a5e
the SD/MMC drivers so we fail to boot generic images on any device using
a56a5e
those platforms as boot devices when using a generic initrd. Add logic
a56a5e
to detect those modules. This primarily fixes embedded ARM devices but
a56a5e
also likely intel tablets/dev boards and enterprise hypervisors that
a56a5e
have the ability to boot from SD.
a56a5e
a56a5e
Also the ahci_init_controller misses a number of drivers that use the
a56a5e
libahci_platform module for the init so this fixes some missing achi
a56a5e
moduless too.
a56a5e
a56a5e
Finally it cleans up the ARM storage module hacks that the above now
a56a5e
deals with in a more generic manner.
a56a5e
a56a5e
Signed-off-by: <pbrobinson@gmail.com>
a56a5e
(cherry picked from commit 827ec27a9c36755095dda899eff75cdae78b2120)
a56a5e
---
a56a5e
 modules.d/90kernel-modules/module-setup.sh | 6 ++----
a56a5e
 1 file changed, 2 insertions(+), 4 deletions(-)
a56a5e
a56a5e
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
1755ca
index a7803d00..603a7a19 100755
a56a5e
--- a/modules.d/90kernel-modules/module-setup.sh
a56a5e
+++ b/modules.d/90kernel-modules/module-setup.sh
a56a5e
@@ -5,7 +5,7 @@
a56a5e
 installkernel() {
a56a5e
     if [[ -z $drivers ]]; then
a56a5e
         block_module_filter() {
a56a5e
-            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'
a56a5e
+            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'
a56a5e
             # subfunctions inherit following FDs
a56a5e
             local _merge=8 _side2=9
a56a5e
             function bmf1() {
a56a5e
@@ -50,9 +50,7 @@ installkernel() {
a56a5e
 
a56a5e
         if [[ "$(uname -p)" == arm* ]]; then
a56a5e
             # arm specific modules
a56a5e
-            hostonly='' instmods sdhci_esdhc_imx mmci sdhci_tegra mvsdio omap omapdrm \
a56a5e
-                omap_hsmmc panel-tfp410 sdhci_dove ahci_platform pata_imx sata_mv \
a56a5e
-                ehci-tegra mmc_block usb_storage
a56a5e
+            hostonly='' instmods omapdrm panel-tfp410
a56a5e
         fi
a56a5e
 
a56a5e
         # install virtual machine support