xref: /rk3399_rockchip-uboot/lib/tables_csum.c (revision 3431b392ad50ff37fa3d6e7715c6a99c74d692dc)
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 
table_compute_checksum(void * v,int len)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