• T
    mtd: rawnand: marvell: use regmap_update_bits() for syscon access · 6ae8c86e
    Thomas Petazzoni 提交于
    [ Upstream commit 88aa3bbfc020d14b13d67af3f5c08aa992d82cd8 ]
    
    The marvell_nfc_init() function fiddles with some bits of a system
    controller on Armada 7K/8K. However, it does a read/modify/write
    sequence on GENCONF_CLK_GATING_CTRL and GENCONF_ND_CLK_CTRL, which
    isn't safe from a concurrency point of view, as the regmap lock isn't
    taken accross the read/modify/write sequence. To solve this issue, use
    regmap_update_bits().
    
    While at it, since the "reg" variable is no longer needed for the
    read/modify/write sequences, get rid of it for the regmap_write() to
    GENCONF_SOC_DEVICE_MUX, and directly pass the value to be written as
    argument.
    
    Fixes: 02f26ecf ("mtd: nand: add reworked Marvell NAND controller driver")
    Signed-off-by: NThomas Petazzoni <thomas.petazzoni@bootlin.com>
    Signed-off-by: NMiquel Raynal <miquel.raynal@bootlin.com>
    Signed-off-by: NSasha Levin <sashal@kernel.org>
    6ae8c86e
marvell_nand.c 82.9 KB