iio: adc: mt6577_auxadc: Fix kernel panic on suspend
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Tue, 10 Oct 2023 12:19:40 +0000 (14:19 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 11 Oct 2023 14:54:40 +0000 (15:54 +0100)
Commit a2d518fbe376 ("iio: adc: mt6577_auxadc: Simplify with device managed function")
simplified the driver with devm hooks, but wrongly states that the
platform_set_drvdata(), platform_get_drvdata() are unused after the
simplification: the driver data is infact used in .suspend() and
.resume() PM callbacks, currently producing a kernel panic.

Reintroduce the call to platform_set_drvdata() in the probe function

Fixes: a2d518fbe376 ("iio: adc: mt6577_auxadc: Simplify with device managed function")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Markus Schneider-Pargmann <msp@baylibre.com>
Reviewed-by: Alexandre Mergnat <amergnat@baylibre.com>
Link: https://lore.kernel.org/r/20231010121940.159696-1-angelogioacchino.delregno@collabora.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/mt6577_auxadc.c

index 370b84c2d0baa6dee922b7301e84c7333ca4d893..3343b54e8e448d4c91732a02417fb6986bdd45cd 100644 (file)
@@ -293,6 +293,7 @@ static int mt6577_auxadc_probe(struct platform_device *pdev)
        mt6577_auxadc_mod_reg(adc_dev->reg_base + MT6577_AUXADC_MISC,
                              MT6577_AUXADC_PDN_EN, 0);
        mdelay(MT6577_AUXADC_POWER_READY_MS);
+       platform_set_drvdata(pdev, indio_dev);
 
        ret = devm_add_action_or_reset(&pdev->dev, mt6577_power_off, adc_dev);
        if (ret)