summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@penguin.transmeta.com>2002-05-29 03:22:20 -0700
committerLinus Torvalds <torvalds@penguin.transmeta.com>2002-05-29 03:22:20 -0700
commitda55fd6f039fad38780ccd7848959d72118299d1 (patch)
tree7666a475ce5220dc48c6f819b3d4372c35fafb52 /include/linux
parent77c998088e03fc2869444832de71d61595e846cd (diff)
parentf615f385c55b418ade627e889172c3b3c4148301 (diff)
Manual merge
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/acpi.h68
1 files changed, 32 insertions, 36 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index a8a4794bb2b0..cdfbe7471df5 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -29,22 +29,28 @@
#define _LINUX
#endif
+#include <linux/list.h>
+
/*
- * YES this is ugly.
- * But, moving all of ACPI's private headers to include/acpi isn't the right
- * answer either.
- * Please just ignore it for now.
+ * Yes this is ugly, but moving all of ACPI's private headers to include/acpi
+ * isn't the right answer either. Please just ignore it for now.
*/
#include "../../drivers/acpi/include/acpi.h"
#include <asm/acpi.h>
-/* --------------------------------------------------------------------------
- Boot-Time Table Parsing
- -------------------------------------------------------------------------- */
-
#ifdef CONFIG_ACPI_BOOT
+enum acpi_irq_model_id {
+ ACPI_IRQ_MODEL_PIC = 0,
+ ACPI_IRQ_MODEL_IOAPIC,
+ ACPI_IRQ_MODEL_IOSAPIC,
+ ACPI_IRQ_MODEL_COUNT
+};
+
+extern enum acpi_irq_model_id acpi_irq_model;
+
+
/* Root System Description Pointer (RSDP) */
struct acpi_table_rsdp {
@@ -327,10 +333,9 @@ extern acpi_table_handler acpi_table_ops[ACPI_TABLE_COUNT];
typedef int (*acpi_madt_entry_handler) (acpi_table_entry_header *header);
-struct acpi_boot_flags {
- u8 madt:1;
- u8 reserved:7;
-};
+char * __acpi_map_table (unsigned long phys_addr, unsigned long size);
+unsigned long acpi_find_rsdp (void);
+int acpi_boot_init (char *cmdline);
int acpi_table_init (char *cmdline);
int acpi_table_parse (enum acpi_table_id, acpi_table_handler);
@@ -338,31 +343,26 @@ int acpi_table_parse_madt (enum acpi_table_id, acpi_madt_entry_handler);
void acpi_table_print (struct acpi_table_header *, unsigned long);
void acpi_table_print_madt_entry (acpi_table_entry_header *);
-#endif /*CONFIG_ACPI_BOOT*/
+extern int acpi_mp_config;
+#else /*!CONFIG_ACPI_BOOT*/
-/* --------------------------------------------------------------------------
- PCI Interrupt Routing (PRT)
- -------------------------------------------------------------------------- */
+#define acpi_mp_config 0
-#ifdef CONFIG_ACPI_PCI
+#endif /*CONFIG_ACPI_BOOT*/
-#define ACPI_INT_MODEL_PIC 0
-#define ACPI_INT_MODEL_IOAPIC 1
-#define ACPI_INT_MODEL_IOSAPIC 2
+
+#ifdef CONFIG_ACPI_PCI
struct acpi_prt_entry {
struct list_head node;
- struct {
- u8 seg;
- u8 bus;
- u8 dev;
- u8 pin;
- } id;
+ acpi_pci_id id;
+ u8 pin;
struct {
acpi_handle handle;
u32 index;
- } source;
+ } link;
+ u32 irq;
};
struct acpi_prt_list {
@@ -370,25 +370,21 @@ struct acpi_prt_list {
struct list_head entries;
};
-extern struct acpi_prt_list acpi_prts;
+extern struct acpi_prt_list acpi_prt;
struct pci_dev;
-int acpi_prt_get_irq (struct pci_dev *dev, u8 pin, int *irq);
-int acpi_prt_set_irq (struct pci_dev *dev, u8 pin, int irq);
+int acpi_pci_irq_enable (struct pci_dev *dev);
+int acpi_pci_irq_init (void);
#endif /*CONFIG_ACPI_PCI*/
-/* --------------------------------------------------------------------------
- ACPI Interpreter (Core)
- -------------------------------------------------------------------------- */
-
-#ifdef CONFIG_ACPI_INTERPRETER
+#ifdef CONFIG_ACPI
int acpi_init(void);
-#endif /*CONFIG_ACPI_INTERPRETER*/
+#endif /*CONFIG_ACPI*/
#endif /*_LINUX_ACPI_H*/