Skip to contentSkip to conversation

fix pciehp compile issue when CONFIG_ACPI is not enabled.

PATCH In review Kristen Accardi 2 participants 4 messages May 8, 2006

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 fix pciehp compile issue when CONFIG_ACPI is not enabled.

Fix compile error when CONFIG_ACPI is not defined.

---
 include/acpi/actypes.h |    1 +
 1 files changed, 1 insertion(+)
include/acpi/actypes.h +1 -0
@@ -348,6 +348,7 @@ struct acpi_pointer {
  * Mescellaneous types
  */
 typedef u32 acpi_status;	/* All ACPI Exceptions */
+#define acpi_status acpi_status
 typedef u32 acpi_name;		/* 4-byte ACPI name */
 typedef char *acpi_string;	/* Null terminated ASCII string */
 typedef void *acpi_handle;	/* Actually a ptr to a NS Node */
#1 lore raw

include/acpi/actypes.h struct acpi_pointer { · line 354

Quoted 12 lines · Kristen Accardi

Fix compile error when CONFIG_ACPI is not defined.

include/acpi/actypes.h +1 -0
@@ -348,6 +348,7 @@ struct acpi_pointer {
  * Mescellaneous types
  */
 typedef u32 acpi_status;	/* All ACPI Exceptions */
+#define acpi_status acpi_status
 typedef u32 acpi_name;		/* 4-byte ACPI name */
 typedef char *acpi_string;	/* Null terminated ASCII string */
 typedef void *acpi_handle;	/* Actually a ptr to a NS Node */

The following in include/linux/pci-acpi.h is ugly

	#if !defined(acpi_status)
	typedef u32             acpi_status;
	#define AE_ERROR        (acpi_status) (0x0001)
	#endif

but you're adding more of it.

#2 lore raw
Quoted 16 lines · Alexey Dobriyan

include/acpi/actypes.h struct acpi_pointer { · line 354

Quoted 12 lines · Kristen Accardi

Fix compile error when CONFIG_ACPI is not defined.

include/acpi/actypes.h +1 -0
@@ -348,6 +348,7 @@ struct acpi_pointer {
  * Mescellaneous types
  */
 typedef u32 acpi_status;	/* All ACPI Exceptions */
+#define acpi_status acpi_status
 typedef u32 acpi_name;		/* 4-byte ACPI name */
 typedef char *acpi_string;	/* Null terminated ASCII string */
 typedef void *acpi_handle;	/* Actually a ptr to a NS Node */

The following in include/linux/pci-acpi.h is ugly

Quoted 6 lines
	#if !defined(acpi_status)
	typedef u32             acpi_status;
	#define AE_ERROR        (acpi_status) (0x0001)
	#endif

but you're adding more of it.

The actual solution to the problem is long. acpi_status should not be used outside of acpi-ca. However, it is. In many, many places. The real solution is to go around and re-write all the apis that export acpi_status to drivers, and then fix all the drivers which rely on acpi_status (and other acpi-caisms ). This fix, while ugly, solves the immediate problem in an expedient way. However, I'm certainly open to suggestions about nicer ways to do it.

#3 lore raw
In reply to Alexey Dobriyan

Fix build error when CONFIG_ACPI not defined

---
Here's an alternate way to solve this problem - also easy, that may look nicer. (thanks arjan).

 include/linux/pci-acpi.h |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)
include/linux/pci-acpi.h +1 -1
@@ -50,7 +50,7 @@
 extern acpi_status pci_osc_control_set(acpi_handle handle, u32 flags);
 extern acpi_status pci_osc_support_set(u32 flags);
 #else
-#if !defined(acpi_status)
+#if !defined(AE_ERROR)
 typedef u32 		acpi_status;
 #define AE_ERROR      	(acpi_status) (0x0001)
 #endif