These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / drivers / gpu / drm / msm / edp / edp_ctrl.c
index 29e52d7..81200e9 100644 (file)
@@ -373,7 +373,7 @@ static int edp_gpio_config(struct edp_ctrl *ctrl)
        struct device *dev = &ctrl->pdev->dev;
        int ret;
 
-       ctrl->panel_hpd_gpio = devm_gpiod_get(dev, "panel-hpd");
+       ctrl->panel_hpd_gpio = devm_gpiod_get(dev, "panel-hpd", GPIOD_IN);
        if (IS_ERR(ctrl->panel_hpd_gpio)) {
                ret = PTR_ERR(ctrl->panel_hpd_gpio);
                ctrl->panel_hpd_gpio = NULL;
@@ -381,13 +381,7 @@ static int edp_gpio_config(struct edp_ctrl *ctrl)
                return ret;
        }
 
-       ret = gpiod_direction_input(ctrl->panel_hpd_gpio);
-       if (ret) {
-               pr_err("%s: Set direction for hpd failed, %d\n", __func__, ret);
-               return ret;
-       }
-
-       ctrl->panel_en_gpio = devm_gpiod_get(dev, "panel-en");
+       ctrl->panel_en_gpio = devm_gpiod_get(dev, "panel-en", GPIOD_OUT_LOW);
        if (IS_ERR(ctrl->panel_en_gpio)) {
                ret = PTR_ERR(ctrl->panel_en_gpio);
                ctrl->panel_en_gpio = NULL;
@@ -395,13 +389,6 @@ static int edp_gpio_config(struct edp_ctrl *ctrl)
                return ret;
        }
 
-       ret = gpiod_direction_output(ctrl->panel_en_gpio, 0);
-       if (ret) {
-               pr_err("%s: Set direction for panel_en failed, %d\n",
-                               __func__, ret);
-               return ret;
-       }
-
        DBG("gpio on");
 
        return 0;
@@ -1018,7 +1005,7 @@ static void edp_ctrl_off_worker(struct work_struct *work)
 {
        struct edp_ctrl *ctrl = container_of(
                                work, struct edp_ctrl, off_work);
-       int ret;
+       unsigned long time_left;
 
        mutex_lock(&ctrl->dev_mutex);
 
@@ -1030,11 +1017,10 @@ static void edp_ctrl_off_worker(struct work_struct *work)
        reinit_completion(&ctrl->idle_comp);
        edp_state_ctrl(ctrl, EDP_STATE_CTRL_PUSH_IDLE);
 
-       ret = wait_for_completion_timeout(&ctrl->idle_comp,
+       time_left = wait_for_completion_timeout(&ctrl->idle_comp,
                                                msecs_to_jiffies(500));
-       if (ret <= 0)
-               DBG("%s: idle pattern timedout, %d\n",
-                               __func__, ret);
+       if (!time_left)
+               DBG("%s: idle pattern timedout\n", __func__);
 
        edp_state_ctrl(ctrl, 0);