xref: /rk3399_rockchip-uboot/lib/tables_csum.c (revision 1befb38b868248dda4e84a57aa779f7e8c0b85c0)
1*1befb38bSAlexander Graf /*
2*1befb38bSAlexander Graf  * Copyright (C) 2015, Bin Meng <bmeng.cn@gmail.com>
3*1befb38bSAlexander Graf  *
4*1befb38bSAlexander Graf  * SPDX-License-Identifier:	GPL-2.0+
5*1befb38bSAlexander Graf  */
6*1befb38bSAlexander Graf 
7*1befb38bSAlexander Graf #include <common.h>
8*1befb38bSAlexander Graf #include <linux/ctype.h>
9*1befb38bSAlexander Graf 
10*1befb38bSAlexander Graf u8 table_compute_checksum(void *v, int len)
11*1befb38bSAlexander Graf {
12*1befb38bSAlexander Graf 	u8 *bytes = v;
13*1befb38bSAlexander Graf 	u8 checksum = 0;
14*1befb38bSAlexander Graf 	int i;
15*1befb38bSAlexander Graf 
16*1befb38bSAlexander Graf 	for (i = 0; i < len; i++)
17*1befb38bSAlexander Graf 		checksum -= bytes[i];
18*1befb38bSAlexander Graf 
19*1befb38bSAlexander Graf 	return checksum;
20*1befb38bSAlexander Graf }
21