Clean up resource allocation and freeing.
Signed-off-by: Ian Molton <ian.molton@codethink.co.uk>
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
        if (ret)
                goto host_free;
 
-       ret = request_irq(irq, tmio_mmc_irq, IRQF_TRIGGER_FALLING,
+       ret = devm_request_irq(&pdev->dev, irq, tmio_mmc_irq,
+                               IRQF_TRIGGER_FALLING,
                                dev_name(&pdev->dev), host);
        if (ret)
                goto host_remove;
 
        if (mmc) {
                struct tmio_mmc_host *host = mmc_priv(mmc);
-               free_irq(platform_get_irq(pdev, 0), host);
                tmio_mmc_host_remove(host);
                if (cell->disable)
                        cell->disable(pdev);