diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2011-01-25 08:59:37 -0500 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2011-01-26 04:48:01 -0500 |
commit | 1a3665c81df32b23c38d4ba8a74761551d5673b1 (patch) | |
tree | 43d3871f09365bf0954db95dc5d3dba77af6b1a1 /drivers/gpu/drm/i915/intel_sdvo.c | |
parent | bc65212c36421193e368565c20410c1c4a909720 (diff) |
drm/i915/sdvo: Add BUILD_BUG_ON to warn if the structs are ever miscompiled
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_sdvo.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_sdvo.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_sdvo.c b/drivers/gpu/drm/i915/intel_sdvo.c index fc016048cd5..5a86b77e508 100644 --- a/drivers/gpu/drm/i915/intel_sdvo.c +++ b/drivers/gpu/drm/i915/intel_sdvo.c | |||
@@ -587,6 +587,7 @@ static bool intel_sdvo_get_trained_inputs(struct intel_sdvo *intel_sdvo, bool *i | |||
587 | { | 587 | { |
588 | struct intel_sdvo_get_trained_inputs_response response; | 588 | struct intel_sdvo_get_trained_inputs_response response; |
589 | 589 | ||
590 | BUILD_BUG_ON(sizeof(response) != 1); | ||
590 | if (!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_TRAINED_INPUTS, | 591 | if (!intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_TRAINED_INPUTS, |
591 | &response, sizeof(response))) | 592 | &response, sizeof(response))) |
592 | return false; | 593 | return false; |
@@ -634,6 +635,7 @@ static bool intel_sdvo_get_input_pixel_clock_range(struct intel_sdvo *intel_sdvo | |||
634 | { | 635 | { |
635 | struct intel_sdvo_pixel_clock_range clocks; | 636 | struct intel_sdvo_pixel_clock_range clocks; |
636 | 637 | ||
638 | BUILD_BUG_ON(sizeof(clocks) != 4); | ||
637 | if (!intel_sdvo_get_value(intel_sdvo, | 639 | if (!intel_sdvo_get_value(intel_sdvo, |
638 | SDVO_CMD_GET_INPUT_PIXEL_CLOCK_RANGE, | 640 | SDVO_CMD_GET_INPUT_PIXEL_CLOCK_RANGE, |
639 | &clocks, sizeof(clocks))) | 641 | &clocks, sizeof(clocks))) |
@@ -701,6 +703,8 @@ intel_sdvo_create_preferred_input_timing(struct intel_sdvo *intel_sdvo, | |||
701 | static bool intel_sdvo_get_preferred_input_timing(struct intel_sdvo *intel_sdvo, | 703 | static bool intel_sdvo_get_preferred_input_timing(struct intel_sdvo *intel_sdvo, |
702 | struct intel_sdvo_dtd *dtd) | 704 | struct intel_sdvo_dtd *dtd) |
703 | { | 705 | { |
706 | BUILD_BUG_ON(sizeof(dtd->part1) != 8); | ||
707 | BUILD_BUG_ON(sizeof(dtd->part2) != 8); | ||
704 | return intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART1, | 708 | return intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART1, |
705 | &dtd->part1, sizeof(dtd->part1)) && | 709 | &dtd->part1, sizeof(dtd->part1)) && |
706 | intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART2, | 710 | intel_sdvo_get_value(intel_sdvo, SDVO_CMD_GET_PREFERRED_INPUT_TIMING_PART2, |
@@ -798,6 +802,7 @@ static bool intel_sdvo_check_supp_encode(struct intel_sdvo *intel_sdvo) | |||
798 | { | 802 | { |
799 | struct intel_sdvo_encode encode; | 803 | struct intel_sdvo_encode encode; |
800 | 804 | ||
805 | BUILD_BUG_ON(sizeof(encode) != 2); | ||
801 | return intel_sdvo_get_value(intel_sdvo, | 806 | return intel_sdvo_get_value(intel_sdvo, |
802 | SDVO_CMD_GET_SUPP_ENCODE, | 807 | SDVO_CMD_GET_SUPP_ENCODE, |
803 | &encode, sizeof(encode)); | 808 | &encode, sizeof(encode)); |
@@ -1161,6 +1166,7 @@ static int intel_sdvo_mode_valid(struct drm_connector *connector, | |||
1161 | 1166 | ||
1162 | static bool intel_sdvo_get_capabilities(struct intel_sdvo *intel_sdvo, struct intel_sdvo_caps *caps) | 1167 | static bool intel_sdvo_get_capabilities(struct intel_sdvo *intel_sdvo, struct intel_sdvo_caps *caps) |
1163 | { | 1168 | { |
1169 | BUILD_BUG_ON(sizeof(*caps) != 8); | ||
1164 | if (!intel_sdvo_get_value(intel_sdvo, | 1170 | if (!intel_sdvo_get_value(intel_sdvo, |
1165 | SDVO_CMD_GET_DEVICE_CAPS, | 1171 | SDVO_CMD_GET_DEVICE_CAPS, |
1166 | caps, sizeof(*caps))) | 1172 | caps, sizeof(*caps))) |
@@ -2200,6 +2206,7 @@ static bool intel_sdvo_tv_create_property(struct intel_sdvo *intel_sdvo, | |||
2200 | if (!intel_sdvo_set_target_output(intel_sdvo, type)) | 2206 | if (!intel_sdvo_set_target_output(intel_sdvo, type)) |
2201 | return false; | 2207 | return false; |
2202 | 2208 | ||
2209 | BUILD_BUG_ON(sizeof(format) != 6); | ||
2203 | if (!intel_sdvo_get_value(intel_sdvo, | 2210 | if (!intel_sdvo_get_value(intel_sdvo, |
2204 | SDVO_CMD_GET_SUPPORTED_TV_FORMATS, | 2211 | SDVO_CMD_GET_SUPPORTED_TV_FORMATS, |
2205 | &format, sizeof(format))) | 2212 | &format, sizeof(format))) |
@@ -2406,6 +2413,8 @@ static bool intel_sdvo_create_enhance_property(struct intel_sdvo *intel_sdvo, | |||
2406 | uint16_t response; | 2413 | uint16_t response; |
2407 | } enhancements; | 2414 | } enhancements; |
2408 | 2415 | ||
2416 | BUILD_BUG_ON(sizeof(enhancements) != 2); | ||
2417 | |||
2409 | enhancements.response = 0; | 2418 | enhancements.response = 0; |
2410 | intel_sdvo_get_value(intel_sdvo, | 2419 | intel_sdvo_get_value(intel_sdvo, |
2411 | SDVO_CMD_GET_SUPPORTED_ENHANCEMENTS, | 2420 | SDVO_CMD_GET_SUPPORTED_ENHANCEMENTS, |