[PATCH] drm: Constify mode argument to connector .mode_valid() helper operation

Ville Syrjälä ville.syrjala at linux.intel.com
Thu Jun 7 12:03:12 UTC 2018


On Wed, Jun 06, 2018 at 12:08:12PM +0300, Laurent Pinchart wrote:
> The drm_connector_helper_funcs .mode_valid() operation should not modify
> the mode it receives in any way. To make this explicit, constify the
> mode pointer as done for all other .mode_valid() operations, and update
> all drivers accordingly.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

Didn't spot anything wrong. I think the omap case should be fine as
well since the probe helper will populate the vrefresh for the mode
eventually.

Reviewed-by: Ville Syrjälä <ville.syrjala at linux.intel.com>

> ---
> 
> This patch touches lots of drivers, so checkpatch.pl created a huge CC list
> that would likely be too large for the mailing list. As changes to most files
> just boil down to adding a const keyword, I've decided to only CC the DRM misc
> maintainers, as well as Tomi for omapdrm as the change to that driver is
> slightly more complex.
> 
>  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/amdgpu/dce_virtual.c                 |  2 +-
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c        |  2 +-
>  drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h        |  2 +-
>  drivers/gpu/drm/ast/ast_mode.c                           |  2 +-
>  drivers/gpu/drm/bochs/bochs_kms.c                        |  2 +-
>  drivers/gpu/drm/bridge/adv7511/adv7511_drv.c             |  4 ++--
>  drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c |  2 +-
>  drivers/gpu/drm/bridge/sii902x.c                         |  2 +-
>  drivers/gpu/drm/bridge/tc358767.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/mdfld_dsi_output.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/hisilicon/hibmc/hibmc_drm_vdac.c         |  2 +-
>  drivers/gpu/drm/i2c/ch7006_drv.c                         |  2 +-
>  drivers/gpu/drm/i2c/sil164_drv.c                         |  2 +-
>  drivers/gpu/drm/i2c/tda998x_drv.c                        |  2 +-
>  drivers/gpu/drm/i915/dvo.h                               |  2 +-
>  drivers/gpu/drm/i915/dvo_ch7017.c                        |  2 +-
>  drivers/gpu/drm/i915/dvo_ch7xxx.c                        |  2 +-
>  drivers/gpu/drm/i915/dvo_ivch.c                          |  2 +-
>  drivers/gpu/drm/i915/dvo_ns2501.c                        |  2 +-
>  drivers/gpu/drm/i915/dvo_sil164.c                        |  2 +-
>  drivers/gpu/drm/i915/dvo_tfp410.c                        |  2 +-
>  drivers/gpu/drm/i915/intel_crt.c                         |  2 +-
>  drivers/gpu/drm/i915/intel_dp.c                          |  2 +-
>  drivers/gpu/drm/i915/intel_dp_mst.c                      |  2 +-
>  drivers/gpu/drm/i915/intel_dsi.c                         |  2 +-
>  drivers/gpu/drm/i915/intel_dvo.c                         |  2 +-
>  drivers/gpu/drm/i915/intel_hdmi.c                        |  2 +-
>  drivers/gpu/drm/i915/intel_lvds.c                        |  2 +-
>  drivers/gpu/drm/i915/intel_sdvo.c                        |  2 +-
>  drivers/gpu/drm/i915/intel_tv.c                          |  2 +-
>  drivers/gpu/drm/imx/imx-tve.c                            |  2 +-
>  drivers/gpu/drm/mediatek/mtk_hdmi.c                      |  2 +-
>  drivers/gpu/drm/meson/meson_venc_cvbs.c                  |  2 +-
>  drivers/gpu/drm/mgag200/mgag200_mode.c                   |  4 ++--
>  drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c      |  2 +-
>  drivers/gpu/drm/msm/dsi/dsi_manager.c                    |  2 +-
>  drivers/gpu/drm/msm/edp/edp_connector.c                  |  2 +-
>  drivers/gpu/drm/msm/hdmi/hdmi_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/omapdrm/omap_connector.c                 |  7 ++++---
>  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_dp_mst.c                   |  2 +-
>  drivers/gpu/drm/radeon/radeon_mode.h                     |  2 +-
>  drivers/gpu/drm/rockchip/cdn-dp-core.c                   |  2 +-
>  drivers/gpu/drm/rockchip/inno_hdmi.c                     |  2 +-
>  drivers/gpu/drm/sti/sti_dvo.c                            |  2 +-
>  drivers/gpu/drm/sti/sti_hda.c                            |  2 +-
>  drivers/gpu/drm/sti/sti_hdmi.c                           |  2 +-
>  drivers/gpu/drm/sun4i/sun4i_tv.c                         |  2 +-
>  drivers/gpu/drm/tegra/dsi.c                              |  2 +-
>  drivers/gpu/drm/tegra/hdmi.c                             |  2 +-
>  drivers/gpu/drm/tegra/rgb.c                              |  2 +-
>  drivers/gpu/drm/tegra/sor.c                              |  2 +-
>  drivers/gpu/drm/tilcdc/tilcdc_crtc.c                     |  3 ++-
>  drivers/gpu/drm/tilcdc/tilcdc_drv.h                      |  3 ++-
>  drivers/gpu/drm/tilcdc/tilcdc_external.c                 |  2 +-
>  drivers/gpu/drm/tilcdc/tilcdc_panel.c                    |  2 +-
>  drivers/gpu/drm/tilcdc/tilcdc_tfp410.c                   |  2 +-
>  drivers/gpu/drm/udl/udl_connector.c                      |  2 +-
>  drivers/gpu/drm/virtio/virtgpu_display.c                 |  2 +-
>  drivers/gpu/drm/zte/zx_hdmi.c                            |  2 +-
>  drivers/gpu/drm/zte/zx_tvenc.c                           |  4 ++--
>  drivers/gpu/drm/zte/zx_vga.c                             |  2 +-
>  drivers/staging/vboxvideo/vbox_mode.c                    |  2 +-
>  include/drm/drm_encoder_slave.h                          |  2 +-
>  include/drm/drm_modeset_helper_vtables.h                 |  2 +-
>  83 files changed, 98 insertions(+), 95 deletions(-)
> 
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
> index 8e66851eb427..0572576f7acd 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c
> @@ -692,7 +692,7 @@ static int amdgpu_connector_lvds_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status amdgpu_connector_lvds_mode_valid(struct drm_connector *connector,
> -					     struct drm_display_mode *mode)
> +					     const struct drm_display_mode *mode)
>  {
>  	struct drm_encoder *encoder = amdgpu_connector_best_single_encoder(connector);
>  
> @@ -844,7 +844,7 @@ static int amdgpu_connector_vga_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status amdgpu_connector_vga_mode_valid(struct drm_connector *connector,
> -					    struct drm_display_mode *mode)
> +					    const struct drm_display_mode *mode)
>  {
>  	struct drm_device *dev = connector->dev;
>  	struct amdgpu_device *adev = dev->dev_private;
> @@ -1173,7 +1173,7 @@ static void amdgpu_connector_dvi_force(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status amdgpu_connector_dvi_mode_valid(struct drm_connector *connector,
> -					    struct drm_display_mode *mode)
> +					    const struct drm_display_mode *mode)
>  {
>  	struct drm_device *dev = connector->dev;
>  	struct amdgpu_device *adev = dev->dev_private;
> @@ -1449,7 +1449,7 @@ amdgpu_connector_dp_detect(struct drm_connector *connector, bool force)
>  }
>  
>  static enum drm_mode_status amdgpu_connector_dp_mode_valid(struct drm_connector *connector,
> -					   struct drm_display_mode *mode)
> +					   const struct drm_display_mode *mode)
>  {
>  	struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
>  	struct amdgpu_connector_atom_dig *amdgpu_dig_connector = amdgpu_connector->con_priv;
> diff --git a/drivers/gpu/drm/amd/amdgpu/atombios_dp.c b/drivers/gpu/drm/amd/amdgpu/atombios_dp.c
> index f81068ba4cc6..c4469702ddc2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/atombios_dp.c
> +++ b/drivers/gpu/drm/amd/amdgpu/atombios_dp.c
> @@ -420,7 +420,7 @@ void amdgpu_atombios_dp_set_link_config(struct drm_connector *connector,
>  }
>  
>  int amdgpu_atombios_dp_mode_valid_helper(struct drm_connector *connector,
> -				  struct drm_display_mode *mode)
> +				  const struct drm_display_mode *mode)
>  {
>  	struct amdgpu_connector *amdgpu_connector = to_amdgpu_connector(connector);
>  	struct amdgpu_connector_atom_dig *dig_connector;
> diff --git a/drivers/gpu/drm/amd/amdgpu/atombios_dp.h b/drivers/gpu/drm/amd/amdgpu/atombios_dp.h
> index f59d85eaddf0..3e24acf8133f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/atombios_dp.h
> +++ b/drivers/gpu/drm/amd/amdgpu/atombios_dp.h
> @@ -32,7 +32,7 @@ int amdgpu_atombios_dp_get_panel_mode(struct drm_encoder *encoder,
>  void amdgpu_atombios_dp_set_link_config(struct drm_connector *connector,
>  				 const struct drm_display_mode *mode);
>  int amdgpu_atombios_dp_mode_valid_helper(struct drm_connector *connector,
> -				  struct drm_display_mode *mode);
> +				  const struct drm_display_mode *mode);
>  bool amdgpu_atombios_dp_needs_link_train(struct amdgpu_connector *amdgpu_connector);
>  void amdgpu_atombios_dp_set_rx_power_state(struct drm_connector *connector,
>  				    u8 power_state);
> diff --git a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
> index dbf2ccd0c744..b595622ab0e5 100644
> --- a/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
> +++ b/drivers/gpu/drm/amd/amdgpu/dce_virtual.c
> @@ -328,7 +328,7 @@ static int dce_virtual_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status dce_virtual_mode_valid(struct drm_connector *connector,
> -				  struct drm_display_mode *mode)
> +				  const struct drm_display_mode *mode)
>  {
>  	return MODE_OK;
>  }
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> index 1ce10bc2d37b..a46aadcc42e8 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
> @@ -2836,7 +2836,7 @@ static void handle_edid_mgmt(struct amdgpu_dm_connector *aconnector)
>  }
>  
>  enum drm_mode_status amdgpu_dm_connector_mode_valid(struct drm_connector *connector,
> -				   struct drm_display_mode *mode)
> +				   const struct drm_display_mode *mode)
>  {
>  	int result = MODE_ERROR;
>  	struct dc_sink *dc_sink;
> diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> index d5aa89ad5571..8ff95533b38c 100644
> --- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> +++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h
> @@ -248,7 +248,7 @@ void amdgpu_dm_connector_init_helper(struct amdgpu_display_manager *dm,
>  				     int link_index);
>  
>  enum drm_mode_status amdgpu_dm_connector_mode_valid(struct drm_connector *connector,
> -				   struct drm_display_mode *mode);
> +				   const struct drm_display_mode *mode);
>  
>  void dm_restore_drm_connector_state(struct drm_device *dev,
>  				    struct drm_connector *connector);
> diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
> index 036dff8a1f33..bac038a99c28 100644
> --- a/drivers/gpu/drm/ast/ast_mode.c
> +++ b/drivers/gpu/drm/ast/ast_mode.c
> @@ -800,7 +800,7 @@ static int ast_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status ast_mode_valid(struct drm_connector *connector,
> -			  struct drm_display_mode *mode)
> +			  const struct drm_display_mode *mode)
>  {
>  	struct ast_private *ast = connector->dev->dev_private;
>  	int flags = MODE_NOMODE;
> diff --git a/drivers/gpu/drm/bochs/bochs_kms.c b/drivers/gpu/drm/bochs/bochs_kms.c
> index 233980a78591..246e461598d6 100644
> --- a/drivers/gpu/drm/bochs/bochs_kms.c
> +++ b/drivers/gpu/drm/bochs/bochs_kms.c
> @@ -189,7 +189,7 @@ static int bochs_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status bochs_connector_mode_valid(struct drm_connector *connector,
> -				      struct drm_display_mode *mode)
> +				      const struct drm_display_mode *mode)
>  {
>  	struct bochs_device *bochs =
>  		container_of(connector, struct bochs_device, connector);
> diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> index 73021b388e12..e701c4715c78 100644
> --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> @@ -655,7 +655,7 @@ adv7511_detect(struct adv7511 *adv7511, struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status adv7511_mode_valid(struct adv7511 *adv7511,
> -			      struct drm_display_mode *mode)
> +			      const struct drm_display_mode *mode)
>  {
>  	if (mode->clock > 165000)
>  		return MODE_CLOCK_HIGH;
> @@ -777,7 +777,7 @@ static int adv7511_connector_get_modes(struct drm_connector *connector)
>  
>  static enum drm_mode_status
>  adv7511_connector_mode_valid(struct drm_connector *connector,
> -			     struct drm_display_mode *mode)
> +			     const struct drm_display_mode *mode)
>  {
>  	struct adv7511 *adv = connector_to_adv7511(connector);
>  
> diff --git a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
> index 7ccadba7c98c..94b5610e99fd 100644
> --- a/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
> +++ b/drivers/gpu/drm/bridge/megachips-stdpxxxx-ge-b850v3-fw.c
> @@ -162,7 +162,7 @@ static int ge_b850v3_lvds_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status ge_b850v3_lvds_mode_valid(
> -		struct drm_connector *connector, struct drm_display_mode *mode)
> +		struct drm_connector *connector, const struct drm_display_mode *mode)
>  {
>  	return MODE_OK;
>  }
> diff --git a/drivers/gpu/drm/bridge/sii902x.c b/drivers/gpu/drm/bridge/sii902x.c
> index 60373d7eb220..c01da1b69362 100644
> --- a/drivers/gpu/drm/bridge/sii902x.c
> +++ b/drivers/gpu/drm/bridge/sii902x.c
> @@ -221,7 +221,7 @@ static int sii902x_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status sii902x_mode_valid(struct drm_connector *connector,
> -					       struct drm_display_mode *mode)
> +					       const struct drm_display_mode *mode)
>  {
>  	/* TODO: check mode */
>  
> diff --git a/drivers/gpu/drm/bridge/tc358767.c b/drivers/gpu/drm/bridge/tc358767.c
> index 0fd9cf27542c..526ba25a1960 100644
> --- a/drivers/gpu/drm/bridge/tc358767.c
> +++ b/drivers/gpu/drm/bridge/tc358767.c
> @@ -1103,7 +1103,7 @@ static bool tc_bridge_mode_fixup(struct drm_bridge *bridge,
>  }
>  
>  static enum drm_mode_status tc_connector_mode_valid(struct drm_connector *connector,
> -				   struct drm_display_mode *mode)
> +				   const struct drm_display_mode *mode)
>  {
>  	/* DPI interface clock limitation: upto 154 MHz */
>  	if (mode->clock > 154000)
> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
> index 09c4bc0b1859..2a7237c8f56d 100644
> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
> @@ -912,7 +912,7 @@ static int hdmi_find_phy_conf(struct hdmi_context *hdata, u32 pixel_clock)
>  }
>  
>  static int hdmi_mode_valid(struct drm_connector *connector,
> -			struct drm_display_mode *mode)
> +			const struct drm_display_mode *mode)
>  {
>  	struct hdmi_context *hdata = connector_to_hdmi(connector);
>  	int ret;
> diff --git a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c
> index c54806d08dd7..a428ab2ddf00 100644
> --- a/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c
> +++ b/drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_rgb.c
> @@ -84,7 +84,7 @@ static int fsl_dcu_drm_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static int fsl_dcu_drm_connector_mode_valid(struct drm_connector *connector,
> -					    struct drm_display_mode *mode)
> +					    const struct drm_display_mode *mode)
>  {
>  	if (mode->hdisplay & 0xf)
>  		return MODE_ERROR;
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_crt.c b/drivers/gpu/drm/gma500/cdv_intel_crt.c
> index cb5a14b7ec7f..db9d3b91e970 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_crt.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_crt.c
> @@ -65,7 +65,7 @@ static void cdv_intel_crt_dpms(struct drm_encoder *encoder, int mode)
>  }
>  
>  static enum drm_mode_status cdv_intel_crt_mode_valid(struct drm_connector *connector,
> -				struct drm_display_mode *mode)
> +				const struct drm_display_mode *mode)
>  {
>  	if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
>  		return MODE_NO_DBLESCAN;
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_dp.c b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> index 5ea785f07ba8..883a7d54e2a3 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_dp.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_dp.c
> @@ -507,7 +507,7 @@ static void cdv_intel_edp_backlight_off (struct gma_encoder *intel_encoder)
>  
>  static enum drm_mode_status
>  cdv_intel_dp_mode_valid(struct drm_connector *connector,
> -		    struct drm_display_mode *mode)
> +		    const struct drm_display_mode *mode)
>  {
>  	struct gma_encoder *encoder = gma_attached_encoder(connector);
>  	struct cdv_intel_dp *intel_dp = encoder->dev_priv;
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> index f0878998526a..5185006fcf9c 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_hdmi.c
> @@ -224,7 +224,7 @@ static int cdv_hdmi_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status cdv_hdmi_mode_valid(struct drm_connector *connector,
> -				 struct drm_display_mode *mode)
> +				 const struct drm_display_mode *mode)
>  {
>  	if (mode->clock > 165000)
>  		return MODE_CLOCK_HIGH;
> diff --git a/drivers/gpu/drm/gma500/cdv_intel_lvds.c b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> index de9531caaca0..c4ed824645fb 100644
> --- a/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> +++ b/drivers/gpu/drm/gma500/cdv_intel_lvds.c
> @@ -245,7 +245,7 @@ static void cdv_intel_lvds_restore(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status cdv_intel_lvds_mode_valid(struct drm_connector *connector,
> -			      struct drm_display_mode *mode)
> +			      const struct drm_display_mode *mode)
>  {
>  	struct drm_device *dev = connector->dev;
>  	struct drm_psb_private *dev_priv = dev->dev_private;
> diff --git a/drivers/gpu/drm/gma500/mdfld_dsi_output.c b/drivers/gpu/drm/gma500/mdfld_dsi_output.c
> index fe020926ea4f..efcd25d0041c 100644
> --- a/drivers/gpu/drm/gma500/mdfld_dsi_output.c
> +++ b/drivers/gpu/drm/gma500/mdfld_dsi_output.c
> @@ -347,7 +347,7 @@ static int mdfld_dsi_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status mdfld_dsi_connector_mode_valid(struct drm_connector *connector,
> -						struct drm_display_mode *mode)
> +						const struct drm_display_mode *mode)
>  {
>  	struct mdfld_dsi_connector *dsi_connector =
>  					mdfld_dsi_connector(connector);
> diff --git a/drivers/gpu/drm/gma500/oaktrail_hdmi.c b/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> index 78566a80ad25..a5a189b7585d 100644
> --- a/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> +++ b/drivers/gpu/drm/gma500/oaktrail_hdmi.c
> @@ -510,7 +510,7 @@ static void oaktrail_hdmi_dpms(struct drm_encoder *encoder, int mode)
>  }
>  
>  static enum drm_mode_status oaktrail_hdmi_mode_valid(struct drm_connector *connector,
> -				struct drm_display_mode *mode)
> +				const struct drm_display_mode *mode)
>  {
>  	if (mode->clock > 165000)
>  		return MODE_CLOCK_HIGH;
> diff --git a/drivers/gpu/drm/gma500/psb_intel_drv.h b/drivers/gpu/drm/gma500/psb_intel_drv.h
> index e05e5399af2d..b0dc6ce0c10f 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_drv.h
> +++ b/drivers/gpu/drm/gma500/psb_intel_drv.h
> @@ -256,7 +256,7 @@ extern bool psb_intel_lvds_mode_fixup(struct drm_encoder *encoder,
>  				      const struct drm_display_mode *mode,
>  				      struct drm_display_mode *adjusted_mode);
>  extern enum drm_mode_status psb_intel_lvds_mode_valid(struct drm_connector *connector,
> -				     struct drm_display_mode *mode);
> +				     const struct drm_display_mode *mode);
>  extern int psb_intel_lvds_set_property(struct drm_connector *connector,
>  					struct drm_property *property,
>  					uint64_t value);
> diff --git a/drivers/gpu/drm/gma500/psb_intel_lvds.c b/drivers/gpu/drm/gma500/psb_intel_lvds.c
> index 8baf6325c6e4..57a81cb6dacd 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_lvds.c
> +++ b/drivers/gpu/drm/gma500/psb_intel_lvds.c
> @@ -344,7 +344,7 @@ static void psb_intel_lvds_restore(struct drm_connector *connector)
>  }
>  
>  enum drm_mode_status psb_intel_lvds_mode_valid(struct drm_connector *connector,
> -				 struct drm_display_mode *mode)
> +				 const struct drm_display_mode *mode)
>  {
>  	struct drm_psb_private *dev_priv = connector->dev->dev_private;
>  	struct gma_encoder *gma_encoder = gma_attached_encoder(connector);
> diff --git a/drivers/gpu/drm/gma500/psb_intel_sdvo.c b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
> index f2ee6aa10afa..3abbe392f1c1 100644
> --- a/drivers/gpu/drm/gma500/psb_intel_sdvo.c
> +++ b/drivers/gpu/drm/gma500/psb_intel_sdvo.c
> @@ -1158,7 +1158,7 @@ static void psb_intel_sdvo_dpms(struct drm_encoder *encoder, int mode)
>  }
>  
>  static enum drm_mode_status psb_intel_sdvo_mode_valid(struct drm_connector *connector,
> -				 struct drm_display_mode *mode)
> +				 const struct drm_display_mode *mode)
>  {
>  	struct psb_intel_sdvo *psb_intel_sdvo = intel_attached_sdvo(connector);
>  
> diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
> index d2f4749ebf8d..5baee4995ae3 100644
> --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
> +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_vdac.c
> @@ -28,7 +28,7 @@ static int hibmc_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status hibmc_connector_mode_valid(struct drm_connector *connector,
> -				      struct drm_display_mode *mode)
> +				      const struct drm_display_mode *mode)
>  {
>  	return MODE_OK;
>  }
> diff --git a/drivers/gpu/drm/i2c/ch7006_drv.c b/drivers/gpu/drm/i2c/ch7006_drv.c
> index 544a8a2d3562..d97dea4dc582 100644
> --- a/drivers/gpu/drm/i2c/ch7006_drv.c
> +++ b/drivers/gpu/drm/i2c/ch7006_drv.c
> @@ -102,7 +102,7 @@ static bool ch7006_encoder_mode_fixup(struct drm_encoder *encoder,
>  }
>  
>  static int ch7006_encoder_mode_valid(struct drm_encoder *encoder,
> -				     struct drm_display_mode *mode)
> +				     const struct drm_display_mode *mode)
>  {
>  	if (ch7006_lookup_mode(encoder, mode))
>  		return MODE_OK;
> diff --git a/drivers/gpu/drm/i2c/sil164_drv.c b/drivers/gpu/drm/i2c/sil164_drv.c
> index c52d7a3af786..e86c386a6fc7 100644
> --- a/drivers/gpu/drm/i2c/sil164_drv.c
> +++ b/drivers/gpu/drm/i2c/sil164_drv.c
> @@ -254,7 +254,7 @@ sil164_encoder_restore(struct drm_encoder *encoder)
>  
>  static int
>  sil164_encoder_mode_valid(struct drm_encoder *encoder,
> -			  struct drm_display_mode *mode)
> +			  const struct drm_display_mode *mode)
>  {
>  	struct sil164_priv *priv = to_sil164_priv(encoder);
>  
> diff --git a/drivers/gpu/drm/i2c/tda998x_drv.c b/drivers/gpu/drm/i2c/tda998x_drv.c
> index 6ebd8842dbcc..4106bf9aba5d 100644
> --- a/drivers/gpu/drm/i2c/tda998x_drv.c
> +++ b/drivers/gpu/drm/i2c/tda998x_drv.c
> @@ -1243,7 +1243,7 @@ static int tda998x_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status tda998x_connector_mode_valid(struct drm_connector *connector,
> -					struct drm_display_mode *mode)
> +					const struct drm_display_mode *mode)
>  {
>  	/* TDA19988 dotclock can go up to 165MHz */
>  	struct tda998x_priv *priv = conn_to_tda998x_priv(connector);
> diff --git a/drivers/gpu/drm/i915/dvo.h b/drivers/gpu/drm/i915/dvo.h
> index 5e6a3013da49..d7a259afdbc5 100644
> --- a/drivers/gpu/drm/i915/dvo.h
> +++ b/drivers/gpu/drm/i915/dvo.h
> @@ -75,7 +75,7 @@ struct intel_dvo_dev_ops {
>  	 * \return MODE_OK if the mode is valid, or another MODE_* otherwise.
>  	 */
>  	int (*mode_valid)(struct intel_dvo_device *dvo,
> -			  struct drm_display_mode *mode);
> +			  const struct drm_display_mode *mode);
>  
>  	/*
>  	 * Callback for preparing mode changes on an output
> diff --git a/drivers/gpu/drm/i915/dvo_ch7017.c b/drivers/gpu/drm/i915/dvo_ch7017.c
> index 80b3e16cf48c..21a76b89209a 100644
> --- a/drivers/gpu/drm/i915/dvo_ch7017.c
> +++ b/drivers/gpu/drm/i915/dvo_ch7017.c
> @@ -246,7 +246,7 @@ static enum drm_connector_status ch7017_detect(struct intel_dvo_device *dvo)
>  }
>  
>  static enum drm_mode_status ch7017_mode_valid(struct intel_dvo_device *dvo,
> -					      struct drm_display_mode *mode)
> +					      const struct drm_display_mode *mode)
>  {
>  	if (mode->clock > 160000)
>  		return MODE_CLOCK_HIGH;
> diff --git a/drivers/gpu/drm/i915/dvo_ch7xxx.c b/drivers/gpu/drm/i915/dvo_ch7xxx.c
> index 7aeeffd2428b..48c69b290621 100644
> --- a/drivers/gpu/drm/i915/dvo_ch7xxx.c
> +++ b/drivers/gpu/drm/i915/dvo_ch7xxx.c
> @@ -264,7 +264,7 @@ static enum drm_connector_status ch7xxx_detect(struct intel_dvo_device *dvo)
>  }
>  
>  static enum drm_mode_status ch7xxx_mode_valid(struct intel_dvo_device *dvo,
> -					      struct drm_display_mode *mode)
> +					      const struct drm_display_mode *mode)
>  {
>  	if (mode->clock > 165000)
>  		return MODE_CLOCK_HIGH;
> diff --git a/drivers/gpu/drm/i915/dvo_ivch.c b/drivers/gpu/drm/i915/dvo_ivch.c
> index c73aff163908..9b61e7e4ef05 100644
> --- a/drivers/gpu/drm/i915/dvo_ivch.c
> +++ b/drivers/gpu/drm/i915/dvo_ivch.c
> @@ -313,7 +313,7 @@ static enum drm_connector_status ivch_detect(struct intel_dvo_device *dvo)
>  }
>  
>  static enum drm_mode_status ivch_mode_valid(struct intel_dvo_device *dvo,
> -					    struct drm_display_mode *mode)
> +					    const struct drm_display_mode *mode)
>  {
>  	if (mode->clock > 112000)
>  		return MODE_CLOCK_HIGH;
> diff --git a/drivers/gpu/drm/i915/dvo_ns2501.c b/drivers/gpu/drm/i915/dvo_ns2501.c
> index 2379c33cfe51..087c87802be6 100644
> --- a/drivers/gpu/drm/i915/dvo_ns2501.c
> +++ b/drivers/gpu/drm/i915/dvo_ns2501.c
> @@ -524,7 +524,7 @@ static enum drm_connector_status ns2501_detect(struct intel_dvo_device *dvo)
>  }
>  
>  static enum drm_mode_status ns2501_mode_valid(struct intel_dvo_device *dvo,
> -					      struct drm_display_mode *mode)
> +					      const struct drm_display_mode *mode)
>  {
>  	DRM_DEBUG_KMS
>  	    ("is mode valid (hdisplay=%d,htotal=%d,vdisplay=%d,vtotal=%d)\n",
> diff --git a/drivers/gpu/drm/i915/dvo_sil164.c b/drivers/gpu/drm/i915/dvo_sil164.c
> index 1c1a0674dbab..d92634cd47e5 100644
> --- a/drivers/gpu/drm/i915/dvo_sil164.c
> +++ b/drivers/gpu/drm/i915/dvo_sil164.c
> @@ -184,7 +184,7 @@ static enum drm_connector_status sil164_detect(struct intel_dvo_device *dvo)
>  }
>  
>  static enum drm_mode_status sil164_mode_valid(struct intel_dvo_device *dvo,
> -					      struct drm_display_mode *mode)
> +					      const struct drm_display_mode *mode)
>  {
>  	return MODE_OK;
>  }
> diff --git a/drivers/gpu/drm/i915/dvo_tfp410.c b/drivers/gpu/drm/i915/dvo_tfp410.c
> index 31e181da93db..0dce97a92343 100644
> --- a/drivers/gpu/drm/i915/dvo_tfp410.c
> +++ b/drivers/gpu/drm/i915/dvo_tfp410.c
> @@ -216,7 +216,7 @@ static enum drm_connector_status tfp410_detect(struct intel_dvo_device *dvo)
>  }
>  
>  static enum drm_mode_status tfp410_mode_valid(struct intel_dvo_device *dvo,
> -					      struct drm_display_mode *mode)
> +					      const struct drm_display_mode *mode)
>  {
>  	return MODE_OK;
>  }
> diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
> index de0e22322c76..95604c767f89 100644
> --- a/drivers/gpu/drm/i915/intel_crt.c
> +++ b/drivers/gpu/drm/i915/intel_crt.c
> @@ -297,7 +297,7 @@ static void intel_enable_crt(struct intel_encoder *encoder,
>  
>  static enum drm_mode_status
>  intel_crt_mode_valid(struct drm_connector *connector,
> -		     struct drm_display_mode *mode)
> +		     const struct drm_display_mode *mode)
>  {
>  	struct drm_device *dev = connector->dev;
>  	struct drm_i915_private *dev_priv = to_i915(dev);
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index dde92e4af5d3..f8f4884b5add 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -411,7 +411,7 @@ int intel_dp_get_link_train_fallback_values(struct intel_dp *intel_dp,
>  
>  static enum drm_mode_status
>  intel_dp_mode_valid(struct drm_connector *connector,
> -		    struct drm_display_mode *mode)
> +		    const struct drm_display_mode *mode)
>  {
>  	struct intel_dp *intel_dp = intel_attached_dp(connector);
>  	struct intel_connector *intel_connector = to_intel_connector(connector);
> diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
> index 9e6956c08688..6a1c590f8615 100644
> --- a/drivers/gpu/drm/i915/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/intel_dp_mst.c
> @@ -355,7 +355,7 @@ static int intel_dp_mst_get_modes(struct drm_connector *connector)
>  
>  static enum drm_mode_status
>  intel_dp_mst_mode_valid(struct drm_connector *connector,
> -			struct drm_display_mode *mode)
> +			const struct drm_display_mode *mode)
>  {
>  	struct intel_connector *intel_connector = to_intel_connector(connector);
>  	struct intel_dp *intel_dp = intel_connector->mst_port;
> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
> index 51a1d6868b1e..8c2d4f7f4dba 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.c
> +++ b/drivers/gpu/drm/i915/intel_dsi.c
> @@ -1258,7 +1258,7 @@ static void intel_dsi_get_config(struct intel_encoder *encoder,
>  
>  static enum drm_mode_status
>  intel_dsi_mode_valid(struct drm_connector *connector,
> -		     struct drm_display_mode *mode)
> +		     const struct drm_display_mode *mode)
>  {
>  	struct intel_connector *intel_connector = to_intel_connector(connector);
>  	const struct drm_display_mode *fixed_mode = intel_connector->panel.fixed_mode;
> diff --git a/drivers/gpu/drm/i915/intel_dvo.c b/drivers/gpu/drm/i915/intel_dvo.c
> index eb0c559b2715..103cfbc07a9b 100644
> --- a/drivers/gpu/drm/i915/intel_dvo.c
> +++ b/drivers/gpu/drm/i915/intel_dvo.c
> @@ -211,7 +211,7 @@ static void intel_enable_dvo(struct intel_encoder *encoder,
>  
>  static enum drm_mode_status
>  intel_dvo_mode_valid(struct drm_connector *connector,
> -		     struct drm_display_mode *mode)
> +		     const struct drm_display_mode *mode)
>  {
>  	struct intel_dvo *intel_dvo = intel_attached_dvo(connector);
>  	const struct drm_display_mode *fixed_mode =
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> index ee929f31f7db..d0191649be32 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -1546,7 +1546,7 @@ hdmi_port_clock_valid(struct intel_hdmi *hdmi,
>  
>  static enum drm_mode_status
>  intel_hdmi_mode_valid(struct drm_connector *connector,
> -		      struct drm_display_mode *mode)
> +		      const struct drm_display_mode *mode)
>  {
>  	struct intel_hdmi *hdmi = intel_attached_hdmi(connector);
>  	struct drm_device *dev = intel_hdmi_to_dev(hdmi);
> diff --git a/drivers/gpu/drm/i915/intel_lvds.c b/drivers/gpu/drm/i915/intel_lvds.c
> index 8691c86f579c..bbf7b1f103c8 100644
> --- a/drivers/gpu/drm/i915/intel_lvds.c
> +++ b/drivers/gpu/drm/i915/intel_lvds.c
> @@ -374,7 +374,7 @@ static void pch_post_disable_lvds(struct intel_encoder *encoder,
>  
>  static enum drm_mode_status
>  intel_lvds_mode_valid(struct drm_connector *connector,
> -		      struct drm_display_mode *mode)
> +		      const struct drm_display_mode *mode)
>  {
>  	struct intel_connector *intel_connector = to_intel_connector(connector);
>  	struct drm_display_mode *fixed_mode = intel_connector->panel.fixed_mode;
> diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c
> index 25005023c243..2edbe16dbae7 100644
> --- a/drivers/gpu/drm/i915/intel_sdvo.c
> +++ b/drivers/gpu/drm/i915/intel_sdvo.c
> @@ -1616,7 +1616,7 @@ static void intel_enable_sdvo(struct intel_encoder *encoder,
>  
>  static enum drm_mode_status
>  intel_sdvo_mode_valid(struct drm_connector *connector,
> -		      struct drm_display_mode *mode)
> +		      const struct drm_display_mode *mode)
>  {
>  	struct intel_sdvo *intel_sdvo = intel_attached_sdvo(connector);
>  	int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
> diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
> index 885fc3809f7f..761eefa4f5b2 100644
> --- a/drivers/gpu/drm/i915/intel_tv.c
> +++ b/drivers/gpu/drm/i915/intel_tv.c
> @@ -845,7 +845,7 @@ static const struct tv_mode *intel_tv_mode_find(const struct drm_connector_state
>  
>  static enum drm_mode_status
>  intel_tv_mode_valid(struct drm_connector *connector,
> -		    struct drm_display_mode *mode)
> +		    const struct drm_display_mode *mode)
>  {
>  	const struct tv_mode *tv_mode = intel_tv_mode_find(connector->state);
>  	int max_dotclk = to_i915(connector->dev)->max_dotclk_freq;
> diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c
> index bc27c2699464..9bf5dd96147e 100644
> --- a/drivers/gpu/drm/imx/imx-tve.c
> +++ b/drivers/gpu/drm/imx/imx-tve.c
> @@ -244,7 +244,7 @@ static int imx_tve_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static int imx_tve_connector_mode_valid(struct drm_connector *connector,
> -					struct drm_display_mode *mode)
> +					const struct drm_display_mode *mode)
>  {
>  	struct imx_tve *tve = con_to_tve(connector);
>  	unsigned long rate;
> diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c
> index 59a11026dceb..7145a9aebfd7 100644
> --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c
> +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c
> @@ -1228,7 +1228,7 @@ static int mtk_hdmi_conn_get_modes(struct drm_connector *conn)
>  }
>  
>  static int mtk_hdmi_conn_mode_valid(struct drm_connector *conn,
> -				    struct drm_display_mode *mode)
> +				    const struct drm_display_mode *mode)
>  {
>  	struct mtk_hdmi *hdmi = hdmi_ctx_from_conn(conn);
>  
> diff --git a/drivers/gpu/drm/meson/meson_venc_cvbs.c b/drivers/gpu/drm/meson/meson_venc_cvbs.c
> index 79d95ca8a0c0..641447cadd94 100644
> --- a/drivers/gpu/drm/meson/meson_venc_cvbs.c
> +++ b/drivers/gpu/drm/meson/meson_venc_cvbs.c
> @@ -111,7 +111,7 @@ static int meson_cvbs_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static int meson_cvbs_connector_mode_valid(struct drm_connector *connector,
> -					   struct drm_display_mode *mode)
> +					   const struct drm_display_mode *mode)
>  {
>  	/* Validate the modes added in get_modes */
>  	return MODE_OK;
> diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c
> index 8918539a19aa..c188bbd16845 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_mode.c
> +++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
> @@ -1560,7 +1560,7 @@ static int mga_vga_get_modes(struct drm_connector *connector)
>  	return ret;
>  }
>  
> -static uint32_t mga_vga_calculate_mode_bandwidth(struct drm_display_mode *mode,
> +static uint32_t mga_vga_calculate_mode_bandwidth(const struct drm_display_mode *mode,
>  							int bits_per_pixel)
>  {
>  	uint32_t total_area, divisor;
> @@ -1587,7 +1587,7 @@ static uint32_t mga_vga_calculate_mode_bandwidth(struct drm_display_mode *mode,
>  #define MODE_BANDWIDTH	MODE_BAD
>  
>  static enum drm_mode_status mga_vga_mode_valid(struct drm_connector *connector,
> -				 struct drm_display_mode *mode)
> +				 const struct drm_display_mode *mode)
>  {
>  	struct drm_device *dev = connector->dev;
>  	struct mga_device *mdev = (struct mga_device*)dev->dev_private;
> diff --git a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c
> index e3b1c86b7aae..1b09df4524ba 100644
> --- a/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c
> +++ b/drivers/gpu/drm/msm/disp/mdp4/mdp4_lvds_connector.c
> @@ -72,7 +72,7 @@ static int mdp4_lvds_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static int mdp4_lvds_connector_mode_valid(struct drm_connector *connector,
> -				 struct drm_display_mode *mode)
> +				 const struct drm_display_mode *mode)
>  {
>  	struct mdp4_lvds_connector *mdp4_lvds_connector =
>  			to_mdp4_lvds_connector(connector);
> diff --git a/drivers/gpu/drm/msm/dsi/dsi_manager.c b/drivers/gpu/drm/msm/dsi/dsi_manager.c
> index 4cb1cb68878b..a024acf9b793 100644
> --- a/drivers/gpu/drm/msm/dsi/dsi_manager.c
> +++ b/drivers/gpu/drm/msm/dsi/dsi_manager.c
> @@ -405,7 +405,7 @@ static int dsi_mgr_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static int dsi_mgr_connector_mode_valid(struct drm_connector *connector,
> -				struct drm_display_mode *mode)
> +				const struct drm_display_mode *mode)
>  {
>  	int id = dsi_mgr_connector_get_id(connector);
>  	struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id);
> diff --git a/drivers/gpu/drm/msm/edp/edp_connector.c b/drivers/gpu/drm/msm/edp/edp_connector.c
> index 6f3fc6b0f0a3..af05c3090036 100644
> --- a/drivers/gpu/drm/msm/edp/edp_connector.c
> +++ b/drivers/gpu/drm/msm/edp/edp_connector.c
> @@ -64,7 +64,7 @@ static int edp_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static int edp_connector_mode_valid(struct drm_connector *connector,
> -				 struct drm_display_mode *mode)
> +				 const struct drm_display_mode *mode)
>  {
>  	struct edp_connector *edp_connector = to_edp_connector(connector);
>  	struct msm_edp *edp = edp_connector->edp;
> diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c
> index c0848dfedd50..ba218c611021 100644
> --- a/drivers/gpu/drm/msm/hdmi/hdmi_connector.c
> +++ b/drivers/gpu/drm/msm/hdmi/hdmi_connector.c
> @@ -403,7 +403,7 @@ static int msm_hdmi_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static int msm_hdmi_connector_mode_valid(struct drm_connector *connector,
> -				 struct drm_display_mode *mode)
> +				 const struct drm_display_mode *mode)
>  {
>  	struct hdmi_connector *hdmi_connector = to_hdmi_connector(connector);
>  	struct hdmi *hdmi = hdmi_connector->hdmi;
> diff --git a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c
> index 6d99f11fee4e..6dd956bf77b9 100644
> --- a/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c
> +++ b/drivers/gpu/drm/nouveau/dispnv04/tvnv17.c
> @@ -301,7 +301,7 @@ static int nv17_tv_get_modes(struct drm_encoder *encoder,
>  }
>  
>  static int nv17_tv_mode_valid(struct drm_encoder *encoder,
> -			      struct drm_display_mode *mode)
> +			      const struct drm_display_mode *mode)
>  {
>  	struct nv17_tv_norm_params *tv_norm = get_tv_norm(encoder);
>  
> diff --git a/drivers/gpu/drm/nouveau/dispnv50/disp.c b/drivers/gpu/drm/nouveau/dispnv50/disp.c
> index b83465ae7c1b..92cf754842a3 100644
> --- a/drivers/gpu/drm/nouveau/dispnv50/disp.c
> +++ b/drivers/gpu/drm/nouveau/dispnv50/disp.c
> @@ -838,7 +838,7 @@ nv50_mstc_best_encoder(struct drm_connector *connector)
>  
>  static enum drm_mode_status
>  nv50_mstc_mode_valid(struct drm_connector *connector,
> -		     struct drm_display_mode *mode)
> +		     const struct drm_display_mode *mode)
>  {
>  	return MODE_OK;
>  }
> diff --git a/drivers/gpu/drm/nouveau/nouveau_connector.c b/drivers/gpu/drm/nouveau/nouveau_connector.c
> index 7b557c354307..308e28c1871d 100644
> --- a/drivers/gpu/drm/nouveau/nouveau_connector.c
> +++ b/drivers/gpu/drm/nouveau/nouveau_connector.c
> @@ -1007,7 +1007,7 @@ get_tmds_link_bandwidth(struct drm_connector *connector, bool hdmi)
>  
>  static enum drm_mode_status
>  nouveau_connector_mode_valid(struct drm_connector *connector,
> -			     struct drm_display_mode *mode)
> +			     const struct drm_display_mode *mode)
>  {
>  	struct nouveau_connector *nv_connector = nouveau_connector(connector);
>  	struct nouveau_encoder *nv_encoder = nv_connector->detected_encoder;
> diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c
> index 5cde26ac937b..e316f6d5ac5d 100644
> --- a/drivers/gpu/drm/omapdrm/omap_connector.c
> +++ b/drivers/gpu/drm/omapdrm/omap_connector.c
> @@ -166,7 +166,7 @@ static int omap_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static int omap_connector_mode_valid(struct drm_connector *connector,
> -				 struct drm_display_mode *mode)
> +				 const struct drm_display_mode *mode)
>  {
>  	struct omap_connector *omap_connector = to_omap_connector(connector);
>  	struct omap_dss_device *dssdev = omap_connector->dssdev;
> @@ -174,10 +174,11 @@ static int omap_connector_mode_valid(struct drm_connector *connector,
>  	struct videomode vm = {0};
>  	struct drm_device *dev = connector->dev;
>  	struct drm_display_mode *new_mode;
> +	unsigned int vrefresh;
>  	int r, ret = MODE_BAD;
>  
>  	drm_display_mode_to_videomode(mode, &vm);
> -	mode->vrefresh = drm_mode_vrefresh(mode);
> +	vrefresh = drm_mode_vrefresh(mode);
>  
>  	/*
>  	 * if the panel driver doesn't have a check_timings, it's most likely
> @@ -212,7 +213,7 @@ static int omap_connector_mode_valid(struct drm_connector *connector,
>  
>  		new_mode->clock = vm.pixelclock / 1000;
>  		new_mode->vrefresh = 0;
> -		if (mode->vrefresh == drm_mode_vrefresh(new_mode))
> +		if (vrefresh == drm_mode_vrefresh(new_mode))
>  			ret = MODE_OK;
>  		drm_mode_destroy(dev, new_mode);
>  	}
> diff --git a/drivers/gpu/drm/qxl/qxl_display.c b/drivers/gpu/drm/qxl/qxl_display.c
> index b8cda9449241..1e261962f03d 100644
> --- a/drivers/gpu/drm/qxl/qxl_display.c
> +++ b/drivers/gpu/drm/qxl/qxl_display.c
> @@ -955,7 +955,7 @@ static int qxl_conn_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status qxl_conn_mode_valid(struct drm_connector *connector,
> -			       struct drm_display_mode *mode)
> +			       const struct drm_display_mode *mode)
>  {
>  	struct drm_device *ddev = connector->dev;
>  	struct qxl_device *qdev = ddev->dev_private;
> diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c
> index 3e798593e042..d3cd8169fd68 100644
> --- a/drivers/gpu/drm/radeon/atombios_dp.c
> +++ b/drivers/gpu/drm/radeon/atombios_dp.c
> @@ -474,7 +474,7 @@ void radeon_dp_set_link_config(struct drm_connector *connector,
>  }
>  
>  int radeon_dp_mode_valid_helper(struct drm_connector *connector,
> -				struct drm_display_mode *mode)
> +				const struct drm_display_mode *mode)
>  {
>  	struct radeon_connector *radeon_connector = to_radeon_connector(connector);
>  	struct radeon_connector_atom_dig *dig_connector;
> diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon/radeon_connectors.c
> index 2aea2bdff99b..1d84aad22858 100644
> --- a/drivers/gpu/drm/radeon/radeon_connectors.c
> +++ b/drivers/gpu/drm/radeon/radeon_connectors.c
> @@ -853,7 +853,7 @@ static int radeon_lvds_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status radeon_lvds_mode_valid(struct drm_connector *connector,
> -				  struct drm_display_mode *mode)
> +				  const struct drm_display_mode *mode)
>  {
>  	struct drm_encoder *encoder = radeon_best_single_encoder(connector);
>  
> @@ -1013,7 +1013,7 @@ static int radeon_vga_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status radeon_vga_mode_valid(struct drm_connector *connector,
> -				  struct drm_display_mode *mode)
> +				  const struct drm_display_mode *mode)
>  {
>  	struct drm_device *dev = connector->dev;
>  	struct radeon_device *rdev = dev->dev_private;
> @@ -1157,7 +1157,7 @@ static int radeon_tv_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status radeon_tv_mode_valid(struct drm_connector *connector,
> -				struct drm_display_mode *mode)
> +				const struct drm_display_mode *mode)
>  {
>  	if ((mode->hdisplay > 1024) || (mode->vdisplay > 768))
>  		return MODE_CLOCK_RANGE;
> @@ -1499,7 +1499,7 @@ static void radeon_dvi_force(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status radeon_dvi_mode_valid(struct drm_connector *connector,
> -				  struct drm_display_mode *mode)
> +				  const struct drm_display_mode *mode)
>  {
>  	struct drm_device *dev = connector->dev;
>  	struct radeon_device *rdev = dev->dev_private;
> @@ -1801,7 +1801,7 @@ radeon_dp_detect(struct drm_connector *connector, bool force)
>  }
>  
>  static enum drm_mode_status radeon_dp_mode_valid(struct drm_connector *connector,
> -				  struct drm_display_mode *mode)
> +				  const struct drm_display_mode *mode)
>  {
>  	struct drm_device *dev = connector->dev;
>  	struct radeon_device *rdev = dev->dev_private;
> diff --git a/drivers/gpu/drm/radeon/radeon_dp_mst.c b/drivers/gpu/drm/radeon/radeon_dp_mst.c
> index cd8a3ee16649..fc188cafe8e8 100644
> --- a/drivers/gpu/drm/radeon/radeon_dp_mst.c
> +++ b/drivers/gpu/drm/radeon/radeon_dp_mst.c
> @@ -211,7 +211,7 @@ static int radeon_dp_mst_get_modes(struct drm_connector *connector)
>  
>  static enum drm_mode_status
>  radeon_dp_mst_mode_valid(struct drm_connector *connector,
> -			struct drm_display_mode *mode)
> +			 const struct drm_display_mode *mode)
>  {
>  	/* TODO - validate mode against available PBN for link */
>  	if (mode->clock < 10000)
> diff --git a/drivers/gpu/drm/radeon/radeon_mode.h b/drivers/gpu/drm/radeon/radeon_mode.h
> index fd470d6bf3f4..f87e1ac1384b 100644
> --- a/drivers/gpu/drm/radeon/radeon_mode.h
> +++ b/drivers/gpu/drm/radeon/radeon_mode.h
> @@ -746,7 +746,7 @@ extern struct edid *radeon_connector_edid(struct drm_connector *connector);
>  
>  extern void radeon_connector_hotplug(struct drm_connector *connector);
>  extern int radeon_dp_mode_valid_helper(struct drm_connector *connector,
> -				       struct drm_display_mode *mode);
> +				       const struct drm_display_mode *mode);
>  extern void radeon_dp_set_link_config(struct drm_connector *connector,
>  				      const struct drm_display_mode *mode);
>  extern void radeon_dp_link_train(struct drm_encoder *encoder,
> diff --git a/drivers/gpu/drm/rockchip/cdn-dp-core.c b/drivers/gpu/drm/rockchip/cdn-dp-core.c
> index c6fbdcd87c16..605dc0c3d100 100644
> --- a/drivers/gpu/drm/rockchip/cdn-dp-core.c
> +++ b/drivers/gpu/drm/rockchip/cdn-dp-core.c
> @@ -284,7 +284,7 @@ static int cdn_dp_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static int cdn_dp_connector_mode_valid(struct drm_connector *connector,
> -				       struct drm_display_mode *mode)
> +				       const struct drm_display_mode *mode)
>  {
>  	struct cdn_dp_device *dp = connector_to_dp(connector);
>  	struct drm_display_info *display_info = &dp->connector.display_info;
> diff --git a/drivers/gpu/drm/rockchip/inno_hdmi.c b/drivers/gpu/drm/rockchip/inno_hdmi.c
> index 88d0774c97bd..0707cbab5644 100644
> --- a/drivers/gpu/drm/rockchip/inno_hdmi.c
> +++ b/drivers/gpu/drm/rockchip/inno_hdmi.c
> @@ -575,7 +575,7 @@ static int inno_hdmi_connector_get_modes(struct drm_connector *connector)
>  
>  static enum drm_mode_status
>  inno_hdmi_connector_mode_valid(struct drm_connector *connector,
> -			       struct drm_display_mode *mode)
> +			       const struct drm_display_mode *mode)
>  {
>  	return MODE_OK;
>  }
> diff --git a/drivers/gpu/drm/sti/sti_dvo.c b/drivers/gpu/drm/sti/sti_dvo.c
> index a5979cd25cc7..5dc71bc9a7b4 100644
> --- a/drivers/gpu/drm/sti/sti_dvo.c
> +++ b/drivers/gpu/drm/sti/sti_dvo.c
> @@ -347,7 +347,7 @@ static int sti_dvo_connector_get_modes(struct drm_connector *connector)
>  #define CLK_TOLERANCE_HZ 50
>  
>  static int sti_dvo_connector_mode_valid(struct drm_connector *connector,
> -					struct drm_display_mode *mode)
> +					const struct drm_display_mode *mode)
>  {
>  	int target = mode->clock * 1000;
>  	int target_min = target - CLK_TOLERANCE_HZ;
> diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c
> index 67bbdb49fffc..b65c9c596a89 100644
> --- a/drivers/gpu/drm/sti/sti_hda.c
> +++ b/drivers/gpu/drm/sti/sti_hda.c
> @@ -597,7 +597,7 @@ static int sti_hda_connector_get_modes(struct drm_connector *connector)
>  #define CLK_TOLERANCE_HZ 50
>  
>  static int sti_hda_connector_mode_valid(struct drm_connector *connector,
> -					struct drm_display_mode *mode)
> +					const struct drm_display_mode *mode)
>  {
>  	int target = mode->clock * 1000;
>  	int target_min = target - CLK_TOLERANCE_HZ;
> diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c
> index 58f431102512..ef8a7c78f00a 100644
> --- a/drivers/gpu/drm/sti/sti_hdmi.c
> +++ b/drivers/gpu/drm/sti/sti_hdmi.c
> @@ -990,7 +990,7 @@ static int sti_hdmi_connector_get_modes(struct drm_connector *connector)
>  #define CLK_TOLERANCE_HZ 50
>  
>  static int sti_hdmi_connector_mode_valid(struct drm_connector *connector,
> -					struct drm_display_mode *mode)
> +					const struct drm_display_mode *mode)
>  {
>  	int target = mode->clock * 1000;
>  	int target_min = target - CLK_TOLERANCE_HZ;
> diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c
> index b070d522ed8d..9808d0ee7fa8 100644
> --- a/drivers/gpu/drm/sun4i/sun4i_tv.c
> +++ b/drivers/gpu/drm/sun4i/sun4i_tv.c
> @@ -508,7 +508,7 @@ static int sun4i_tv_comp_get_modes(struct drm_connector *connector)
>  }
>  
>  static int sun4i_tv_comp_mode_valid(struct drm_connector *connector,
> -				    struct drm_display_mode *mode)
> +				    const struct drm_display_mode *mode)
>  {
>  	/* TODO */
>  	return MODE_OK;
> diff --git a/drivers/gpu/drm/tegra/dsi.c b/drivers/gpu/drm/tegra/dsi.c
> index 87c5d89bc9ba..6a7d17740a44 100644
> --- a/drivers/gpu/drm/tegra/dsi.c
> +++ b/drivers/gpu/drm/tegra/dsi.c
> @@ -815,7 +815,7 @@ static const struct drm_connector_funcs tegra_dsi_connector_funcs = {
>  
>  static enum drm_mode_status
>  tegra_dsi_connector_mode_valid(struct drm_connector *connector,
> -			       struct drm_display_mode *mode)
> +			       const struct drm_display_mode *mode)
>  {
>  	return MODE_OK;
>  }
> diff --git a/drivers/gpu/drm/tegra/hdmi.c b/drivers/gpu/drm/tegra/hdmi.c
> index 784739a9f497..788a8f6753d7 100644
> --- a/drivers/gpu/drm/tegra/hdmi.c
> +++ b/drivers/gpu/drm/tegra/hdmi.c
> @@ -1164,7 +1164,7 @@ static const struct drm_connector_funcs tegra_hdmi_connector_funcs = {
>  
>  static enum drm_mode_status
>  tegra_hdmi_connector_mode_valid(struct drm_connector *connector,
> -				struct drm_display_mode *mode)
> +				const struct drm_display_mode *mode)
>  {
>  	struct tegra_output *output = connector_to_output(connector);
>  	struct tegra_hdmi *hdmi = to_hdmi(output);
> diff --git a/drivers/gpu/drm/tegra/rgb.c b/drivers/gpu/drm/tegra/rgb.c
> index 78ec5193741d..da605bea82ea 100644
> --- a/drivers/gpu/drm/tegra/rgb.c
> +++ b/drivers/gpu/drm/tegra/rgb.c
> @@ -98,7 +98,7 @@ static const struct drm_connector_funcs tegra_rgb_connector_funcs = {
>  
>  static enum drm_mode_status
>  tegra_rgb_connector_mode_valid(struct drm_connector *connector,
> -			       struct drm_display_mode *mode)
> +			       const struct drm_display_mode *mode)
>  {
>  	/*
>  	 * FIXME: For now, always assume that the mode is okay. There are
> diff --git a/drivers/gpu/drm/tegra/sor.c b/drivers/gpu/drm/tegra/sor.c
> index 7d2a955fc515..05f93200646a 100644
> --- a/drivers/gpu/drm/tegra/sor.c
> +++ b/drivers/gpu/drm/tegra/sor.c
> @@ -1493,7 +1493,7 @@ static int tegra_sor_connector_get_modes(struct drm_connector *connector)
>  
>  static enum drm_mode_status
>  tegra_sor_connector_mode_valid(struct drm_connector *connector,
> -			       struct drm_display_mode *mode)
> +			       const struct drm_display_mode *mode)
>  {
>  	return MODE_OK;
>  }
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
> index 1067e702c22c..08ea0da4d66a 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
> @@ -749,7 +749,8 @@ int tilcdc_crtc_max_width(struct drm_crtc *crtc)
>  	return max_width;
>  }
>  
> -int tilcdc_crtc_mode_valid(struct drm_crtc *crtc, struct drm_display_mode *mode)
> +int tilcdc_crtc_mode_valid(struct drm_crtc *crtc,
> +			   const struct drm_display_mode *mode)
>  {
>  	struct tilcdc_drm_private *priv = crtc->dev->dev_private;
>  	unsigned int bandwidth;
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_drv.h b/drivers/gpu/drm/tilcdc/tilcdc_drv.h
> index ead512216669..61b4111b61b7 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_drv.h
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.h
> @@ -171,7 +171,8 @@ void tilcdc_crtc_set_panel_info(struct drm_crtc *crtc,
>  		const struct tilcdc_panel_info *info);
>  void tilcdc_crtc_set_simulate_vesa_sync(struct drm_crtc *crtc,
>  					bool simulate_vesa_sync);
> -int tilcdc_crtc_mode_valid(struct drm_crtc *crtc, struct drm_display_mode *mode);
> +int tilcdc_crtc_mode_valid(struct drm_crtc *crtc,
> +			   const struct drm_display_mode *mode);
>  int tilcdc_crtc_max_width(struct drm_crtc *crtc);
>  void tilcdc_crtc_shutdown(struct drm_crtc *crtc);
>  int tilcdc_crtc_update_fb(struct drm_crtc *crtc,
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_external.c b/drivers/gpu/drm/tilcdc/tilcdc_external.c
> index d651bdd6597e..6f548c9f81b1 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_external.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_external.c
> @@ -41,7 +41,7 @@ static const struct tilcdc_panel_info panel_info_default = {
>  };
>  
>  static int tilcdc_external_mode_valid(struct drm_connector *connector,
> -				      struct drm_display_mode *mode)
> +				      const struct drm_display_mode *mode)
>  {
>  	struct tilcdc_drm_private *priv = connector->dev->dev_private;
>  	int ret;
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_panel.c b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
> index d616d64a6725..f1825a6b7d57 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_panel.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_panel.c
> @@ -171,7 +171,7 @@ static int panel_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static int panel_connector_mode_valid(struct drm_connector *connector,
> -		  struct drm_display_mode *mode)
> +		  const struct drm_display_mode *mode)
>  {
>  	struct tilcdc_drm_private *priv = connector->dev->dev_private;
>  	/* our only constraints are what the crtc can generate: */
> diff --git a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
> index c45cabb38db0..153ffbdc4106 100644
> --- a/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
> +++ b/drivers/gpu/drm/tilcdc/tilcdc_tfp410.c
> @@ -184,7 +184,7 @@ static int tfp410_connector_get_modes(struct drm_connector *connector)
>  }
>  
>  static int tfp410_connector_mode_valid(struct drm_connector *connector,
> -		  struct drm_display_mode *mode)
> +		  const struct drm_display_mode *mode)
>  {
>  	struct tilcdc_drm_private *priv = connector->dev->dev_private;
>  	/* our only constraints are what the crtc can generate: */
> diff --git a/drivers/gpu/drm/udl/udl_connector.c b/drivers/gpu/drm/udl/udl_connector.c
> index 09dc585aa46f..5477767de55c 100644
> --- a/drivers/gpu/drm/udl/udl_connector.c
> +++ b/drivers/gpu/drm/udl/udl_connector.c
> @@ -106,7 +106,7 @@ static int udl_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status udl_mode_valid(struct drm_connector *connector,
> -			  struct drm_display_mode *mode)
> +			  const struct drm_display_mode *mode)
>  {
>  	struct udl_device *udl = connector->dev->dev_private;
>  	if (!udl->sku_pixel_limit)
> diff --git a/drivers/gpu/drm/virtio/virtgpu_display.c b/drivers/gpu/drm/virtio/virtgpu_display.c
> index a5edd86603d9..69453a2cfcd9 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_display.c
> +++ b/drivers/gpu/drm/virtio/virtgpu_display.c
> @@ -209,7 +209,7 @@ static int virtio_gpu_conn_get_modes(struct drm_connector *connector)
>  }
>  
>  static enum drm_mode_status virtio_gpu_conn_mode_valid(struct drm_connector *connector,
> -				      struct drm_display_mode *mode)
> +				      const struct drm_display_mode *mode)
>  {
>  	struct virtio_gpu_output *output =
>  		drm_connector_to_virtio_gpu_output(connector);
> diff --git a/drivers/gpu/drm/zte/zx_hdmi.c b/drivers/gpu/drm/zte/zx_hdmi.c
> index 13ea90f7a185..e2d151b37c06 100644
> --- a/drivers/gpu/drm/zte/zx_hdmi.c
> +++ b/drivers/gpu/drm/zte/zx_hdmi.c
> @@ -281,7 +281,7 @@ static int zx_hdmi_connector_get_modes(struct drm_connector *connector)
>  
>  static enum drm_mode_status
>  zx_hdmi_connector_mode_valid(struct drm_connector *connector,
> -			     struct drm_display_mode *mode)
> +			     const struct drm_display_mode *mode)
>  {
>  	return MODE_OK;
>  }
> diff --git a/drivers/gpu/drm/zte/zx_tvenc.c b/drivers/gpu/drm/zte/zx_tvenc.c
> index 0de1a71ca4e0..fd1c20e234ce 100644
> --- a/drivers/gpu/drm/zte/zx_tvenc.c
> +++ b/drivers/gpu/drm/zte/zx_tvenc.c
> @@ -132,7 +132,7 @@ static const struct zx_tvenc_mode *tvenc_modes[] = {
>  };
>  
>  static const struct zx_tvenc_mode *
> -zx_tvenc_find_zmode(struct drm_display_mode *mode)
> +zx_tvenc_find_zmode(const struct drm_display_mode *mode)
>  {
>  	int i;
>  
> @@ -249,7 +249,7 @@ static int zx_tvenc_connector_get_modes(struct drm_connector *connector)
>  
>  static enum drm_mode_status
>  zx_tvenc_connector_mode_valid(struct drm_connector *connector,
> -			      struct drm_display_mode *mode)
> +			      const struct drm_display_mode *mode)
>  {
>  	struct zx_tvenc *tvenc = to_zx_tvenc(connector);
>  	const struct zx_tvenc_mode *zmode;
> diff --git a/drivers/gpu/drm/zte/zx_vga.c b/drivers/gpu/drm/zte/zx_vga.c
> index 3e7e33cd3dfa..450f8938daa5 100644
> --- a/drivers/gpu/drm/zte/zx_vga.c
> +++ b/drivers/gpu/drm/zte/zx_vga.c
> @@ -118,7 +118,7 @@ static int zx_vga_connector_get_modes(struct drm_connector *connector)
>  
>  static enum drm_mode_status
>  zx_vga_connector_mode_valid(struct drm_connector *connector,
> -			    struct drm_display_mode *mode)
> +			    const struct drm_display_mode *mode)
>  {
>  	return MODE_OK;
>  }
> diff --git a/drivers/staging/vboxvideo/vbox_mode.c b/drivers/staging/vboxvideo/vbox_mode.c
> index b265fe924556..8cde6ca7014c 100644
> --- a/drivers/staging/vboxvideo/vbox_mode.c
> +++ b/drivers/staging/vboxvideo/vbox_mode.c
> @@ -574,7 +574,7 @@ static int vbox_get_modes(struct drm_connector *connector)
>  }
>  
>  static int vbox_mode_valid(struct drm_connector *connector,
> -			   struct drm_display_mode *mode)
> +			   const struct drm_display_mode *mode)
>  {
>  	return MODE_OK;
>  }
> diff --git a/include/drm/drm_encoder_slave.h b/include/drm/drm_encoder_slave.h
> index 1107b4b1c599..b79094bc2fcd 100644
> --- a/include/drm/drm_encoder_slave.h
> +++ b/include/drm/drm_encoder_slave.h
> @@ -58,7 +58,7 @@ struct drm_encoder_slave_funcs {
>  			   const struct drm_display_mode *mode,
>  			   struct drm_display_mode *adjusted_mode);
>  	int (*mode_valid)(struct drm_encoder *encoder,
> -			  struct drm_display_mode *mode);
> +			  const struct drm_display_mode *mode);
>  	void (*mode_set)(struct drm_encoder *encoder,
>  			 struct drm_display_mode *mode,
>  			 struct drm_display_mode *adjusted_mode);
> diff --git a/include/drm/drm_modeset_helper_vtables.h b/include/drm/drm_modeset_helper_vtables.h
> index 35e2a3a79fc5..19bb03213af3 100644
> --- a/include/drm/drm_modeset_helper_vtables.h
> +++ b/include/drm/drm_modeset_helper_vtables.h
> @@ -881,7 +881,7 @@ struct drm_connector_helper_funcs {
>  	 * drm_mode_status.
>  	 */
>  	enum drm_mode_status (*mode_valid)(struct drm_connector *connector,
> -					   struct drm_display_mode *mode);
> +					   const struct drm_display_mode *mode);
>  	/**
>  	 * @best_encoder:
>  	 *
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Ville Syrjälä
Intel


More information about the dri-devel mailing list