cpufreq.c (910c6e881c3a610dfd7575b96975d4df21e3a920) | cpufreq.c (1aefc75b2449eb68a6fc3ca932e2a4ee353b748d) |
---|---|
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> --- 333 unchanged lines hidden (view full) --- 342 adjust_jiffies(CPUFREQ_PRECHANGE, freqs); 343 break; 344 345 case CPUFREQ_POSTCHANGE: 346 adjust_jiffies(CPUFREQ_POSTCHANGE, freqs); 347 pr_debug("FREQ: %lu - CPU: %lu\n", 348 (unsigned long)freqs->new, (unsigned long)freqs->cpu); 349 trace_cpu_frequency(freqs->new, freqs->cpu); | 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> --- 333 unchanged lines hidden (view full) --- 342 adjust_jiffies(CPUFREQ_PRECHANGE, freqs); 343 break; 344 345 case CPUFREQ_POSTCHANGE: 346 adjust_jiffies(CPUFREQ_POSTCHANGE, freqs); 347 pr_debug("FREQ: %lu - CPU: %lu\n", 348 (unsigned long)freqs->new, (unsigned long)freqs->cpu); 349 trace_cpu_frequency(freqs->new, freqs->cpu); |
350 cpufreq_stats_record_transition(policy, freqs->new); |
|
350 srcu_notifier_call_chain(&cpufreq_transition_notifier_list, 351 CPUFREQ_POSTCHANGE, freqs); 352 if (likely(policy) && likely(policy->cpu == freqs->cpu)) 353 policy->cur = freqs->new; 354 break; 355 } 356} 357 --- 745 unchanged lines hidden (view full) --- 1103 struct kobject *kobj; 1104 struct completion *cmp; 1105 1106 if (notify) 1107 blocking_notifier_call_chain(&cpufreq_policy_notifier_list, 1108 CPUFREQ_REMOVE_POLICY, policy); 1109 1110 down_write(&policy->rwsem); | 351 srcu_notifier_call_chain(&cpufreq_transition_notifier_list, 352 CPUFREQ_POSTCHANGE, freqs); 353 if (likely(policy) && likely(policy->cpu == freqs->cpu)) 354 policy->cur = freqs->new; 355 break; 356 } 357} 358 --- 745 unchanged lines hidden (view full) --- 1104 struct kobject *kobj; 1105 struct completion *cmp; 1106 1107 if (notify) 1108 blocking_notifier_call_chain(&cpufreq_policy_notifier_list, 1109 CPUFREQ_REMOVE_POLICY, policy); 1110 1111 down_write(&policy->rwsem); |
1112 cpufreq_stats_free_table(policy); |
|
1111 cpufreq_remove_dev_symlink(policy); 1112 kobj = &policy->kobj; 1113 cmp = &policy->kobj_unregister; 1114 up_write(&policy->rwsem); 1115 kobject_put(kobj); 1116 1117 /* 1118 * We need to make sure that the underlying kobj is --- 138 unchanged lines hidden (view full) --- 1257 __func__, policy->cpu, policy->cur); 1258 } 1259 } 1260 1261 if (new_policy) { 1262 ret = cpufreq_add_dev_interface(policy); 1263 if (ret) 1264 goto out_exit_policy; | 1113 cpufreq_remove_dev_symlink(policy); 1114 kobj = &policy->kobj; 1115 cmp = &policy->kobj_unregister; 1116 up_write(&policy->rwsem); 1117 kobject_put(kobj); 1118 1119 /* 1120 * We need to make sure that the underlying kobj is --- 138 unchanged lines hidden (view full) --- 1259 __func__, policy->cpu, policy->cur); 1260 } 1261 } 1262 1263 if (new_policy) { 1264 ret = cpufreq_add_dev_interface(policy); 1265 if (ret) 1266 goto out_exit_policy; |
1267 1268 cpufreq_stats_create_table(policy); |
|
1265 blocking_notifier_call_chain(&cpufreq_policy_notifier_list, 1266 CPUFREQ_CREATE_POLICY, policy); 1267 1268 write_lock_irqsave(&cpufreq_driver_lock, flags); 1269 list_add(&policy->policy_list, &cpufreq_policy_list); 1270 write_unlock_irqrestore(&cpufreq_driver_lock, flags); 1271 } 1272 --- 1306 unchanged lines hidden --- | 1269 blocking_notifier_call_chain(&cpufreq_policy_notifier_list, 1270 CPUFREQ_CREATE_POLICY, policy); 1271 1272 write_lock_irqsave(&cpufreq_driver_lock, flags); 1273 list_add(&policy->policy_list, &cpufreq_policy_list); 1274 write_unlock_irqrestore(&cpufreq_driver_lock, flags); 1275 } 1276 --- 1306 unchanged lines hidden --- |