/* Parse genpd OPP table */
        if (genpd->set_performance_state) {
                ret = dev_pm_opp_of_add_table(&genpd->dev);
-               if (ret) {
-                       if (ret != -EPROBE_DEFER)
-                               dev_err(&genpd->dev, "Failed to add OPP table: %d\n",
-                                       ret);
-                       return ret;
-               }
+               if (ret)
+                       return dev_err_probe(&genpd->dev, ret, "Failed to add OPP table\n");
 
                /*
                 * Save table for faster processing while setting performance
                if (genpd->set_performance_state) {
                        ret = dev_pm_opp_of_add_table_indexed(&genpd->dev, i);
                        if (ret) {
-                               if (ret != -EPROBE_DEFER)
-                                       dev_err(&genpd->dev, "Failed to add OPP table for index %d: %d\n",
-                                               i, ret);
+                               dev_err_probe(&genpd->dev, ret,
+                                             "Failed to add OPP table for index %d\n", i);
                                goto error;
                        }
 
        ret = genpd_add_device(pd, dev, base_dev);
        mutex_unlock(&gpd_list_lock);
 
-       if (ret < 0) {
-               if (ret != -EPROBE_DEFER)
-                       dev_err(dev, "failed to add to PM domain %s: %d",
-                               pd->name, ret);
-               return ret;
-       }
+       if (ret < 0)
+               return dev_err_probe(dev, ret, "failed to add to PM domain %s\n", pd->name);
 
        dev->pm_domain->detach = genpd_dev_pm_detach;
        dev->pm_domain->sync = genpd_dev_pm_sync;