diff --git a/drivers/pinctrl/freescale/pinctrl-imx-scmi.c b/drivers/pinctrl/freescale/pinctrl-imx-scmi.c
index 8f15c4c4dc4412dddb40505699fc3f459fdc0adc..6f4fa293b93335736f8c86be25d9e34e7f11c895 100644
--- a/drivers/pinctrl/freescale/pinctrl-imx-scmi.c
+++ b/drivers/pinctrl/freescale/pinctrl-imx-scmi.c
@@ -302,14 +302,14 @@ static int scmi_pinctrl_imx_probe(struct scmi_device *sdev)
 	int ret;
 
 	if (!handle)
-		return -EINVAL;
+		return dev_err_probe(dev, -EINVAL, "Missing pinctrl handle\n");
 
 	if (!of_machine_compatible_match(scmi_pinctrl_imx_allowlist))
-		return -ENODEV;
+		return dev_err_probe(dev, -ENODEV, "unsupported machine\n");
 
 	pinctrl_ops = handle->devm_protocol_get(sdev, SCMI_PROTOCOL_PINCTRL, &ph);
 	if (IS_ERR(pinctrl_ops))
-		return PTR_ERR(pinctrl_ops);
+		return dev_err_probe(dev, PTR_ERR(pinctrl_ops), "failed to get protocol\n");
 
 	pmx = devm_kzalloc(dev, sizeof(*pmx), GFP_KERNEL);
 	if (!pmx)
@@ -327,7 +327,7 @@ static int scmi_pinctrl_imx_probe(struct scmi_device *sdev)
 
 	ret = scmi_pinctrl_imx_get_pins(pmx, &pmx->pctl_desc);
 	if (ret)
-		return ret;
+		return dev_err_probe(dev, ret, "failed to get pins\n");
 
 	pmx->dev = &sdev->dev;
 
@@ -336,7 +336,11 @@ static int scmi_pinctrl_imx_probe(struct scmi_device *sdev)
 	if (ret)
 		return dev_err_probe(dev, ret, "Failed to register pinctrl\n");
 
-	return pinctrl_enable(pmx->pctldev);
+	ret = pinctrl_enable(pmx->pctldev);
+	if (ret)
+		return dev_err_probe(dev, ret, "Failed to enable pinctrl\n");
+
+	return ret;
 }
 
 static const struct scmi_device_id scmi_id_table[] = {