• Haibo Chen's avatar
    gpio: pca953x: Add mutex_lock for regcache sync in PM · 518e26f1
    Haibo Chen authored
    The regcache sync will set the cache_bypass = true, at that
    time, when there is regmap write operation, it will bypass
    the regmap cache, then the regcache sync will write back the
    value from cache to register, which is not as our expectation.
    
    Though regmap already use its internal lock to avoid such issue,
    but this driver force disable the regmap internal lock in its
    regmap config: disable_locking = true
    
    To avoid this issue, use the driver's own lock to do the protect
    in system PM.
    
    Fixes: b7657430 ("gpio: pca953x: Restore registers after suspend/resume cycle")
    Signed-off-by: default avatarHaibo Chen <haibo.chen@nxp.com>
    Signed-off-by: default avatarBartosz Golaszewski <brgl@bgdev.pl>
    518e26f1
gpio-pca953x.c 35.3 KB