Enforce the existing rules on when modes can be modified (never modify
the passed-in mode; only modify adjusted_mode in mode_fixup), by
adding const.

Signed-off-by: Daniel Stone <daniels at collabora.com>
---
 drivers/gpu/drm/bridge/dw_hdmi.c       | 7 ++++---
 drivers/gpu/drm/msm/edp/edp_bridge.c   | 4 ++--
 drivers/gpu/drm/msm/hdmi/hdmi_bridge.c | 7 +++----
 drivers/gpu/drm/sti/sti_dvo.c          | 4 ++--
 drivers/gpu/drm/sti/sti_hda.c          | 4 ++--
 drivers/gpu/drm/sti/sti_hdmi.c         | 4 ++--
 drivers/gpu/drm/tilcdc/tilcdc_crtc.c   | 3 ++-
 drivers/gpu/drm/tilcdc/tilcdc_drv.h    | 3 ++-
 include/drm/drm_crtc.h                 | 4 ++--
 9 files changed, 21 insertions(+), 19 deletions(-)

diff --git a/drivers/gpu/drm/bridge/dw_hdmi.c b/drivers/gpu/drm/bridge/dw_hdmi.c
index cd6a706..7b1dbb4 100644
--- a/drivers/gpu/drm/bridge/dw_hdmi.c
+++ b/drivers/gpu/drm/bridge/dw_hdmi.c
@@ -1174,7 +1174,8 @@ static void hdmi_disable_overflow_interrupts(struct 
dw_hdmi *hdmi)
                    HDMI_IH_MUTE_FC_STAT2);
 }

-static int dw_hdmi_setup(struct dw_hdmi *hdmi, struct drm_display_mode *mode)
+static int dw_hdmi_setup(struct dw_hdmi *hdmi,
+                        const struct drm_display_mode *mode)
 {
        int ret;

@@ -1341,8 +1342,8 @@ static void dw_hdmi_poweroff(struct dw_hdmi *hdmi)
 }

 static void dw_hdmi_bridge_mode_set(struct drm_bridge *bridge,
-                                   struct drm_display_mode *orig_mode,
-                                   struct drm_display_mode *mode)
+                                   const struct drm_display_mode *orig_mode,
+                                   const struct drm_display_mode *mode)
 {
        struct dw_hdmi *hdmi = bridge->driver_private;

diff --git a/drivers/gpu/drm/msm/edp/edp_bridge.c 
b/drivers/gpu/drm/msm/edp/edp_bridge.c
index 2bc73f8..8c09a2e 100644
--- a/drivers/gpu/drm/msm/edp/edp_bridge.c
+++ b/drivers/gpu/drm/msm/edp/edp_bridge.c
@@ -52,8 +52,8 @@ static void edp_bridge_post_disable(struct drm_bridge *bridge)
 }

 static void edp_bridge_mode_set(struct drm_bridge *bridge,
-               struct drm_display_mode *mode,
-               struct drm_display_mode *adjusted_mode)
+               const struct drm_display_mode *mode,
+               const struct drm_display_mode *adjusted_mode)
 {
        struct drm_device *dev = bridge->dev;
        struct drm_connector *connector;
diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c 
b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
index a7a1d82..2eb59eb 100644
--- a/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
+++ b/drivers/gpu/drm/msm/hdmi/hdmi_bridge.c
@@ -130,16 +130,15 @@ static void hdmi_bridge_post_disable(struct drm_bridge 
*bridge)
 }

 static void hdmi_bridge_mode_set(struct drm_bridge *bridge,
-                struct drm_display_mode *mode,
-                struct drm_display_mode *adjusted_mode)
+                const struct drm_display_mode *drm_mode,
+                const struct drm_display_mode *adjusted_mode)
 {
        struct hdmi_bridge *hdmi_bridge = to_hdmi_bridge(bridge);
        struct hdmi *hdmi = hdmi_bridge->hdmi;
+       const struct drm_display_mode *mode = adjusted_mode;
        int hstart, hend, vstart, vend;
        uint32_t frame_ctrl;

-       mode = adjusted_mode;
-
        hdmi->pixclock = mode->clock * 1000;

        hdmi->hdmi_mode = drm_match_cea_mode(mode) > 1;
diff --git a/drivers/gpu/drm/sti/sti_dvo.c b/drivers/gpu/drm/sti/sti_dvo.c
index aeb5070..b29272c 100644
--- a/drivers/gpu/drm/sti/sti_dvo.c
+++ b/drivers/gpu/drm/sti/sti_dvo.c
@@ -226,8 +226,8 @@ static void sti_dvo_pre_enable(struct drm_bridge *bridge)
 }

 static void sti_dvo_set_mode(struct drm_bridge *bridge,
-                            struct drm_display_mode *mode,
-                            struct drm_display_mode *adjusted_mode)
+                            const struct drm_display_mode *mode,
+                            const struct drm_display_mode *adjusted_mode)
 {
        struct sti_dvo *dvo = bridge->driver_private;
        struct sti_mixer *mixer = to_sti_mixer(dvo->encoder->crtc);
diff --git a/drivers/gpu/drm/sti/sti_hda.c b/drivers/gpu/drm/sti/sti_hda.c
index a9bbb08..4a15d45 100644
--- a/drivers/gpu/drm/sti/sti_hda.c
+++ b/drivers/gpu/drm/sti/sti_hda.c
@@ -459,8 +459,8 @@ static void sti_hda_pre_enable(struct drm_bridge *bridge)
 }

 static void sti_hda_set_mode(struct drm_bridge *bridge,
-               struct drm_display_mode *mode,
-               struct drm_display_mode *adjusted_mode)
+               const struct drm_display_mode *mode,
+               const struct drm_display_mode *adjusted_mode)
 {
        struct sti_hda *hda = bridge->driver_private;
        u32 mode_idx;
diff --git a/drivers/gpu/drm/sti/sti_hdmi.c b/drivers/gpu/drm/sti/sti_hdmi.c
index 1485ade..fc26a8c 100644
--- a/drivers/gpu/drm/sti/sti_hdmi.c
+++ b/drivers/gpu/drm/sti/sti_hdmi.c
@@ -527,8 +527,8 @@ static void sti_hdmi_pre_enable(struct drm_bridge *bridge)
 }

 static void sti_hdmi_set_mode(struct drm_bridge *bridge,
-               struct drm_display_mode *mode,
-               struct drm_display_mode *adjusted_mode)
+               const struct drm_display_mode *mode,
+               const struct drm_display_mode *adjusted_mode)
 {
        struct sti_hdmi *hdmi = bridge->driver_private;
        int ret;
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c 
b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
index c735884..8514055 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
@@ -438,7 +438,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 7596c14..f53c278 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_drv.h
+++ b/drivers/gpu/drm/tilcdc/tilcdc_drv.h
@@ -166,7 +166,8 @@ irqreturn_t tilcdc_crtc_irq(struct drm_crtc *crtc);
 void tilcdc_crtc_update_clk(struct drm_crtc *crtc);
 void tilcdc_crtc_set_panel_info(struct drm_crtc *crtc,
                const struct tilcdc_panel_info *info);
-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);

 #endif /* __TILCDC_DRV_H__ */
diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index 2e80ad1..dbc1510 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -886,8 +886,8 @@ struct drm_bridge_funcs {
        void (*disable)(struct drm_bridge *bridge);
        void (*post_disable)(struct drm_bridge *bridge);
        void (*mode_set)(struct drm_bridge *bridge,
-                        struct drm_display_mode *mode,
-                        struct drm_display_mode *adjusted_mode);
+                        const struct drm_display_mode *mode,
+                        const struct drm_display_mode *adjusted_mode);
        void (*pre_enable)(struct drm_bridge *bridge);
        void (*enable)(struct drm_bridge *bridge);
 };
-- 
2.3.2

Reply via email to