aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/soc/mediatek/mtk-mutex.c18
1 files changed, 6 insertions, 12 deletions
diff --git a/drivers/soc/mediatek/mtk-mutex.c b/drivers/soc/mediatek/mtk-mutex.c
index 2fd8318c3bdc..5ea43de4e410 100644
--- a/drivers/soc/mediatek/mtk-mutex.c
+++ b/drivers/soc/mediatek/mtk-mutex.c
@@ -750,7 +750,7 @@ static int mtk_mutex_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
struct mtk_mutex_ctx *mtx;
- struct resource *regs, addr;
+ struct resource *regs;
int i;
#if IS_REACHABLE(CONFIG_MTK_CMDQ)
int ret;
@@ -774,11 +774,12 @@ static int mtk_mutex_probe(struct platform_device *pdev)
}
}
- if (of_address_to_resource(dev->of_node, 0, &addr) < 0) {
- dev_err(dev, "Failed to get addr\n");
- return -EINVAL;
+ mtx->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &regs);
+ if (IS_ERR(mtx->regs)) {
+ dev_err(dev, "Failed to map mutex registers\n");
+ return PTR_ERR(mtx->regs);
}
- mtx->addr = addr.start;
+ mtx->addr = regs->start;
#if IS_REACHABLE(CONFIG_MTK_CMDQ)
ret = cmdq_dev_get_client_reg(dev, &mtx->cmdq_reg, 0);
@@ -786,13 +787,6 @@ static int mtk_mutex_probe(struct platform_device *pdev)
dev_dbg(dev, "No mediatek,gce-client-reg!\n");
#endif
- regs = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- mtx->regs = devm_ioremap_resource(dev, regs);
- if (IS_ERR(mtx->regs)) {
- dev_err(dev, "Failed to map mutex registers\n");
- return PTR_ERR(mtx->regs);
- }
-
platform_set_drvdata(pdev, mtx);
return 0;