priv->max_arr = ddata->max_arr;
 
        if (!priv->regmap || !priv->clk)
-               return -EINVAL;
+               return dev_err_probe(dev, -EINVAL, "Failed to get %s\n",
+                                    priv->regmap ? "clk" : "regmap");
 
        ret = stm32_pwm_probe_breakinputs(priv, np);
        if (ret)
-               return ret;
+               return dev_err_probe(dev, ret,
+                                    "Failed to configure breakinputs\n");
 
        stm32_pwm_detect_complementary(priv);
 
 
        ret = devm_pwmchip_add(dev, chip);
        if (ret < 0)
-               return ret;
+               return dev_err_probe(dev, ret,
+                                    "Failed to register pwmchip\n");
 
        platform_set_drvdata(pdev, chip);