ar71xx: ar934x_nfc: use devm_* functions
Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@38067 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
a6a0cb38f2
commit
ba2221869e
|
@ -1022,24 +1022,22 @@ ar934x_nfc_probe(struct platform_device *pdev)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
nfc = kzalloc(sizeof(struct ar934x_nfc), GFP_KERNEL);
|
nfc = devm_kzalloc(&pdev->dev, sizeof(struct ar934x_nfc), GFP_KERNEL);
|
||||||
if (!nfc) {
|
if (!nfc) {
|
||||||
dev_err(&pdev->dev, "failed to allocate driver data\n");
|
dev_err(&pdev->dev, "failed to allocate driver data\n");
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
nfc->base = ioremap(res->start, resource_size(res));
|
nfc->base = devm_ioremap_resource(&pdev->dev, res);
|
||||||
if (nfc->base == NULL) {
|
if (IS_ERR(nfc->base)) {
|
||||||
dev_err(&pdev->dev, "failed to remap I/O memory\n");
|
dev_err(&pdev->dev, "failed to remap I/O memory\n");
|
||||||
ret = -ENXIO;
|
return PTR_ERR(nfc->base);
|
||||||
goto err_free_nand;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nfc->irq = platform_get_irq(pdev, 0);
|
nfc->irq = platform_get_irq(pdev, 0);
|
||||||
if (nfc->irq < 0) {
|
if (nfc->irq < 0) {
|
||||||
dev_err(&pdev->dev, "no IRQ resource specified\n");
|
dev_err(&pdev->dev, "no IRQ resource specified\n");
|
||||||
ret = -EINVAL;
|
return -EINVAL;
|
||||||
goto err_unmap;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
init_waitqueue_head(&nfc->irq_waitq);
|
init_waitqueue_head(&nfc->irq_waitq);
|
||||||
|
@ -1047,7 +1045,7 @@ ar934x_nfc_probe(struct platform_device *pdev)
|
||||||
dev_name(&pdev->dev), nfc);
|
dev_name(&pdev->dev), nfc);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&pdev->dev, "requast_irq failed, err:%d\n", ret);
|
dev_err(&pdev->dev, "requast_irq failed, err:%d\n", ret);
|
||||||
goto err_unmap;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
nfc->parent = &pdev->dev;
|
nfc->parent = &pdev->dev;
|
||||||
|
@ -1120,11 +1118,6 @@ err_free_buf:
|
||||||
ar934x_nfc_free_buf(nfc);
|
ar934x_nfc_free_buf(nfc);
|
||||||
err_free_irq:
|
err_free_irq:
|
||||||
free_irq(nfc->irq, nfc);
|
free_irq(nfc->irq, nfc);
|
||||||
err_unmap:
|
|
||||||
iounmap(nfc->base);
|
|
||||||
err_free_nand:
|
|
||||||
kfree(nfc);
|
|
||||||
platform_set_drvdata(pdev, NULL);
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1138,8 +1131,6 @@ ar934x_nfc_remove(struct platform_device *pdev)
|
||||||
nand_release(&nfc->mtd);
|
nand_release(&nfc->mtd);
|
||||||
ar934x_nfc_free_buf(nfc);
|
ar934x_nfc_free_buf(nfc);
|
||||||
free_irq(nfc->irq, nfc);
|
free_irq(nfc->irq, nfc);
|
||||||
iounmap(nfc->base);
|
|
||||||
kfree(nfc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in New Issue