OMAPDSS: DPI: Store dpi_data pointer in the DT port's data
[firefly-linux-kernel-4.4.55.git] / drivers / video / fbdev / omap2 / dss / dss.c
index 8a4a6d2d1edfa94c7cd3b337160baaab990a4334..391a6da55e8df4207d14e6b62e0f1a7e32b2077f 100644 (file)
@@ -822,8 +822,18 @@ static int __init dss_init_ports(struct platform_device *pdev)
 
 static void __exit dss_uninit_ports(struct platform_device *pdev)
 {
+       struct device_node *parent = pdev->dev.of_node;
+       struct device_node *port;
+
+       if (parent == NULL)
+               return;
+
+       port = omapdss_of_get_next_port(parent, NULL);
+       if (!port)
+               return;
+
 #ifdef CONFIG_OMAP2_DSS_DPI
-       dpi_uninit_port(pdev);
+       dpi_uninit_port(port);
 #endif
 
 #ifdef CONFIG_OMAP2_DSS_SDI