aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64
diff options
context:
space:
mode:
authorAlex Chiang <achiang@hp.com>2009-12-20 14:19:29 -0500
committerLen Brown <len.brown@intel.com>2009-12-22 03:24:13 -0500
commit6c5807d7bc7d051fce00863ffb98d36325501eb2 (patch)
treeeceda659786e5e6ff659fca0b0382ec52ea13871 /arch/ia64
parent08ea48a326d8030ef5b7fb02292faf5a53c95e0a (diff)
ACPI: processor: finish unifying arch_acpi_processor_init_pdc()
The only thing arch-specific about calling _PDC is what bits get set in the input obj_list buffer. There's no need for several levels of indirection to twiddle those bits. Additionally, since we're just messing around with a buffer, we can simplify the interface; no need to pass around the entire struct acpi_processor * just to get at the buffer. Cc: Tony Luck <tony.luck@intel.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Signed-off-by: Alex Chiang <achiang@hp.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'arch/ia64')
-rw-r--r--arch/ia64/include/asm/acpi.h4
-rw-r--r--arch/ia64/kernel/acpi-processor.c18
2 files changed, 4 insertions, 18 deletions
diff --git a/arch/ia64/include/asm/acpi.h b/arch/ia64/include/asm/acpi.h
index 3b7888294648..7ae58892ba8d 100644
--- a/arch/ia64/include/asm/acpi.h
+++ b/arch/ia64/include/asm/acpi.h
@@ -133,6 +133,10 @@ extern int __initdata nid_to_pxm_map[MAX_NUMNODES];
133#endif 133#endif
134 134
135static inline bool arch_has_acpi_pdc(void) { return true; } 135static inline bool arch_has_acpi_pdc(void) { return true; }
136static inline void arch_acpi_set_pdc_bits(u32 *buf)
137{
138 buf[2] |= ACPI_PDC_EST_CAPABILITY_SMP;
139}
136 140
137#define acpi_unlazy_tlb(x) 141#define acpi_unlazy_tlb(x)
138 142
diff --git a/arch/ia64/kernel/acpi-processor.c b/arch/ia64/kernel/acpi-processor.c
index ebe23f58bd6e..7ba5accebf66 100644
--- a/arch/ia64/kernel/acpi-processor.c
+++ b/arch/ia64/kernel/acpi-processor.c
@@ -14,24 +14,6 @@
14#include <acpi/processor.h> 14#include <acpi/processor.h>
15#include <asm/acpi.h> 15#include <asm/acpi.h>
16 16
17static void init_intel_pdc(struct acpi_processor *pr)
18{
19 u32 *buf = (u32 *)pr->pdc->pointer->buffer.pointer;
20
21 buf[2] |= ACPI_PDC_EST_CAPABILITY_SMP;
22
23 return;
24}
25
26/* Initialize _PDC data based on the CPU vendor */
27void arch_acpi_processor_init_pdc(struct acpi_processor *pr)
28{
29 init_intel_pdc(pr);
30 return;
31}
32
33EXPORT_SYMBOL(arch_acpi_processor_init_pdc);
34
35void arch_acpi_processor_cleanup_pdc(struct acpi_processor *pr) 17void arch_acpi_processor_cleanup_pdc(struct acpi_processor *pr)
36{ 18{
37 if (pr->pdc) { 19 if (pr->pdc) {