]> www.infradead.org Git - users/jedix/linux-maple.git/commit
clk: si521xx: Fix regmap write accessor
authorMarek Vasut <marex@denx.de>
Thu, 31 Aug 2023 18:16:56 +0000 (20:16 +0200)
committerStephen Boyd <sboyd@kernel.org>
Mon, 11 Sep 2023 20:50:49 +0000 (13:50 -0700)
commit83df5bf010eb5ccc11ce95f2d076515ec216c99c
treee4cdc7f2c2e941bec3693e08ef9229eb50523aaf
parentf03a562450eef35b785a814005ed164a89dfb2db
clk: si521xx: Fix regmap write accessor

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: edc12763a3a2 ("clk: si521xx: Clock driver for Skyworks Si521xx I2C PCIe clock generators")
Signed-off-by: Marek Vasut <marex@denx.de>
Link: https://lore.kernel.org/r/20230831181656.154750-2-marex@denx.de
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/clk-si521xx.c