cpufreq.c (d5fe85af85367d5892e4308f596de4e2a5fb9017) | cpufreq.c (955ef4833574636819cd269cfbae12f79cbde63a) |
---|---|
1/* 2 * linux/drivers/cpufreq/cpufreq.c 3 * 4 * Copyright (C) 2001 Russell King 5 * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> 6 * 7 * Oct 2005 - Ashok Raj <ashok.raj@intel.com> 8 * Added handling for CPU hotplug --- 1715 unchanged lines hidden (view full) --- 1724 /* save old, working values */ 1725 struct cpufreq_governor *old_gov = data->governor; 1726 1727 pr_debug("governor switch\n"); 1728 1729 /* end old governor */ 1730 if (data->governor) { 1731 __cpufreq_governor(data, CPUFREQ_GOV_STOP); | 1/* 2 * linux/drivers/cpufreq/cpufreq.c 3 * 4 * Copyright (C) 2001 Russell King 5 * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> 6 * 7 * Oct 2005 - Ashok Raj <ashok.raj@intel.com> 8 * Added handling for CPU hotplug --- 1715 unchanged lines hidden (view full) --- 1724 /* save old, working values */ 1725 struct cpufreq_governor *old_gov = data->governor; 1726 1727 pr_debug("governor switch\n"); 1728 1729 /* end old governor */ 1730 if (data->governor) { 1731 __cpufreq_governor(data, CPUFREQ_GOV_STOP); |
1732 unlock_policy_rwsem_write(policy->cpu); |
|
1732 __cpufreq_governor(data, 1733 CPUFREQ_GOV_POLICY_EXIT); | 1733 __cpufreq_governor(data, 1734 CPUFREQ_GOV_POLICY_EXIT); |
1735 lock_policy_rwsem_write(policy->cpu); |
|
1734 } 1735 1736 /* start new governor */ 1737 data->governor = policy->governor; 1738 if (!__cpufreq_governor(data, CPUFREQ_GOV_POLICY_INIT)) { | 1736 } 1737 1738 /* start new governor */ 1739 data->governor = policy->governor; 1740 if (!__cpufreq_governor(data, CPUFREQ_GOV_POLICY_INIT)) { |
1739 if (!__cpufreq_governor(data, CPUFREQ_GOV_START)) | 1741 if (!__cpufreq_governor(data, CPUFREQ_GOV_START)) { |
1740 failed = 0; | 1742 failed = 0; |
1741 else | 1743 } else { 1744 unlock_policy_rwsem_write(policy->cpu); |
1742 __cpufreq_governor(data, 1743 CPUFREQ_GOV_POLICY_EXIT); | 1745 __cpufreq_governor(data, 1746 CPUFREQ_GOV_POLICY_EXIT); |
1747 lock_policy_rwsem_write(policy->cpu); 1748 } |
|
1744 } 1745 1746 if (failed) { 1747 /* new governor failed, so re-start old one */ 1748 pr_debug("starting governor %s failed\n", 1749 data->governor->name); 1750 if (old_gov) { 1751 data->governor = old_gov; --- 225 unchanged lines hidden --- | 1749 } 1750 1751 if (failed) { 1752 /* new governor failed, so re-start old one */ 1753 pr_debug("starting governor %s failed\n", 1754 data->governor->name); 1755 if (old_gov) { 1756 data->governor = old_gov; --- 225 unchanged lines hidden --- |