Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 73bbca04 authored by Bob Moore's avatar Bob Moore Committed by Rafael J. Wysocki
Browse files

ACPICA: acpihelp: Add UUID support, restructure some existing files.



This adds a -u option to acpi_help to display all known ACPI UUIDs.
Some existing files in the core code have been restructured.
Three new files.

[zetalog: changing drivers/acpi/acpica/Makefile accordingly]

Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
Signed-off-by: default avatarLv Zheng <lv.zheng@intel.com>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 3589b8b8
Loading
Loading
Loading
Loading
+7 −1
Original line number Original line Diff line number Diff line
@@ -157,6 +157,7 @@ acpi-y += \
	uterror.o	\
	uterror.o	\
	uteval.o	\
	uteval.o	\
	utglobal.o	\
	utglobal.o	\
	uthex.o		\
	utids.o		\
	utids.o		\
	utinit.o	\
	utinit.o	\
	utlock.o	\
	utlock.o	\
@@ -175,5 +176,10 @@ acpi-y += \
	utxferror.o	\
	utxferror.o	\
	utxfmutex.o
	utxfmutex.o


acpi-$(ACPI_FUTURE_USAGE) += utfileio.o utprint.o uttrack.o utcache.o
acpi-$(ACPI_FUTURE_USAGE) +=	\
	utcache.o		\
	utfileio.o		\
	utprint.o		\
	uttrack.o		\
	utuuid.o
+5 −0
Original line number Original line Diff line number Diff line
@@ -1155,4 +1155,9 @@ struct ah_device_id {
	char *description;
	char *description;
};
};


struct ah_uuid {
	char *description;
	char *string;
};

#endif				/* __ACLOCAL_H__ */
#endif				/* __ACLOCAL_H__ */
+9 −0
Original line number Original line Diff line number Diff line
@@ -194,6 +194,8 @@ char *acpi_ut_get_event_name(u32 event_id);


char acpi_ut_hex_to_ascii_char(u64 integer, u32 position);
char acpi_ut_hex_to_ascii_char(u64 integer, u32 position);


u8 acpi_ut_ascii_char_to_hex(int hex_char);

u8 acpi_ut_valid_object_type(acpi_object_type type);
u8 acpi_ut_valid_object_type(acpi_object_type type);


/*
/*
@@ -759,6 +761,8 @@ const struct ah_predefined_name *acpi_ah_match_predefined_name(char *nameseg);


const struct ah_device_id *acpi_ah_match_hardware_id(char *hid);
const struct ah_device_id *acpi_ah_match_hardware_id(char *hid);


const char *acpi_ah_match_uuid(u8 *data);

/*
/*
 * utprint - printf/vprintf output functions
 * utprint - printf/vprintf output functions
 */
 */
@@ -778,4 +782,9 @@ int acpi_ut_file_vprintf(ACPI_FILE file, const char *format, va_list args);
int acpi_ut_file_printf(ACPI_FILE file, const char *format, ...);
int acpi_ut_file_printf(ACPI_FILE file, const char *format, ...);
#endif
#endif


/*
 * utuuid -- UUID support functions
 */
void acpi_ut_convert_string_to_uuid(char *in_string, u8 *uuid_buffer);

#endif				/* _ACUTILS_H */
#endif				/* _ACUTILS_H */
+0 −27
Original line number Original line Diff line number Diff line
@@ -86,33 +86,6 @@ const u8 acpi_gbl_ns_properties[ACPI_NUM_NS_TYPES] = {
	ACPI_NS_NORMAL		/* 30 Invalid          */
	ACPI_NS_NORMAL		/* 30 Invalid          */
};
};


/*******************************************************************************
 *
 * FUNCTION:    acpi_ut_hex_to_ascii_char
 *
 * PARAMETERS:  integer             - Contains the hex digit
 *              position            - bit position of the digit within the
 *                                    integer (multiple of 4)
 *
 * RETURN:      The converted Ascii character
 *
 * DESCRIPTION: Convert a hex digit to an Ascii character
 *
 ******************************************************************************/

/* Hex to ASCII conversion table */

static const char acpi_gbl_hex_to_ascii[] = {
	'0', '1', '2', '3', '4', '5', '6', '7',
	'8', '9', 'A', 'B', 'C', 'D', 'E', 'F'
};

char acpi_ut_hex_to_ascii_char(u64 integer, u32 position)
{

	return (acpi_gbl_hex_to_ascii[(integer >> position) & 0xF]);
}

/*******************************************************************************
/*******************************************************************************
 *
 *
 * FUNCTION:    acpi_ut_get_region_name
 * FUNCTION:    acpi_ut_get_region_name
+100 −0
Original line number Original line Diff line number Diff line
/******************************************************************************
 *
 * Module Name: uthex -- Hex/ASCII support functions
 *
 *****************************************************************************/

/*
 * Copyright (C) 2000 - 2014, Intel Corp.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions, and the following disclaimer,
 *    without modification.
 * 2. Redistributions in binary form must reproduce at minimum a disclaimer
 *    substantially similar to the "NO WARRANTY" disclaimer below
 *    ("Disclaimer") and any redistribution must be conditioned upon
 *    including a substantially similar Disclaimer requirement for further
 *    binary redistribution.
 * 3. Neither the names of the above-listed copyright holders nor the names
 *    of any contributors may be used to endorse or promote products derived
 *    from this software without specific prior written permission.
 *
 * Alternatively, this software may be distributed under the terms of the
 * GNU General Public License ("GPL") version 2 as published by the Free
 * Software Foundation.
 *
 * NO WARRANTY
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * HOLDERS OR CONTRIBUTORS BE LIABLE FOR SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGES.
 */

#include <acpi/acpi.h>
#include "accommon.h"

#define _COMPONENT          ACPI_COMPILER
ACPI_MODULE_NAME("uthex")

/* Hex to ASCII conversion table */
static char acpi_gbl_hex_to_ascii[] = {
	'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D',
	    'E', 'F'
};

/*******************************************************************************
 *
 * FUNCTION:    acpi_ut_hex_to_ascii_char
 *
 * PARAMETERS:  integer             - Contains the hex digit
 *              position            - bit position of the digit within the
 *                                    integer (multiple of 4)
 *
 * RETURN:      The converted Ascii character
 *
 * DESCRIPTION: Convert a hex digit to an Ascii character
 *
 ******************************************************************************/

char acpi_ut_hex_to_ascii_char(u64 integer, u32 position)
{

	return (acpi_gbl_hex_to_ascii[(integer >> position) & 0xF]);
}

/*******************************************************************************
 *
 * FUNCTION:    acpi_ut_hex_char_to_value
 *
 * PARAMETERS:  ascii_char            - Hex character in Ascii
 *
 * RETURN:      The binary value of the ascii/hex character
 *
 * DESCRIPTION: Perform ascii-to-hex translation
 *
 ******************************************************************************/

u8 acpi_ut_ascii_char_to_hex(int hex_char)
{

	if (hex_char <= 0x39) {
		return ((u8)(hex_char - 0x30));
	}

	if (hex_char <= 0x46) {
		return ((u8)(hex_char - 0x37));
	}

	return ((u8)(hex_char - 0x57));
}
Loading