Re: [PATCH v5 5/8] mfd: mp2629: Add support for mps mp2733 battery charger

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

 



On Sat, 29 Oct 2022 11:29:57 +0200
Saravanan Sekar <sravanhome@xxxxxxxxx> wrote:

> mp2733 is updated version of mp2629 battery charge management
> device for single-cell Li-ion or Li-polymer battery. Additionally
> supports USB fast-charge and higher range of input voltage.
> 
> Signed-off-by: Saravanan Sekar <sravanhome@xxxxxxxxx>
> Reviewed-by: Andy Shevchenko <andy.shevchenko@xxxxxxxxx>
> Acked-by: Sebastian Reichel <sebastian.reichel@xxxxxxxxxxxxx>

There is a small ordering issue wrt to the next patch.

Ideal way to solve that is to introduce the new infrastructure
for the chip ID, but not the new ID itself until after the next
patch ensures we don't apply the wrong mask.

Jonathan

> ---
>  drivers/mfd/mp2629.c       | 5 ++++-
>  include/linux/mfd/mp2629.h | 6 ++++++
>  2 files changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/mfd/mp2629.c b/drivers/mfd/mp2629.c
> index f4c5aa06f38c..57db0f5009b9 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,8 @@ 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 },
> +	{ .compatible = "mps,mp2733", .data = (void *)CHIP_ID_MP2733 },
>  	{ }
>  };
>  MODULE_DEVICE_TABLE(of, mp2629_of_match);
> diff --git a/include/linux/mfd/mp2629.h b/include/linux/mfd/mp2629.h
> index 89b706900b57..ee0e65720c75 100644
> --- a/include/linux/mfd/mp2629.h
> +++ b/include/linux/mfd/mp2629.h
> @@ -9,9 +9,15 @@
>  #include <linux/device.h>
>  #include <linux/regmap.h>
>  
> +enum mp2xx_chip_id {
> +	CHIP_ID_MP2629,
> +	CHIP_ID_MP2733,
> +};
> +
>  struct mp2629_data {
>  	struct device *dev;
>  	struct regmap *regmap;
> +	enum mp2xx_chip_id chip_id;
>  };
>  
>  enum mp2629_adc_chan {




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux