mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-28 12:53:14 +01:00
ata: pata_rb532_cf: use devm_platform_ioremap_resource()
Replace the open-coded platform_get_resource() plus devm_ioremap() sequence with a single devm_platform_ioremap_resource() call, which folds the resource lookup and mapping into one step and returns an ERR_PTR on failure, checked with IS_ERR() and propagated via PTR_ERR(). Similar to platform_get_irq(), it can return -EPROBE_DEFER so move it early. The pata-rb532-cf platform device (arch/mips/rb532/devices.c) provides a single IORESOURCE_MEM window at the DEV1BASE chip-select, distinct from the other RB532 chip-selects, so the region reservation now performed by devm_platform_ioremap_resource() introduces no conflict. The mapped size is unchanged. Drop the redundant error message, as devm_platform_ioremap_resource() already logs on failure. Built for MIPS (rb532_defconfig) with LLVM=1; drivers/ata/pata_rb532_cf.o compiles cleanly. Assisted-by: opencode:hy3-free Signed-off-by: Rosen Penev <[email protected]> Signed-off-by: Damien Le Moal <[email protected]>
This commit is contained in:
1 parent
427ac6f5ff
commit
da75bb1116
1 file changed
+5
-11
@@ -103,16 +103,14 @@ static int rb532_pata_driver_probe(struct platform_device *pdev)
|
||||
{
|
||||
int irq;
|
||||
struct gpio_desc *gpiod;
|
||||
struct resource *res;
|
||||
struct ata_host *ah;
|
||||
struct rb532_cf_info *info;
|
||||
void __iomem *iobase;
|
||||
int ret;
|
||||
|
||||
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
||||
if (!res) {
|
||||
dev_err(&pdev->dev, "no IOMEM resource found\n");
|
||||
return -EINVAL;
|
||||
}
|
||||
iobase = devm_platform_ioremap_resource(pdev, 0);
|
||||
if (IS_ERR(iobase))
|
||||
return PTR_ERR(iobase);
|
||||
|
||||
irq = platform_get_irq(pdev, 0);
|
||||
if (irq < 0)
|
||||
@@ -139,11 +137,7 @@ static int rb532_pata_driver_probe(struct platform_device *pdev)
|
||||
ah->private_data = info;
|
||||
info->gpio_line = gpiod;
|
||||
info->irq = irq;
|
||||
|
||||
info->iobase = devm_ioremap(&pdev->dev, res->start,
|
||||
resource_size(res));
|
||||
if (!info->iobase)
|
||||
return -ENOMEM;
|
||||
info->iobase = iobase;
|
||||
|
||||
rb532_pata_setup_ports(ah);
|
||||
|
||||
|
||||
Reference in new issue
Block a user