treewide: Convert CONFIG_HOSTNAME to a string option
[platform/kernel/u-boot.git] / include / eeprom_layout.h
1 /*
2  * (C) Copyright 2009-2016 CompuLab, Ltd.
3  *
4  * Authors: Nikita Kiryanov <nikita@compulab.co.il>
5  *          Igor Grinberg <grinberg@compulab.co.il>
6  *
7  * SPDX-License-Identifier:     GPL-2.0+
8  */
9
10 #ifndef _LAYOUT_
11 #define _LAYOUT_
12
13 #define RESERVED_FIELDS                 NULL
14 #define LAYOUT_VERSION_UNRECOGNIZED     -1
15 #define LAYOUT_VERSION_AUTODETECT       -2
16
17 struct eeprom_layout {
18         struct eeprom_field *fields;
19         int num_of_fields;
20         int layout_version;
21         unsigned char *data;
22         int data_size;
23         void (*print)(const struct eeprom_layout *eeprom_layout);
24         int (*update)(struct eeprom_layout *eeprom_layout, char *field_name,
25                       char *new_data);
26 };
27
28 void eeprom_layout_setup(struct eeprom_layout *layout, unsigned char *buf,
29                          unsigned int buf_size, int layout_version);
30 __weak void __eeprom_layout_assign(struct eeprom_layout *layout,
31                                    int layout_version);
32
33 #endif