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