Move acpi_gbl_valid_osi_strings[] from utglobal.c to uteval.c and
make it static. Then we can remove ACPI_NUM_OSI_STRINGS, which is
a maintenance problem for OSPMs that want to change the features
reported by _OSI.
This patch is against the Linux-ized ACPI CA, since I don't have
a good way to modify or test the original Intel version. I hope
it's small enough that you can easily make the corresponding change
to the Intel version.
This modification may be used under either the GPL or the BSD-style
license used for the Intel ACPI CA.
Signed-off-by: Bjorn Helgaas <[EMAIL PROTECTED]>
Index: work-mm5/drivers/acpi/utilities/uteval.c
===================================================================
--- work-mm5.orig/drivers/acpi/utilities/uteval.c 2006-04-03
15:04:31.000000000 -0600
+++ work-mm5/drivers/acpi/utilities/uteval.c 2006-04-18 15:31:22.000000000
-0600
@@ -48,6 +48,29 @@
#define _COMPONENT ACPI_UTILITIES
ACPI_MODULE_NAME("uteval")
+#define ACPI_ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
+
+/*
+ * Strings supported by the _OSI predefined (internal) method.
+ */
+static const char *acpi_valid_osi_strings[] = {
+ /* Operating System Vendor Strings */
+
+ "Linux",
+ "Windows 2000",
+ "Windows 2001",
+ "Windows 2001.1",
+ "Windows 2001 SP0",
+ "Windows 2001 SP1",
+ "Windows 2001 SP2",
+ "Windows 2001 SP3",
+ "Windows 2001 SP4",
+
+ /* Feature Group Strings */
+
+ "Extended Address Space Descriptor",
+};
+
/* Local prototypes */
static void
acpi_ut_copy_id_string(char *destination, char *source, acpi_size max_length);
@@ -93,10 +116,9 @@
/* Compare input string to table of supported strings */
- for (i = 0; i < ACPI_NUM_OSI_STRINGS; i++) {
+ for (i = 0; i < ACPI_ARRAY_SIZE(acpi_valid_osi_strings); i++) {
if (!ACPI_STRCMP(string_desc->string.pointer,
- ACPI_CAST_PTR(char,
- acpi_gbl_valid_osi_strings[i])))
+ acpi_valid_osi_strings[i]))
{
/* This string is supported */
Index: work-mm5/drivers/acpi/utilities/utglobal.c
===================================================================
--- work-mm5.orig/drivers/acpi/utilities/utglobal.c 2006-04-18
12:42:24.000000000 -0600
+++ work-mm5/drivers/acpi/utilities/utglobal.c 2006-04-18 12:55:24.000000000
-0600
@@ -184,28 +184,6 @@
"_S4D"
};
-/*
- * Strings supported by the _OSI predefined (internal) method.
- * When adding strings, be sure to update ACPI_NUM_OSI_STRINGS.
- */
-const char *acpi_gbl_valid_osi_strings[ACPI_NUM_OSI_STRINGS] = {
- /* Operating System Vendor Strings */
-
- "Linux",
- "Windows 2000",
- "Windows 2001",
- "Windows 2001.1",
- "Windows 2001 SP0",
- "Windows 2001 SP1",
- "Windows 2001 SP2",
- "Windows 2001 SP3",
- "Windows 2001 SP4",
-
- /* Feature Group Strings */
-
- "Extended Address Space Descriptor"
-};
-
/*******************************************************************************
*
* Namespace globals
Index: work-mm5/include/acpi/acconfig.h
===================================================================
--- work-mm5.orig/include/acpi/acconfig.h 2006-04-18 12:42:24.000000000
-0600
+++ work-mm5/include/acpi/acconfig.h 2006-04-18 12:42:58.000000000 -0600
@@ -187,10 +187,6 @@
#define ACPI_SMBUS_BUFFER_SIZE 34
-/* Number of strings associated with the _OSI reserved method */
-
-#define ACPI_NUM_OSI_STRINGS 10
-
/******************************************************************************
*
* ACPI AML Debugger
Index: work-mm5/include/acpi/acglobal.h
===================================================================
--- work-mm5.orig/include/acpi/acglobal.h 2006-03-23 10:22:17.000000000
-0700
+++ work-mm5/include/acpi/acglobal.h 2006-04-18 15:24:33.000000000 -0600
@@ -244,7 +244,6 @@
extern const char *acpi_gbl_highest_dstate_names[4];
extern const struct acpi_opcode_info acpi_gbl_aml_op_info[AML_NUM_OPCODES];
extern const char *acpi_gbl_region_types[ACPI_NUM_PREDEFINED_REGIONS];
-extern const char *acpi_gbl_valid_osi_strings[ACPI_NUM_OSI_STRINGS];
/*****************************************************************************
*
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html