log: Expose some helper functions

These functions are required by "cmd: log: Add commands to manipulate
filters" and "test: Add a test for log filter-*".

Signed-off-by: Sean Anderson <seanga2@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Sean Anderson 2020-10-27 19:55:24 -04:00 committed by Tom Rini
parent c3a5459985
commit 3102c1d2c2
2 changed files with 34 additions and 20 deletions

View file

@ -99,7 +99,7 @@ enum log_level_t log_get_level_by_name(const char *name)
return LOGL_NONE;
}
static struct log_device *log_device_find_by_name(const char *drv_name)
struct log_device *log_device_find_by_name(const char *drv_name)
{
struct log_device *ldev;
@ -111,15 +111,7 @@ static struct log_device *log_device_find_by_name(const char *drv_name)
return NULL;
}
/**
* log_has_cat() - check if a log category exists within a list
*
* @cat_list: List of categories to check, at most LOGF_MAX_CATEGORIES entries
* long, terminated by LC_END if fewer
* @cat: Category to search for
* @return true if @cat is in @cat_list, else false
*/
static bool log_has_cat(enum log_category_t cat_list[], enum log_category_t cat)
bool log_has_cat(enum log_category_t cat_list[], enum log_category_t cat)
{
int i;
@ -131,16 +123,7 @@ static bool log_has_cat(enum log_category_t cat_list[], enum log_category_t cat)
return false;
}
/**
* log_has_file() - check if a file is with a list
*
* @file_list: List of files to check, separated by comma
* @file: File to check for. This string is matched against the end of each
* file in the list, i.e. ignoring any preceding path. The list is
* intended to consist of relative pathnames, e.g. common/main.c,cmd/log.c
* @return true if @file is in @file_list, else false
*/
static bool log_has_file(const char *file_list, const char *file)
bool log_has_file(const char *file_list, const char *file)
{
int file_len = strlen(file);
const char *s, *p;

View file

@ -429,6 +429,37 @@ const char *log_get_level_name(enum log_level_t level);
*/
enum log_level_t log_get_level_by_name(const char *name);
/**
* log_device_find_by_name() - Look up a log device by its driver's name
*
* @drv_name: Name of the driver
* @return the log device, or NULL if not found
*/
struct log_device *log_device_find_by_name(const char *drv_name);
/**
* log_has_cat() - check if a log category exists within a list
*
* @cat_list: List of categories to check, at most %LOGF_MAX_CATEGORIES entries
* long, terminated by %LC_END if fewer
* @cat: Category to search for
*
* Return: ``true`` if @cat is in @cat_list, else ``false``
*/
bool log_has_cat(enum log_category_t cat_list[], enum log_category_t cat);
/**
* log_has_file() - check if a file is with a list
*
* @file_list: List of files to check, separated by comma
* @file: File to check for. This string is matched against the end of each
* file in the list, i.e. ignoring any preceding path. The list is
* intended to consist of relative pathnames, e.g. common/main.c,cmd/log.c
*
* Return: ``true`` if @file is in @file_list, else ``false``
*/
bool log_has_file(const char *file_list, const char *file);
/* Log format flags (bit numbers) for gd->log_fmt. See log_fmt_chars */
enum log_fmt {
LOGF_CAT = 0,