Re: [PATCH] soc: mediatek: mutex: Simplify with devm_platform_get_and_ioremap_resource()

From: Matthias Brugger
Date: Fri Jul 08 2022 - 04:29:36 EST




On 23/06/2022 14:17, AngeloGioacchino Del Regno wrote:
Convert platform_get_resource(), devm_ioremap_resource() to a single
call to devm_platform_get_and_ioremap_resource(), as this is exactly
what this function does.

While at it, also remove a redundant call to of_address_to_resource(),
as this was getting the address of the same resource index 0: we can
as well get the iostart from the 'regs' pointer.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx>

Applied, thanks!

---
drivers/soc/mediatek/mtk-mutex.c | 18 ++++++------------
1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/drivers/soc/mediatek/mtk-mutex.c b/drivers/soc/mediatek/mtk-mutex.c
index 60cbafea577e..ca8440fb48cd 100644
--- a/drivers/soc/mediatek/mtk-mutex.c
+++ b/drivers/soc/mediatek/mtk-mutex.c
@@ -787,7 +787,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;
@@ -811,11 +811,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);
@@ -823,13 +824,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;