Re: [PATCH 1/3] mfd: add support for Allwinner SoCs ADC

From: Antoine Tenart
Date: Tue Jun 28 2016 - 04:52:02 EST


Hello,

On Tue, Jun 28, 2016 at 10:18:15AM +0200, Quentin Schulz wrote:
> diff --git a/drivers/mfd/sunxi-gpadc-mfd.c b/drivers/mfd/sunxi-gpadc-mfd.c
> new file mode 100644
> index 0000000..710e297
> --- /dev/null
> +++ b/drivers/mfd/sunxi-gpadc-mfd.c
> @@ -0,0 +1,188 @@

[...]

> + if (of_device_is_compatible(pdev->dev.of_node,
> + "allwinner,sun4i-a10-ts"))
> + ret = mfd_add_devices(sunxi_gpadc_mfd_dev->dev, 0,
> + sun4i_gpadc_mfd_cells,
> + ARRAY_SIZE(sun4i_gpadc_mfd_cells), NULL,
> + 0, NULL);
> + else if (of_device_is_compatible(pdev->dev.of_node,
> + "allwinner,sun5i-a13-ts"))
> + ret = mfd_add_devices(sunxi_gpadc_mfd_dev->dev, 0,
> + sun5i_gpadc_mfd_cells,
> + ARRAY_SIZE(sun5i_gpadc_mfd_cells), NULL,
> + 0, NULL);
> + else if (of_device_is_compatible(pdev->dev.of_node,
> + "allwinner,sun6i-a31-ts"))
> + ret = mfd_add_devices(sunxi_gpadc_mfd_dev->dev, 0,
> + sun6i_gpadc_mfd_cells,
> + ARRAY_SIZE(sun6i_gpadc_mfd_cells), NULL,
> + 0, NULL);
> +
> + if (ret) {
> + dev_err(&pdev->dev, "failed to add MFD devices: %d\n", ret);
> + regmap_del_irq_chip(irq, sunxi_gpadc_mfd_dev->regmap_irqc);
> + mfd_remove_devices(&pdev->dev);

You don't need to explicitly call mfd_remove_devices() when
mfd_add_devices() fails. See:
http://lxr.free-electrons.com/source/drivers/mfd/mfd-core.c#L298

> + return ret;
> + }

Thanks,

Antoine

--
Antoine Ténart, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

Attachment: signature.asc
Description: PGP signature