Message ID | 20210717121112.3248-9-digetx@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add OTG mode support to Tegra USB PHY, SMB347 and Nexus 7 | expand |
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 <digetx@gmail.com> > --- > 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 >
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.
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)
Regmap already provides us with the caching, so remove caching of charger state to make code cleaner. Signed-off-by: Dmitry Osipenko <digetx@gmail.com> --- drivers/power/supply/smb347-charger.c | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-)