• Tony Lindgren's avatar
    phy: phy-twl4030-usb: Fix cable state handling · 20f79588
    Tony Lindgren authored
    With the recent regulator changes I noticed new warnings on doing rmmod of
    phy-twl4030-usb:
    
    WARNING: CPU: 0 PID: 1080 at drivers/regulator/core.c:2046 _regulator_put
    ...
    
    Turns out we can currently miss disconnect at least for cases where status
    is 0 and linkstat is 0. And in that case doing rmmod phy-twl4030-usb will
    produce the regulator_put() warning.
    
    This is because the missed disconnect causes unbalanced PM runtime calls
    and the regulators will be on exit.
    
    Let's fix the issue by using an atomic flag for the cable state to make
    sure that PM runtime won't get out of sync with the cable state. That
    way we can also simplify the code a bit.
    
    Note that we can also drop the old comments, those relate to issues that
    the battery charger driver and musb driver is dealing with rather than
    the USB PHY driver.
    
    Cc: NeilBrown <neilb@suse.com>
    Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
    20f79588
phy-twl4030-usb.c 22.6 KB