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>
This commit is contained in:
Gabe Black 2013-04-24 17:54:37 -07:00 committed by Alexandru Gagniuc
parent 42cb7090c5
commit 455c68ed0d
1 changed files with 16 additions and 23 deletions

View File

@ -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);
}
/*