RE: [PATCH v2] iio: chemical: vz89x: Convert enum->pointer for data in the match tables

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jonathan Cameron,

> Subject: Re: [PATCH v2] iio: chemical: vz89x: Convert enum->pointer for
> data in the match tables
> 
> On Fri, 18 Aug 2023 20:04:29 +0100
> Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote:
> 
> > Convert enum->pointer for data in the match tables, so that
> > device_get_match_data() can do match against OF/ACPI/I2C tables, once
> > i2c bus type match support added to it.
> >
> > Replace enum->struct *vz89x_chip_data for data in the match table.
> > Simplify the probe() by replacing device_get_match_data() and ID
> > lookup for retrieving data by i2c_get_match_data().
> >
> > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx>
> > Reviewed-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
> 
> Biju,
> 
> Make sure you cc the driver authors etc.

Normally, I ran a script against the patch to get details and additionally I add Geert, renesas-soc , Andy in Cc list.
So far the patch worked correctly. Not sure I need to enhance the script to get driver authors name (for eg: Matt in this case)??

#!/bin/bash
PROGRAM_DIRECTORY="$(cd "$(dirname "$0")"; pwd; )"

source "${PROGRAM_DIRECTORY}/get_recipients_lib.sh"

MUST_HAVE+=("Geert Uytterhoeven <geert+renesas@xxxxxxxxx>")
#MUST_HAVE+=("Chris Paterson <chris.paterson2@xxxxxxxxxxx>")
#MUST_HAVE+=("Fabrizio Castro <fabrizio.castro.jz@xxxxxxxxxxx>")
MUST_HAVE+=("Prabhakar Mahadev Lad <prabhakar.mahadev-lad.rj@xxxxxxxxxxxxxx>")
MUST_HAVE+=("linux-renesas-soc@xxxxxxxxxxxxxxx")

MUST_DROP+=("linux-kernel@xxxxxxxxxxxxxxx")

populate_to_list
populate_cc_list

the script uses below commands to add relevant to and cc field.
./scripts/get_maintainer.pl ${PATCH_FILES} | grep maintainer

Cheers,
Biju

> 
> I'll queue this one up, but Matt feel free to comment if you have time
> 
> Thanks,
> 
> Jonathan
> 
> 
> > ---
> > v1->v2:
> >  * Added Rb tag from Andy.
> >  * Dropped id variable removal from commit description.
> > ---
> >  drivers/iio/chemical/vz89x.c | 16 +++++-----------
> >  1 file changed, 5 insertions(+), 11 deletions(-)
> >
> > diff --git a/drivers/iio/chemical/vz89x.c
> > b/drivers/iio/chemical/vz89x.c index 13555f4f401a..5b358bcd311b 100644
> > --- a/drivers/iio/chemical/vz89x.c
> > +++ b/drivers/iio/chemical/vz89x.c
> > @@ -342,19 +342,17 @@ static const struct vz89x_chip_data
> > vz89x_chips[] = {  };
> >
> >  static const struct of_device_id vz89x_dt_ids[] = {
> > -	{ .compatible = "sgx,vz89x", .data = (void *) VZ89X },
> > -	{ .compatible = "sgx,vz89te", .data = (void *) VZ89TE },
> > +	{ .compatible = "sgx,vz89x", .data = &vz89x_chips[VZ89X] },
> > +	{ .compatible = "sgx,vz89te", .data = &vz89x_chips[VZ89TE] },
> >  	{ }
> >  };
> >  MODULE_DEVICE_TABLE(of, vz89x_dt_ids);
> >
> >  static int vz89x_probe(struct i2c_client *client)  {
> > -	const struct i2c_device_id *id = i2c_client_get_device_id(client);
> >  	struct device *dev = &client->dev;
> >  	struct iio_dev *indio_dev;
> >  	struct vz89x_data *data;
> > -	int chip_id;
> >
> >  	indio_dev = devm_iio_device_alloc(dev, sizeof(*data));
> >  	if (!indio_dev)
> > @@ -369,14 +367,10 @@ static int vz89x_probe(struct i2c_client *client)
> >  	else
> >  		return -EOPNOTSUPP;
> >
> > -	if (!dev_fwnode(dev))
> > -		chip_id = id->driver_data;
> > -	else
> > -		chip_id = (unsigned long)device_get_match_data(dev);
> > +	data->chip = i2c_get_match_data(client);
> >
> >  	i2c_set_clientdata(client, indio_dev);
> >  	data->client = client;
> > -	data->chip = &vz89x_chips[chip_id];
> >  	data->last_update = jiffies - HZ;
> >  	mutex_init(&data->lock);
> >
> > @@ -391,8 +385,8 @@ static int vz89x_probe(struct i2c_client *client)
> > }
> >
> >  static const struct i2c_device_id vz89x_id[] = {
> > -	{ "vz89x", VZ89X },
> > -	{ "vz89te", VZ89TE },
> > +	{ "vz89x", (kernel_ulong_t)&vz89x_chips[VZ89X] },
> > +	{ "vz89te", (kernel_ulong_t)&vz89x_chips[VZ89TE] },
> >  	{ }
> >  };
> >  MODULE_DEVICE_TABLE(i2c, vz89x_id);





[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux