1 /* SPDX-License-Identifier: GPL-2.0+ */
3 * (C) Copyright 2009-2016 CompuLab, Ltd.
5 * Authors: Nikita Kiryanov <nikita@compulab.co.il>
6 * Igor Grinberg <grinberg@compulab.co.il>
12 #define RESERVED_FIELDS NULL
13 #define LAYOUT_VERSION_UNRECOGNIZED -1
14 #define LAYOUT_VERSION_AUTODETECT -2
16 struct eeprom_layout
{
17 struct eeprom_field
*fields
;
22 void (*print
)(const struct eeprom_layout
*eeprom_layout
);
23 int (*update
)(struct eeprom_layout
*eeprom_layout
, char *field_name
,
27 void eeprom_layout_setup(struct eeprom_layout
*layout
, unsigned char *buf
,
28 unsigned int buf_size
, int layout_version
);
29 __weak
void __eeprom_layout_assign(struct eeprom_layout
*layout
,