int mtk_paris_pinctrl_probe(struct platform_device *pdev,
                            const struct mtk_pin_soc *soc)
 {
+       struct device *dev = &pdev->dev;
        struct pinctrl_pin_desc *pins;
        struct mtk_pinctrl *hw;
        int err, i;
        hw->soc = soc;
        hw->dev = &pdev->dev;
 
-       if (!hw->soc->nbase_names) {
-               dev_err(&pdev->dev,
+       if (!hw->soc->nbase_names)
+               return dev_err_probe(dev, -EINVAL,
                        "SoC should be assigned at least one register base\n");
-               return -EINVAL;
-       }
 
        hw->base = devm_kmalloc_array(&pdev->dev, hw->soc->nbase_names,
                                      sizeof(*hw->base), GFP_KERNEL);
        spin_lock_init(&hw->lock);
 
        err = mtk_pctrl_build_state(pdev);
-       if (err) {
-               dev_err(&pdev->dev, "build state failed: %d\n", err);
-               return -EINVAL;
-       }
+       if (err)
+               return dev_err_probe(dev, err, "build state failed\n");
 
        /* Copy from internal struct mtk_pin_desc to register to the core */
        pins = devm_kmalloc_array(&pdev->dev, hw->soc->npins, sizeof(*pins),
 
        /* Build gpiochip should be after pinctrl_enable is done */
        err = mtk_build_gpiochip(hw);
-       if (err) {
-               dev_err(&pdev->dev, "Failed to add gpio_chip\n");
-               return err;
-       }
+       if (err)
+               return dev_err_probe(dev, err, "Failed to add gpio_chip\n");
 
        platform_set_drvdata(pdev, hw);