Branch data Line data Source code
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 : : 16 : 0 : int check_signature(const volatile void __iomem *io_addr, 17 : : const unsigned char *signature, int length) 18 : : { 19 [ # # ]: 0 : while (length--) { 20 [ # # ]: 0 : if (readb(io_addr) != *signature) 21 : : return 0; 22 : 0 : io_addr++; 23 : 0 : signature++; 24 : : } 25 : : return 1; 26 : : } 27 : : EXPORT_SYMBOL(check_signature);