summaryrefslogtreecommitdiffstats
path: root/0001-Rework-drm-modules-selection-on-ARM.patch
diff options
context:
space:
mode:
Diffstat (limited to '0001-Rework-drm-modules-selection-on-ARM.patch')
-rw-r--r--0001-Rework-drm-modules-selection-on-ARM.patch69
1 files changed, 69 insertions, 0 deletions
diff --git a/0001-Rework-drm-modules-selection-on-ARM.patch b/0001-Rework-drm-modules-selection-on-ARM.patch
new file mode 100644
index 0000000..e980260
--- /dev/null
+++ b/0001-Rework-drm-modules-selection-on-ARM.patch
@@ -0,0 +1,69 @@
+From c0e6d42cd67679d530182ca4b24f83deadaf4d7c Mon Sep 17 00:00:00 2001
+From: Nicolas Chauvet <kwizart@gmail.com>
+Date: Sat, 23 Nov 2013 19:13:29 +0100
+Subject: [PATCH] Rework drm modules selection on ARM
+
+This is a wip version as plymouth still doesn't work for me
+
+1/ On arm, aliases use a different path (soc)
+2/ host1x has the matching device aliases
+ whereas tegra_drm has the crt_init symbol
+3/ Others ARM drivers may behave similarly
+4/ backlight and pwm_bl also need to be bundled.
+
+I'm currenly testing with fedora kernel 3.14 or 3.15
+---
+ 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
+