LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH 1/4] power: supply: max17042_battery: clean up MAX17055_V_empty
@ 2021-08-16 16:50 Sebastian Krzyszkowiak
  2021-08-16 16:50 ` [PATCH 2/4] power: supply: max17042_battery: fix typo in MAx17042_TOFF Sebastian Krzyszkowiak
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Sebastian Krzyszkowiak @ 2021-08-16 16:50 UTC (permalink / raw)
  To: Sebastian Reichel; +Cc: linux-pm, linux-kernel, kernel, Sebastian Krzyszkowiak

This register is same as in MAX17047 and MAX17050, so there's no need
for custom casing it.

Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
---
 drivers/power/supply/max17042_battery.c | 4 ----
 include/linux/power/max17042_battery.h  | 1 -
 2 files changed, 5 deletions(-)

diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
index c6078f179fb3..01e6728a9e2b 100644
--- a/drivers/power/supply/max17042_battery.c
+++ b/drivers/power/supply/max17042_battery.c
@@ -283,8 +283,6 @@ static int max17042_get_property(struct power_supply *psy,
 	case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN:
 		if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042)
 			ret = regmap_read(map, MAX17042_V_empty, &data);
-		else if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17055)
-			ret = regmap_read(map, MAX17055_V_empty, &data);
 		else
 			ret = regmap_read(map, MAX17047_V_empty, &data);
 		if (ret < 0)
@@ -778,8 +776,6 @@ static inline void max17042_override_por_values(struct max17042_chip *chip)
 
 	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042)
 		max17042_override_por(map, MAX17042_V_empty, config->vempty);
-	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17055)
-		max17042_override_por(map, MAX17055_V_empty, config->vempty);
 	else
 		max17042_override_por(map, MAX17047_V_empty, config->vempty);
 	max17042_override_por(map, MAX17042_TempNom, config->temp_nom);
diff --git a/include/linux/power/max17042_battery.h b/include/linux/power/max17042_battery.h
index d55c746ac56e..7e5da60cbea3 100644
--- a/include/linux/power/max17042_battery.h
+++ b/include/linux/power/max17042_battery.h
@@ -113,7 +113,6 @@ enum max17042_register {
 enum max17055_register {
 	MAX17055_QRes		= 0x0C,
 	MAX17055_TTF		= 0x20,
-	MAX17055_V_empty	= 0x3A,
 	MAX17055_TIMER		= 0x3E,
 	MAX17055_USER_MEM	= 0x40,
 	MAX17055_RGAIN		= 0x42,
-- 
2.32.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 2/4] power: supply: max17042_battery: fix typo in MAx17042_TOFF
  2021-08-16 16:50 [PATCH 1/4] power: supply: max17042_battery: clean up MAX17055_V_empty Sebastian Krzyszkowiak
@ 2021-08-16 16:50 ` Sebastian Krzyszkowiak
  2021-08-16 16:50 ` [PATCH 3/4] power: supply: max17042_battery: more robust chip type checks Sebastian Krzyszkowiak
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: Sebastian Krzyszkowiak @ 2021-08-16 16:50 UTC (permalink / raw)
  To: Sebastian Reichel; +Cc: linux-pm, linux-kernel, kernel, Sebastian Krzyszkowiak

Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
---
 drivers/power/supply/max17042_battery.c | 2 +-
 include/linux/power/max17042_battery.h  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
index 01e6728a9e2b..eeccc365fe54 100644
--- a/drivers/power/supply/max17042_battery.c
+++ b/drivers/power/supply/max17042_battery.c
@@ -744,7 +744,7 @@ static inline void max17042_override_por_values(struct max17042_chip *chip)
 	struct max17042_config_data *config = chip->pdata->config_data;
 
 	max17042_override_por(map, MAX17042_TGAIN, config->tgain);
-	max17042_override_por(map, MAx17042_TOFF, config->toff);
+	max17042_override_por(map, MAX17042_TOFF, config->toff);
 	max17042_override_por(map, MAX17042_CGAIN, config->cgain);
 	max17042_override_por(map, MAX17042_COFF, config->coff);
 
diff --git a/include/linux/power/max17042_battery.h b/include/linux/power/max17042_battery.h
index 7e5da60cbea3..86f16fc3b694 100644
--- a/include/linux/power/max17042_battery.h
+++ b/include/linux/power/max17042_battery.h
@@ -69,7 +69,7 @@ enum max17042_register {
 	MAX17042_RelaxCFG	= 0x2A,
 	MAX17042_MiscCFG	= 0x2B,
 	MAX17042_TGAIN		= 0x2C,
-	MAx17042_TOFF		= 0x2D,
+	MAX17042_TOFF		= 0x2D,
 	MAX17042_CGAIN		= 0x2E,
 	MAX17042_COFF		= 0x2F,
 
-- 
2.32.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 3/4] power: supply: max17042_battery: more robust chip type checks
  2021-08-16 16:50 [PATCH 1/4] power: supply: max17042_battery: clean up MAX17055_V_empty Sebastian Krzyszkowiak
  2021-08-16 16:50 ` [PATCH 2/4] power: supply: max17042_battery: fix typo in MAx17042_TOFF Sebastian Krzyszkowiak
@ 2021-08-16 16:50 ` Sebastian Krzyszkowiak
  2021-08-16 16:50 ` [PATCH 4/4] power: supply: max17042_battery: log SOC threshold using debug log level Sebastian Krzyszkowiak
  2021-08-17 14:01 ` [PATCH 1/4] power: supply: max17042_battery: clean up MAX17055_V_empty Sebastian Reichel
  3 siblings, 0 replies; 5+ messages in thread
From: Sebastian Krzyszkowiak @ 2021-08-16 16:50 UTC (permalink / raw)
  To: Sebastian Reichel; +Cc: linux-pm, linux-kernel, kernel, Sebastian Krzyszkowiak

Prepared by checking the datasheets of max17042, max17047/50
and max170455 for differences in register maps.

Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
---
 drivers/power/supply/max17042_battery.c | 40 +++++++++++++------------
 include/linux/power/max17042_battery.h  |  9 ++++--
 2 files changed, 27 insertions(+), 22 deletions(-)

diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
index eeccc365fe54..e6bcda966476 100644
--- a/drivers/power/supply/max17042_battery.c
+++ b/drivers/power/supply/max17042_battery.c
@@ -763,34 +763,36 @@ static inline void max17042_override_por_values(struct max17042_chip *chip)
 	max17042_override_por(map, MAX17042_FilterCFG, config->filter_cfg);
 	max17042_override_por(map, MAX17042_RelaxCFG, config->relax_cfg);
 	max17042_override_por(map, MAX17042_MiscCFG, config->misc_cfg);
-	max17042_override_por(map, MAX17042_MaskSOC, config->masksoc);
 
 	max17042_override_por(map, MAX17042_FullCAP, config->fullcap);
 	max17042_override_por(map, MAX17042_FullCAPNom, config->fullcapnom);
-	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042)
-		max17042_override_por(map, MAX17042_SOC_empty,
-						config->socempty);
-	max17042_override_por(map, MAX17042_LAvg_empty, config->lavg_empty);
 	max17042_override_por(map, MAX17042_dQacc, config->dqacc);
 	max17042_override_por(map, MAX17042_dPacc, config->dpacc);
 
-	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042)
-		max17042_override_por(map, MAX17042_V_empty, config->vempty);
-	else
-		max17042_override_por(map, MAX17047_V_empty, config->vempty);
-	max17042_override_por(map, MAX17042_TempNom, config->temp_nom);
-	max17042_override_por(map, MAX17042_TempLim, config->temp_lim);
-	max17042_override_por(map, MAX17042_FCTC, config->fctc);
 	max17042_override_por(map, MAX17042_RCOMP0, config->rcomp0);
 	max17042_override_por(map, MAX17042_TempCo, config->tcompc0);
-	if (chip->chip_type &&
-	    ((chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042) ||
+
+	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042) {
+		max17042_override_por(map, MAX17042_MaskSOC, config->masksoc);
+		max17042_override_por(map, MAX17042_SOC_empty, config->socempty);
+		max17042_override_por(map, MAX17042_V_empty, config->vempty);
+		max17042_override_por(map, MAX17042_EmptyTempCo, config->empty_tempco);
+		max17042_override_por(map, MAX17042_K_empty0, config->kempty0);
+	}
+
+	if ((chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042) ||
 	    (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17047) ||
-	    (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17050))) {
-		max17042_override_por(map, MAX17042_EmptyTempCo,
-						config->empty_tempco);
-		max17042_override_por(map, MAX17042_K_empty0,
-						config->kempty0);
+	    (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17050)) {
+		max17042_override_por(map, MAX17042_LAvg_empty, config->lavg_empty);
+		max17042_override_por(map, MAX17042_TempNom, config->temp_nom);
+		max17042_override_por(map, MAX17042_TempLim, config->temp_lim);
+		max17042_override_por(map, MAX17042_FCTC, config->fctc);
+	}
+
+	if ((chip->chip_type == MAXIM_DEVICE_TYPE_MAX17047) ||
+	    (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17050) ||
+	    (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17055)) {
+		max17042_override_por(map, MAX17047_V_empty, config->vempty);
 	}
 }
 
diff --git a/include/linux/power/max17042_battery.h b/include/linux/power/max17042_battery.h
index 86f16fc3b694..dd24756a8af7 100644
--- a/include/linux/power/max17042_battery.h
+++ b/include/linux/power/max17042_battery.h
@@ -110,12 +110,14 @@ enum max17042_register {
 	MAX17042_VFSOC		= 0xFF,
 };
 
+/* Registers specific to max17055 only */
 enum max17055_register {
 	MAX17055_QRes		= 0x0C,
+	MAX17055_RCell		= 0x14,
 	MAX17055_TTF		= 0x20,
-	MAX17055_TIMER		= 0x3E,
+	MAX17055_DieTemp	= 0x34,
 	MAX17055_USER_MEM	= 0x40,
-	MAX17055_RGAIN		= 0x42,
+	MAX17055_RGAIN		= 0x43,
 
 	MAX17055_ConvgCfg	= 0x49,
 	MAX17055_VFRemCap	= 0x4A,
@@ -154,13 +156,14 @@ enum max17055_register {
 	MAX17055_AtAvCap	= 0xDF,
 };
 
-/* Registers specific to max17047/50 */
+/* Registers specific to max17047/50/55 */
 enum max17047_register {
 	MAX17047_QRTbl00	= 0x12,
 	MAX17047_FullSOCThr	= 0x13,
 	MAX17047_QRTbl10	= 0x22,
 	MAX17047_QRTbl20	= 0x32,
 	MAX17047_V_empty	= 0x3A,
+	MAX17047_TIMER		= 0x3E,
 	MAX17047_QRTbl30	= 0x42,
 };
 
-- 
2.32.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 4/4] power: supply: max17042_battery: log SOC threshold using debug log level
  2021-08-16 16:50 [PATCH 1/4] power: supply: max17042_battery: clean up MAX17055_V_empty Sebastian Krzyszkowiak
  2021-08-16 16:50 ` [PATCH 2/4] power: supply: max17042_battery: fix typo in MAx17042_TOFF Sebastian Krzyszkowiak
  2021-08-16 16:50 ` [PATCH 3/4] power: supply: max17042_battery: more robust chip type checks Sebastian Krzyszkowiak
@ 2021-08-16 16:50 ` Sebastian Krzyszkowiak
  2021-08-17 14:01 ` [PATCH 1/4] power: supply: max17042_battery: clean up MAX17055_V_empty Sebastian Reichel
  3 siblings, 0 replies; 5+ messages in thread
From: Sebastian Krzyszkowiak @ 2021-08-16 16:50 UTC (permalink / raw)
  To: Sebastian Reichel; +Cc: linux-pm, linux-kernel, kernel, Sebastian Krzyszkowiak

There's no need to print a message on every change in battery percentage
on regular log levels.

Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
---
 drivers/power/supply/max17042_battery.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
index e6bcda966476..8dffae76b6a3 100644
--- a/drivers/power/supply/max17042_battery.c
+++ b/drivers/power/supply/max17042_battery.c
@@ -872,7 +872,7 @@ static irqreturn_t max17042_thread_handler(int id, void *dev)
 		return IRQ_HANDLED;
 
 	if ((val & STATUS_SMN_BIT) || (val & STATUS_SMX_BIT)) {
-		dev_info(&chip->client->dev, "SOC threshold INTR\n");
+		dev_dbg(&chip->client->dev, "SOC threshold INTR\n");
 		max17042_set_soc_threshold(chip, 1);
 	}
 
-- 
2.32.0


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/4] power: supply: max17042_battery: clean up MAX17055_V_empty
  2021-08-16 16:50 [PATCH 1/4] power: supply: max17042_battery: clean up MAX17055_V_empty Sebastian Krzyszkowiak
                   ` (2 preceding siblings ...)
  2021-08-16 16:50 ` [PATCH 4/4] power: supply: max17042_battery: log SOC threshold using debug log level Sebastian Krzyszkowiak
@ 2021-08-17 14:01 ` Sebastian Reichel
  3 siblings, 0 replies; 5+ messages in thread
From: Sebastian Reichel @ 2021-08-17 14:01 UTC (permalink / raw)
  To: Sebastian Krzyszkowiak; +Cc: linux-pm, linux-kernel, kernel

[-- Attachment #1: Type: text/plain, Size: 2142 bytes --]

Hi,

On Mon, Aug 16, 2021 at 06:50:13PM +0200, Sebastian Krzyszkowiak wrote:
> This register is same as in MAX17047 and MAX17050, so there's no need
> for custom casing it.
> 
> Signed-off-by: Sebastian Krzyszkowiak <sebastian.krzyszkowiak@puri.sm>
> ---

Thanks, series queued.

-- Sebastian

>  drivers/power/supply/max17042_battery.c | 4 ----
>  include/linux/power/max17042_battery.h  | 1 -
>  2 files changed, 5 deletions(-)
> 
> diff --git a/drivers/power/supply/max17042_battery.c b/drivers/power/supply/max17042_battery.c
> index c6078f179fb3..01e6728a9e2b 100644
> --- a/drivers/power/supply/max17042_battery.c
> +++ b/drivers/power/supply/max17042_battery.c
> @@ -283,8 +283,6 @@ static int max17042_get_property(struct power_supply *psy,
>  	case POWER_SUPPLY_PROP_VOLTAGE_MIN_DESIGN:
>  		if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042)
>  			ret = regmap_read(map, MAX17042_V_empty, &data);
> -		else if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17055)
> -			ret = regmap_read(map, MAX17055_V_empty, &data);
>  		else
>  			ret = regmap_read(map, MAX17047_V_empty, &data);
>  		if (ret < 0)
> @@ -778,8 +776,6 @@ static inline void max17042_override_por_values(struct max17042_chip *chip)
>  
>  	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17042)
>  		max17042_override_por(map, MAX17042_V_empty, config->vempty);
> -	if (chip->chip_type == MAXIM_DEVICE_TYPE_MAX17055)
> -		max17042_override_por(map, MAX17055_V_empty, config->vempty);
>  	else
>  		max17042_override_por(map, MAX17047_V_empty, config->vempty);
>  	max17042_override_por(map, MAX17042_TempNom, config->temp_nom);
> diff --git a/include/linux/power/max17042_battery.h b/include/linux/power/max17042_battery.h
> index d55c746ac56e..7e5da60cbea3 100644
> --- a/include/linux/power/max17042_battery.h
> +++ b/include/linux/power/max17042_battery.h
> @@ -113,7 +113,6 @@ enum max17042_register {
>  enum max17055_register {
>  	MAX17055_QRes		= 0x0C,
>  	MAX17055_TTF		= 0x20,
> -	MAX17055_V_empty	= 0x3A,
>  	MAX17055_TIMER		= 0x3E,
>  	MAX17055_USER_MEM	= 0x40,
>  	MAX17055_RGAIN		= 0x42,
> -- 
> 2.32.0
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-08-17 14:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-16 16:50 [PATCH 1/4] power: supply: max17042_battery: clean up MAX17055_V_empty Sebastian Krzyszkowiak
2021-08-16 16:50 ` [PATCH 2/4] power: supply: max17042_battery: fix typo in MAx17042_TOFF Sebastian Krzyszkowiak
2021-08-16 16:50 ` [PATCH 3/4] power: supply: max17042_battery: more robust chip type checks Sebastian Krzyszkowiak
2021-08-16 16:50 ` [PATCH 4/4] power: supply: max17042_battery: log SOC threshold using debug log level Sebastian Krzyszkowiak
2021-08-17 14:01 ` [PATCH 1/4] power: supply: max17042_battery: clean up MAX17055_V_empty Sebastian Reichel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).