Line data Source code
1 : /* $OpenBSD: acpiutil.c,v 1.8 2015/03/14 03:38:47 jsg Exp $ */
2 : /*
3 : * Copyright (c) 2005 Thorsten Lockert <tholo@sigmasoft.com>
4 : *
5 : * Permission to use, copy, modify, and distribute this software for any
6 : * purpose with or without fee is hereby granted, provided that the above
7 : * copyright notice and this permission notice appear in all copies.
8 : *
9 : * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 : * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 : * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 : * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 : * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 : * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 : * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 : */
17 :
18 : #include <sys/types.h>
19 : #include <sys/systm.h>
20 : #include <sys/device.h>
21 :
22 : #include <dev/acpi/acpivar.h>
23 :
24 : u_int
25 0 : acpi_checksum(const void *v, size_t len)
26 : {
27 : const u_char *p = v;
28 : u_char s = 0;
29 : int i;
30 :
31 0 : for (i = 0; i < len; i++)
32 0 : s += p[i];
33 :
34 : if (s)
35 : dnprintf(0,"\nacpi0: bad checksum at %p", v);
36 :
37 0 : return (s);
38 : }
|