[PATCH] Rework drm/kernel modules selection on ARM

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a wip version as plymouth still doesn't work for me.
(Testing tegra on Toshiba AC100/Trimslice)
This should avoid to recreate an image for rootfs on sata with Wandboard
WIP for fixing rtc during early boot

v2 - Merged patch for kernel-modules for ahci_imx
   - Use "=drivers/ata" to select all ATA drivers
   - Install rtc drivers on ARM - initially reported as rhbz#1074002
    (WIP) need to install hwclock and sync time beforce network time sync
   - Use case in for drm on ARM when modalias is handled by
    a different module than the KMS one
   - Add backlight and pwm to the bundle for drm
   - Fix unbalanced parenthesis
---
 modules.d/50drm/module-setup.sh            | 12 ++++++++++--
 modules.d/90kernel-modules/module-setup.sh |  7 ++++---
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/modules.d/50drm/module-setup.sh b/modules.d/50drm/module-setup.sh
index e25fc9f..2f5b75c 100755
--- a/modules.d/50drm/module-setup.sh
+++ b/modules.d/50drm/module-setup.sh
@@ -51,14 +51,22 @@ installkernel() {
         return 0
     }
 
+    # Some modules don't have drm_crtc_init but modalias needed by hostonly detection
+    local _drm_needed=$(find_kernel_modules_by_path drivers/gpu/{host1x,drm/{i2c,panel}})
+
+    local _video_backlight=$(find_kernel_modules_by_path drivers/{pwm,video/backlight})
+
     for _modname in $(find_kernel_modules_by_path drivers/gpu/drm \
-        | drm_module_filter) ; do
+        | drm_module_filter) $_drm_needed $_video_backlight ; do
         # if the hardware is present, include module even if it is not currently loaded,
         # as we could e.g. be in the installer; nokmsboot boot parameter will disable
         # loading of the driver if needed
         if [[ $hostonly ]] && modinfo -F alias $_modname | sed -e 's,\?,\.,g' -e 's,\*,\.\*,g' \
-            | grep -qxf - /sys/bus/pci/devices/*/modalias 2>/dev/null; then
+            | grep -qxf - /sys/bus/{pci/devices,soc/devices/soc?}/*/modalias 2>/dev/null; then
             hostonly='' instmods $_modname
+            case "$_modname" in
+                 host1x) hostonly='' instmods tegra-drm ;;
+            esac
             continue
         fi
         instmods $_modname
diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
index 2378663..0299ec1 100755
--- a/modules.d/90kernel-modules/module-setup.sh
+++ b/modules.d/90kernel-modules/module-setup.sh
@@ -51,9 +51,10 @@ 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 sdhci_esdhc_imx mmci sdhci_tegra mvsdio \
+                omap_hsmmc sdhci_dove ahci_platform ahci_imx ahci_sunxi sata_mv \
+                ehci-tegra mmc_block usb_storage \
+                "=drivers/ata" "=drivers/rtc" "=drivers/mmc/host"
         fi
 
         # install virtual machine support
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux