summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYu-Chun Lin <eleanor.lin@realtek.com>2026-03-06 10:52:33 +0300
committerLinus Walleij <linusw@kernel.org>2026-03-10 12:25:24 +0300
commitb7f698b22b8be5e25839d2dcfc6a6889c9ef196b (patch)
treedf2c2711faf17c65d197d2af442d95b7c29ceea1
parent6a6b238c66dc69cd784baf03b170c50f7e5f24d9 (diff)
downloadlinux-b7f698b22b8be5e25839d2dcfc6a6889c9ef196b.tar.xz
pinctrl: realtek: Switch to use devm functions
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>
-rw-r--r--drivers/pinctrl/realtek/pinctrl-rtd.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/drivers/pinctrl/realtek/pinctrl-rtd.c b/drivers/pinctrl/realtek/pinctrl-rtd.c
index 41e7f5c2bf74..56fd3093c206 100644
--- a/drivers/pinctrl/realtek/pinctrl-rtd.c
+++ b/drivers/pinctrl/realtek/pinctrl-rtd.c
@@ -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);