From 1458de27e0a698d9409ea434f70ff301f1d2b506 Mon Sep 17 00:00:00 2001
From: Esben Haabendal <esben@geanix.com>
Date: Tue, 14 Mar 2023 08:30:04 +0100
Subject: [PATCH] openharmony-standard: Wait for /dev/dri/card0 to be ready

The services relying on the /dev/dri/card0 should not be started before the
device have been created.

Signed-off-by: Esben Haabendal <esben@geanix.com>
---
 recipes-openharmony/openharmony/files/40-drm.rules       | 2 +-
 recipes-openharmony/openharmony/files/appspawn.service   | 2 ++
 recipes-openharmony/openharmony/files/foundation.service | 2 ++
 recipes-openharmony/openharmony/files/weston.service     | 2 ++
 4 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/recipes-openharmony/openharmony/files/40-drm.rules b/recipes-openharmony/openharmony/files/40-drm.rules
index c7a0db8a..42bf2567 100644
--- a/recipes-openharmony/openharmony/files/40-drm.rules
+++ b/recipes-openharmony/openharmony/files/40-drm.rules
@@ -1 +1 @@
-ACTION=="add", SUBSYSTEM=="drm", KERNEL=="card0", MODE="0666"
+ACTION=="add", SUBSYSTEM=="drm", KERNEL=="card0", TAG+="systemd", MODE="0666"
diff --git a/recipes-openharmony/openharmony/files/appspawn.service b/recipes-openharmony/openharmony/files/appspawn.service
index 7fc1180e..52264e47 100644
--- a/recipes-openharmony/openharmony/files/appspawn.service
+++ b/recipes-openharmony/openharmony/files/appspawn.service
@@ -7,6 +7,8 @@ After=param.service
 # Logging to hilogd, but seems to work without it
 Wants=hilogd.service
 After=hilogd.service
+Requires=dev-dri-card0.device
+After=dev-dri-card0.device
 
 [Service]
 Type=notify
diff --git a/recipes-openharmony/openharmony/files/foundation.service b/recipes-openharmony/openharmony/files/foundation.service
index 6231a301..f2d255e1 100644
--- a/recipes-openharmony/openharmony/files/foundation.service
+++ b/recipes-openharmony/openharmony/files/foundation.service
@@ -16,6 +16,8 @@ Wants=huks.service
 # Requires SA: 1301
 Wants=distributed_data.service
 # Requires SA: 3202 5001 -- but from where?
+Requires=dev-dri-card0.device
+After=dev-dri-card0.device
 
 [Service]
 Type=notify
diff --git a/recipes-openharmony/openharmony/files/weston.service b/recipes-openharmony/openharmony/files/weston.service
index 6bdf7255..43b46adf 100644
--- a/recipes-openharmony/openharmony/files/weston.service
+++ b/recipes-openharmony/openharmony/files/weston.service
@@ -6,6 +6,8 @@ Wants=hilogd.service
 After=hilogd.service
 Wants=openharmony-preinit.service
 After=openharmony-preinit.service
+Requires=dev-dri-card0.device
+After=dev-dri-card0.device
 
 [Service]
 Type=exec
-- 
GitLab