183d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */ 2b418dfe1SMartyn Welch /* 3b418dfe1SMartyn Welch * Copyright 2016 General Electric Company 4b418dfe1SMartyn Welch */ 5b418dfe1SMartyn Welch 6b418dfe1SMartyn Welch #include "common.h" 7b418dfe1SMartyn Welch 8*4dcbccf7SDenis Zalevskiy struct vpd_cache; 9*4dcbccf7SDenis Zalevskiy 10b418dfe1SMartyn Welch /* 11*4dcbccf7SDenis Zalevskiy * Read VPD from given data, verify content, call callback for each vital 12*4dcbccf7SDenis Zalevskiy * product data block. 13*4dcbccf7SDenis Zalevskiy * 14*4dcbccf7SDenis Zalevskiy * cache: structure used by process block to store VPD information 15*4dcbccf7SDenis Zalevskiy * process_block: callback called for each VPD data block 16b418dfe1SMartyn Welch * 17b418dfe1SMartyn Welch * Returns Non-zero on error. Negative numbers encode errno. 18b418dfe1SMartyn Welch */ 19*4dcbccf7SDenis Zalevskiy int read_vpd(struct vpd_cache *cache, 20*4dcbccf7SDenis Zalevskiy int (*process_block)(struct vpd_cache *, 21*4dcbccf7SDenis Zalevskiy u8 id, u8 version, u8 type, 22b418dfe1SMartyn Welch size_t size, u8 const *data)); 23