2021-07-17 12:13:06

by Dmitry Osipenko

[permalink] [raw]
Subject: [PATCH v4 08/12] power: supply: smb347-charger: Remove caching of charger state

Regmap already provides us with the caching, so remove caching of charger
state to make code cleaner.

Signed-off-by: Dmitry Osipenko <[email protected]>
---
drivers/power/supply/smb347-charger.c | 14 ++------------
1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/drivers/power/supply/smb347-charger.c b/drivers/power/supply/smb347-charger.c
index db1378b41f80..f81c60c679a0 100644
--- a/drivers/power/supply/smb347-charger.c
+++ b/drivers/power/supply/smb347-charger.c
@@ -135,7 +135,6 @@
* @id: SMB charger ID
* @mains_online: is AC/DC input connected
* @usb_online: is USB input connected
- * @charging_enabled: is charging enabled
* @irq_unsupported: is interrupt unsupported by SMB hardware
* @max_charge_current: maximum current (in uA) the battery can be charged
* @max_charge_voltage: maximum voltage (in uV) the battery can be charged
@@ -192,7 +191,6 @@ struct smb347_charger {
unsigned int id;
bool mains_online;
bool usb_online;
- bool charging_enabled;
bool irq_unsupported;

unsigned int max_charge_current;
@@ -358,21 +356,13 @@ static int smb347_charging_status(struct smb347_charger *smb)

static int smb347_charging_set(struct smb347_charger *smb, bool enable)
{
- int ret = 0;
-
if (smb->enable_control != SMB3XX_CHG_ENABLE_SW) {
dev_dbg(smb->dev, "charging enable/disable in SW disabled\n");
return 0;
}

- if (smb->charging_enabled != enable) {
- ret = regmap_update_bits(smb->regmap, CMD_A, CMD_A_CHG_ENABLED,
- enable ? CMD_A_CHG_ENABLED : 0);
- if (!ret)
- smb->charging_enabled = enable;
- }
-
- return ret;
+ return regmap_update_bits(smb->regmap, CMD_A, CMD_A_CHG_ENABLED,
+ enable ? CMD_A_CHG_ENABLED : 0);
}

static inline int smb347_charging_enable(struct smb347_charger *smb)
--
2.32.0


2021-07-17 16:21:10

by Sebastian Reichel

[permalink] [raw]
Subject: Re: [PATCH v4 08/12] power: supply: smb347-charger: Remove caching of charger state

Hi,

On Sat, Jul 17, 2021 at 03:11:08PM +0300, Dmitry Osipenko wrote:
> Regmap already provides us with the caching, so remove caching of charger
> state to make code cleaner.

cache_type is not initialized in smb347's regmap config and thus
set to 0 = REGCACHE_NONE:

static const struct regmap_config smb347_regmap = {
.reg_bits = 8,
.val_bits = 8,
.max_register = SMB347_MAX_REGISTER,
.volatile_reg = smb347_volatile_reg,
.readable_reg = smb347_readable_reg,
};

-- Sebastian


> Signed-off-by: Dmitry Osipenko <[email protected]>
> ---
> drivers/power/supply/smb347-charger.c | 14 ++------------
> 1 file changed, 2 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/power/supply/smb347-charger.c b/drivers/power/supply/smb347-charger.c
> index db1378b41f80..f81c60c679a0 100644
> --- a/drivers/power/supply/smb347-charger.c
> +++ b/drivers/power/supply/smb347-charger.c
> @@ -135,7 +135,6 @@
> * @id: SMB charger ID
> * @mains_online: is AC/DC input connected
> * @usb_online: is USB input connected
> - * @charging_enabled: is charging enabled
> * @irq_unsupported: is interrupt unsupported by SMB hardware
> * @max_charge_current: maximum current (in uA) the battery can be charged
> * @max_charge_voltage: maximum voltage (in uV) the battery can be charged
> @@ -192,7 +191,6 @@ struct smb347_charger {
> unsigned int id;
> bool mains_online;
> bool usb_online;
> - bool charging_enabled;
> bool irq_unsupported;
>
> unsigned int max_charge_current;
> @@ -358,21 +356,13 @@ static int smb347_charging_status(struct smb347_charger *smb)
>
> static int smb347_charging_set(struct smb347_charger *smb, bool enable)
> {
> - int ret = 0;
> -
> if (smb->enable_control != SMB3XX_CHG_ENABLE_SW) {
> dev_dbg(smb->dev, "charging enable/disable in SW disabled\n");
> return 0;
> }
>
> - if (smb->charging_enabled != enable) {
> - ret = regmap_update_bits(smb->regmap, CMD_A, CMD_A_CHG_ENABLED,
> - enable ? CMD_A_CHG_ENABLED : 0);
> - if (!ret)
> - smb->charging_enabled = enable;
> - }
> -
> - return ret;
> + return regmap_update_bits(smb->regmap, CMD_A, CMD_A_CHG_ENABLED,
> + enable ? CMD_A_CHG_ENABLED : 0);
> }
>
> static inline int smb347_charging_enable(struct smb347_charger *smb)
> --
> 2.32.0
>


Attachments:
(No filename) (2.30 kB)
signature.asc (849.00 B)
Download all attachments

2021-07-17 17:31:56

by Dmitry Osipenko

[permalink] [raw]
Subject: Re: [PATCH v4 08/12] power: supply: smb347-charger: Remove caching of charger state

17.07.2021 19:20, Sebastian Reichel пишет:
> Hi,
>
> On Sat, Jul 17, 2021 at 03:11:08PM +0300, Dmitry Osipenko wrote:
>> Regmap already provides us with the caching, so remove caching of charger
>> state to make code cleaner.
>
> cache_type is not initialized in smb347's regmap config and thus
> set to 0 = REGCACHE_NONE:
>
> static const struct regmap_config smb347_regmap = {
> .reg_bits = 8,
> .val_bits = 8,
> .max_register = SMB347_MAX_REGISTER,
> .volatile_reg = smb347_volatile_reg,
> .readable_reg = smb347_readable_reg,
> };

Good catch, thank you. I'll add patch to enable caching.