Merge tag 'drm-for-v4.8' of git://people.freedesktop.org/~airlied/linux
[cascardo/linux.git] / drivers / video / fbdev / omap2 / omapfb / displays / panel-dsi-cm.c
index 3414c26..b58012b 100644 (file)
@@ -25,8 +25,7 @@
 #include <linux/of_device.h>
 #include <linux/of_gpio.h>
 
-#include <video/omapdss.h>
-#include <video/omap-panel-data.h>
+#include <video/omapfb_dss.h>
 #include <video/mipi_display.h>
 
 /* DSI Virtual channel. Hardcoded for now. */
@@ -1127,40 +1126,6 @@ static struct omap_dss_driver dsicm_ops = {
        .memory_read    = dsicm_memory_read,
 };
 
-static int dsicm_probe_pdata(struct platform_device *pdev)
-{
-       const struct panel_dsicm_platform_data *pdata;
-       struct panel_drv_data *ddata = platform_get_drvdata(pdev);
-       struct omap_dss_device *dssdev, *in;
-
-       pdata = dev_get_platdata(&pdev->dev);
-
-       in = omap_dss_find_output(pdata->source);
-       if (in == NULL) {
-               dev_err(&pdev->dev, "failed to find video source\n");
-               return -EPROBE_DEFER;
-       }
-       ddata->in = in;
-
-       ddata->reset_gpio = pdata->reset_gpio;
-
-       if (pdata->use_ext_te)
-               ddata->ext_te_gpio = pdata->ext_te_gpio;
-       else
-               ddata->ext_te_gpio = -1;
-
-       ddata->ulps_timeout = pdata->ulps_timeout;
-
-       ddata->use_dsi_backlight = pdata->use_dsi_backlight;
-
-       ddata->pin_config = pdata->pin_config;
-
-       dssdev = &ddata->dssdev;
-       dssdev->name = pdata->name;
-
-       return 0;
-}
-
 static int dsicm_probe_of(struct platform_device *pdev)
 {
        struct device_node *node = pdev->dev.of_node;
@@ -1207,6 +1172,9 @@ static int dsicm_probe(struct platform_device *pdev)
 
        dev_dbg(dev, "probe\n");
 
+       if (!pdev->dev.of_node)
+               return -ENODEV;
+
        ddata = devm_kzalloc(dev, sizeof(*ddata), GFP_KERNEL);
        if (!ddata)
                return -ENOMEM;
@@ -1214,17 +1182,9 @@ static int dsicm_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, ddata);
        ddata->pdev = pdev;
 
-       if (dev_get_platdata(dev)) {
-               r = dsicm_probe_pdata(pdev);
-               if (r)
-                       return r;
-       } else if (pdev->dev.of_node) {
-               r = dsicm_probe_of(pdev);
-               if (r)
-                       return r;
-       } else {
-               return -ENODEV;
-       }
+       r = dsicm_probe_of(pdev);
+       if (r)
+               return r;
 
        ddata->timings.x_res = 864;
        ddata->timings.y_res = 480;