From: Michal Simek Date: Fri, 12 Apr 2019 09:23:21 +0000 (+0200) Subject: cmd: fru: Move structures to header X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c8991917811e6c9074acaec007d5a96beffb6877;p=thirdparty%2Fu-boot.git cmd: fru: Move structures to header There is no reason to keep them private just in C. Signed-off-by: Michal Simek --- diff --git a/common/fru_ops.c b/common/fru_ops.c index baa37a87eba..75ae1151fe4 100644 --- a/common/fru_ops.c +++ b/common/fru_ops.c @@ -6,63 +6,12 @@ #include #include +#include #include #include #include #include "linux/crc8.h" -DECLARE_GLOBAL_DATA_PTR; - -struct fru_common_hdr { - u8 version; - u8 off_internal; - u8 off_chassis; - u8 off_board; - u8 off_product; - u8 off_multirec; - u8 pad; - u8 crc; -}; - -#define FRU_BOARD_MAX_LEN 32 - -struct fru_board_data { - u8 ver; - u8 len; - u8 lang_code; - u8 time[3]; - u8 manuf_type_len; - u8 manuf_name[FRU_BOARD_MAX_LEN]; - u8 prd_name_type_len; - u8 product_name[FRU_BOARD_MAX_LEN]; - u8 prd_part_type_len; - u8 product_part[FRU_BOARD_MAX_LEN]; - u8 prd_ver_type_len; - u8 product_ver[FRU_BOARD_MAX_LEN]; - u8 prd_serial_type_len; - u8 product_serial[FRU_BOARD_MAX_LEN]; - u8 asset_tag_type_len; - u8 asset_tag[FRU_BOARD_MAX_LEN]; -}; - -struct fru_table { - bool captured; - struct fru_common_hdr hdr; - struct fru_board_data brd; -}; - -#define FRU_TYPELEN_CODE_MASK 0xC0 -#define FRU_TYPELEN_LEN_MASK 0x3F -#define FRU_COMMON_HDR_VER_MASK 0xF -#define FRU_COMMON_HDR_LEN_MULTIPLIER 8 -#define FRU_LANG_CODE_ENGLISH 0 -#define FRU_LANG_CODE_ENGLISH_1 25 -#define FRU_TYPELEN_EOF 0xC1 - -#define FRU_BOARD_AREA_TOTAL_FIELDS 6 -#define FRU_TYPELEN_TYPE_SHIFT 6 -#define FRU_TYPELEN_TYPE_ASCII8 3 - struct fru_table fru_data; static u16 fru_cal_area_len(u8 len) diff --git a/include/fru.h b/include/fru.h index 92db8107e04..c416a88b204 100644 --- a/include/fru.h +++ b/include/fru.h @@ -8,7 +8,59 @@ #ifndef __FRU_H #define __FRU_H +struct fru_common_hdr { + u8 version; + u8 off_internal; + u8 off_chassis; + u8 off_board; + u8 off_product; + u8 off_multirec; + u8 pad; + u8 crc; +}; + +#define FRU_BOARD_MAX_LEN 32 + +struct fru_board_data { + u8 ver; + u8 len; + u8 lang_code; + u8 time[3]; + u8 manuf_type_len; + u8 manuf_name[FRU_BOARD_MAX_LEN]; + u8 prd_name_type_len; + u8 product_name[FRU_BOARD_MAX_LEN]; + u8 prd_part_type_len; + u8 product_part[FRU_BOARD_MAX_LEN]; + u8 prd_ver_type_len; + u8 product_ver[FRU_BOARD_MAX_LEN]; + u8 prd_serial_type_len; + u8 product_serial[FRU_BOARD_MAX_LEN]; + u8 asset_tag_type_len; + u8 asset_tag[FRU_BOARD_MAX_LEN]; +}; + +struct fru_table { + bool captured; + struct fru_common_hdr hdr; + struct fru_board_data brd; +}; + +#define FRU_TYPELEN_CODE_MASK 0xC0 +#define FRU_TYPELEN_LEN_MASK 0x3F +#define FRU_COMMON_HDR_VER_MASK 0xF +#define FRU_COMMON_HDR_LEN_MULTIPLIER 8 +#define FRU_LANG_CODE_ENGLISH 0 +#define FRU_LANG_CODE_ENGLISH_1 25 +#define FRU_TYPELEN_EOF 0xC1 + +#define FRU_BOARD_AREA_TOTAL_FIELDS 6 +#define FRU_TYPELEN_TYPE_SHIFT 6 +#define FRU_TYPELEN_TYPE_ASCII8 3 + int fru_display(void); int fru_capture(unsigned long addr); +extern struct fru_table fru_data; + #endif /* FRU_H */