- patches.suse/slab-handle-memoryless-nodes-v2a.patch: Refresh.
[linux-flexiantxendom0-3.2.10.git] / include / acpi / processor.h
index bdb1a6b..0ea5ef4 100644 (file)
 #define ACPI_PROCESSOR_MAX_THROTTLE    250     /* 25% */
 #define ACPI_PROCESSOR_MAX_DUTY_WIDTH  4
 
-#ifdef CONFIG_XEN
-#define NR_ACPI_CPUS                   (NR_CPUS < 256 ? 256 : NR_CPUS)
-#else
-#define NR_ACPI_CPUS                   NR_CPUS
-#endif /* CONFIG_XEN */
-
 #define ACPI_PDC_REVISION_ID           0x1
 
 #define ACPI_PSD_REV0_REVISION         0       /* Support for _PSD as in ACPI 3.0 */
 
 struct acpi_processor_cx;
 
-#ifdef CONFIG_PROCESSOR_EXTERNAL_CONTROL
-struct acpi_csd_package {
-       acpi_integer num_entries;
-       acpi_integer revision;
-       acpi_integer domain;
-       acpi_integer coord_type;
-       acpi_integer num_processors;
-       acpi_integer index;
-} __attribute__ ((packed));
-#endif
-
 struct acpi_power_register {
        u8 descriptor;
        u16 length;
@@ -91,12 +74,6 @@ struct acpi_processor_cx {
        u32 power;
        u32 usage;
        u64 time;
-#ifdef CONFIG_PROCESSOR_EXTERNAL_CONTROL
-       /* Require raw information for external control logic */
-       struct acpi_power_register reg;
-       u32 csd_count;
-       struct acpi_csd_package *domain_info;
-#endif
        struct acpi_processor_cx_policy promotion;
        struct acpi_processor_cx_policy demotion;
        char desc[ACPI_CX_DESC_LEN];
@@ -247,8 +224,6 @@ struct acpi_processor {
        struct acpi_processor_throttling throttling;
        struct acpi_processor_limit limit;
        struct thermal_cooling_device *cdev;
-       /* the _PDC objects for this processor, if any */
-       struct acpi_object_list *pdc;
 };
 
 struct acpi_processor_errata {
@@ -280,9 +255,6 @@ int acpi_processor_notify_smm(struct module *calling_module);
 DECLARE_PER_CPU(struct acpi_processor *, processors);
 extern struct acpi_processor_errata errata;
 
-void arch_acpi_processor_init_pdc(struct acpi_processor *pr);
-void arch_acpi_processor_cleanup_pdc(struct acpi_processor *pr);
-
 #ifdef ARCH_HAS_POWER_INIT
 void acpi_processor_power_init_bm_check(struct acpi_processor_flags *flags,
                                        unsigned int cpu);
@@ -317,7 +289,8 @@ static inline void acpi_processor_ffh_cstate_enter(struct acpi_processor_cx
 #ifdef CONFIG_CPU_FREQ
 void acpi_processor_ppc_init(void);
 void acpi_processor_ppc_exit(void);
-int acpi_processor_ppc_has_changed(struct acpi_processor *pr);
+int acpi_processor_ppc_has_changed(struct acpi_processor *pr, int event_flag);
+extern int acpi_processor_get_bios_limit(int cpu, unsigned int *limit);
 #else
 static inline void acpi_processor_ppc_init(void)
 {
@@ -327,10 +300,8 @@ static inline void acpi_processor_ppc_exit(void)
 {
        return;
 }
-#ifdef CONFIG_PROCESSOR_EXTERNAL_CONTROL
-int acpi_processor_ppc_has_changed(struct acpi_processor *pr);
-#else
-static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr)
+static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr,
+                                                               int event_flag)
 {
        static unsigned int printout = 1;
        if (printout) {
@@ -342,9 +313,16 @@ static inline int acpi_processor_ppc_has_changed(struct acpi_processor *pr)
        }
        return 0;
 }
-#endif                         /* CONFIG_PROCESSOR_EXTERNAL_CONTROL */
+static inline int acpi_processor_get_bios_limit(int cpu, unsigned int *limit)
+{
+       return -ENODEV;
+}
+
 #endif                         /* CONFIG_CPU_FREQ */
 
+/* in processor_pdc.c */
+void acpi_processor_set_pdc(acpi_handle handle);
+
 /* in processor_throttling.c */
 int acpi_processor_tstate_has_changed(struct acpi_processor *pr);
 int acpi_processor_get_throttling_info(struct acpi_processor *pr);
@@ -380,127 +358,4 @@ static inline void acpi_thermal_cpufreq_exit(void)
 }
 #endif
 
-/*
- * Following are interfaces geared to external processor PM control
- * logic like a VMM
- */
-/* Events notified to external control logic */
-#define PROCESSOR_PM_INIT      1
-#define PROCESSOR_PM_CHANGE    2
-#define PROCESSOR_HOTPLUG      3
-
-/* Objects for the PM events */
-#define PM_TYPE_IDLE           0
-#define PM_TYPE_PERF           1
-#define PM_TYPE_THR            2
-#define PM_TYPE_MAX            3
-
-/* Processor hotplug events */
-#define HOTPLUG_TYPE_ADD       0
-#define HOTPLUG_TYPE_REMOVE    1
-
-#ifdef CONFIG_PROCESSOR_EXTERNAL_CONTROL
-struct processor_extcntl_ops {
-       /* Transfer processor PM events to external control logic */
-       int (*pm_ops[PM_TYPE_MAX])(struct acpi_processor *pr, int event);
-       /* Notify physical processor status to external control logic */
-       int (*hotplug)(struct acpi_processor *pr, int type);
-};
-extern const struct processor_extcntl_ops *processor_extcntl_ops;
-
-static inline int processor_cntl_external(void)
-{
-       return (processor_extcntl_ops != NULL);
-}
-
-static inline int processor_pm_external(void)
-{
-       return processor_cntl_external() &&
-               (processor_extcntl_ops->pm_ops[PM_TYPE_IDLE] != NULL);
-}
-
-static inline int processor_pmperf_external(void)
-{
-       return processor_cntl_external() &&
-               (processor_extcntl_ops->pm_ops[PM_TYPE_PERF] != NULL);
-}
-
-static inline int processor_pmthr_external(void)
-{
-       return processor_cntl_external() &&
-               (processor_extcntl_ops->pm_ops[PM_TYPE_THR] != NULL);
-}
-
-extern int processor_notify_external(struct acpi_processor *pr,
-                       int event, int type);
-extern void processor_extcntl_init(void);
-extern int processor_extcntl_prepare(struct acpi_processor *pr);
-extern int acpi_processor_get_performance_info(struct acpi_processor *pr);
-extern int acpi_processor_get_psd(struct acpi_processor *pr);
-void arch_acpi_processor_init_extcntl(const struct processor_extcntl_ops **);
-
-/*
- * Declarations for objects and functions removed in native 2.6.29, and
- * thus moved to drivers/acpi/processor_extcntl.c.
- */
-extern struct notifier_block acpi_processor_latency_notifier;
-int acpi_processor_set_power_policy(struct acpi_processor *);
-#else
-static inline int processor_cntl_external(void) {return 0;}
-static inline int processor_pm_external(void) {return 0;}
-static inline int processor_pmperf_external(void) {return 0;}
-static inline int processor_pmthr_external(void) {return 0;}
-static inline int processor_notify_external(struct acpi_processor *pr,
-                       int event, int type)
-{
-       return 0;
-}
-static inline void processor_extcntl_init(void) {}
-static inline int processor_extcntl_prepare(struct acpi_processor *pr)
-{
-       return 0;
-}
-#endif /* CONFIG_PROCESSOR_EXTERNAL_CONTROL */
-
-#ifdef CONFIG_XEN
-static inline void xen_convert_pct_reg(struct xen_pct_register *xpct,
-       struct acpi_pct_register *apct)
-{
-       xpct->descriptor = apct->descriptor;
-       xpct->length     = apct->length;
-       xpct->space_id   = apct->space_id;
-       xpct->bit_width  = apct->bit_width;
-       xpct->bit_offset = apct->bit_offset;
-       xpct->reserved   = apct->reserved;
-       xpct->address    = apct->address;
-}
-
-static inline void xen_convert_pss_states(struct xen_processor_px *xpss,
-       struct acpi_processor_px *apss, int state_count)
-{
-       int i;
-       for(i=0; i<state_count; i++) {
-               xpss->core_frequency     = apss->core_frequency;
-               xpss->power              = apss->power;
-               xpss->transition_latency = apss->transition_latency;
-               xpss->bus_master_latency = apss->bus_master_latency;
-               xpss->control            = apss->control;
-               xpss->status             = apss->status;
-               xpss++;
-               apss++;
-       }
-}
-
-static inline void xen_convert_psd_pack(struct xen_psd_package *xpsd,
-       struct acpi_psd_package *apsd)
-{
-       xpsd->num_entries    = apsd->num_entries;
-       xpsd->revision       = apsd->revision;
-       xpsd->domain         = apsd->domain;
-       xpsd->coord_type     = apsd->coord_type;
-       xpsd->num_processors = apsd->num_processors;
-}
-
-#endif /* CONFIG_XEN */
-
 #endif