mfd: ti_am335x_tscadc: Move the driver structure allocation earlier
authorMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 15 Oct 2021 08:14:34 +0000 (10:14 +0200)
committerLee Jones <lee.jones@linaro.org>
Wed, 20 Oct 2021 16:26:04 +0000 (17:26 +0100)
Allocating the driver structure should be done earlier in the probe so
that we can used its members from the beginning.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20211015081506.933180-17-miquel.raynal@bootlin.com
drivers/mfd/ti_am335x_tscadc.c

index 20d8dde..ba82110 100644 (file)
@@ -125,6 +125,13 @@ static     int ti_tscadc_probe(struct platform_device *pdev)
        int tsc_wires = 0, adc_channels = 0, total_channels;
        int readouts = 0;
 
+       /* Allocate memory for device */
+       tscadc = devm_kzalloc(&pdev->dev, sizeof(*tscadc), GFP_KERNEL);
+       if (!tscadc)
+               return -ENOMEM;
+
+       tscadc->dev = &pdev->dev;
+
        if (!pdev->dev.of_node) {
                dev_err(&pdev->dev, "Could not find valid DT data.\n");
                return -EINVAL;
@@ -164,13 +171,6 @@ static     int ti_tscadc_probe(struct platform_device *pdev)
                return -EINVAL;
        }
 
-       /* Allocate memory for device */
-       tscadc = devm_kzalloc(&pdev->dev, sizeof(*tscadc), GFP_KERNEL);
-       if (!tscadc)
-               return -ENOMEM;
-
-       tscadc->dev = &pdev->dev;
-
        err = platform_get_irq(pdev, 0);
        if (err < 0)
                return err;