Re: [PATCH v2 3/3] iio: magnetometer: ak8975: Add gpio reset support

From: Jonathan Albrieux
Date: Tue May 19 2020 - 05:44:29 EST


On Tue, May 19, 2020 at 12:21:27PM +0300, Andy Shevchenko wrote:
> On Tue, May 19, 2020 at 08:57:43AM +0200, Jonathan Albrieux wrote:
>
> Thanks for an update, my comments below.
>

Thanks to you for taking time to review the code!

> > According to AK09911 datasheet, if reset gpio is provided then
>
> Trailing whitespace.
>
> > deassert reset on ak8975_power_on and assert reset on ak8975_power_off.
> >
> > Without reset's deassertion during ak8975_power_on, driver's probe fails on
> > ak8975_who_i_am while checking for device identity for AK09911 chip
> >
> > AK09911 has an active low reset gpio to handle register's reset.
> > AK09911 datasheed says that, if not used, reset pin should be connected
> > to VID. This patch emulates this situation
>
> Please, put periods at the end of the phrases.
>
> > /*
> > - * According to the datasheet the power supply rise time i 200us
> > + * According to the datasheet the power supply rise time is 200us
> > * and the minimum wait time before mode setting is 100us, in
> > - * total 300 us. Add some margin and say minimum 500us here.
> > + * total 300us. Add some margin and say minimum 500us here.
> > */
>
> This is not related change (perhaps, you may do in separate patch), but I'm not
> against it. Up to maintainer.
>

Ok I will separate the patch

> > + /*
> > + * According to AK09911 datasheet, if reset gpio is provided then
> > + * deassert reset on ak8975_power_on and assert reset on
> > + * ak8975_power_off.
>
> We try to refer to the code accordingly to the kernel doc recommendations (even
> for non-kdoc comments). So, here, 'function' as 'function()' (without quotes)
> and so on.
>

Will fix this as like as the other changes you pointed out about periods and
trailing spaces as soon as possible

> > + */
> > + reset_gpiod = devm_gpiod_get_optional(&client->dev,
> > + "reset", GPIOD_OUT_HIGH);
> > + if (IS_ERR(reset_gpiod))
> > + return PTR_ERR(reset_gpiod);
> > +
> > /* Register with IIO */
> > indio_dev = devm_iio_device_alloc(&client->dev, sizeof(*data));
> > if (indio_dev == NULL)
> > @@ -866,6 +883,7 @@ static int ak8975_probe(struct i2c_client *client,
> >
> > data->client = client;
> > data->eoc_gpiod = eoc_gpiod;
> > + data->reset_gpiod = reset_gpiod;
> > data->eoc_irq = 0;
> >
> > err = iio_read_mount_matrix(&client->dev, "mount-matrix", &data->orientation);
> > --
> > 2.17.1
> >
>
> --
> With Best Regards,
> Andy Shevchenko
>
>

Again, thank you,
Best regards,
Jonathan Albrieux