Merge tag 'nfs-rdma-for-4.0-3' of git://git.linux-nfs.org/projects/anna/nfs-rdma
[firefly-linux-kernel-4.4.55.git] / drivers / gpu / drm / rcar-du / rcar_du_kms.c
index 0c5ee616b5a3aabd12234ee7f208dc277a99d73f..cc9136e8ee9cd2f73c65850215fad60a584358ee 100644 (file)
@@ -346,8 +346,14 @@ static int rcar_du_encoders_init(struct rcar_du_device *rcdu)
                /* Process the output pipeline. */
                ret = rcar_du_encoders_init_one(rcdu, output, &ep);
                if (ret < 0) {
-                       of_node_put(ep_node);
-                       return ret;
+                       if (ret == -EPROBE_DEFER) {
+                               of_node_put(ep_node);
+                               return ret;
+                       }
+
+                       dev_info(rcdu->dev,
+                                "encoder initialization failed, skipping\n");
+                       continue;
                }
 
                num_encoders += ret;
@@ -413,6 +419,11 @@ int rcar_du_modeset_init(struct rcar_du_device *rcdu)
        if (ret < 0)
                return ret;
 
+       if (ret == 0) {
+               dev_err(rcdu->dev, "error: no encoder could be initialized\n");
+               return -EINVAL;
+       }
+
        num_encoders = ret;
 
        /* Set the possible CRTCs and possible clones. There's always at least