From: Erwan Velu Date: Mon, 4 Apr 2011 18:13:13 +0000 (+0200) Subject: acpi: moving flags_to_string to base code X-Git-Tag: syslinux-4.05-pre1~20^2~38 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=c09eb315a9c426bc9fbb7bfe036648befb65fbd7;p=platform%2Fupstream%2Fsyslinux.git acpi: moving flags_to_string to base code This code is useful for many program, let's make it generic. --- diff --git a/com32/gplinclude/acpi/acpi.h b/com32/gplinclude/acpi/acpi.h index 94589f3..bf3ffdb 100644 --- a/com32/gplinclude/acpi/acpi.h +++ b/com32/gplinclude/acpi/acpi.h @@ -95,4 +95,5 @@ void parse_madt(s_acpi * acpi); int search_rsdp(s_acpi *acpi); void get_acpi_description_header(uint8_t *q, s_acpi_description_header * adh); bool parse_header(uint64_t *address, s_acpi *acpi); +char *flags_to_string(char *buffer, uint16_t flags); #endif diff --git a/com32/gpllib/acpi/acpi.c b/com32/gpllib/acpi/acpi.c index 8e5ee29..d2bf29e 100644 --- a/com32/gpllib/acpi/acpi.c +++ b/com32/gpllib/acpi/acpi.c @@ -32,6 +32,25 @@ #include #include "acpi/acpi.h" +/* M1PS flags have to be interpreted as strings */ +char *flags_to_string(char *buffer, uint16_t flags) +{ + memset(buffer, 0, sizeof(buffer)); + strcpy(buffer, "default"); + if ((flags & POLARITY_ACTIVE_HIGH) == POLARITY_ACTIVE_HIGH) + strcpy(buffer, "high"); + else if ((flags & POLARITY_ACTIVE_LOW) == POLARITY_ACTIVE_LOW) + strcpy(buffer, "low"); + if ((flags & TRIGGER_EDGE) == TRIGGER_EDGE) + strncat(buffer, " edge", 5); + else if ((flags & TRIGGER_LEVEL) == TRIGGER_LEVEL) + strncat(buffer, " level", 6); + else + strncat(buffer, " default", 8); + + return buffer; +} + void dbg_printf(const char *fmt, ...) { va_list args;