diff options
author | Gabe Black <gabeblack@google.com> | 2013-04-24 17:54:37 -0700 |
---|---|---|
committer | Alexandru Gagniuc <mr.nuke.me@gmail.com> | 2013-12-02 15:17:46 +0100 |
commit | 455c68ed0dca6cc5c8df4131c2fcf314e3002f56 (patch) | |
tree | 78b02a5d944ba5c1ae9042b9fc11bb69a43c7dea /src/drivers/elog/elog.c | |
parent | 42cb7090c5c88e8b191908df191de3bbaf888ffe (diff) |
elog: Merge elog_validate_and_fill into elog_init_descriptor.
elog_validate_and_fill was called in exactly one place, in
elog_init_descriptor. It didn't actually do what its name implied since the
data in the event log was already "filled" by elog_init_descriptor. Likewise
elog_init_descriptor was delegating an important part of its own job, scanning
through the list of events, to elog_validate_and_fill.
Since one function was basically just a displaced part of the other which
couldn't really stand on its own, this change merges them together.
Built and booted on Link. Ran mosys eventlog list. Added 2000 events with
the SMI handler and ran mosys eventlog list again.
Change-Id: Ic899eeb18146d0f127d0dded207d37d63cbc716f
Signed-off-by: Gabe Black <gabeblack@google.com>
Reviewed-on: https://gerrit.chromium.org/gerrit/49308
Reviewed-by: Duncan Laurie <dlaurie@chromium.org>
Commit-Queue: Gabe Black <gabeblack@chromium.org>
Tested-by: Gabe Black <gabeblack@chromium.org>
Reviewed-on: http://review.coreboot.org/4243
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/drivers/elog/elog.c')
-rw-r--r-- | src/drivers/elog/elog.c | 39 |
1 files changed, 16 insertions, 23 deletions
diff --git a/src/drivers/elog/elog.c b/src/drivers/elog/elog.c index 8f47ca2d5b..ca5b3fb411 100644 --- a/src/drivers/elog/elog.c +++ b/src/drivers/elog/elog.c @@ -354,28 +354,6 @@ static void elog_update_event_buffer_state(struct elog_descriptor *elog) elog->last_event_size = last_event_size; } -static void elog_validate_and_fill(struct elog_descriptor *elog) -{ - elog_debug("elog_validate_and_fill()\n"); - - /* Check if the area is empty or not */ - if (elog_is_area_clear(elog)) { - elog->area_state = ELOG_AREA_EMPTY; - return; - } - - elog->area_state = ELOG_AREA_HAS_CONTENT; - - /* Validate the header */ - if (!elog_is_header_valid(elog_get_header(elog))) { - elog->header_state = ELOG_HEADER_INVALID; - return; - } - - elog->header_state = ELOG_HEADER_VALID; - elog_update_event_buffer_state(elog); -} - /* * (Re)initialize a new ELOG descriptor */ @@ -396,7 +374,22 @@ static void elog_init_descriptor(struct elog_descriptor *elog) elog->last_event_size = 0; elog->event_count = 0; - elog_validate_and_fill(elog); + /* Check if the area is empty or not */ + if (elog_is_area_clear(elog)) { + elog->area_state = ELOG_AREA_EMPTY; + return; + } + + elog->area_state = ELOG_AREA_HAS_CONTENT; + + /* Validate the header */ + if (!elog_is_header_valid(elog_get_header(elog))) { + elog->header_state = ELOG_HEADER_INVALID; + return; + } + + elog->header_state = ELOG_HEADER_VALID; + elog_update_event_buffer_state(elog); } /* |