Re: [PATCH v2 2/6] iio: light: stk3310: Implement vdd supply and power it off during suspend
From: Andy Shevchenko
Date: Tue Apr 23 2024 - 19:16:54 EST
On Wed, Apr 24, 2024 at 1:41 AM Aren Moynihan <aren@xxxxxxxxxxxxxxxxx> wrote:
>
> From: Ondrej Jirman <megi@xxxxxx>
>
> VDD power input can be used to completely power off the chip during
> system suspend. Do so if available.
..
> ret = stk3310_init(indio_dev);
> if (ret < 0)
> - return ret;
> + goto err_vdd_disable;
This is wrong. You will have the regulator being disabled _before_
IRQ. Note, that the original code likely has a bug which sets states
before disabling IRQ and removing a handler.
Side note, you may make the driver neater with help of
struct device *dev = &client->dev;
defined in this patch.
..
> static int stk3310_suspend(struct device *dev)
> {
> struct stk3310_data *data;
> data = iio_priv(i2c_get_clientdata(to_i2c_client(dev)));
Side note: This may be updated (in a separate change) to use
dev_get_drvdata() directly.
Jonathan, do we have something like iio_priv_from_drvdata(struct
device *dev)? Seems many drivers may utilise it.
> }
..
> static int stk3310_resume(struct device *dev)
Ditto.
--
With Best Regards,
Andy Shevchenko