From e745d064b441dbf48eac4bc2c494263d54262dec Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 24 Nov 2014 13:47:13 +0100 Subject: edid: Add an edid_check_checksum() helper function Add a helper function to check the checksum of an EDID data block. Signed-off-by: Hans de Goede Acked-by: Anatolij Gustschin --- common/edid.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'common') diff --git a/common/edid.c b/common/edid.c index e66108f24a4..df797fcdd5b 100644 --- a/common/edid.c +++ b/common/edid.c @@ -12,6 +12,7 @@ #include #include +#include #include #include @@ -29,6 +30,17 @@ int edid_check_info(struct edid1_info *edid_info) return 0; } +int edid_check_checksum(u8 *edid_block) +{ + u8 checksum = 0; + int i; + + for (i = 0; i < 128; i++) + checksum += edid_block[i]; + + return (checksum == 0) ? 0 : -EINVAL; +} + int edid_get_ranges(struct edid1_info *edid, unsigned int *hmin, unsigned int *hmax, unsigned int *vmin, unsigned int *vmax) -- cgit v1.3.1