These patches coninue work started by AngeloGioacchino Del Regno in the previous cycle by further decoupling and dissecting MDSS and MDP drivers probe/binding paths. This removes code duplication between MDP5 and DPU1 MDSS drivers, by merging them and moving to the top level. Changes since v4: - Fixed the issue with MODULE_DEVICE_TABLE reported by robot - Fixed the comments accoring to suggestions of Stephen - Removed extra goto (Stephen's suggestion) - Break long kms->dev->dev->parent chains into cleaner dpu_dev/mdp_dev and mdss_dev to document device tree bindings. Add related comments. (Stephen's suggestion) Changes since v3: - Rebased on top of current msm/msm-next - Fixed issue with enabling/disabling MDP4/MDP5 vs DSI driver (per Stephen's suggestion) - Reworked mdss_probe to remove extra platform_set_drvdata calls (per Stephen's suggestion) - Fixed a typo in the Kconfig (noted by Rob) - Added a patch to move component mastership from mdss to mdp5/dpu1 devices Changes since v2: - Rebased on top of current msm/msm-next(-staging) - Allow disabling MDP4/MDP5/DPU/HDMI components (like we do for DP and DSI) - Made mdp5_mdss_parse_clock() static - Changed mdp5 to is_mdp5 argument in several functions - Dropped boolean device data from the mdss driver - Reworked error handling in msm_pdev_probe() - Removed unused header inclusion - Dropped __init/__exit from function prototypes Changes since v1: - Rebased on top of [2] and [1] [1] https://patchwork.freedesktop.org/series/99066/ [2] https://patchwork.freedesktop.org/series/98521/ Dmitry Baryshkov (6): drm/msm: unify MDSS drivers drm/msm: remove extra indirection for msm_mdss drm/msm: split the main platform driver drm/msm: stop using device's match data pointer drm/msm: allow compile time selection of driver components drm/msm: make mdp5/dpu devices master components drivers/gpu/drm/msm/Kconfig | 50 ++- drivers/gpu/drm/msm/Makefile | 25 +- drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 86 ++-- drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c | 260 ------------ .../gpu/drm/msm/disp/mdp4/mdp4_dsi_encoder.c | 3 + drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c | 54 ++- .../gpu/drm/msm/disp/mdp5/mdp5_cmd_encoder.c | 3 + drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c | 57 ++- drivers/gpu/drm/msm/disp/mdp5/mdp5_mdss.c | 252 ------------ drivers/gpu/drm/msm/msm_drv.c | 261 +++--------- drivers/gpu/drm/msm/msm_drv.h | 61 ++- drivers/gpu/drm/msm/msm_kms.h | 21 - drivers/gpu/drm/msm/msm_mdss.c | 375 ++++++++++++++++++ 13 files changed, 652 insertions(+), 856 deletions(-) delete mode 100644 drivers/gpu/drm/msm/disp/dpu1/dpu_mdss.c delete mode 100644 drivers/gpu/drm/msm/disp/mdp5/mdp5_mdss.c create mode 100644 drivers/gpu/drm/msm/msm_mdss.c -- 2.35.1