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