powernow-k8 driver should always try to get cpufreq info from ACPI.
Otherwise it will not be able to detect the transition latency correctly
which results in ondemand governor taking a wrong sampling rate which will
then result in sever performance loss.
Let the user not shoot himself in the foot and always compile in ACPI
support for powernow-k8.
This also fixes a wrong message if ACPI_PROCESSOR is compiled as a module and
#ifndef CONFIG_ACPI_PROCESSOR
path is chosen.
Signed-off-by: Thomas Renninger <trenn@suse.de>
Signed-off-by: Dave Jones <davej@redhat.com>
 config X86_POWERNOW_K8
        tristate "AMD Opteron/Athlon64 PowerNow!"
        select CPU_FREQ_TABLE
+       depends on ACPI && ACPI_PROCESSOR
        help
-         This adds the CPUFreq driver for mobile AMD Opteron/Athlon64 processors.
+         This adds the CPUFreq driver for K8/K10 Opteron/Athlon64 processors.
 
          To compile this driver as a module, choose M here: the
          module will be called powernow-k8.
 
          For details, take a look at <file:Documentation/cpu-freq/>.
 
-         If in doubt, say N.
-
-config X86_POWERNOW_K8_ACPI
-       bool
-       prompt "ACPI Support" if X86_32
-       depends on ACPI && X86_POWERNOW_K8 && ACPI_PROCESSOR
-       depends on !(X86_POWERNOW_K8 = y && ACPI_PROCESSOR = m)
-       default y
-       help
-         This provides access to the K8s Processor Performance States via ACPI.
-         This driver is probably required for CPUFreq to work with multi-socket and
-         SMP systems.  It is not required on at least some single-socket yet
-         multi-core systems, even if SMP is enabled.
-
-         It is safe to say Y here.
-
 config X86_GX_SUSPMOD
        tristate "Cyrix MediaGX/NatSemi Geode Suspend Modulation"
        depends on X86_32 && PCI
 
 
 #include <asm/msr.h>
 
-#ifdef CONFIG_X86_POWERNOW_K8_ACPI
 #include <linux/acpi.h>
 #include <linux/mutex.h>
 #include <acpi/processor.h>
-#endif
 
 #define PFX "powernow-k8: "
 #define VERSION "version 2.20.00"
        return -ENODEV;
 }
 
-#ifdef CONFIG_X86_POWERNOW_K8_ACPI
 static void powernow_k8_acpi_pst_values(struct powernow_k8_data *data,
                unsigned int index)
 {
        return 1000 * max_latency;
 }
 
-#else
-static int powernow_k8_cpu_init_acpi(struct powernow_k8_data *data)
-{
-       return -ENODEV;
-}
-static void powernow_k8_cpu_exit_acpi(struct powernow_k8_data *data)
-{
-       return;
-}
-static void powernow_k8_acpi_pst_values(struct powernow_k8_data *data,
-               unsigned int index)
-{
-       return;
-}
-static int get_transition_latency(struct powernow_k8_data *data) { return 0; }
-#endif /* CONFIG_X86_POWERNOW_K8_ACPI */
-
 /* Take a frequency, and issue the fid/vid transition command */
 static int transition_frequency_fidvid(struct powernow_k8_data *data,
                unsigned int index)
                 * an UP version, and is deprecated by AMD.
                 */
                if (num_online_cpus() != 1) {
-#ifndef CONFIG_ACPI_PROCESSOR
-                       printk(KERN_ERR PFX
-                               "ACPI Processor support is required for "
-                               "SMP systems but is absent. Please load the "
-                               "ACPI Processor module before starting this "
-                               "driver.\n");
-#else
                        printk(KERN_ERR FW_BUG PFX "Your BIOS does not provide"
                               " ACPI _PSS objects in a way that Linux "
                               "understands. Please report this to the Linux "
                               "ACPI maintainers and complain to your BIOS "
                               "vendor.\n");
-#endif
                        kfree(data);
                        return -ENODEV;
                }
 
         * frequency is in kHz */
        struct cpufreq_frequency_table  *powernow_table;
 
-#ifdef CONFIG_X86_POWERNOW_K8_ACPI
        /* the acpi table needs to be kept. it's only available if ACPI was
         * used to determine valid frequency/vid/fid states */
        struct acpi_processor_performance acpi_data;
-#endif
+
        /* we need to keep track of associated cores, but let cpufreq
         * handle hotplug events - so just point at cpufreq pol->cpus
         * structure */
 
 static void powernow_k8_acpi_pst_values(struct powernow_k8_data *data, unsigned int index);
 
-#ifdef CONFIG_X86_POWERNOW_K8_ACPI
 static int fill_powernow_table_pstate(struct powernow_k8_data *data, struct cpufreq_frequency_table *powernow_table);
 static int fill_powernow_table_fidvid(struct powernow_k8_data *data, struct cpufreq_frequency_table *powernow_table);
-#endif
 
 #ifdef CONFIG_SMP
 static inline void define_siblings(int cpu, cpumask_t cpu_sharedcore_mask[])