drm/i2c: tda998x: allow sharing of the CEC device accesses
cec_read() is non-atomic in the presence of other I2C bus transactions to the same device. This presents a problem when we add support for the TDA9950 CEC engine part - both drivers can be trying to access the device. Avoid the inherent problems by switching to i2c_transfer() instead, which allows us to perform more than one bus transaction atomically. As this means we will be using I2C transactions rather than SMBUS, we have to check that the host supports I2C functionality. Tested-by: NBrian Starkey <brian.starkey@arm.com> Reviewed-by: NBrian Starkey <brian.starkey@arm.com> Signed-off-by: NRussell King <rmk+kernel@armlinux.org.uk>
Showing
想要评论请 注册 或 登录