diff options
| author | Linus Torvalds <torvalds@penguin.transmeta.com> | 2002-05-29 03:22:20 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@penguin.transmeta.com> | 2002-05-29 03:22:20 -0700 |
| commit | da55fd6f039fad38780ccd7848959d72118299d1 (patch) | |
| tree | 7666a475ce5220dc48c6f819b3d4372c35fafb52 /include/linux | |
| parent | 77c998088e03fc2869444832de71d61595e846cd (diff) | |
| parent | f615f385c55b418ade627e889172c3b3c4148301 (diff) | |
Manual merge
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/acpi.h | 68 |
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*/ |
