浏览代码

disp: msm: fix probe deferral logic

msm_drv should be probe deferred until rsc driver
probe is done. OF_POPULATED flag only checks if platform
driver is registered and hence additional condition to
check if driver is attached to this device, is needed.

Change-Id: I070965cc8d3ba3984032ad3704ec86066680eef0
Signed-off-by: Abhijit Kulkarni <[email protected]>
Abhijit Kulkarni 5 年之前
父节点
当前提交
802b5e31eb
共有 1 个文件被更改,包括 11 次插入4 次删除
  1. 11 4
      msm/msm_drv.c

+ 11 - 4
msm/msm_drv.c

@@ -1951,10 +1951,17 @@ static int msm_drm_component_dependency_check(struct device *dev)
 			break;
 
 		if (of_node_name_eq(node,"qcom,sde_rscc") &&
-		    of_device_is_available(node) &&
-		    !of_node_check_flag(node, OF_POPULATED)) {
-			dev_err(dev, "qcom,sde_rscc device not probed yet\n");
-			return -EPROBE_DEFER;
+				of_device_is_available(node) &&
+				of_node_check_flag(node, OF_POPULATED)) {
+			struct platform_device *pdev =
+					of_find_device_by_node(node);
+			if (!platform_get_drvdata(pdev)) {
+				dev_err(dev,
+					"qcom,sde_rscc not probed yet\n");
+				return -EPROBE_DEFER;
+			} else {
+				return 0;
+			}
 		}
 	}