Loading drivers/power/qpnp-charger.c +13 −2 Original line number Diff line number Diff line /* Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -235,6 +235,7 @@ struct qpnp_chg_irq { int irq; unsigned long disabled; unsigned long wake_enable; bool is_wake; }; struct qpnp_chg_regulator { Loading Loading @@ -625,6 +626,10 @@ qpnp_chg_enable_irq(struct qpnp_chg_irq *irq) pr_debug("number = %d\n", irq->irq); enable_irq(irq->irq); } if ((irq->is_wake) && (!__test_and_set_bit(0, &irq->wake_enable))) { pr_debug("enable wake, number = %d\n", irq->irq); enable_irq_wake(irq->irq); } } static void Loading @@ -634,6 +639,10 @@ qpnp_chg_disable_irq(struct qpnp_chg_irq *irq) pr_debug("number = %d\n", irq->irq); disable_irq_nosync(irq->irq); } if ((irq->is_wake) && (__test_and_clear_bit(0, &irq->wake_enable))) { pr_debug("disable wake, number = %d\n", irq->irq); disable_irq_wake(irq->irq); } } static void Loading @@ -643,6 +652,7 @@ qpnp_chg_irq_wake_enable(struct qpnp_chg_irq *irq) pr_debug("number = %d\n", irq->irq); enable_irq_wake(irq->irq); } irq->is_wake = true; } static void Loading @@ -652,6 +662,7 @@ qpnp_chg_irq_wake_disable(struct qpnp_chg_irq *irq) pr_debug("number = %d\n", irq->irq); disable_irq_wake(irq->irq); } irq->is_wake = false; } #define USB_OTG_EN_BIT BIT(0) Loading Loading @@ -4614,8 +4625,8 @@ qpnp_chg_request_irqs(struct qpnp_chg_chip *chip) qpnp_chg_irq_wake_enable(&chip->chg_trklchg); qpnp_chg_irq_wake_enable(&chip->chg_failed); qpnp_chg_disable_irq(&chip->chg_vbatdet_lo); qpnp_chg_irq_wake_enable(&chip->chg_vbatdet_lo); qpnp_chg_disable_irq(&chip->chg_vbatdet_lo); break; case SMBB_BAT_IF_SUBTYPE: Loading Loading
drivers/power/qpnp-charger.c +13 −2 Original line number Diff line number Diff line /* Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. /* Copyright (c) 2012-2015, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and Loading Loading @@ -235,6 +235,7 @@ struct qpnp_chg_irq { int irq; unsigned long disabled; unsigned long wake_enable; bool is_wake; }; struct qpnp_chg_regulator { Loading Loading @@ -625,6 +626,10 @@ qpnp_chg_enable_irq(struct qpnp_chg_irq *irq) pr_debug("number = %d\n", irq->irq); enable_irq(irq->irq); } if ((irq->is_wake) && (!__test_and_set_bit(0, &irq->wake_enable))) { pr_debug("enable wake, number = %d\n", irq->irq); enable_irq_wake(irq->irq); } } static void Loading @@ -634,6 +639,10 @@ qpnp_chg_disable_irq(struct qpnp_chg_irq *irq) pr_debug("number = %d\n", irq->irq); disable_irq_nosync(irq->irq); } if ((irq->is_wake) && (__test_and_clear_bit(0, &irq->wake_enable))) { pr_debug("disable wake, number = %d\n", irq->irq); disable_irq_wake(irq->irq); } } static void Loading @@ -643,6 +652,7 @@ qpnp_chg_irq_wake_enable(struct qpnp_chg_irq *irq) pr_debug("number = %d\n", irq->irq); enable_irq_wake(irq->irq); } irq->is_wake = true; } static void Loading @@ -652,6 +662,7 @@ qpnp_chg_irq_wake_disable(struct qpnp_chg_irq *irq) pr_debug("number = %d\n", irq->irq); disable_irq_wake(irq->irq); } irq->is_wake = false; } #define USB_OTG_EN_BIT BIT(0) Loading Loading @@ -4614,8 +4625,8 @@ qpnp_chg_request_irqs(struct qpnp_chg_chip *chip) qpnp_chg_irq_wake_enable(&chip->chg_trklchg); qpnp_chg_irq_wake_enable(&chip->chg_failed); qpnp_chg_disable_irq(&chip->chg_vbatdet_lo); qpnp_chg_irq_wake_enable(&chip->chg_vbatdet_lo); qpnp_chg_disable_irq(&chip->chg_vbatdet_lo); break; case SMBB_BAT_IF_SUBTYPE: Loading