power: rk818-charger: fix usb charger undetected
authorWilliam Wu <william.wu@rock-chips.com>
Fri, 7 Jul 2017 01:53:00 +0000 (09:53 +0800)
committerHuang, Tao <huangtao@rock-chips.com>
Fri, 7 Jul 2017 11:17:12 +0000 (19:17 +0800)
commitf7169a90bc441107240c042440391310dd1b2ba1
treecb677fa2b197737c9d1400797c112c05e3eb0a19
parent9aeb1194e3847cd519a1a81d3788f3fd66dd6043
power: rk818-charger: fix usb charger undetected

On some platforms (e.g. rk3399), we use extcon notify
framework to receive USB charger notifier from USB PHY
driver. Generally, the USB PHY driver uses a work to check
vbus status and the USB charger type every 2 seconds,
this polling mechanism may cause USB charger undetected
if we plug in/out USB charger quickly.

A typical error case is:
1. Plug in an USB DCP Adapter.
   - USB PHY driver sends notifier to rk818-charger
2. Plug out the USB Adapter, and plug in again immediately
   - rk818 detects plug out irq, and turns off charging
   - USB PHY driver schedule work doesn't detect the plug
     out/in operations, and doesn't send usb charger notifier

Fortunately, rk818 can detect plug in irq, so let's check
the USB charger type in rk818 plug in irq handler.

Change-Id: Iee45769c8a98c709da2dbfa514198ab0f648fd20
Signed-off-by: William Wu <william.wu@rock-chips.com>
drivers/power/rk818_charger.c