cpufreq.c (3a3e9e06d0c11b8efa95933a88c9e67209fa4330) | cpufreq.c (d5b73cd870e2b049ef566aec2791dbf5fd26a7ec) |
---|---|
1/* 2 * linux/drivers/cpufreq/cpufreq.c 3 * 4 * Copyright (C) 2001 Russell King 5 * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> 6 * (C) 2013 Viresh Kumar <viresh.kumar@linaro.org> 7 * 8 * Oct 2005 - Ashok Raj <ashok.raj@intel.com> --- 859 unchanged lines hidden (view full) --- 868 return ret; 869} 870 871static void cpufreq_init_policy(struct cpufreq_policy *policy) 872{ 873 struct cpufreq_policy new_policy; 874 int ret = 0; 875 | 1/* 2 * linux/drivers/cpufreq/cpufreq.c 3 * 4 * Copyright (C) 2001 Russell King 5 * (C) 2002 - 2003 Dominik Brodowski <linux@brodo.de> 6 * (C) 2013 Viresh Kumar <viresh.kumar@linaro.org> 7 * 8 * Oct 2005 - Ashok Raj <ashok.raj@intel.com> --- 859 unchanged lines hidden (view full) --- 868 return ret; 869} 870 871static void cpufreq_init_policy(struct cpufreq_policy *policy) 872{ 873 struct cpufreq_policy new_policy; 874 int ret = 0; 875 |
876 memcpy(&new_policy, policy, sizeof(struct cpufreq_policy)); | 876 memcpy(&new_policy, policy, sizeof(*policy)); |
877 /* assure that the starting sequence is run in __cpufreq_set_policy */ 878 policy->governor = NULL; 879 880 /* set default policy */ 881 ret = __cpufreq_set_policy(policy, &new_policy); 882 policy->user_policy.policy = policy->policy; 883 policy->user_policy.governor = policy->governor; 884 --- 928 unchanged lines hidden (view full) --- 1813 struct cpufreq_policy *cpu_policy; 1814 if (!policy) 1815 return -EINVAL; 1816 1817 cpu_policy = cpufreq_cpu_get(cpu); 1818 if (!cpu_policy) 1819 return -EINVAL; 1820 | 877 /* assure that the starting sequence is run in __cpufreq_set_policy */ 878 policy->governor = NULL; 879 880 /* set default policy */ 881 ret = __cpufreq_set_policy(policy, &new_policy); 882 policy->user_policy.policy = policy->policy; 883 policy->user_policy.governor = policy->governor; 884 --- 928 unchanged lines hidden (view full) --- 1813 struct cpufreq_policy *cpu_policy; 1814 if (!policy) 1815 return -EINVAL; 1816 1817 cpu_policy = cpufreq_cpu_get(cpu); 1818 if (!cpu_policy) 1819 return -EINVAL; 1820 |
1821 memcpy(policy, cpu_policy, sizeof(struct cpufreq_policy)); | 1821 memcpy(policy, cpu_policy, sizeof(*policy)); |
1822 1823 cpufreq_cpu_put(cpu_policy); 1824 return 0; 1825} 1826EXPORT_SYMBOL(cpufreq_get_policy); 1827 1828/* 1829 * data : current policy. 1830 * policy : policy to be set. 1831 */ 1832static int __cpufreq_set_policy(struct cpufreq_policy *policy, 1833 struct cpufreq_policy *new_policy) 1834{ 1835 int ret = 0, failed = 1; 1836 1837 pr_debug("setting new policy for CPU %u: %u - %u kHz\n", new_policy->cpu, 1838 new_policy->min, new_policy->max); 1839 | 1822 1823 cpufreq_cpu_put(cpu_policy); 1824 return 0; 1825} 1826EXPORT_SYMBOL(cpufreq_get_policy); 1827 1828/* 1829 * data : current policy. 1830 * policy : policy to be set. 1831 */ 1832static int __cpufreq_set_policy(struct cpufreq_policy *policy, 1833 struct cpufreq_policy *new_policy) 1834{ 1835 int ret = 0, failed = 1; 1836 1837 pr_debug("setting new policy for CPU %u: %u - %u kHz\n", new_policy->cpu, 1838 new_policy->min, new_policy->max); 1839 |
1840 memcpy(&new_policy->cpuinfo, &policy->cpuinfo, 1841 sizeof(struct cpufreq_cpuinfo)); | 1840 memcpy(&new_policy->cpuinfo, &policy->cpuinfo, sizeof(policy->cpuinfo)); |
1842 1843 if (new_policy->min > policy->max || new_policy->max < policy->min) { 1844 ret = -EINVAL; 1845 goto error_out; 1846 } 1847 1848 /* verify the cpu speed can be set within this limit */ 1849 ret = cpufreq_driver->verify(new_policy); --- 102 unchanged lines hidden (view full) --- 1952 } 1953 1954 if (unlikely(lock_policy_rwsem_write(cpu))) { 1955 ret = -EINVAL; 1956 goto fail; 1957 } 1958 1959 pr_debug("updating policy for CPU %u\n", cpu); | 1841 1842 if (new_policy->min > policy->max || new_policy->max < policy->min) { 1843 ret = -EINVAL; 1844 goto error_out; 1845 } 1846 1847 /* verify the cpu speed can be set within this limit */ 1848 ret = cpufreq_driver->verify(new_policy); --- 102 unchanged lines hidden (view full) --- 1951 } 1952 1953 if (unlikely(lock_policy_rwsem_write(cpu))) { 1954 ret = -EINVAL; 1955 goto fail; 1956 } 1957 1958 pr_debug("updating policy for CPU %u\n", cpu); |
1960 memcpy(&new_policy, policy, sizeof(struct cpufreq_policy)); | 1959 memcpy(&new_policy, policy, sizeof(*policy)); |
1961 new_policy.min = policy->user_policy.min; 1962 new_policy.max = policy->user_policy.max; 1963 new_policy.policy = policy->user_policy.policy; 1964 new_policy.governor = policy->user_policy.governor; 1965 1966 /* 1967 * BIOS might change freq behind our back 1968 * -> ask driver for current freq and notify governors about a change --- 182 unchanged lines hidden --- | 1960 new_policy.min = policy->user_policy.min; 1961 new_policy.max = policy->user_policy.max; 1962 new_policy.policy = policy->user_policy.policy; 1963 new_policy.governor = policy->user_policy.governor; 1964 1965 /* 1966 * BIOS might change freq behind our back 1967 * -> ask driver for current freq and notify governors about a change --- 182 unchanged lines hidden --- |