diff options
author | Aaron Durbin <adurbin@chromium.org> | 2016-08-06 10:02:37 -0500 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2016-08-09 19:53:21 +0200 |
commit | eec1c28bd424ece0b60abda21912c4e8f51ff3ba (patch) | |
tree | 4eb83b8aa0f4b5bac7cafbd673727313cf3e096f /src/include | |
parent | 18fedb360f7ac3347782d97150657239632d3f3a (diff) |
drivers/elog: provide return status for all operations
Instead of relying on global state to determine if an error
occurred provide the ability to know if an add or shrink
operation is successful. Now the call chains report the
error back up the stack and out to the callers.
BUG=chrome-os-partner:55932
Change-Id: Id4ed4d93e331f1bf16e038df69ef067446d00102
Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: https://review.coreboot.org/16104
Tested-by: build bot (Jenkins)
Reviewed-by: Furquan Shaikh <furquan@google.com>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/elog.h | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/src/include/elog.h b/src/include/elog.h index 3f949bf384..504c52e9a2 100644 --- a/src/include/elog.h +++ b/src/include/elog.h @@ -146,23 +146,24 @@ struct elog_event_data_me_extended { /* Eventlog backing storage must be initialized before calling elog_init(). */ extern int elog_init(void); extern int elog_clear(void); -extern void elog_add_event_raw(u8 event_type, void *data, u8 data_size); -extern void elog_add_event(u8 event_type); -extern void elog_add_event_byte(u8 event_type, u8 data); -extern void elog_add_event_word(u8 event_type, u16 data); -extern void elog_add_event_dword(u8 event_type, u32 data); -extern void elog_add_event_wake(u8 source, u32 instance); +/* Event addition functions return < 0 on failure and 0 on success. */ +extern int elog_add_event_raw(u8 event_type, void *data, u8 data_size); +extern int elog_add_event(u8 event_type); +extern int elog_add_event_byte(u8 event_type, u8 data); +extern int elog_add_event_word(u8 event_type, u16 data); +extern int elog_add_event_dword(u8 event_type, u32 data); +extern int elog_add_event_wake(u8 source, u32 instance); extern int elog_smbios_write_type15(unsigned long *current, int handle); #else /* Stubs to help avoid littering sources with #if CONFIG_ELOG */ static inline int elog_init(void) { return -1; } static inline int elog_clear(void) { return -1; } -static inline void elog_add_event_raw(void) { return; } -static inline void elog_add_event(u8 event_type) { return; } -static inline void elog_add_event_byte(u8 event_type, u8 data) { return; } -static inline void elog_add_event_word(u8 event_type, u16 data) { return; } -static inline void elog_add_event_dword(u8 event_type, u32 data) { return; } -static inline void elog_add_event_wake(u8 source, u32 instance) { return; } +static inline int elog_add_event_raw(void) { return 0; } +static inline int elog_add_event(u8 event_type) { return 0; } +static inline int elog_add_event_byte(u8 event_type, u8 data) { return 0; } +static inline int elog_add_event_word(u8 event_type, u16 data) { return 0; } +static inline int elog_add_event_dword(u8 event_type, u32 data) { return 0; } +static inline int elog_add_event_wake(u8 source, u32 instance) { return 0; } static inline int elog_smbios_write_type15(unsigned long *current, int handle) { return 0; |