diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2016-10-19 11:18:16 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-10-19 11:18:16 -0700 |
commit | 4bd30ab6634e4250c1b64cb48a0c8b24b34e5344 (patch) | |
tree | b87dc9730cf04ae74f27c7aa7fe02da4e9613e2c | |
parent | 935f271872b4c1da767be2161cd4b06281a94f4d (diff) | |
parent | eb9868d4493188c1fa9e2a99782bf5d73892f0b8 (diff) |
Merge "qpnp-smb2: handle DC insertion"
-rw-r--r-- | drivers/power/qcom-charger/qpnp-smb2.c | 3 | ||||
-rw-r--r-- | drivers/power/qcom-charger/smb-lib.c | 9 | ||||
-rw-r--r-- | drivers/power/qcom-charger/smb-lib.h | 1 |
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, |