Re: [PATCH 4/8] iio: magnetometer: ak8975: consistently use 'data' parameter
From: Nuno Sá
Date: Sat May 09 2026 - 05:03:41 EST
On Thu, 2026-05-07 at 16:35 +0200, Joshua Crofts via B4 Relay wrote:
> From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
>
> Some of the functions use 'client', some use 'data', and some use both.
> Refactor the driver to consistently use 'data' in all cases.
>
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> Signed-off-by: Joshua Crofts <joshua.crofts1@xxxxxxxxx>
> ---
Reviewed-by: Nuno Sá <nuno.sa@xxxxxxxxxx>
> drivers/iio/magnetometer/ak8975.c | 25 +++++++++++++------------
> 1 file changed, 13 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/iio/magnetometer/ak8975.c b/drivers/iio/magnetometer/ak8975.c
> index
> 1d8f448d5179fe9b33af989cc2f456ac91bc2f17..e575d252076acc3639cfbb718a76811636fe56d2
> 100644
> --- a/drivers/iio/magnetometer/ak8975.c
> +++ b/drivers/iio/magnetometer/ak8975.c
> @@ -474,9 +474,10 @@ static void ak8975_power_off(const struct ak8975_data *data)
> * Return 0 if the i2c device is the one we expect.
> * return a negative error number otherwise
> */
> -static int ak8975_who_i_am(struct i2c_client *client,
> +static int ak8975_who_i_am(const struct ak8975_data *data,
> enum asahi_compass_chipset type)
> {
> + struct i2c_client *client = data->client;
> u8 wia_val[2];
> int ret;
>
> @@ -598,10 +599,9 @@ static int ak8975_setup_irq(struct ak8975_data *data)
> * Perform some start-of-day setup, including reading the asa calibration
> * values and caching them.
> */
> -static int ak8975_setup(struct i2c_client *client)
> +static int ak8975_setup(struct ak8975_data *data)
> {
> - struct iio_dev *indio_dev = i2c_get_clientdata(client);
> - struct ak8975_data *data = iio_priv(indio_dev);
> + struct i2c_client *client = data->client;
> int ret;
>
> /* Write the fused rom access mode. */
> @@ -706,12 +706,13 @@ static int wait_conversion_complete_interrupt(struct
> ak8975_data *data,
> return ret > 0 ? 0 : -ETIMEDOUT;
> }
>
> -static int ak8975_start_read_axis(struct ak8975_data *data,
> - const struct i2c_client *client)
> +static int ak8975_start_read_axis(struct ak8975_data *data)
> {
> - /* Set up the device for taking a sample. */
> - int ret = ak8975_set_mode(data, MODE_ONCE);
> + struct i2c_client *client = data->client;
> + int ret;
>
> + /* Set up the device for taking a sample. */
> + ret = ak8975_set_mode(data, MODE_ONCE);
> if (ret < 0) {
> dev_err(&client->dev, "Error in setting operating mode\n");
> return ret;
> @@ -744,7 +745,7 @@ static int ak8975_read_axis(struct iio_dev *indio_dev, int
> index, int *val)
>
> mutex_lock(&data->lock);
>
> - ret = ak8975_start_read_axis(data, client);
> + ret = ak8975_start_read_axis(data);
> if (ret)
> goto exit;
>
> @@ -856,7 +857,7 @@ static void ak8975_fill_buffer(struct iio_dev *indio_dev)
>
> mutex_lock(&data->lock);
>
> - ret = ak8975_start_read_axis(data, client);
> + ret = ak8975_start_read_axis(data);
> if (ret)
> goto unlock;
>
> @@ -994,7 +995,7 @@ static int ak8975_probe(struct i2c_client *client)
> if (ret)
> return ret;
>
> - ret = ak8975_who_i_am(client, data->def->type);
> + ret = ak8975_who_i_am(data, data->def->type);
> if (ret) {
> dev_err(&client->dev, "Unexpected device\n");
> return ret;
> @@ -1002,7 +1003,7 @@ static int ak8975_probe(struct i2c_client *client)
> dev_dbg(&client->dev, "Asahi compass chip %s\n", name);
>
> /* Perform some basic start-of-day setup of the device. */
> - ret = ak8975_setup(client);
> + ret = ak8975_setup(data);
> if (ret) {
> dev_err(&client->dev, "%s initialization fails\n", name);
> return ret;