• Marek Vasut's avatar
    clk: si521xx: Fix regmap write accessor · 83df5bf0
    Marek Vasut authored
    Rework the write operation such that the Byte Count register is written with
    a single raw i2c write outside of regmap using transfer which does specify
    the number of bytes to be transfered, one in this case, and which makes the
    expected subsequent write transfer look like address+register+data, and then
    make use of this method. Without this change, the Byte Count register write
    in probe() would succeed as it would provide the byte count as part of its
    write payload, but any subsequent writes would fail due to this Byte Count
    register programming. Such failing writes happens e.g. during resume, when
    restoring the regmap content.
    
    Fixes: edc12763 ("clk: si521xx: Clock driver for Skyworks Si521xx I2C PCIe clock generators")
    Signed-off-by: default avatarMarek Vasut <marex@denx.de>
    Link: https://lore.kernel.org/r/20230831181656.154750-2-marex@denx.deSigned-off-by: default avatarStephen Boyd <sboyd@kernel.org>
    83df5bf0
clk-si521xx.c 9.98 KB