]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
pinctrl: realtek: Switch to use devm functions
authorYu-Chun Lin <eleanor.lin@realtek.com>
Fri, 6 Mar 2026 07:52:33 +0000 (15:52 +0800)
committerLinus Walleij <linusw@kernel.org>
Tue, 10 Mar 2026 09:25:24 +0000 (10:25 +0100)
Simplify the probe() function by switching to devm-managed versions of
ioremap and pinctrl registration.

Signed-off-by: Yu-Chun Lin <eleanor.lin@realtek.com>
Signed-off-by: Linus Walleij <linusw@kernel.org>
drivers/pinctrl/realtek/pinctrl-rtd.c

index 41e7f5c2bf741014ced0639c19c237e61f2bf92b..56fd3093c20683eaa6bc80e9f226c31259fb8978 100644 (file)
@@ -543,13 +543,12 @@ static const struct regmap_config rtd_pinctrl_regmap_config = {
 int rtd_pinctrl_probe(struct platform_device *pdev, const struct rtd_pinctrl_desc *desc)
 {
        struct rtd_pinctrl *data;
-       int ret;
 
        data = devm_kzalloc(&pdev->dev, sizeof(*data), GFP_KERNEL);
        if (!data)
                return -ENOMEM;
 
-       data->base = of_iomap(pdev->dev.of_node, 0);
+       data->base = devm_platform_ioremap_resource(pdev, 0);
        if (!data->base)
                return -ENOMEM;
 
@@ -570,25 +569,18 @@ int rtd_pinctrl_probe(struct platform_device *pdev, const struct rtd_pinctrl_des
        if (IS_ERR(data->regmap_pinctrl)) {
                dev_err(data->dev, "failed to init regmap: %ld\n",
                        PTR_ERR(data->regmap_pinctrl));
-               ret = PTR_ERR(data->regmap_pinctrl);
-               goto unmap;
+               return PTR_ERR(data->regmap_pinctrl);
        }
 
-       data->pcdev = pinctrl_register(&data->desc, &pdev->dev, data);
-       if (IS_ERR(data->pcdev)) {
-               ret = PTR_ERR(data->pcdev);
-               goto unmap;
-       }
+       data->pcdev = devm_pinctrl_register(&pdev->dev, &data->desc, data);
+       if (IS_ERR(data->pcdev))
+               return PTR_ERR(data->pcdev);
 
        platform_set_drvdata(pdev, data);
 
        dev_dbg(&pdev->dev, "probed\n");
 
        return 0;
-
-unmap:
-       iounmap(data->base);
-       return ret;
 }
 EXPORT_SYMBOL(rtd_pinctrl_probe);