]> git.baikalelectronics.ru Git - kernel.git/commit
drm: adv7511: override i2c address of cec before accessing it
authorAntonio Borneo <antonio.borneo@foss.st.com>
Tue, 7 Jun 2022 21:31:44 +0000 (23:31 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Aug 2022 12:23:19 +0000 (14:23 +0200)
commit778f03264459bb37c222ed06171597964e1049c2
treec36aebf8f037cf54764b6147fa5026ad82eb96b6
parentb6e7f9e2fed15070bcfbd19a2b6bda7539baaa7c
drm: adv7511: override i2c address of cec before accessing it

[ Upstream commit af234a827e27dbea970b80e58998f30637095c9d ]

Commit 6b4be4d3a70b ("drm: adv7511: Add support for
i2c_new_secondary_device") allows a device tree node to override
the default addresses of the secondary i2c devices. This is useful
for solving address conflicts on the i2c bus.

In adv7511_init_cec_regmap() the new i2c address of cec device is
read from device tree and immediately accessed, well before it is
written in the proper register to override the default address.
This can cause an i2c error during probe and a consequent probe
failure.

Once the new i2c address is read from the device tree, override
the default address before any attempt to access the cec.

Tested with adv7533 and stm32mp157f.

Signed-off-by: Antonio Borneo <antonio.borneo@foss.st.com>
Fixes: 6b4be4d3a70b ("drm: adv7511: Add support for i2c_new_secondary_device")
Reviewed-by: Kieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: Robert Foss <robert.foss@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220607213144.427177-1-antonio.borneo@foss.st.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c