1#include <linux/io.h>
2#include <linux/module.h>
3
4/**
5 *	check_signature		-	find BIOS signatures
6 *	@io_addr: mmio address to check
7 *	@signature:  signature block
8 *	@length: length of signature
9 *
10 *	Perform a signature comparison with the mmio address io_addr. This
11 *	address should have been obtained by ioremap.
12 *	Returns 1 on a match.
13 */
14
15int check_signature(const volatile void __iomem *io_addr,
16			const unsigned char *signature, int length)
17{
18	while (length--) {
19		if (readb(io_addr) != *signature)
20			return 0;
21		io_addr++;
22		signature++;
23	}
24	return 1;
25}
26EXPORT_SYMBOL(check_signature);
27