1/* SPDX-License-Identifier: GPL-2.0+ */ 2/* 3 * Copyright 2016 General Electric Company 4 */ 5 6#include "common.h" 7 8struct vpd_cache; 9 10/* 11 * Read VPD from given data, verify content, call callback for each vital 12 * product data block. 13 * 14 * cache: structure used by process block to store VPD information 15 * process_block: callback called for each VPD data block 16 * 17 * Returns Non-zero on error. Negative numbers encode errno. 18 */ 19int read_i2c_vpd(struct vpd_cache *cache, 20 int (*process_block)(struct vpd_cache *, u8 id, u8 version, 21 u8 type, size_t size, u8 const *data)); 22 23/* 24 * Read VPD from given data, verify content, call callback for each vital 25 * product data block. 26 * 27 * size: size of the raw VPD data in bytes 28 * data: raw VPD data read from device 29 * cache: structure used by process block to store VPD information 30 * process_block: callback called for each VPD data block 31 * 32 * Returns Non-zero on error. Negative numbers encode errno. 33 */ 34 35int vpd_reader(size_t size, u8 *data, struct vpd_cache *cache, 36 int (*process_block)(struct vpd_cache *, u8 id, u8 version, u8 type, 37 size_t size, u8 const *data)); 38