Merge tag '6.6-rc-smb3-client-fixes-part2' of git://git.samba.org/sfrench/cifs-2.6
[sfrench/cifs-2.6.git] / drivers / ata / pata_ixp4xx_cf.c
index b1daa4d3fcd97818bb6b26180008d515cef9ea00..246bb4f8f1f7f6fa451f9ddd1e2adb381cc962d4 100644 (file)
@@ -242,12 +242,6 @@ static int ixp4xx_pata_probe(struct platform_device *pdev)
        int ret;
        int irq;
 
-       cmd = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       ctl = platform_get_resource(pdev, IORESOURCE_MEM, 1);
-
-       if (!cmd || !ctl)
-               return -EINVAL;
-
        ixpp = devm_kzalloc(dev, sizeof(*ixpp), GFP_KERNEL);
        if (!ixpp)
                return -ENOMEM;
@@ -271,18 +265,18 @@ static int ixp4xx_pata_probe(struct platform_device *pdev)
        if (ret)
                return ret;
 
-       ixpp->cmd = devm_ioremap_resource(dev, cmd);
-       ixpp->ctl = devm_ioremap_resource(dev, ctl);
-       if (IS_ERR(ixpp->cmd) || IS_ERR(ixpp->ctl))
-               return -ENOMEM;
+       ixpp->cmd = devm_platform_get_and_ioremap_resource(pdev, 0, &cmd);
+       if (IS_ERR(ixpp->cmd))
+               return PTR_ERR(ixpp->cmd);
+
+       ixpp->ctl = devm_platform_get_and_ioremap_resource(pdev, 1, &ctl);
+       if (IS_ERR(ixpp->ctl))
+               return PTR_ERR(ixpp->ctl);
 
        irq = platform_get_irq(pdev, 0);
-       if (irq > 0)
-               irq_set_irq_type(irq, IRQ_TYPE_EDGE_RISING);
-       else if (irq < 0)
+       if (irq < 0)
                return irq;
-       else
-               return -EINVAL;
+       irq_set_irq_type(irq, IRQ_TYPE_EDGE_RISING);
 
        /* Just one port to set up */
        ixp4xx_setup_port(ixpp->host->ports[0], ixpp, cmd->start, ctl->start);