The nouveau driver is the only user of the drm_encoder_slave interface. Demote it from KMS helpers module to the nouveau driver itself, moving corresponding I2C encoders to be handled by nouveau driver too. Ideally those two drivers should be converted to the drm_bridge interface, but it's unclear if it's worth spending time on that. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> --- Dmitry Baryshkov (2): drm/nouveau: incorporate I2C TV encoder drivers drm/nouveau: vendor in drm_encoder_slave API drivers/gpu/drm/Makefile | 1 - drivers/gpu/drm/i2c/Kconfig | 18 ---- drivers/gpu/drm/i2c/Makefile | 6 -- drivers/gpu/drm/nouveau/Kconfig | 20 ++++ drivers/gpu/drm/nouveau/dispnv04/Kbuild | 3 + drivers/gpu/drm/nouveau/dispnv04/dfp.c | 12 +-- .../drm/{ => nouveau/dispnv04}/i2c/ch7006_drv.c | 30 +++--- .../drm/{ => nouveau/dispnv04}/i2c/ch7006_mode.c | 8 +- .../drm/{ => nouveau/dispnv04}/i2c/ch7006_priv.h | 7 +- .../drm/{ => nouveau/dispnv04}/i2c/sil164_drv.c | 33 ++++--- .../dispnv04/nouveau_i2c_encoder.c} | 85 +++++----------- drivers/gpu/drm/nouveau/dispnv04/tvnv04.c | 20 ++-- drivers/gpu/drm/nouveau/dispnv04/tvnv17.c | 4 +- .../gpu/drm/nouveau/include}/i2c/ch7006.h | 0 .../gpu/drm/nouveau/include/i2c/encoder_i2c.h | 108 ++++++++------------- .../gpu/drm/nouveau/include}/i2c/sil164.h | 0 drivers/gpu/drm/nouveau/nouveau_connector.c | 6 +- drivers/gpu/drm/nouveau/nouveau_encoder.h | 13 +-- 18 files changed, 155 insertions(+), 219 deletions(-) --- base-commit: 4176cf5c5651c33769de83bb61b0287f4ec7719f change-id: 20241214-nouveau-encoder-slave-a6dd422fa4a9 Best regards, -- Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>