From 02d41b01bd78dc863614c2919375f366abdeff40 Mon Sep 17 00:00:00 2001 From: Naoki Hayama Date: Wed, 7 Oct 2020 11:21:25 +0900 Subject: [PATCH] image: Add a function to modify category information Add a generic function which can check whether a category has an entry ID. Signed-off-by: Naoki Hayama Reviewed-by: Simon Glass --- common/image.c | 18 ++++++++++++++++++ include/image.h | 9 +++++++++ 2 files changed, 27 insertions(+) diff --git a/common/image.c b/common/image.c index 645bfef169..4fc4a0f1c4 100644 --- a/common/image.c +++ b/common/image.c @@ -858,6 +858,24 @@ const char *genimg_get_cat_desc(enum ih_category category) return table_info[category].desc; } +/** + * genimg_cat_has_id - check whether category has entry id + * @category: category to look up (enum ih_category) + * @id: entry id to be checked + * + * This will scan the translation table trying to find the entry that matches + * the given id. + * + * @return true if category has entry id; false if not + */ +bool genimg_cat_has_id(enum ih_category category, uint id) +{ + if (get_table_entry(table_info[category].table, id)) + return true; + + return false; +} + /** * get_table_entry_name - translate entry id to long name * @table: pointer to a translation table for entries of a specific type diff --git a/include/image.h b/include/image.h index 10995b8e24..00f774f837 100644 --- a/include/image.h +++ b/include/image.h @@ -568,6 +568,15 @@ int genimg_get_cat_count(enum ih_category category); */ const char *genimg_get_cat_desc(enum ih_category category); +/** + * genimg_cat_has_id() - Check whether a category has an item + * + * @category: Category to check + * @id: Item ID + * @return true or false as to whether a category has an item + */ +bool genimg_cat_has_id(enum ih_category category, uint id); + int genimg_get_os_id(const char *name); int genimg_get_arch_id(const char *name); int genimg_get_type_id(const char *name);