[第二次修改:linux中有各个模块init函数放在init断中。最先init的设备(驱动最先被注册),睡眠唤醒的时候最后被suspend最先被resume。]
需求:dsi这边的驱动需要比我一个挂载在i2c上的设备晚.
也就是说.平台端要先初始化i2c从设备以后,再输出mipi信号.
平台:qcom 8930
做法
1.修改dsi
--- a/drivers/video/msm/mdss/mdss_dsi.c
+++ b/drivers/video/msm/mdss/mdss_dsi.c
@@ -3180,6 +3180,7 @@ static int mdss_dsi_ctrl_probe(struct platform_device *pdev)
static int te_irq_registered;
struct mdss_panel_data *pdata;
+// msleep(5000);
+// mdelay(5000);
+ printk("mdss ctrl probe sleep 5s\n");
if (!pdev || !pdev->dev.of_node) {
pr_err("%s: pdev not found for DSI controller\n", __func__);
return -ENODEV;
@@ -4357,6 +4358,7 @@ static int __init mdss_dsi_driver_init(void)
return ret;
}
module_init(mdss_dsi_driver_init);
+//late_initcall(mdss_dsi_driver_init);