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

From: Andy Shevchenko
Date: Tue May 19 2020 - 05:21:29 EST


On Tue, May 19, 2020 at 08:57:43AM +0200, Jonathan Albrieux wrote:

Thanks for an update, my comments below.

> 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.

> + /*
> + * 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.

> + */
> + 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