diff
 	if (error) {
 		dev_err(pctldev->dev, "could not claim hogs: %i\n",
 			error);
 		pinctrl_free_pindescs(pctldev, pctldev->desc->pins,
 				      pctldev->desc->npins);
 		mutex_destroy(&pctldev->mutex);
-		kfree(pctldev);
-
-		return error;
+		goto err_out;
 	}
 	mutex_lock(&pinctrldev_list_mutex);
 	list_add_tail(&pctldev->node, &pinctrldev_list);
 	mutex_unlock(&pinctrldev_list_mutex);
 
 	pinctrl_init_device_debugfs(pctldev);
+	return 0;
+
+err_out:
+	kfree(pctldev);
+	return error;
