diff options
author | Tony Lindgren <tony@atomide.com> | 2021-01-10 21:53:53 +0200 |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2021-01-14 23:42:42 +0100 |
commit | 41ac23f5c9fbff53d1c0ce46606c0f157d7c6982 (patch) | |
tree | ff40f3e1f1c4d295af673838235f95c05895ee00 /drivers/power | |
parent | e015964a28683aecca822f2457dba43f1fd63b2d (diff) | |
download | linux-41ac23f5c9fbff53d1c0ce46606c0f157d7c6982.tar.gz |
power: supply: cpcap-charger: Use standard enumeration
Just get rid of the custom enumeration if favor of the standard one.
Cc: Arthur Demchenkov <spinal.by@gmail.com>
Cc: Carl Philipp Klemm <philipp@uvos.xyz>
Cc: Merlijn Wajer <merlijn@wizzup.org>
Cc: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Diffstat (limited to 'drivers/power')
-rw-r--r-- | drivers/power/supply/cpcap-charger.c | 39 |
1 files changed, 19 insertions, 20 deletions
diff --git a/drivers/power/supply/cpcap-charger.c b/drivers/power/supply/cpcap-charger.c index 721c71ab01ca..5a008152bca6 100644 --- a/drivers/power/supply/cpcap-charger.c +++ b/drivers/power/supply/cpcap-charger.c @@ -120,13 +120,6 @@ enum { CPCAP_CHARGER_IIO_NR, }; -enum { - CPCAP_CHARGER_DISCONNECTED, - CPCAP_CHARGER_DETECTING, - CPCAP_CHARGER_CHARGING, - CPCAP_CHARGER_DONE, -}; - struct cpcap_charger_ddata { struct device *dev; struct regmap *reg; @@ -533,7 +526,7 @@ static void cpcap_charger_update_state(struct cpcap_charger_ddata *ddata, { const char *status; - if (state > CPCAP_CHARGER_DONE) { + if (state > POWER_SUPPLY_STATUS_FULL) { dev_warn(ddata->dev, "unknown state: %i\n", state); return; @@ -542,16 +535,16 @@ static void cpcap_charger_update_state(struct cpcap_charger_ddata *ddata, ddata->state = state; switch (state) { - case CPCAP_CHARGER_DISCONNECTED: + case POWER_SUPPLY_STATUS_DISCHARGING: status = "DISCONNECTED"; break; - case CPCAP_CHARGER_DETECTING: + case POWER_SUPPLY_STATUS_NOT_CHARGING: status = "DETECTING"; break; - case CPCAP_CHARGER_CHARGING: + case POWER_SUPPLY_STATUS_CHARGING: status = "CHARGING"; break; - case CPCAP_CHARGER_DONE: + case POWER_SUPPLY_STATUS_FULL: status = "DONE"; break; default: @@ -616,7 +609,8 @@ static void cpcap_usb_detect(struct work_struct *work) /* Just init the state if a charger is connected with no chrg_det set */ if (!s.chrg_det && s.chrgcurr1 && s.vbusvld) { - cpcap_charger_update_state(ddata, CPCAP_CHARGER_DETECTING); + cpcap_charger_update_state(ddata, + POWER_SUPPLY_STATUS_NOT_CHARGING); return; } @@ -626,7 +620,8 @@ static void cpcap_usb_detect(struct work_struct *work) * charged to 4.35V by Android. Try again in 10 minutes. */ if (cpcap_charger_get_charge_voltage(ddata) > ddata->voltage) { - cpcap_charger_disconnect(ddata, CPCAP_CHARGER_DETECTING, + cpcap_charger_disconnect(ddata, + POWER_SUPPLY_STATUS_NOT_CHARGING, HZ * 60 * 10); return; @@ -634,19 +629,21 @@ static void cpcap_usb_detect(struct work_struct *work) /* Throttle chrgcurr2 interrupt for charger done and retry */ switch (ddata->state) { - case CPCAP_CHARGER_CHARGING: + case POWER_SUPPLY_STATUS_CHARGING: if (s.chrgcurr2) break; if (s.chrgcurr1 && s.vbusvld) { - cpcap_charger_disconnect(ddata, CPCAP_CHARGER_DONE, + cpcap_charger_disconnect(ddata, + POWER_SUPPLY_STATUS_FULL, HZ * 5); return; } break; - case CPCAP_CHARGER_DONE: + case POWER_SUPPLY_STATUS_FULL: if (!s.chrgcurr2) break; - cpcap_charger_disconnect(ddata, CPCAP_CHARGER_DETECTING, + cpcap_charger_disconnect(ddata, + POWER_SUPPLY_STATUS_NOT_CHARGING, HZ * 5); return; default: @@ -669,12 +666,14 @@ static void cpcap_usb_detect(struct work_struct *work) max_current, 0); if (error) goto out_err; - cpcap_charger_update_state(ddata, CPCAP_CHARGER_CHARGING); + cpcap_charger_update_state(ddata, + POWER_SUPPLY_STATUS_CHARGING); } else { error = cpcap_charger_set_state(ddata, 0, 0, 0); if (error) goto out_err; - cpcap_charger_update_state(ddata, CPCAP_CHARGER_DISCONNECTED); + cpcap_charger_update_state(ddata, + POWER_SUPPLY_STATUS_DISCHARGING); } power_supply_changed(ddata->usb); |