Re: [PATCH v2 0/5] drm/connector: make mode_valid() callback accept const mode pointer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jan 06, 2025 at 12:47:07AM +0200, Dmitry Baryshkov wrote:
> On Sat, Dec 14, 2024 at 03:37:04PM +0200, Dmitry Baryshkov wrote:
> > While working on the generic mode_valid() implementation for the HDMI
> > Connector framework I noticed that unlike other DRM objects
> > drm_connector accepts non-const pointer to struct drm_display_mode,
> > while obviously mode_valid() isn't expected to modify the argument.
> > 
> > Mass-change the DRM framework code to pass const argument to that
> > callback.
> > 
> > The series has been compile-tested with defconfig for x86-64, arm and
> > arm64.
> > 
> > Note: yes, I understand that this change might be hard to review and
> > merge. The only viable option that I foresee is to add new callback,
> > having the const argument and migrate drivers into using it one by one.
> 
> Colleagues, I'd like to graciously ping regarding this series. Should it
> be merged as is (possibly requiring more R-B's)? Or should I rework it
> adding something like .mode_valid_new() callback which takes const
> argument?

I personally like the end result. The diffstat isn't very big, I don't
think it's that hard to review.

> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
> > ---
> > Changes in v2:
> > - Rebased on top of linux-next
> > - Replaced 'accept const argument' with 'take a const arugment'
> >   (Laurent)
> > - Link to v1: https://lore.kernel.org/r/20241115-drm-connector-mode-valid-const-v1-0-b1b523156f71@xxxxxxxxxx
> > 
> > ---
> > Dmitry Baryshkov (5):
> >       drm/encoder_slave: make mode_valid accept const struct drm_display_mode
> >       drm/amdgpu: don't change mode in amdgpu_dm_connector_mode_valid()
> >       drm/sti: hda: pass const struct drm_display_mode* to hda_get_mode_idx()
> >       drm/connector: make mode_valid_ctx take a const struct drm_display_mode
> >       drm/connector: make mode_valid take a const struct drm_display_mode
> > 
> >  drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c           |  8 ++++----
> >  drivers/gpu/drm/amd/amdgpu/atombios_dp.c                 |  2 +-
> >  drivers/gpu/drm/amd/amdgpu/atombios_dp.h                 |  2 +-
> >  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c        | 12 +++++++++---
> >  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h        |  2 +-
> >  drivers/gpu/drm/arm/display/komeda/komeda_wb_connector.c |  2 +-
> >  drivers/gpu/drm/arm/malidp_mw.c                          |  2 +-
> >  drivers/gpu/drm/bridge/adv7511/adv7511_drv.c             |  2 +-
> >  drivers/gpu/drm/bridge/cadence/cdns-mhdp8546-core.c      |  2 +-
> >  drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c |  7 -------
> >  drivers/gpu/drm/display/drm_bridge_connector.c           |  2 +-
> >  drivers/gpu/drm/display/drm_hdmi_state_helper.c          |  2 +-
> >  drivers/gpu/drm/drm_crtc_helper_internal.h               |  2 +-
> >  drivers/gpu/drm/drm_probe_helper.c                       |  2 +-
> >  drivers/gpu/drm/exynos/exynos_hdmi.c                     |  2 +-
> >  drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c                |  2 +-
> >  drivers/gpu/drm/gma500/cdv_intel_crt.c                   |  2 +-
> >  drivers/gpu/drm/gma500/cdv_intel_dp.c                    |  2 +-
> >  drivers/gpu/drm/gma500/cdv_intel_hdmi.c                  |  2 +-
> >  drivers/gpu/drm/gma500/cdv_intel_lvds.c                  |  2 +-
> >  drivers/gpu/drm/gma500/oaktrail_hdmi.c                   |  2 +-
> >  drivers/gpu/drm/gma500/psb_intel_drv.h                   |  2 +-
> >  drivers/gpu/drm/gma500/psb_intel_lvds.c                  |  2 +-
> >  drivers/gpu/drm/gma500/psb_intel_sdvo.c                  |  2 +-
> >  drivers/gpu/drm/i2c/ch7006_drv.c                         |  2 +-
> >  drivers/gpu/drm/i2c/sil164_drv.c                         |  2 +-
> >  drivers/gpu/drm/i915/display/dvo_ch7017.c                |  2 +-
> >  drivers/gpu/drm/i915/display/dvo_ch7xxx.c                |  2 +-
> >  drivers/gpu/drm/i915/display/dvo_ivch.c                  |  2 +-
> >  drivers/gpu/drm/i915/display/dvo_ns2501.c                |  2 +-
> >  drivers/gpu/drm/i915/display/dvo_sil164.c                |  2 +-
> >  drivers/gpu/drm/i915/display/dvo_tfp410.c                |  2 +-
> >  drivers/gpu/drm/i915/display/icl_dsi.c                   |  2 +-
> >  drivers/gpu/drm/i915/display/intel_crt.c                 |  2 +-
> >  drivers/gpu/drm/i915/display/intel_dp.c                  |  2 +-
> >  drivers/gpu/drm/i915/display/intel_dp_mst.c              |  2 +-
> >  drivers/gpu/drm/i915/display/intel_dsi.c                 |  2 +-
> >  drivers/gpu/drm/i915/display/intel_dsi.h                 |  2 +-
> >  drivers/gpu/drm/i915/display/intel_dvo.c                 |  2 +-
> >  drivers/gpu/drm/i915/display/intel_dvo_dev.h             |  2 +-
> >  drivers/gpu/drm/i915/display/intel_hdmi.c                |  2 +-
> >  drivers/gpu/drm/i915/display/intel_lvds.c                |  2 +-
> >  drivers/gpu/drm/i915/display/intel_sdvo.c                |  2 +-
> >  drivers/gpu/drm/i915/display/intel_tv.c                  |  2 +-
> >  drivers/gpu/drm/i915/display/vlv_dsi.c                   |  2 +-
> >  drivers/gpu/drm/imx/ipuv3/imx-tve.c                      |  2 +-
> >  drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c      |  2 +-
> >  drivers/gpu/drm/nouveau/dispnv04/tvnv17.c                |  2 +-
> >  drivers/gpu/drm/nouveau/dispnv50/disp.c                  |  2 +-
> >  drivers/gpu/drm/nouveau/nouveau_connector.c              |  2 +-
> >  drivers/gpu/drm/qxl/qxl_display.c                        |  2 +-
> >  drivers/gpu/drm/radeon/atombios_dp.c                     |  2 +-
> >  drivers/gpu/drm/radeon/radeon_connectors.c               | 10 +++++-----
> >  drivers/gpu/drm/radeon/radeon_mode.h                     |  2 +-
> >  drivers/gpu/drm/rockchip/cdn-dp-core.c                   |  2 +-
> >  drivers/gpu/drm/rockchip/inno_hdmi.c                     |  4 ++--
> >  drivers/gpu/drm/rockchip/rk3066_hdmi.c                   |  2 +-
> >  drivers/gpu/drm/sti/sti_dvo.c                            |  2 +-
> >  drivers/gpu/drm/sti/sti_hda.c                            | 12 ++++++------
> >  drivers/gpu/drm/sti/sti_hdmi.c                           |  2 +-
> >  drivers/gpu/drm/tegra/dsi.c                              |  2 +-
> >  drivers/gpu/drm/tegra/hdmi.c                             |  2 +-
> >  drivers/gpu/drm/tegra/sor.c                              |  2 +-
> >  drivers/gpu/drm/vc4/vc4_txp.c                            |  2 +-
> >  drivers/gpu/drm/virtio/virtgpu_display.c                 |  2 +-
> >  drivers/gpu/drm/vmwgfx/vmwgfx_kms.c                      |  2 +-
> >  drivers/gpu/drm/vmwgfx/vmwgfx_kms.h                      |  2 +-
> >  drivers/gpu/drm/vmwgfx/vmwgfx_stdu.c                     |  2 +-
> >  include/drm/display/drm_hdmi_state_helper.h              |  2 +-
> >  include/drm/drm_encoder_slave.h                          |  2 +-
> >  include/drm/drm_modeset_helper_vtables.h                 |  4 ++--
> >  71 files changed, 92 insertions(+), 93 deletions(-)
> > ---
> > base-commit: 4176cf5c5651c33769de83bb61b0287f4ec7719f
> > change-id: 20241115-drm-connector-mode-valid-const-ae3db0ef6cb7

-- 
Regards,

Laurent Pinchart



[Index of Archives]     [Linux Virtualization]     [Linux Virtualization]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]