[PATCH 29/40] ab8500-charger: Run detect workaround only on AB8500
From: Rabin Vincent Only AB8500 has this hardware bug, so these works only need to be run there. Signed-off-by: Rabin Vincent Signed-off-by: Lee Jones Reviewed-by: Marcus COOPER Reviewed-by: Martin SJOBLOM Reviewed-by: Jonas ABERG --- drivers/power/ab8500_charger.c | 21 + 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/drivers/power/ab8500_charger.c b/drivers/power/ab8500_charger.c index 64accb2..8530028 100644 --- a/drivers/power/ab8500_charger.c +++ b/drivers/power/ab8500_charger.c @@ -441,7 +441,8 @@ static void ab8500_charger_set_usb_connected(struct ab8500_charger *di, mutex_lock(>charger_attached_mutex); mutex_unlock(>charger_attached_mutex); - queue_delayed_work(di->charger_wq, + if (is_ab8500(di->parent)) + queue_delayed_work(di->charger_wq, >usb_charger_attached_work, HZ); } else { @@ -2622,7 +2623,9 @@ static irqreturn_t ab8500_charger_mainchplugdet_handler(int irq, void *_di) mutex_lock(>charger_attached_mutex); mutex_unlock(>charger_attached_mutex); - queue_delayed_work(di->charger_wq, + + if (is_ab8500(di->parent)) + queue_delayed_work(di->charger_wq, >ac_charger_attached_work, HZ); return IRQ_HANDLED; @@ -3690,14 +3693,16 @@ static int ab8500_charger_probe(struct platform_device *pdev) ch_stat = ab8500_charger_detect_chargers(di, false); if ((ch_stat & AC_PW_CONN) == AC_PW_CONN) { - queue_delayed_work(di->charger_wq, - >ac_charger_attached_work, - HZ); + if (is_ab8500(di->parent)) + queue_delayed_work(di->charger_wq, + >ac_charger_attached_work, + HZ); } if ((ch_stat & USB_PW_CONN) == USB_PW_CONN) { - queue_delayed_work(di->charger_wq, - >usb_charger_attached_work, - HZ); + if (is_ab8500(di->parent)) + queue_delayed_work(di->charger_wq, + >usb_charger_attached_work, + HZ); } mutex_unlock(>charger_attached_mutex); -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 29/40] ab8500-charger: Run detect workaround only on AB8500
From: Rabin Vincent rabin.vinc...@stericsson.com Only AB8500 has this hardware bug, so these works only need to be run there. Signed-off-by: Rabin Vincent rabin.vinc...@stericsson.com Signed-off-by: Lee Jones lee.jo...@linaro.org Reviewed-by: Marcus COOPER marcus.xm.coo...@stericsson.com Reviewed-by: Martin SJOBLOM martin.w.sjob...@stericsson.com Reviewed-by: Jonas ABERG jonas.ab...@stericsson.com --- drivers/power/ab8500_charger.c | 21 + 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/drivers/power/ab8500_charger.c b/drivers/power/ab8500_charger.c index 64accb2..8530028 100644 --- a/drivers/power/ab8500_charger.c +++ b/drivers/power/ab8500_charger.c @@ -441,7 +441,8 @@ static void ab8500_charger_set_usb_connected(struct ab8500_charger *di, mutex_lock(di-charger_attached_mutex); mutex_unlock(di-charger_attached_mutex); - queue_delayed_work(di-charger_wq, + if (is_ab8500(di-parent)) + queue_delayed_work(di-charger_wq, di-usb_charger_attached_work, HZ); } else { @@ -2622,7 +2623,9 @@ static irqreturn_t ab8500_charger_mainchplugdet_handler(int irq, void *_di) mutex_lock(di-charger_attached_mutex); mutex_unlock(di-charger_attached_mutex); - queue_delayed_work(di-charger_wq, + + if (is_ab8500(di-parent)) + queue_delayed_work(di-charger_wq, di-ac_charger_attached_work, HZ); return IRQ_HANDLED; @@ -3690,14 +3693,16 @@ static int ab8500_charger_probe(struct platform_device *pdev) ch_stat = ab8500_charger_detect_chargers(di, false); if ((ch_stat AC_PW_CONN) == AC_PW_CONN) { - queue_delayed_work(di-charger_wq, - di-ac_charger_attached_work, - HZ); + if (is_ab8500(di-parent)) + queue_delayed_work(di-charger_wq, + di-ac_charger_attached_work, + HZ); } if ((ch_stat USB_PW_CONN) == USB_PW_CONN) { - queue_delayed_work(di-charger_wq, - di-usb_charger_attached_work, - HZ); + if (is_ab8500(di-parent)) + queue_delayed_work(di-charger_wq, + di-usb_charger_attached_work, + HZ); } mutex_unlock(di-charger_attached_mutex); -- 1.7.10.4 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/