Am Dienstag, 28. August 2018, 12:24:48 CEST schrieb Damian Kos: > From: Quentin Schulz <quentin.schulz@xxxxxxxxxxx> > > This patch finally adds the preliminary driver for Cadence MHDP DPI/DP bridge. > > Changes made in the low level driver (cdn-dp-reg.*): > - moved it to from drivers/gpu/drm/rockchip to > drivers/gpu/drm/bridge/cdns-mhdp-common.* > - functions for sending/receiving commands are now public > - added functions for reading registers and link training > adjustment > > Changes made in RK's driver (cdn-dp-core.*): > - Moved audio_info and audio_pdev fields from cdn_dp_device to > cdns_mhdp_device structure. > > Signed-off-by: Damian Kos <dkos@xxxxxxxxxxx> > --- > drivers/gpu/drm/bridge/Kconfig | 9 + > drivers/gpu/drm/bridge/Makefile | 3 + > .../cdns-mhdp-common.c} | 137 +- > .../cdns-mhdp-common.h} | 21 +- > drivers/gpu/drm/bridge/cdns-mhdp.c | 1308 +++++++++++++++++ > drivers/gpu/drm/rockchip/Kconfig | 1 + > drivers/gpu/drm/rockchip/Makefile | 4 +- > drivers/gpu/drm/rockchip/cdn-dp-core.c | 16 +- > drivers/gpu/drm/rockchip/cdn-dp-core.h | 4 +- > 9 files changed, 1484 insertions(+), 19 deletions(-) > rename drivers/gpu/drm/{rockchip/cdn-dp-reg.c => bridge/cdns-mhdp-common.c} (87%) > rename drivers/gpu/drm/{rockchip/cdn-dp-reg.h => bridge/cdns-mhdp-common.h} (95%) > create mode 100644 drivers/gpu/drm/bridge/cdns-mhdp.c > > diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig > index 9eeb8ef0b174..90a4810a8c96 100644 > --- a/drivers/gpu/drm/bridge/Kconfig > +++ b/drivers/gpu/drm/bridge/Kconfig > @@ -35,6 +35,15 @@ config DRM_CDNS_DSI > Support Cadence DPI to DSI bridge. This is an internal > bridge and is meant to be directly embedded in a SoC. > > +config DRM_CDNS_MHDP > + tristate "Cadence DPI/DP bridge" > + select DRM_KMS_HELPER > + select DRM_PANEL_BRIDGE > + depends on OF > + help > + Support Cadence DPI to DP bridge. This is an internal > + bridge and is meant to be directly embedded in a SoC. > + This ends up with a Kconfig error on my kernel, with: scripts/kconfig/conf --oldconfig Kconfig drivers/i2c/Kconfig:7:error: recursive dependency detected! drivers/i2c/Kconfig:7: symbol I2C is selected by FB_DDC drivers/video/fbdev/Kconfig:63: symbol FB_DDC depends on FB drivers/video/fbdev/Kconfig:5: symbol FB is selected by DRM_KMS_FB_HELPER drivers/gpu/drm/Kconfig:74: symbol DRM_KMS_FB_HELPER depends on DRM_KMS_HELPER drivers/gpu/drm/Kconfig:68: symbol DRM_KMS_HELPER is selected by DRM_CDNS_MHDP drivers/gpu/drm/bridge/Kconfig:38: symbol DRM_CDNS_MHDP is selected by ROCKCHIP_CDN_DP drivers/gpu/drm/rockchip/Kconfig:29: symbol ROCKCHIP_CDN_DP depends on EXTCON drivers/extcon/Kconfig:1: symbol EXTCON is selected by CHARGER_MANAGER drivers/power/supply/Kconfig:467: symbol CHARGER_MANAGER depends on POWER_SUPPLY drivers/power/supply/Kconfig:1: symbol POWER_SUPPLY is selected by HID_BATTERY_STRENGTH drivers/hid/Kconfig:28: symbol HID_BATTERY_STRENGTH depends on HID drivers/hid/Kconfig:7: symbol HID is selected by I2C_HID drivers/hid/i2c-hid/Kconfig:4: symbol I2C_HID depends on I2C For a resolution refer to Documentation/kbuild/kconfig-language.txt subsection "Kconfig recursive dependency limitations" The culprit being the dependency on EXTCON in the Rockchip cdn-dp driver. Moving to "select EXTCON" seems to fix the issue, but I'm not sure yet if that is the correct solution. Heiko