高通的DRM图形显示框架没有devm_mipi_dsi_attach怎么办
时间: 2023-07-29 12:09:07 浏览: 304
如果高通的DRM图形显示框架没有提供`devm_mipi_dsi_attach()`方法,您可以尝试使用`mipi_dsi_attach()`方法来连接MIPI DSI设备。`mipi_dsi_attach()`方法的原型如下:
```
int mipi_dsi_attach(struct mipi_dsi_device *dsi);
```
您需要传递一个指向`struct mipi_dsi_device`结构体的指针作为参数,该结构体包含了有关MIPI DSI设备的详细信息。在使用`mipi_dsi_attach()`方法之前,您需要确保已经成功地注册了MIPI DSI设备。
如果您需要在设备驱动程序中使用`devm_mipi_dsi_attach()`方法,您可以尝试编写一个包装函数,该函数将使用`mipi_dsi_attach()`方法来连接MIPI DSI设备,并通过`devm_add_action()`方法在设备释放时自动解除连接。以下是一个简单的示例:
```
static int my_driver_probe(struct platform_device *pdev)
{
struct mipi_dsi_device *dsi;
/* Get a pointer to the MIPI DSI device */
dsi = dev_get_drvdata(pdev->dev.parent);
/* Attach the MIPI DSI device */
if (mipi_dsi_attach(dsi) < 0) {
dev_err(&pdev->dev, "Failed to attach MIPI DSI device\n");
return -EINVAL;
}
/* Register an action to detach the MIPI DSI device */
devm_add_action(&pdev->dev, my_driver_detach, dsi);
/* ... */
return 0;
}
static void my_driver_detach(void *data)
{
struct mipi_dsi_device *dsi = data;
/* Detach the MIPI DSI device */
mipi_dsi_detach(dsi);
/* ... */
}
```
请注意,这只是一个简单的示例,并且可能需要根据您的具体情况进行修改。
阅读全文