Commit 41ac23f5 authored by Tony Lindgren's avatar Tony Lindgren Committed by Sebastian Reichel

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: default avatarTony Lindgren <tony@atomide.com>
Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
parent e015964a
......@@ -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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment