summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPrafulla Wadaskar <prafulla@marvell.com>2009-09-07 14:59:08 +0530
committerWolfgang Denk <wd@denx.de>2009-09-10 22:58:48 +0200
commitb029dddc9ae958b1ccf875649f52c6db396a742d (patch)
tree687a66a179ca405ce13dedc52162310a45376c94
parentf666dea8ab215c76c3c2a077ad299f90dd1ace7c (diff)
downloadu-boot-imx-b029dddc9ae958b1ccf875649f52c6db396a742d.zip
u-boot-imx-b029dddc9ae958b1ccf875649f52c6db396a742d.tar.gz
u-boot-imx-b029dddc9ae958b1ccf875649f52c6db396a742d.tar.bz2
mkimage: Make table_entry code global
- make get_table_entry_id() global - make get_table_entry_name() global - move struct table_entry to image.h Currently this code is used by image.c only. This patch makes this API global so it can be used by other parts of code, too. Signed-off-by: Prafulla Wadaskar <prafulla@marvell.com> Acked-by: Ron Lee <ron.debian.org> Edit comments and commit message. Signed-off-by: Wolfgang Denk <wd@denx.de>
-rw-r--r--common/image.c10
-rw-r--r--include/image.h24
2 files changed, 26 insertions, 8 deletions
diff --git a/common/image.c b/common/image.c
index ca8205c..e8ecfa5 100644
--- a/common/image.c
+++ b/common/image.c
@@ -74,12 +74,6 @@ static const image_header_t* image_get_ramdisk (ulong rd_addr, uint8_t arch,
#include <image.h>
#endif /* !USE_HOSTCC*/
-typedef struct table_entry {
- int id; /* as defined in image.h */
- char *sname; /* short (input) name */
- char *lname; /* long (output) name */
-} table_entry_t;
-
static table_entry_t uimage_arch[] = {
{ IH_ARCH_INVALID, NULL, "Invalid ARCH", },
{ IH_ARCH_ALPHA, "alpha", "Alpha", },
@@ -514,7 +508,7 @@ static void genimg_print_time (time_t timestamp)
* long entry name if translation succeeds
* msg otherwise
*/
-static char *get_table_entry_name (table_entry_t *table, char *msg, int id)
+char *get_table_entry_name (table_entry_t *table, char *msg, int id)
{
for (; table->id >= 0; ++table) {
if (table->id == id)
@@ -561,7 +555,7 @@ const char *genimg_get_comp_name (uint8_t comp)
* entry id if translation succeeds
* -1 otherwise
*/
-static int get_table_entry_id (table_entry_t *table,
+int get_table_entry_id (table_entry_t *table,
const char *table_name, const char *name)
{
table_entry_t *t;
diff --git a/include/image.h b/include/image.h
index 4a7bf78..d4cbf8c 100644
--- a/include/image.h
+++ b/include/image.h
@@ -284,6 +284,30 @@ typedef struct bootm_headers {
#define uimage_to_cpu(x) be32_to_cpu(x)
#define cpu_to_uimage(x) cpu_to_be32(x)
+/*
+ * Translation table for entries of a specific type; used by
+ * get_table_entry_id() and get_table_entry_name().
+ */
+typedef struct table_entry {
+ int id;
+ char *sname; /* short (input) name to find table entry */
+ char *lname; /* long (output) name to print for messages */
+} table_entry_t;
+
+/*
+ * get_table_entry_id() scans the translation table trying to find an
+ * entry that matches the given short name. If a matching entry is
+ * found, it's id is returned to the caller.
+ */
+int get_table_entry_id (table_entry_t *table,
+ const char *table_name, const char *name);
+/*
+ * get_table_entry_name() scans the translation table trying to find
+ * an entry that matches the given id. If a matching entry is found,
+ * its long name is returned to the caller.
+ */
+char *get_table_entry_name (table_entry_t *table, char *msg, int id);
+
const char *genimg_get_os_name (uint8_t os);
const char *genimg_get_arch_name (uint8_t arch);
const char *genimg_get_type_name (uint8_t type);