"Use DT API to pass through chip ID" On Wed, 23 Nov 2022, Saravanan Sekar wrote: > Introduce chip id machanism to distinguish chip Please be more imaginative than simply repeating the subject line. Also: "ID" > Signed-off-by: Saravanan Sekar <sravanhome@xxxxxxxxx> > Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx> > --- > drivers/mfd/mp2629.c | 4 +++- > include/linux/mfd/mp2629.h | 5 +++++ > 2 files changed, 8 insertions(+), 1 deletion(-) > > diff --git a/drivers/mfd/mp2629.c b/drivers/mfd/mp2629.c > index f4c5aa06f38c..a3fc02ad5ec1 100644 > --- a/drivers/mfd/mp2629.c > +++ b/drivers/mfd/mp2629.c > @@ -13,6 +13,7 @@ > #include <linux/mfd/mp2629.h> > #include <linux/module.h> > #include <linux/platform_device.h> > +#include <linux/property.h> > #include <linux/regmap.h> > #include <linux/slab.h> > > @@ -43,6 +44,7 @@ static int mp2629_probe(struct i2c_client *client) > return -ENOMEM; > > ddata->dev = &client->dev; > + ddata->chip_id = (uintptr_t)device_get_match_data(&client->dev); > i2c_set_clientdata(client, ddata); > > ddata->regmap = devm_regmap_init_i2c(client, &mp2629_regmap_config); > @@ -60,7 +62,7 @@ static int mp2629_probe(struct i2c_client *client) > } > > static const struct of_device_id mp2629_of_match[] = { > - { .compatible = "mps,mp2629"}, > + { .compatible = "mps,mp2629", .data = (void *)CHIP_ID_MP2629 }, Is this value something you can ask the H/W for? > { } > }; > MODULE_DEVICE_TABLE(of, mp2629_of_match); > diff --git a/include/linux/mfd/mp2629.h b/include/linux/mfd/mp2629.h > index 89b706900b57..072c8181b48b 100644 > --- a/include/linux/mfd/mp2629.h > +++ b/include/linux/mfd/mp2629.h > @@ -9,9 +9,14 @@ > #include <linux/device.h> > #include <linux/regmap.h> > > +enum mp2xx_chip_id { > + CHIP_ID_MP2629, > +}; > + > struct mp2629_data { > struct device *dev; > struct regmap *regmap; > + enum mp2xx_chip_id chip_id; > }; > > enum mp2629_adc_chan { > -- > 2.34.1 > -- Lee Jones [李琼斯]