• Charles Keepax's avatar
    extcon: arizona: Get MICVDD against extcon device · 17271f60
    Charles Keepax authored
    Previously we would do a regulator get against the main Arizona device
    to obtain the MICVDD regulator. Arizona is an MFD device and normally
    MICVDD will be supplied by one of its children (the arizona-micsupp
    regulator). As devres destruction for the MFD device will run after all
    its children have been destroyed, the regulator will be destroyed before
    devres calls regulator_put. This causes a warning from both the
    destruction of the child node, as the regulator is still open, and from
    the put of the regulator as the regulator device has already been
    destroyed.
    
    A simple fix here is to get the regulator against the extcon device
    itself such that devres runs when the child is destroyed. This has the
    additional benefit that if for some reason the extcon driver is unloaded
    the regulator reference won't hang around until the MFD is unloaded.
    Signed-off-by: default avatarCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
    Signed-off-by: default avatarChanwoo Choi <cw00.choi@samsung.com>
    17271f60
extcon-arizona.c 37.6 KB