diff options
author | Paul Mackerras <paulus@samba.org> | 2007-04-12 13:50:03 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2007-04-12 13:50:03 -0400 |
commit | e049d1ca3094f3d1d94617f456a9961202f96e3a (patch) | |
tree | a30397ad22f2fbea268bd28fa69c60aad9dfa62a /arch/x86_64/kernel/early-quirks.c | |
parent | edfac96a92b88d3b0b53e3f8231b74beee9ecd1d (diff) | |
parent | 80584ff3b99c36ead7e130e453b3a48b18072d18 (diff) |
Merge branch 'linux-2.6' into for-2.6.22
Diffstat (limited to 'arch/x86_64/kernel/early-quirks.c')
-rw-r--r-- | arch/x86_64/kernel/early-quirks.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/arch/x86_64/kernel/early-quirks.c b/arch/x86_64/kernel/early-quirks.c index 8047ea8c2ab2..fede55a53995 100644 --- a/arch/x86_64/kernel/early-quirks.c +++ b/arch/x86_64/kernel/early-quirks.c | |||
@@ -16,7 +16,7 @@ | |||
16 | #include <asm/proto.h> | 16 | #include <asm/proto.h> |
17 | #include <asm/dma.h> | 17 | #include <asm/dma.h> |
18 | 18 | ||
19 | static void via_bugs(void) | 19 | static void __init via_bugs(void) |
20 | { | 20 | { |
21 | #ifdef CONFIG_IOMMU | 21 | #ifdef CONFIG_IOMMU |
22 | if ((end_pfn > MAX_DMA32_PFN || force_iommu) && | 22 | if ((end_pfn > MAX_DMA32_PFN || force_iommu) && |
@@ -30,16 +30,13 @@ static void via_bugs(void) | |||
30 | 30 | ||
31 | #ifdef CONFIG_ACPI | 31 | #ifdef CONFIG_ACPI |
32 | 32 | ||
33 | static int nvidia_hpet_detected __initdata; | ||
34 | |||
35 | static int __init nvidia_hpet_check(struct acpi_table_header *header) | 33 | static int __init nvidia_hpet_check(struct acpi_table_header *header) |
36 | { | 34 | { |
37 | nvidia_hpet_detected = 1; | ||
38 | return 0; | 35 | return 0; |
39 | } | 36 | } |
40 | #endif | 37 | #endif |
41 | 38 | ||
42 | static void nvidia_bugs(void) | 39 | static void __init nvidia_bugs(void) |
43 | { | 40 | { |
44 | #ifdef CONFIG_ACPI | 41 | #ifdef CONFIG_ACPI |
45 | /* | 42 | /* |
@@ -52,11 +49,7 @@ static void nvidia_bugs(void) | |||
52 | if (acpi_use_timer_override) | 49 | if (acpi_use_timer_override) |
53 | return; | 50 | return; |
54 | 51 | ||
55 | nvidia_hpet_detected = 0; | 52 | if (acpi_table_parse(ACPI_SIG_HPET, nvidia_hpet_check)) { |
56 | if (acpi_table_parse(ACPI_SIG_HPET, nvidia_hpet_check)) | ||
57 | return; | ||
58 | |||
59 | if (nvidia_hpet_detected == 0) { | ||
60 | acpi_skip_timer_override = 1; | 53 | acpi_skip_timer_override = 1; |
61 | printk(KERN_INFO "Nvidia board " | 54 | printk(KERN_INFO "Nvidia board " |
62 | "detected. Ignoring ACPI " | 55 | "detected. Ignoring ACPI " |
@@ -69,7 +62,7 @@ static void nvidia_bugs(void) | |||
69 | 62 | ||
70 | } | 63 | } |
71 | 64 | ||
72 | static void ati_bugs(void) | 65 | static void __init ati_bugs(void) |
73 | { | 66 | { |
74 | if (timer_over_8254 == 1) { | 67 | if (timer_over_8254 == 1) { |
75 | timer_over_8254 = 0; | 68 | timer_over_8254 = 0; |
@@ -95,7 +88,7 @@ struct chipset { | |||
95 | void (*f)(void); | 88 | void (*f)(void); |
96 | }; | 89 | }; |
97 | 90 | ||
98 | static struct chipset early_qrk[] = { | 91 | static struct chipset early_qrk[] __initdata = { |
99 | { PCI_VENDOR_ID_NVIDIA, nvidia_bugs }, | 92 | { PCI_VENDOR_ID_NVIDIA, nvidia_bugs }, |
100 | { PCI_VENDOR_ID_VIA, via_bugs }, | 93 | { PCI_VENDOR_ID_VIA, via_bugs }, |
101 | { PCI_VENDOR_ID_ATI, ati_bugs }, | 94 | { PCI_VENDOR_ID_ATI, ati_bugs }, |