git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Pull acpica into release branch
[pandora-kernel.git]
/
drivers
/
acpi
/
executer
/
exnames.c
diff --git
a/drivers/acpi/executer/exnames.c
b/drivers/acpi/executer/exnames.c
index
239d847
..
d3d7036
100644
(file)
--- a/
drivers/acpi/executer/exnames.c
+++ b/
drivers/acpi/executer/exnames.c
@@
-6,7
+6,7
@@
*****************************************************************************/
/*
*****************************************************************************/
/*
- * Copyright (C) 2000 - 200
5
, R. Byron Moore
+ * Copyright (C) 2000 - 200
6
, R. Byron Moore
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@
-77,7
+77,7
@@
static char *acpi_ex_allocate_name_string(u32 prefix_count, u32 num_name_segs)
char *name_string;
u32 size_needed;
char *name_string;
u32 size_needed;
- ACPI_FUNCTION_TRACE(
"ex_allocate_name_string"
);
+ ACPI_FUNCTION_TRACE(
ex_allocate_name_string
);
/*
* Allow room for all \ and ^ prefixes, all segments and a multi_name_prefix.
/*
* Allow room for all \ and ^ prefixes, all segments and a multi_name_prefix.
@@
-85,6
+85,7
@@
static char *acpi_ex_allocate_name_string(u32 prefix_count, u32 num_name_segs)
* This may actually be somewhat longer than needed.
*/
if (prefix_count == ACPI_UINT32_MAX) {
* This may actually be somewhat longer than needed.
*/
if (prefix_count == ACPI_UINT32_MAX) {
+
/* Special case for root */
size_needed = 1 + (ACPI_NAME_SIZE * num_name_segs) + 2 + 1;
/* Special case for root */
size_needed = 1 + (ACPI_NAME_SIZE * num_name_segs) + 2 + 1;
@@
-97,9
+98,10
@@
static char *acpi_ex_allocate_name_string(u32 prefix_count, u32 num_name_segs)
* Allocate a buffer for the name.
* This buffer must be deleted by the caller!
*/
* Allocate a buffer for the name.
* This buffer must be deleted by the caller!
*/
- name_string = ACPI_
MEM_
ALLOCATE(size_needed);
+ name_string = ACPI_ALLOCATE(size_needed);
if (!name_string) {
if (!name_string) {
- ACPI_REPORT_ERROR(("ex_allocate_name_string: Could not allocate size %d\n", size_needed));
+ ACPI_ERROR((AE_INFO,
+ "Could not allocate size %d", size_needed));
return_PTR(NULL);
}
return_PTR(NULL);
}
@@
-118,11
+120,13
@@
static char *acpi_ex_allocate_name_string(u32 prefix_count, u32 num_name_segs)
/* Set up Dual or Multi prefixes if needed */
if (num_name_segs > 2) {
/* Set up Dual or Multi prefixes if needed */
if (num_name_segs > 2) {
+
/* Set up multi prefixes */
*temp_ptr++ = AML_MULTI_NAME_PREFIX_OP;
*temp_ptr++ = (char)num_name_segs;
} else if (2 == num_name_segs) {
/* Set up multi prefixes */
*temp_ptr++ = AML_MULTI_NAME_PREFIX_OP;
*temp_ptr++ = (char)num_name_segs;
} else if (2 == num_name_segs) {
+
/* Set up dual prefixes */
*temp_ptr++ = AML_DUAL_NAME_PREFIX;
/* Set up dual prefixes */
*temp_ptr++ = AML_DUAL_NAME_PREFIX;
@@
-158,7
+162,7
@@
static acpi_status acpi_ex_name_segment(u8 ** in_aml_address, char *name_string)
u32 index;
char char_buf[5];
u32 index;
char char_buf[5];
- ACPI_FUNCTION_TRACE(
"ex_name_segment"
);
+ ACPI_FUNCTION_TRACE(
ex_name_segment
);
/*
* If first character is a digit, then we know that we aren't looking at a
/*
* If first character is a digit, then we know that we aren't looking at a
@@
-167,8
+171,7
@@
static acpi_status acpi_ex_name_segment(u8 ** in_aml_address, char *name_string)
char_buf[0] = *aml_address;
if ('0' <= char_buf[0] && char_buf[0] <= '9') {
char_buf[0] = *aml_address;
if ('0' <= char_buf[0] && char_buf[0] <= '9') {
- ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "leading digit: %c\n",
- char_buf[0]));
+ ACPI_ERROR((AE_INFO, "Invalid leading digit: %c", char_buf[0]));
return_ACPI_STATUS(AE_CTRL_PENDING);
}
return_ACPI_STATUS(AE_CTRL_PENDING);
}
@@
-176,7
+179,7
@@
static acpi_status acpi_ex_name_segment(u8 ** in_aml_address, char *name_string)
for (index = 0;
(index < ACPI_NAME_SIZE)
for (index = 0;
(index < ACPI_NAME_SIZE)
- && (acpi_ut_valid_acpi_char
acter(*aml_address
)); index++) {
+ && (acpi_ut_valid_acpi_char
(*aml_address, 0
)); index++) {
char_buf[index] = *aml_address++;
ACPI_DEBUG_PRINT((ACPI_DB_LOAD, "%c\n", char_buf[index]));
}
char_buf[index] = *aml_address++;
ACPI_DEBUG_PRINT((ACPI_DB_LOAD, "%c\n", char_buf[index]));
}
@@
-184,6
+187,7
@@
static acpi_status acpi_ex_name_segment(u8 ** in_aml_address, char *name_string)
/* Valid name segment */
if (index == 4) {
/* Valid name segment */
if (index == 4) {
+
/* Found 4 valid characters */
char_buf[4] = '\0';
/* Found 4 valid characters */
char_buf[4] = '\0';
@@
-191,10
+195,10
@@
static acpi_status acpi_ex_name_segment(u8 ** in_aml_address, char *name_string)
if (name_string) {
ACPI_STRCAT(name_string, char_buf);
ACPI_DEBUG_PRINT((ACPI_DB_NAMES,
if (name_string) {
ACPI_STRCAT(name_string, char_buf);
ACPI_DEBUG_PRINT((ACPI_DB_NAMES,
- "Appended to - %s
\n", name_string));
+ "Appended to - %s\n", name_string));
} else {
ACPI_DEBUG_PRINT((ACPI_DB_NAMES,
} else {
ACPI_DEBUG_PRINT((ACPI_DB_NAMES,
- "No Name string - %s
\n", char_buf));
+ "No Name string - %s\n", char_buf));
}
} else if (index == 0) {
/*
}
} else if (index == 0) {
/*
@@
-211,12
+215,12
@@
static acpi_status acpi_ex_name_segment(u8 ** in_aml_address, char *name_string)
* the required 4
*/
status = AE_AML_BAD_NAME;
* the required 4
*/
status = AE_AML_BAD_NAME;
- ACPI_
DEBUG_PRINT((ACPI_DB_ERROR
,
-
"Bad character %02x in name, at %p\n
",
-
*aml_address, aml_address));
+ ACPI_
ERROR((AE_INFO
,
+
"Bad character %02x in name, at %p
",
+ *aml_address, aml_address));
}
}
- *in_aml_address =
(u8 *) aml_address
;
+ *in_aml_address =
ACPI_CAST_PTR(u8, aml_address)
;
return_ACPI_STATUS(status);
}
return_ACPI_STATUS(status);
}
@@
-249,11
+253,12
@@
acpi_ex_get_name_string(acpi_object_type data_type,
u32 prefix_count = 0;
u8 has_prefix = FALSE;
u32 prefix_count = 0;
u8 has_prefix = FALSE;
- ACPI_FUNCTION_TRACE_PTR(
"ex_get_name_string"
, aml_address);
+ ACPI_FUNCTION_TRACE_PTR(
ex_get_name_string
, aml_address);
if (ACPI_TYPE_LOCAL_REGION_FIELD == data_type ||
ACPI_TYPE_LOCAL_BANK_FIELD == data_type ||
ACPI_TYPE_LOCAL_INDEX_FIELD == data_type) {
if (ACPI_TYPE_LOCAL_REGION_FIELD == data_type ||
ACPI_TYPE_LOCAL_BANK_FIELD == data_type ||
ACPI_TYPE_LOCAL_INDEX_FIELD == data_type) {
+
/* Disallow prefixes for types associated with field_unit names */
name_string = acpi_ex_allocate_name_string(0, 1);
/* Disallow prefixes for types associated with field_unit names */
name_string = acpi_ex_allocate_name_string(0, 1);
@@
-272,7
+277,7
@@
acpi_ex_get_name_string(acpi_object_type data_type,
case AML_ROOT_PREFIX:
ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
case AML_ROOT_PREFIX:
ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
- "
root_p
refix(\\) at %p\n",
+ "
RootP
refix(\\) at %p\n",
aml_address));
/*
aml_address));
/*
@@
-290,7
+295,7
@@
acpi_ex_get_name_string(acpi_object_type data_type,
do {
ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
do {
ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
- "
parent_p
refix (^) at %p\n",
+ "
ParentP
refix (^) at %p\n",
aml_address));
aml_address++;
aml_address));
aml_address++;
@@
-314,7
+319,7
@@
acpi_ex_get_name_string(acpi_object_type data_type,
case AML_DUAL_NAME_PREFIX:
ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
case AML_DUAL_NAME_PREFIX:
ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
- "
dual_name_p
refix at %p\n",
+ "
DualNameP
refix at %p\n",
aml_address));
aml_address++;
aml_address));
aml_address++;
@@
-341,7
+346,7
@@
acpi_ex_get_name_string(acpi_object_type data_type,
case AML_MULTI_NAME_PREFIX_OP:
ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
case AML_MULTI_NAME_PREFIX_OP:
ACPI_DEBUG_PRINT((ACPI_DB_LOAD,
- "
multi_name_p
refix at %p\n",
+ "
MultiNameP
refix at %p\n",
aml_address));
/* Fetch count of segments remaining in name path */
aml_address));
/* Fetch count of segments remaining in name path */
@@
-377,7
+382,7
@@
acpi_ex_get_name_string(acpi_object_type data_type,
if (prefix_count == ACPI_UINT32_MAX) {
ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
if (prefix_count == ACPI_UINT32_MAX) {
ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
- "
name_s
eg is \"\\\" followed by NULL\n"));
+ "
NameS
eg is \"\\\" followed by NULL\n"));
}
/* Consume the NULL byte */
}
/* Consume the NULL byte */
@@
-410,16
+415,16
@@
acpi_ex_get_name_string(acpi_object_type data_type,
}
if (AE_CTRL_PENDING == status && has_prefix) {
}
if (AE_CTRL_PENDING == status && has_prefix) {
+
/* Ran out of segments after processing a prefix */
/* Ran out of segments after processing a prefix */
- ACPI_REPORT_ERROR(("ex_do_name: Malformed Name at %p\n",
- name_string));
+ ACPI_ERROR((AE_INFO, "Malformed Name at %p", name_string));
status = AE_AML_BAD_NAME;
}
if (ACPI_FAILURE(status)) {
if (name_string) {
status = AE_AML_BAD_NAME;
}
if (ACPI_FAILURE(status)) {
if (name_string) {
- ACPI_
MEM_
FREE(name_string);
+ ACPI_FREE(name_string);
}
return_ACPI_STATUS(status);
}
}
return_ACPI_STATUS(status);
}