net/mlx4_en: Choose time-stamping shift value according to HW frequency
[firefly-linux-kernel-4.4.55.git] / drivers / base / platform.c
index 1dd6d3bf109834b453002a251b584c2880bb1c06..176b59f5bc4717925e174ce18d794470cf58b91e 100644 (file)
@@ -513,10 +513,15 @@ static int platform_drv_probe(struct device *_dev)
                return ret;
 
        ret = dev_pm_domain_attach(_dev, true);
-       if (ret != -EPROBE_DEFER && drv->probe) {
-               ret = drv->probe(dev);
-               if (ret)
-                       dev_pm_domain_detach(_dev, true);
+       if (ret != -EPROBE_DEFER) {
+               if (drv->probe) {
+                       ret = drv->probe(dev);
+                       if (ret)
+                               dev_pm_domain_detach(_dev, true);
+               } else {
+                       /* don't fail if just dev_pm_domain_attach failed */
+                       ret = 0;
+               }
        }
 
        if (drv->prevent_deferred_probe && ret == -EPROBE_DEFER) {