mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 04:34:03 +02: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 <rosenp@gmail.com> Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
This commit is contained in:
parent
427ac6f5ff
commit
da75bb1116
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user