Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm: bridge: Constify mode arguments to bridge .mode_set() operation

The mode and ajusted_mode passed to the bridge .mode_set() operation
should never be modified by the bridge (and are not in any of the
existing bridge drivers). Make them const to make this clear.

Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>

+62 -60
+2 -2
drivers/gpu/drm/bridge/adv7511/adv7511.h
··· 395 395 #ifdef CONFIG_DRM_I2C_ADV7533 396 396 void adv7533_dsi_power_on(struct adv7511 *adv); 397 397 void adv7533_dsi_power_off(struct adv7511 *adv); 398 - void adv7533_mode_set(struct adv7511 *adv, struct drm_display_mode *mode); 398 + void adv7533_mode_set(struct adv7511 *adv, const struct drm_display_mode *mode); 399 399 int adv7533_patch_registers(struct adv7511 *adv); 400 400 int adv7533_patch_cec_registers(struct adv7511 *adv); 401 401 int adv7533_attach_dsi(struct adv7511 *adv); ··· 411 411 } 412 412 413 413 static inline void adv7533_mode_set(struct adv7511 *adv, 414 - struct drm_display_mode *mode) 414 + const struct drm_display_mode *mode) 415 415 { 416 416 } 417 417
+4 -4
drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
··· 676 676 } 677 677 678 678 static void adv7511_mode_set(struct adv7511 *adv7511, 679 - struct drm_display_mode *mode, 680 - struct drm_display_mode *adj_mode) 679 + const struct drm_display_mode *mode, 680 + const struct drm_display_mode *adj_mode) 681 681 { 682 682 unsigned int low_refresh_rate; 683 683 unsigned int hsync_polarity = 0; ··· 839 839 } 840 840 841 841 static void adv7511_bridge_mode_set(struct drm_bridge *bridge, 842 - struct drm_display_mode *mode, 843 - struct drm_display_mode *adj_mode) 842 + const struct drm_display_mode *mode, 843 + const struct drm_display_mode *adj_mode) 844 844 { 845 845 struct adv7511 *adv = bridge_to_adv7511(bridge); 846 846
+1 -1
drivers/gpu/drm/bridge/adv7511/adv7533.c
··· 108 108 regmap_write(adv->regmap_cec, 0x27, 0x0b); 109 109 } 110 110 111 - void adv7533_mode_set(struct adv7511 *adv, struct drm_display_mode *mode) 111 + void adv7533_mode_set(struct adv7511 *adv, const struct drm_display_mode *mode) 112 112 { 113 113 struct mipi_dsi_device *dsi = adv->dsi; 114 114 int lanes, ret;
+2 -2
drivers/gpu/drm/bridge/analogix-anx78xx.c
··· 1082 1082 } 1083 1083 1084 1084 static void anx78xx_bridge_mode_set(struct drm_bridge *bridge, 1085 - struct drm_display_mode *mode, 1086 - struct drm_display_mode *adjusted_mode) 1085 + const struct drm_display_mode *mode, 1086 + const struct drm_display_mode *adjusted_mode) 1087 1087 { 1088 1088 struct anx78xx *anx78xx = bridge_to_anx78xx(bridge); 1089 1089 struct hdmi_avi_infoframe frame;
+2 -2
drivers/gpu/drm/bridge/analogix/analogix_dp_core.c
··· 1361 1361 } 1362 1362 1363 1363 static void analogix_dp_bridge_mode_set(struct drm_bridge *bridge, 1364 - struct drm_display_mode *orig_mode, 1365 - struct drm_display_mode *mode) 1364 + const struct drm_display_mode *orig_mode, 1365 + const struct drm_display_mode *mode) 1366 1366 { 1367 1367 struct analogix_dp_device *dp = bridge->driver_private; 1368 1368 struct drm_display_info *display_info = &dp->connector.display_info;
+2 -2
drivers/gpu/drm/bridge/sii902x.c
··· 232 232 } 233 233 234 234 static void sii902x_bridge_mode_set(struct drm_bridge *bridge, 235 - struct drm_display_mode *mode, 236 - struct drm_display_mode *adj) 235 + const struct drm_display_mode *mode, 236 + const struct drm_display_mode *adj) 237 237 { 238 238 struct sii902x *sii902x = bridge_to_sii902x(bridge); 239 239 struct regmap *regmap = sii902x->regmap;
+2 -2
drivers/gpu/drm/bridge/synopsys/dw-hdmi.c
··· 1998 1998 } 1999 1999 2000 2000 static void dw_hdmi_bridge_mode_set(struct drm_bridge *bridge, 2001 - struct drm_display_mode *orig_mode, 2002 - struct drm_display_mode *mode) 2001 + const struct drm_display_mode *orig_mode, 2002 + const struct drm_display_mode *mode) 2003 2003 { 2004 2004 struct dw_hdmi *hdmi = bridge->driver_private; 2005 2005
+9 -9
drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c
··· 248 248 * The controller should generate 2 frames before 249 249 * preparing the peripheral. 250 250 */ 251 - static void dw_mipi_dsi_wait_for_two_frames(struct drm_display_mode *mode) 251 + static void dw_mipi_dsi_wait_for_two_frames(const struct drm_display_mode *mode) 252 252 { 253 253 int refresh, two_frames; 254 254 ··· 564 564 } 565 565 566 566 static void dw_mipi_dsi_dpi_config(struct dw_mipi_dsi *dsi, 567 - struct drm_display_mode *mode) 567 + const struct drm_display_mode *mode) 568 568 { 569 569 u32 val = 0, color = 0; 570 570 ··· 607 607 } 608 608 609 609 static void dw_mipi_dsi_video_packet_config(struct dw_mipi_dsi *dsi, 610 - struct drm_display_mode *mode) 610 + const struct drm_display_mode *mode) 611 611 { 612 612 /* 613 613 * TODO dw drv improvements ··· 642 642 643 643 /* Get lane byte clock cycles. */ 644 644 static u32 dw_mipi_dsi_get_hcomponent_lbcc(struct dw_mipi_dsi *dsi, 645 - struct drm_display_mode *mode, 645 + const struct drm_display_mode *mode, 646 646 u32 hcomponent) 647 647 { 648 648 u32 frac, lbcc; ··· 658 658 } 659 659 660 660 static void dw_mipi_dsi_line_timer_config(struct dw_mipi_dsi *dsi, 661 - struct drm_display_mode *mode) 661 + const struct drm_display_mode *mode) 662 662 { 663 663 u32 htotal, hsa, hbp, lbcc; 664 664 ··· 681 681 } 682 682 683 683 static void dw_mipi_dsi_vertical_timing_config(struct dw_mipi_dsi *dsi, 684 - struct drm_display_mode *mode) 684 + const struct drm_display_mode *mode) 685 685 { 686 686 u32 vactive, vsa, vfp, vbp; 687 687 ··· 818 818 } 819 819 820 820 static void dw_mipi_dsi_mode_set(struct dw_mipi_dsi *dsi, 821 - struct drm_display_mode *adjusted_mode) 821 + const struct drm_display_mode *adjusted_mode) 822 822 { 823 823 const struct dw_mipi_dsi_phy_ops *phy_ops = dsi->plat_data->phy_ops; 824 824 void *priv_data = dsi->plat_data->priv_data; ··· 861 861 } 862 862 863 863 static void dw_mipi_dsi_bridge_mode_set(struct drm_bridge *bridge, 864 - struct drm_display_mode *mode, 865 - struct drm_display_mode *adjusted_mode) 864 + const struct drm_display_mode *mode, 865 + const struct drm_display_mode *adjusted_mode) 866 866 { 867 867 struct dw_mipi_dsi *dsi = bridge_to_dsi(bridge); 868 868
+5 -4
drivers/gpu/drm/bridge/tc358767.c
··· 203 203 /* display edid */ 204 204 struct edid *edid; 205 205 /* current mode */ 206 - struct drm_display_mode *mode; 206 + const struct drm_display_mode *mode; 207 207 208 208 u32 rev; 209 209 u8 assr; ··· 648 648 return ret; 649 649 } 650 650 651 - static int tc_set_video_mode(struct tc_data *tc, struct drm_display_mode *mode) 651 + static int tc_set_video_mode(struct tc_data *tc, 652 + const struct drm_display_mode *mode) 652 653 { 653 654 int ret; 654 655 int vid_sync_dly; ··· 1114 1113 } 1115 1114 1116 1115 static void tc_bridge_mode_set(struct drm_bridge *bridge, 1117 - struct drm_display_mode *mode, 1118 - struct drm_display_mode *adj) 1116 + const struct drm_display_mode *mode, 1117 + const struct drm_display_mode *adj) 1119 1118 { 1120 1119 struct tc_data *tc = bridge_to_tc(bridge); 1121 1120
+2 -2
drivers/gpu/drm/drm_bridge.c
··· 294 294 * Note: the bridge passed should be the one closest to the encoder 295 295 */ 296 296 void drm_bridge_mode_set(struct drm_bridge *bridge, 297 - struct drm_display_mode *mode, 298 - struct drm_display_mode *adjusted_mode) 297 + const struct drm_display_mode *mode, 298 + const struct drm_display_mode *adjusted_mode) 299 299 { 300 300 if (!bridge) 301 301 return;
+2 -2
drivers/gpu/drm/exynos/exynos_drm_mic.c
··· 246 246 } 247 247 248 248 static void mic_mode_set(struct drm_bridge *bridge, 249 - struct drm_display_mode *mode, 250 - struct drm_display_mode *adjusted_mode) 249 + const struct drm_display_mode *mode, 250 + const struct drm_display_mode *adjusted_mode) 251 251 { 252 252 struct exynos_mic *mic = bridge->driver_private; 253 253
+3 -3
drivers/gpu/drm/i2c/tda998x_drv.c
··· 845 845 } 846 846 847 847 static void 848 - tda998x_write_avi(struct tda998x_priv *priv, struct drm_display_mode *mode) 848 + tda998x_write_avi(struct tda998x_priv *priv, const struct drm_display_mode *mode) 849 849 { 850 850 union hdmi_infoframe frame; 851 851 ··· 1339 1339 } 1340 1340 1341 1341 static void tda998x_bridge_mode_set(struct drm_bridge *bridge, 1342 - struct drm_display_mode *mode, 1343 - struct drm_display_mode *adjusted_mode) 1342 + const struct drm_display_mode *mode, 1343 + const struct drm_display_mode *adjusted_mode) 1344 1344 { 1345 1345 struct tda998x_priv *priv = bridge_to_tda998x_priv(bridge); 1346 1346 unsigned long tmds_clock;
+2 -2
drivers/gpu/drm/mediatek/mtk_hdmi.c
··· 1370 1370 } 1371 1371 1372 1372 static void mtk_hdmi_bridge_mode_set(struct drm_bridge *bridge, 1373 - struct drm_display_mode *mode, 1374 - struct drm_display_mode *adjusted_mode) 1373 + const struct drm_display_mode *mode, 1374 + const struct drm_display_mode *adjusted_mode) 1375 1375 { 1376 1376 struct mtk_hdmi *hdmi = hdmi_ctx_from_bridge(bridge); 1377 1377
+1 -1
drivers/gpu/drm/msm/dsi/dsi.h
··· 168 168 bool is_dual_dsi); 169 169 int msm_dsi_host_power_off(struct mipi_dsi_host *host); 170 170 int msm_dsi_host_set_display_mode(struct mipi_dsi_host *host, 171 - struct drm_display_mode *mode); 171 + const struct drm_display_mode *mode); 172 172 struct drm_panel *msm_dsi_host_get_panel(struct mipi_dsi_host *host, 173 173 unsigned long *panel_flags); 174 174 struct drm_bridge *msm_dsi_host_get_bridge(struct mipi_dsi_host *host);
+1 -1
drivers/gpu/drm/msm/dsi/dsi_host.c
··· 2424 2424 } 2425 2425 2426 2426 int msm_dsi_host_set_display_mode(struct mipi_dsi_host *host, 2427 - struct drm_display_mode *mode) 2427 + const struct drm_display_mode *mode) 2428 2428 { 2429 2429 struct msm_dsi_host *msm_host = to_msm_dsi_host(host); 2430 2430
+2 -2
drivers/gpu/drm/msm/dsi/dsi_manager.c
··· 527 527 } 528 528 529 529 static void dsi_mgr_bridge_mode_set(struct drm_bridge *bridge, 530 - struct drm_display_mode *mode, 531 - struct drm_display_mode *adjusted_mode) 530 + const struct drm_display_mode *mode, 531 + const struct drm_display_mode *adjusted_mode) 532 532 { 533 533 int id = dsi_mgr_bridge_get_id(bridge); 534 534 struct msm_dsi *msm_dsi = dsi_mgr_get_dsi(id);
+2 -2
drivers/gpu/drm/msm/edp/edp_bridge.c
··· 52 52 } 53 53 54 54 static void edp_bridge_mode_set(struct drm_bridge *bridge, 55 - struct drm_display_mode *mode, 56 - struct drm_display_mode *adjusted_mode) 55 + const struct drm_display_mode *mode, 56 + const struct drm_display_mode *adjusted_mode) 57 57 { 58 58 struct drm_device *dev = bridge->dev; 59 59 struct drm_connector *connector;
+2 -2
drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
··· 207 207 } 208 208 209 209 static void msm_hdmi_bridge_mode_set(struct drm_bridge *bridge, 210 - struct drm_display_mode *mode, 211 - struct drm_display_mode *adjusted_mode) 210 + const struct drm_display_mode *mode, 211 + const struct drm_display_mode *adjusted_mode) 212 212 { 213 213 struct hdmi_bridge *hdmi_bridge = to_hdmi_bridge(bridge); 214 214 struct hdmi *hdmi = hdmi_bridge->hdmi;
+2 -2
drivers/gpu/drm/rcar-du/rcar_lvds.c
··· 520 520 } 521 521 522 522 static void rcar_lvds_mode_set(struct drm_bridge *bridge, 523 - struct drm_display_mode *mode, 524 - struct drm_display_mode *adjusted_mode) 523 + const struct drm_display_mode *mode, 524 + const struct drm_display_mode *adjusted_mode) 525 525 { 526 526 struct rcar_lvds *lvds = bridge_to_rcar_lvds(bridge); 527 527
+1 -1
drivers/gpu/drm/rockchip/dw-mipi-dsi-rockchip.c
··· 467 467 } 468 468 469 469 static int 470 - dw_mipi_dsi_get_lane_mbps(void *priv_data, struct drm_display_mode *mode, 470 + dw_mipi_dsi_get_lane_mbps(void *priv_data, const struct drm_display_mode *mode, 471 471 unsigned long mode_flags, u32 lanes, u32 format, 472 472 unsigned int *lane_mbps) 473 473 {
+2 -2
drivers/gpu/drm/sti/sti_dvo.c
··· 277 277 } 278 278 279 279 static void sti_dvo_set_mode(struct drm_bridge *bridge, 280 - struct drm_display_mode *mode, 281 - struct drm_display_mode *adjusted_mode) 280 + const struct drm_display_mode *mode, 281 + const struct drm_display_mode *adjusted_mode) 282 282 { 283 283 struct sti_dvo *dvo = bridge->driver_private; 284 284 struct sti_mixer *mixer = to_sti_mixer(dvo->encoder->crtc);
+2 -2
drivers/gpu/drm/sti/sti_hda.c
··· 508 508 } 509 509 510 510 static void sti_hda_set_mode(struct drm_bridge *bridge, 511 - struct drm_display_mode *mode, 512 - struct drm_display_mode *adjusted_mode) 511 + const struct drm_display_mode *mode, 512 + const struct drm_display_mode *adjusted_mode) 513 513 { 514 514 struct sti_hda *hda = bridge->driver_private; 515 515 u32 mode_idx;
+2 -2
drivers/gpu/drm/sti/sti_hdmi.c
··· 917 917 } 918 918 919 919 static void sti_hdmi_set_mode(struct drm_bridge *bridge, 920 - struct drm_display_mode *mode, 921 - struct drm_display_mode *adjusted_mode) 920 + const struct drm_display_mode *mode, 921 + const struct drm_display_mode *adjusted_mode) 922 922 { 923 923 struct sti_hdmi *hdmi = bridge->driver_private; 924 924 int ret;
+1 -1
drivers/gpu/drm/stm/dw_mipi_dsi-stm.c
··· 215 215 } 216 216 217 217 static int 218 - dw_mipi_dsi_get_lane_mbps(void *priv_data, struct drm_display_mode *mode, 218 + dw_mipi_dsi_get_lane_mbps(void *priv_data, const struct drm_display_mode *mode, 219 219 unsigned long mode_flags, u32 lanes, u32 format, 220 220 unsigned int *lane_mbps) 221 221 {
+2 -1
include/drm/bridge/dw_mipi_dsi.h
··· 14 14 15 15 struct dw_mipi_dsi_phy_ops { 16 16 int (*init)(void *priv_data); 17 - int (*get_lane_mbps)(void *priv_data, struct drm_display_mode *mode, 17 + int (*get_lane_mbps)(void *priv_data, 18 + const struct drm_display_mode *mode, 18 19 unsigned long mode_flags, u32 lanes, u32 format, 19 20 unsigned int *lane_mbps); 20 21 };
+4 -4
include/drm/drm_bridge.h
··· 196 196 * the DRM framework will have to be extended with DRM bridge states. 197 197 */ 198 198 void (*mode_set)(struct drm_bridge *bridge, 199 - struct drm_display_mode *mode, 200 - struct drm_display_mode *adjusted_mode); 199 + const struct drm_display_mode *mode, 200 + const struct drm_display_mode *adjusted_mode); 201 201 /** 202 202 * @pre_enable: 203 203 * ··· 310 310 void drm_bridge_disable(struct drm_bridge *bridge); 311 311 void drm_bridge_post_disable(struct drm_bridge *bridge); 312 312 void drm_bridge_mode_set(struct drm_bridge *bridge, 313 - struct drm_display_mode *mode, 314 - struct drm_display_mode *adjusted_mode); 313 + const struct drm_display_mode *mode, 314 + const struct drm_display_mode *adjusted_mode); 315 315 void drm_bridge_pre_enable(struct drm_bridge *bridge); 316 316 void drm_bridge_enable(struct drm_bridge *bridge); 317 317