From: Denys Dmytriyenko <[email protected]>

Make probing of "platform" bus conditional based on PROBE_PLATFORM_BUS
variable from /etc/default/udev-cache on subsequent boots when udev
cache is used. PROBE_PLATFORM_BUS has to be set to "yes" in order to
force probing on every boot, otherwise it uses the old default behaviour
of probing it just the first time.

This is helpful on modern SoCs where most of the low level peripheral
drivers are registered on the platform bus and need to be probed to load
the necessary modules and enable the connected buses and subsystems.

Signed-off-by: Denys Dmytriyenko <[email protected]>
Signed-off-by: Richard Purdie <[email protected]>

[Backport from OE-Core/master 70a695735e0a7d14448f2f5a9986bfe105210a91]
Signed-off-by: Denys Dmytriyenko <[email protected]>
---
 meta/recipes-core/udev/udev/init | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-core/udev/udev/init b/meta/recipes-core/udev/udev/init
index 410a650..f2c84d5 100644
--- a/meta/recipes-core/udev/udev/init
+++ b/meta/recipes-core/udev/udev/init
@@ -102,7 +102,12 @@ case "$1" in
 
     udevadm control --env=STARTUP=1
     if [ "$not_first_boot" != "" ];then
-            udevadm trigger --action=add --subsystem-nomatch=tty 
--subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole 
--subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus  
--subsystem-nomatch=graphics       --subsystem-nomatch=backlight 
--subsystem-nomatch=video4linux  --subsystem-nomatch=platform
+            if [ "$PROBE_PLATFORM_BUS" != "yes" ]; then
+                PLATFORM_BUS_NOMATCH="--subsystem-nomatch=platform"
+            else
+                PLATFORM_BUS_NOMATCH=""
+            fi
+            udevadm trigger --action=add --subsystem-nomatch=tty 
--subsystem-nomatch=mem --subsystem-nomatch=vc --subsystem-nomatch=vtconsole 
--subsystem-nomatch=misc --subsystem-nomatch=dcon --subsystem-nomatch=pci_bus 
--subsystem-nomatch=graphics --subsystem-nomatch=backlight 
--subsystem-nomatch=video4linux $PLATFORM_BUS_NOMATCH
             (udevadm settle --timeout=3; udevadm control --env=STARTUP=)&
     else
             udevadm trigger --action=add
-- 
2.0.0

-- 
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to