Merge tag 'drm-intel-next-fixes-2021-04-30' of git://anongit.freedesktop.org/drm...
[linux-2.6-microblaze.git] / drivers / base / component.c
index c7879f5..dcfbe72 100644 (file)
@@ -256,7 +256,8 @@ static int try_to_bring_up_master(struct master *master,
        ret = master->ops->bind(master->dev);
        if (ret < 0) {
                devres_release_group(master->dev, NULL);
-               dev_info(master->dev, "master bind failed: %d\n", ret);
+               if (ret != -EPROBE_DEFER)
+                       dev_info(master->dev, "master bind failed: %d\n", ret);
                return ret;
        }
 
@@ -528,7 +529,8 @@ static void component_unbind(struct component *component,
 {
        WARN_ON(!component->bound);
 
-       component->ops->unbind(component->dev, master->dev, data);
+       if (component->ops && component->ops->unbind)
+               component->ops->unbind(component->dev, master->dev, data);
        component->bound = false;
 
        /* Release all resources claimed in the binding of this component */
@@ -610,8 +612,9 @@ static int component_bind(struct component *component, struct master *master,
                devres_release_group(component->dev, NULL);
                devres_release_group(master->dev, NULL);
 
-               dev_err(master->dev, "failed to bind %s (ops %ps): %d\n",
-                       dev_name(component->dev), component->ops, ret);
+               if (ret != -EPROBE_DEFER)
+                       dev_err(master->dev, "failed to bind %s (ops %ps): %d\n",
+                               dev_name(component->dev), component->ops, ret);
        }
 
        return ret;