linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/2] power: supply: bq25890: Factor out chip state update
@ 2022-11-09 22:15 Marek Vasut
  2022-11-09 22:15 ` [PATCH 2/2] power: supply: bq25890: Add HiZ mode support Marek Vasut
  2022-11-19 13:49 ` [PATCH 1/2] power: supply: bq25890: Factor out chip state update Hans de Goede
  0 siblings, 2 replies; 13+ messages in thread
From: Marek Vasut @ 2022-11-09 22:15 UTC (permalink / raw)
  To: linux-pm; +Cc: Marek Vasut, Hans de Goede, Sebastian Reichel, Sebastian Reichel

Pull the chip state and ADC conversion update functionality out into
separate function, so it can be reused elsewhere in the driver. This
is a preparatory patch, no functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Hans de Goede <hdegoede@redhat.com>
Cc: Sebastian Reichel <sebastian.reichel@collabora.com>
Cc: Sebastian Reichel <sre@kernel.org>
---
 drivers/power/supply/bq25890_charger.c | 23 ++++++++++++++++-------
 1 file changed, 16 insertions(+), 7 deletions(-)

diff --git a/drivers/power/supply/bq25890_charger.c b/drivers/power/supply/bq25890_charger.c
index f0362dcb935e9..676eb66374e01 100644
--- a/drivers/power/supply/bq25890_charger.c
+++ b/drivers/power/supply/bq25890_charger.c
@@ -454,20 +454,18 @@ static int bq25890_get_vbus_voltage(struct bq25890_device *bq)
 	return bq25890_find_val(ret, TBL_VBUSV);
 }
 
-static int bq25890_power_supply_get_property(struct power_supply *psy,
-					     enum power_supply_property psp,
-					     union power_supply_propval *val)
+static void bq25890_update_state(struct bq25890_device *bq,
+				 enum power_supply_property psp,
+				 struct bq25890_state *state)
 {
-	struct bq25890_device *bq = power_supply_get_drvdata(psy);
-	struct bq25890_state state;
 	bool do_adc_conv;
 	int ret;
 
 	mutex_lock(&bq->lock);
 	/* update state in case we lost an interrupt */
 	__bq25890_handle_irq(bq);
-	state = bq->state;
-	do_adc_conv = !state.online && bq25890_is_adc_property(psp);
+	*state = bq->state;
+	do_adc_conv = !state->online && bq25890_is_adc_property(psp);
 	if (do_adc_conv)
 		bq25890_field_write(bq, F_CONV_START, 1);
 	mutex_unlock(&bq->lock);
@@ -475,6 +473,17 @@ static int bq25890_power_supply_get_property(struct power_supply *psy,
 	if (do_adc_conv)
 		regmap_field_read_poll_timeout(bq->rmap_fields[F_CONV_START],
 			ret, !ret, 25000, 1000000);
+}
+
+static int bq25890_power_supply_get_property(struct power_supply *psy,
+					     enum power_supply_property psp,
+					     union power_supply_propval *val)
+{
+	struct bq25890_device *bq = power_supply_get_drvdata(psy);
+	struct bq25890_state state;
+	int ret;
+
+	bq25890_update_state(bq, psp, &state);
 
 	switch (psp) {
 	case POWER_SUPPLY_PROP_STATUS:
-- 
2.35.1


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

end of thread, other threads:[~2022-11-26 18:40 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-09 22:15 [PATCH 1/2] power: supply: bq25890: Factor out chip state update Marek Vasut
2022-11-09 22:15 ` [PATCH 2/2] power: supply: bq25890: Add HiZ mode support Marek Vasut
2022-11-19 13:52   ` Hans de Goede
2022-11-19 14:14     ` Marek Vasut
2022-11-20 21:29     ` Hans de Goede
2022-11-21  0:50       ` Marek Vasut
2022-11-21  8:04         ` Hans de Goede
2022-11-26 11:06           ` Marek Vasut
2022-11-26 15:03             ` Hans de Goede
2022-11-26 15:15               ` Marek Vasut
2022-11-26 15:50                 ` Hans de Goede
2022-11-26 18:40                   ` Marek Vasut
2022-11-19 13:49 ` [PATCH 1/2] power: supply: bq25890: Factor out chip state update Hans de Goede

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).