Skip to content

Commit

Permalink
powernow-k8: Cleanup module request
Browse files Browse the repository at this point in the history
Check whether we've actually already loaded acpi-cpufreq before
requesting it.

Signed-off-by: Borislav Petkov <bp@suse.de>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
  • Loading branch information
Borislav Petkov authored and Rafael J. Wysocki committed Feb 1, 2013
1 parent 9d95046 commit 4827ea6
Showing 1 changed file with 19 additions and 2 deletions.
21 changes: 19 additions & 2 deletions drivers/cpufreq/powernow-k8.c
Original file line number Diff line number Diff line change
Expand Up @@ -1249,15 +1249,32 @@ static struct cpufreq_driver cpufreq_amd64_driver = {
.attr = powernow_k8_attr,
};

static void __request_acpi_cpufreq(void)
{
const char *cur_drv, *drv = "acpi-cpufreq";

cur_drv = cpufreq_get_current_driver();
if (!cur_drv)
goto request;

if (strncmp(cur_drv, drv, min_t(size_t, strlen(cur_drv), strlen(drv))))
pr_warn(PFX "WTF driver: %s\n", cur_drv);

return;

request:
pr_warn(PFX "This CPU is not supported anymore, using acpi-cpufreq instead.\n");
request_module(drv);
}

/* driver entry point for init */
static int __cpuinit powernowk8_init(void)
{
unsigned int i, supported_cpus = 0;
int rv;

if (static_cpu_has(X86_FEATURE_HW_PSTATE)) {
pr_warn(PFX "this CPU is not supported anymore, using acpi-cpufreq instead.\n");
request_module("acpi-cpufreq");
__request_acpi_cpufreq();
return -ENODEV;
}

Expand Down

0 comments on commit 4827ea6

Please sign in to comment.