Skip to content

Commit

Permalink
regulator: ti-abb: Make use of the helper function devm_ioremap related
Browse files Browse the repository at this point in the history
Use the devm_platform_ioremap_resource_byname() helper instead of
calling platform_get_resource_byname() and devm_ioremap/devm_ioremap_resource()
separately

Signed-off-by: Cai Huoqing <caihuoqing@baidu.com>
Link: https://lore.kernel.org/r/20210908105745.1984-1-caihuoqing@baidu.com
Signed-off-by: Mark Brown <broonie@kernel.org>
  • Loading branch information
Cai Huoqing authored and Mark Brown committed Sep 13, 2021
1 parent c33e65c commit b36c6b1
Showing 1 changed file with 6 additions and 25 deletions.
31 changes: 6 additions & 25 deletions drivers/regulator/ti-abb-regulator.c
Original file line number Diff line number Diff line change
Expand Up @@ -725,45 +725,26 @@ static int ti_abb_probe(struct platform_device *pdev)

/* Map ABB resources */
if (abb->regs->setup_off || abb->regs->control_off) {
pname = "base-address";
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname);
abb->base = devm_ioremap_resource(dev, res);
abb->base = devm_platform_ioremap_resource_byname(pdev, "base-address");
if (IS_ERR(abb->base))
return PTR_ERR(abb->base);

abb->setup_reg = abb->base + abb->regs->setup_off;
abb->control_reg = abb->base + abb->regs->control_off;

} else {
pname = "control-address";
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname);
abb->control_reg = devm_ioremap_resource(dev, res);
abb->control_reg = devm_platform_ioremap_resource_byname(pdev, "control-address");
if (IS_ERR(abb->control_reg))
return PTR_ERR(abb->control_reg);

pname = "setup-address";
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname);
abb->setup_reg = devm_ioremap_resource(dev, res);
abb->setup_reg = devm_platform_ioremap_resource_byname(pdev, "setup-address");
if (IS_ERR(abb->setup_reg))
return PTR_ERR(abb->setup_reg);
}

pname = "int-address";
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, pname);
if (!res) {
dev_err(dev, "Missing '%s' IO resource\n", pname);
return -ENODEV;
}
/*
* We may have shared interrupt register offsets which are
* write-1-to-clear between domains ensuring exclusivity.
*/
abb->int_base = devm_ioremap(dev, res->start,
resource_size(res));
if (!abb->int_base) {
dev_err(dev, "Unable to map '%s'\n", pname);
return -ENOMEM;
}
abb->int_base = devm_platform_ioremap_resource_byname(pdev, "int-address");
if (IS_ERR(abb->int_base))
return PTR_ERR(abb->int_base);

/* Map Optional resources */
pname = "efuse-address";
Expand Down

0 comments on commit b36c6b1

Please sign in to comment.