diff options
author | Ville Syrjälä <ville.syrjala@linux.intel.com> | 2015-08-31 08:09:27 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-09-08 07:45:53 -0400 |
commit | 53edb2c62e1a884f53a74899cc7e9558fd89051a (patch) | |
tree | f3352a63e2fdac0666f958c1c25dd5b518734d4c /drivers/gpu/drm/i2c | |
parent | b7c914b3d94e93bd9b442226231b0bba84c9fa2c (diff) |
drm/i2c/ch7006: Constify ch7006_tv_norms[] and ch7006_modes[]
drivers/gpu/drm/i2c/ch7006.ko:
-.text 5913
+.text 5897
-.rodata 664
+.rodata 7256
-.data 6992
+.data 416
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i2c')
-rw-r--r-- | drivers/gpu/drm/i2c/ch7006_mode.c | 22 | ||||
-rw-r--r-- | drivers/gpu/drm/i2c/ch7006_priv.h | 10 |
2 files changed, 16 insertions, 16 deletions
diff --git a/drivers/gpu/drm/i2c/ch7006_mode.c b/drivers/gpu/drm/i2c/ch7006_mode.c index f4dca53f5752..bb5f67f10edb 100644 --- a/drivers/gpu/drm/i2c/ch7006_mode.c +++ b/drivers/gpu/drm/i2c/ch7006_mode.c | |||
@@ -46,7 +46,7 @@ const char * const ch7006_tv_norm_names[] = { | |||
46 | .vtotal = 625, \ | 46 | .vtotal = 625, \ |
47 | .hvirtual = 810 | 47 | .hvirtual = 810 |
48 | 48 | ||
49 | struct ch7006_tv_norm_info ch7006_tv_norms[] = { | 49 | const struct ch7006_tv_norm_info ch7006_tv_norms[] = { |
50 | [TV_NORM_NTSC_M] = { | 50 | [TV_NORM_NTSC_M] = { |
51 | NTSC_LIKE_TIMINGS, | 51 | NTSC_LIKE_TIMINGS, |
52 | .black_level = 0.339 * fixed1, | 52 | .black_level = 0.339 * fixed1, |
@@ -142,7 +142,7 @@ struct ch7006_tv_norm_info ch7006_tv_norms[] = { | |||
142 | 142 | ||
143 | #define PAL_LIKE (1 << TV_NORM_PAL | 1 << TV_NORM_PAL_N | 1 << TV_NORM_PAL_NC) | 143 | #define PAL_LIKE (1 << TV_NORM_PAL | 1 << TV_NORM_PAL_N | 1 << TV_NORM_PAL_NC) |
144 | 144 | ||
145 | struct ch7006_mode ch7006_modes[] = { | 145 | const struct ch7006_mode ch7006_modes[] = { |
146 | MODE(21000, 512, 384, 840, 500, N, N, 181.797557582, 5_4, 0x6, PAL_LIKE), | 146 | MODE(21000, 512, 384, 840, 500, N, N, 181.797557582, 5_4, 0x6, PAL_LIKE), |
147 | MODE(26250, 512, 384, 840, 625, N, N, 145.438046066, 1_1, 0x1, PAL_LIKE), | 147 | MODE(26250, 512, 384, 840, 625, N, N, 145.438046066, 1_1, 0x1, PAL_LIKE), |
148 | MODE(20140, 512, 384, 800, 420, N, N, 213.257083791, 5_4, 0x4, NTSC_LIKE), | 148 | MODE(20140, 512, 384, 800, 420, N, N, 213.257083791, 5_4, 0x4, NTSC_LIKE), |
@@ -171,11 +171,11 @@ struct ch7006_mode ch7006_modes[] = { | |||
171 | {} | 171 | {} |
172 | }; | 172 | }; |
173 | 173 | ||
174 | struct ch7006_mode *ch7006_lookup_mode(struct drm_encoder *encoder, | 174 | const struct ch7006_mode *ch7006_lookup_mode(struct drm_encoder *encoder, |
175 | const struct drm_display_mode *drm_mode) | 175 | const struct drm_display_mode *drm_mode) |
176 | { | 176 | { |
177 | struct ch7006_priv *priv = to_ch7006_priv(encoder); | 177 | struct ch7006_priv *priv = to_ch7006_priv(encoder); |
178 | struct ch7006_mode *mode; | 178 | const struct ch7006_mode *mode; |
179 | 179 | ||
180 | for (mode = ch7006_modes; mode->mode.clock; mode++) { | 180 | for (mode = ch7006_modes; mode->mode.clock; mode++) { |
181 | 181 | ||
@@ -233,8 +233,8 @@ void ch7006_setup_subcarrier(struct drm_encoder *encoder) | |||
233 | struct i2c_client *client = drm_i2c_encoder_get_client(encoder); | 233 | struct i2c_client *client = drm_i2c_encoder_get_client(encoder); |
234 | struct ch7006_priv *priv = to_ch7006_priv(encoder); | 234 | struct ch7006_priv *priv = to_ch7006_priv(encoder); |
235 | struct ch7006_state *state = &priv->state; | 235 | struct ch7006_state *state = &priv->state; |
236 | struct ch7006_tv_norm_info *norm = &ch7006_tv_norms[priv->norm]; | 236 | const struct ch7006_tv_norm_info *norm = &ch7006_tv_norms[priv->norm]; |
237 | struct ch7006_mode *mode = priv->mode; | 237 | const struct ch7006_mode *mode = priv->mode; |
238 | uint32_t subc_inc; | 238 | uint32_t subc_inc; |
239 | 239 | ||
240 | subc_inc = round_fixed((mode->subc_coeff >> 8) | 240 | subc_inc = round_fixed((mode->subc_coeff >> 8) |
@@ -257,7 +257,7 @@ void ch7006_setup_pll(struct drm_encoder *encoder) | |||
257 | struct i2c_client *client = drm_i2c_encoder_get_client(encoder); | 257 | struct i2c_client *client = drm_i2c_encoder_get_client(encoder); |
258 | struct ch7006_priv *priv = to_ch7006_priv(encoder); | 258 | struct ch7006_priv *priv = to_ch7006_priv(encoder); |
259 | uint8_t *regs = priv->state.regs; | 259 | uint8_t *regs = priv->state.regs; |
260 | struct ch7006_mode *mode = priv->mode; | 260 | const struct ch7006_mode *mode = priv->mode; |
261 | int n, best_n = 0; | 261 | int n, best_n = 0; |
262 | int m, best_m = 0; | 262 | int m, best_m = 0; |
263 | int freq, best_freq = 0; | 263 | int freq, best_freq = 0; |
@@ -328,9 +328,9 @@ void ch7006_setup_properties(struct drm_encoder *encoder) | |||
328 | struct i2c_client *client = drm_i2c_encoder_get_client(encoder); | 328 | struct i2c_client *client = drm_i2c_encoder_get_client(encoder); |
329 | struct ch7006_priv *priv = to_ch7006_priv(encoder); | 329 | struct ch7006_priv *priv = to_ch7006_priv(encoder); |
330 | struct ch7006_state *state = &priv->state; | 330 | struct ch7006_state *state = &priv->state; |
331 | struct ch7006_tv_norm_info *norm = &ch7006_tv_norms[priv->norm]; | 331 | const struct ch7006_tv_norm_info *norm = &ch7006_tv_norms[priv->norm]; |
332 | struct ch7006_mode *ch_mode = priv->mode; | 332 | const struct ch7006_mode *ch_mode = priv->mode; |
333 | struct drm_display_mode *mode = &ch_mode->mode; | 333 | const struct drm_display_mode *mode = &ch_mode->mode; |
334 | uint8_t *regs = state->regs; | 334 | uint8_t *regs = state->regs; |
335 | int flicker, contrast, hpos, vpos; | 335 | int flicker, contrast, hpos, vpos; |
336 | uint64_t scale, aspect; | 336 | uint64_t scale, aspect; |
diff --git a/drivers/gpu/drm/i2c/ch7006_priv.h b/drivers/gpu/drm/i2c/ch7006_priv.h index cef6ce7c79d1..dc6414af5d79 100644 --- a/drivers/gpu/drm/i2c/ch7006_priv.h +++ b/drivers/gpu/drm/i2c/ch7006_priv.h | |||
@@ -78,7 +78,7 @@ struct ch7006_state { | |||
78 | 78 | ||
79 | struct ch7006_priv { | 79 | struct ch7006_priv { |
80 | struct ch7006_encoder_params params; | 80 | struct ch7006_encoder_params params; |
81 | struct ch7006_mode *mode; | 81 | const struct ch7006_mode *mode; |
82 | 82 | ||
83 | struct ch7006_state state; | 83 | struct ch7006_state state; |
84 | struct ch7006_state saved_state; | 84 | struct ch7006_state saved_state; |
@@ -107,11 +107,11 @@ extern char *ch7006_tv_norm; | |||
107 | extern int ch7006_scale; | 107 | extern int ch7006_scale; |
108 | 108 | ||
109 | extern const char * const ch7006_tv_norm_names[]; | 109 | extern const char * const ch7006_tv_norm_names[]; |
110 | extern struct ch7006_tv_norm_info ch7006_tv_norms[]; | 110 | extern const struct ch7006_tv_norm_info ch7006_tv_norms[]; |
111 | extern struct ch7006_mode ch7006_modes[]; | 111 | extern const struct ch7006_mode ch7006_modes[]; |
112 | 112 | ||
113 | struct ch7006_mode *ch7006_lookup_mode(struct drm_encoder *encoder, | 113 | const struct ch7006_mode *ch7006_lookup_mode(struct drm_encoder *encoder, |
114 | const struct drm_display_mode *drm_mode); | 114 | const struct drm_display_mode *drm_mode); |
115 | 115 | ||
116 | void ch7006_setup_levels(struct drm_encoder *encoder); | 116 | void ch7006_setup_levels(struct drm_encoder *encoder); |
117 | void ch7006_setup_subcarrier(struct drm_encoder *encoder); | 117 | void ch7006_setup_subcarrier(struct drm_encoder *encoder); |