summaryrefslogtreecommitdiff
path: root/drivers/power
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2016-10-19 11:18:16 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-10-19 11:18:16 -0700
commit4bd30ab6634e4250c1b64cb48a0c8b24b34e5344 (patch)
treeb87dc9730cf04ae74f27c7aa7fe02da4e9613e2c /drivers/power
parent935f271872b4c1da767be2161cd4b06281a94f4d (diff)
parenteb9868d4493188c1fa9e2a99782bf5d73892f0b8 (diff)
Merge "qpnp-smb2: handle DC insertion"
Diffstat (limited to 'drivers/power')
-rw-r--r--drivers/power/qcom-charger/qpnp-smb2.c3
-rw-r--r--drivers/power/qcom-charger/smb-lib.c9
-rw-r--r--drivers/power/qcom-charger/smb-lib.h1
3 files changed, 12 insertions, 1 deletions
diff --git a/drivers/power/qcom-charger/qpnp-smb2.c b/drivers/power/qcom-charger/qpnp-smb2.c
index b1264719b32a..dee554b6e150 100644
--- a/drivers/power/qcom-charger/qpnp-smb2.c
+++ b/drivers/power/qcom-charger/qpnp-smb2.c
@@ -1370,7 +1370,8 @@ static struct smb2_irq_info smb2_irqs[] = {
},
{
.name = "dcin-plugin",
- .handler = smblib_handle_debug,
+ .handler = smblib_handle_dc_plugin,
+ .wake = true,
},
{
.name = "div2-en-dg",
diff --git a/drivers/power/qcom-charger/smb-lib.c b/drivers/power/qcom-charger/smb-lib.c
index 1bd60e547327..bcdfdd459b3d 100644
--- a/drivers/power/qcom-charger/smb-lib.c
+++ b/drivers/power/qcom-charger/smb-lib.c
@@ -2515,6 +2515,15 @@ irqreturn_t smblib_handle_usb_typec_change(int irq, void *data)
return IRQ_HANDLED;
}
+irqreturn_t smblib_handle_dc_plugin(int irq, void *data)
+{
+ struct smb_irq_data *irq_data = data;
+ struct smb_charger *chg = irq_data->parent_data;
+
+ power_supply_changed(chg->dc_psy);
+ return IRQ_HANDLED;
+}
+
irqreturn_t smblib_handle_high_duty_cycle(int irq, void *data)
{
struct smb_irq_data *irq_data = data;
diff --git a/drivers/power/qcom-charger/smb-lib.h b/drivers/power/qcom-charger/smb-lib.h
index 2bc5255568e6..9612b740d84f 100644
--- a/drivers/power/qcom-charger/smb-lib.h
+++ b/drivers/power/qcom-charger/smb-lib.h
@@ -236,6 +236,7 @@ irqreturn_t smblib_handle_usb_plugin(int irq, void *data);
irqreturn_t smblib_handle_usb_source_change(int irq, void *data);
irqreturn_t smblib_handle_icl_change(int irq, void *data);
irqreturn_t smblib_handle_usb_typec_change(int irq, void *data);
+irqreturn_t smblib_handle_dc_plugin(int irq, void *data);
irqreturn_t smblib_handle_high_duty_cycle(int irq, void *data);
int smblib_get_prop_input_suspend(struct smb_charger *chg,