Split-off DisplayPort functions from KMS helper library and move them into their own module. Reduces the size of drm_kms_helper.ko by ~50%. This patchset is part of an on-going effort to reduce the minimum binary size of the DRM core and helpers. It's helpful for systems with early-boot DRM graphics, which requires DRM to be linked into the kernel image. v2: * move helper library into subdirectory (Jani) * also move DP AUX bus helpers Thomas Zimmermann (5): drm/dp_mst: Remove trailing whitespace. drm/dp: Move DP declarations into separate header file drm/dp: Move DisplayPort helpers into separate helper module drm/dp: Move public DisplayPort headers into dp/ drm/dp: Move DisplayPort AUX bus helpers into dp/ drivers/gpu/drm/Kconfig | 8 +++++ drivers/gpu/drm/Makefile | 12 +++---- .../gpu/drm/amd/amdgpu/amdgpu_connectors.c | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 4 +-- drivers/gpu/drm/amd/amdgpu/atombios_dp.c | 2 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 2 +- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 2 +- .../display/amdgpu_dm/amdgpu_dm_mst_types.c | 4 +-- .../drm/amd/display/dc/core/dc_link_dpcd.c | 2 +- drivers/gpu/drm/amd/display/dc/dsc/dc_dsc.c | 2 +- drivers/gpu/drm/amd/display/dc/os_types.h | 2 +- .../gpu/drm/amd/display/include/dpcd_defs.h | 2 +- .../gpu/drm/amd/display/modules/hdcp/hdcp.h | 2 +- drivers/gpu/drm/bridge/Kconfig | 4 +++ drivers/gpu/drm/bridge/analogix/Kconfig | 2 ++ .../drm/bridge/analogix/analogix-anx6345.c | 2 +- .../drm/bridge/analogix/analogix-anx78xx.c | 2 +- .../drm/bridge/analogix/analogix-i2c-dptx.c | 2 +- .../drm/bridge/analogix/analogix_dp_core.h | 2 +- drivers/gpu/drm/bridge/analogix/anx7625.c | 2 +- drivers/gpu/drm/bridge/cadence/Kconfig | 1 + .../drm/bridge/cadence/cdns-mhdp8546-core.c | 2 +- .../drm/bridge/cadence/cdns-mhdp8546-core.h | 2 +- drivers/gpu/drm/bridge/parade-ps8640.c | 4 +-- drivers/gpu/drm/bridge/tc358767.c | 2 +- drivers/gpu/drm/bridge/tc358775.c | 2 +- drivers/gpu/drm/bridge/ti-sn65dsi86.c | 4 +-- drivers/gpu/drm/dp/Makefile | 9 +++++ .../gpu/drm/{drm_dp_helper.c => dp/drm_dp.c} | 6 ++-- drivers/gpu/drm/{ => dp}/drm_dp_aux_bus.c | 4 +-- drivers/gpu/drm/{ => dp}/drm_dp_aux_dev.c | 6 ++-- drivers/gpu/drm/{ => dp}/drm_dp_cec.c | 2 +- .../drm/{ => dp}/drm_dp_dual_mode_helper.c | 2 +- drivers/gpu/drm/dp/drm_dp_helper_internal.h | 33 +++++++++++++++++++ drivers/gpu/drm/dp/drm_dp_helper_mod.c | 22 +++++++++++++ .../gpu/drm/{ => dp}/drm_dp_mst_topology.c | 6 ++-- .../{ => dp}/drm_dp_mst_topology_internal.h | 2 +- drivers/gpu/drm/drm_crtc_helper_internal.h | 27 --------------- drivers/gpu/drm/drm_dsc.c | 2 +- drivers/gpu/drm/drm_kms_helper_common.c | 14 -------- drivers/gpu/drm/gma500/cdv_intel_dp.c | 2 +- drivers/gpu/drm/gma500/intel_bios.c | 2 +- drivers/gpu/drm/i915/Kconfig | 1 + drivers/gpu/drm/i915/display/intel_bios.c | 2 +- drivers/gpu/drm/i915/display/intel_display.c | 2 +- .../drm/i915/display/intel_display_types.h | 4 +-- drivers/gpu/drm/i915/display/intel_dp.c | 2 +- drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 4 +-- .../drm/i915/display/intel_dp_link_training.h | 2 +- drivers/gpu/drm/i915/display/intel_lspcon.c | 2 +- drivers/gpu/drm/msm/Kconfig | 1 + drivers/gpu/drm/msm/dp/dp_audio.c | 2 +- drivers/gpu/drm/msm/dp/dp_aux.h | 2 +- drivers/gpu/drm/msm/dp/dp_catalog.c | 2 +- drivers/gpu/drm/msm/dp/dp_ctrl.c | 2 +- drivers/gpu/drm/msm/edp/edp.h | 2 +- drivers/gpu/drm/msm/edp/edp_ctrl.c | 2 +- drivers/gpu/drm/nouveau/Kconfig | 1 + drivers/gpu/drm/nouveau/dispnv50/disp.c | 2 +- drivers/gpu/drm/nouveau/nouveau_connector.h | 2 +- drivers/gpu/drm/nouveau/nouveau_dp.c | 2 +- drivers/gpu/drm/nouveau/nouveau_encoder.h | 4 +-- drivers/gpu/drm/panel/panel-edp.c | 4 +-- .../gpu/drm/panel/panel-samsung-atna33xc20.c | 4 +-- drivers/gpu/drm/radeon/atombios_dp.c | 2 +- drivers/gpu/drm/radeon/radeon_connectors.c | 2 +- drivers/gpu/drm/radeon/radeon_dp_mst.c | 2 +- drivers/gpu/drm/radeon/radeon_mode.h | 4 +-- drivers/gpu/drm/rockchip/Kconfig | 1 + .../gpu/drm/rockchip/analogix_dp-rockchip.c | 2 +- drivers/gpu/drm/rockchip/cdn-dp-core.c | 2 +- drivers/gpu/drm/rockchip/cdn-dp-core.h | 2 +- drivers/gpu/drm/rockchip/rockchip_lvds.c | 2 +- drivers/gpu/drm/rockchip/rockchip_rgb.c | 2 +- .../drm/selftests/test-drm_dp_mst_helper.c | 2 +- drivers/gpu/drm/tegra/Kconfig | 1 + drivers/gpu/drm/tegra/dp.c | 2 +- drivers/gpu/drm/tegra/dpaux.c | 2 +- drivers/gpu/drm/tegra/sor.c | 2 +- drivers/gpu/drm/xlnx/Kconfig | 1 + drivers/gpu/drm/xlnx/zynqmp_dp.c | 2 +- include/drm/{ => dp}/drm_dp_aux_bus.h | 0 .../drm/{ => dp}/drm_dp_dual_mode_helper.h | 0 include/drm/{ => dp}/drm_dp_helper.h | 0 include/drm/{ => dp}/drm_dp_mst_helper.h | 2 +- include/drm/drm_dsc.h | 2 +- 86 files changed, 173 insertions(+), 133 deletions(-) create mode 100644 drivers/gpu/drm/dp/Makefile rename drivers/gpu/drm/{drm_dp_helper.c => dp/drm_dp.c} (99%) rename drivers/gpu/drm/{ => dp}/drm_dp_aux_bus.c (99%) rename drivers/gpu/drm/{ => dp}/drm_dp_aux_dev.c (98%) rename drivers/gpu/drm/{ => dp}/drm_dp_cec.c (99%) rename drivers/gpu/drm/{ => dp}/drm_dp_dual_mode_helper.c (99%) create mode 100644 drivers/gpu/drm/dp/drm_dp_helper_internal.h create mode 100644 drivers/gpu/drm/dp/drm_dp_helper_mod.c rename drivers/gpu/drm/{ => dp}/drm_dp_mst_topology.c (99%) rename drivers/gpu/drm/{ => dp}/drm_dp_mst_topology_internal.h (94%) rename include/drm/{ => dp}/drm_dp_aux_bus.h (100%) rename include/drm/{ => dp}/drm_dp_dual_mode_helper.h (100%) rename include/drm/{ => dp}/drm_dp_helper.h (100%) rename include/drm/{ => dp}/drm_dp_mst_helper.h (99%) base-commit: 3f422828221d9ceefcddef0be33561b1646a1cbe prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24 prerequisite-patch-id: d7624cd450e9961cb3a1efa61f906213316ab2a5 -- 2.34.1