staging: drm/imx: Add pinctrl support to parallel display driver
authorSascha Hauer <s.hauer@pengutronix.de>
Mon, 12 Nov 2012 15:29:03 +0000 (16:29 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 13 Nov 2012 23:07:33 +0000 (15:07 -0800)
To allow the iomux to be configured for the display.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/imx-drm/parallel-display.c

index 9b51d73..324283c 100644 (file)
@@ -23,6 +23,7 @@
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_crtc_helper.h>
 #include <linux/videodev2.h>
+#include <linux/pinctrl/consumer.h>
 
 #include "imx-drm.h"
 
@@ -195,11 +196,20 @@ static int __devinit imx_pd_probe(struct platform_device *pdev)
        struct imx_parallel_display *imxpd;
        int ret;
        const char *fmt;
+       struct pinctrl *pinctrl;
 
        imxpd = devm_kzalloc(&pdev->dev, sizeof(*imxpd), GFP_KERNEL);
        if (!imxpd)
                return -ENOMEM;
 
+       pinctrl = devm_pinctrl_get_select_default(&pdev->dev);
+       if (IS_ERR(pinctrl)) {
+               ret = PTR_ERR(pinctrl);
+               dev_warn(&pdev->dev, "pinctrl_get_select_default failed with %d",
+                               ret);
+               return ret;
+       }
+
        edidp = of_get_property(np, "edid", &imxpd->edid_len);
        if (edidp)
                imxpd->edid = kmemdup(edidp, imxpd->edid_len, GFP_KERNEL);