Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq

* 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:
[CPUFREQ] Add p4-clockmod sysfs-ui removal to feature-removal schedule.
Revert "[CPUFREQ] Disable sysfs ui for p4-clockmod."

+27 -35
+9
Documentation/feature-removal-schedule.txt
··· 335 335 Secmark, it is time to deprecate the older mechanism and start the 336 336 process of removing the old code. 337 337 Who: Paul Moore <paul.moore@hp.com> 338 + --------------------------- 339 + 340 + What: sysfs ui for changing p4-clockmod parameters 341 + When: September 2009 342 + Why: See commits 129f8ae9b1b5be94517da76009ea956e89104ce8 and 343 + e088e4c9cdb618675874becb91b2fd581ee707e6. 344 + Removal is subject to fixing any remaining bugs in ACPI which may 345 + cause the thermal throttling not to happen at the right time. 346 + Who: Dave Jones <davej@redhat.com>, Matthew Garrett <mjg@redhat.com>
-1
arch/x86/kernel/cpu/cpufreq/p4-clockmod.c
··· 277 277 .name = "p4-clockmod", 278 278 .owner = THIS_MODULE, 279 279 .attr = p4clockmod_attr, 280 - .hide_interface = 1, 281 280 }; 282 281 283 282
+18 -33
drivers/cpufreq/cpufreq.c
··· 754 754 .release = cpufreq_sysfs_release, 755 755 }; 756 756 757 - static struct kobj_type ktype_empty_cpufreq = { 758 - .sysfs_ops = &sysfs_ops, 759 - .release = cpufreq_sysfs_release, 760 - }; 761 - 762 757 763 758 /** 764 759 * cpufreq_add_dev - add a CPU device ··· 887 892 memcpy(&new_policy, policy, sizeof(struct cpufreq_policy)); 888 893 889 894 /* prepare interface data */ 890 - if (!cpufreq_driver->hide_interface) { 891 - ret = kobject_init_and_add(&policy->kobj, &ktype_cpufreq, 892 - &sys_dev->kobj, "cpufreq"); 895 + ret = kobject_init_and_add(&policy->kobj, &ktype_cpufreq, &sys_dev->kobj, 896 + "cpufreq"); 897 + if (ret) 898 + goto err_out_driver_exit; 899 + 900 + /* set up files for this cpu device */ 901 + drv_attr = cpufreq_driver->attr; 902 + while ((drv_attr) && (*drv_attr)) { 903 + ret = sysfs_create_file(&policy->kobj, &((*drv_attr)->attr)); 893 904 if (ret) 894 905 goto err_out_driver_exit; 895 - 896 - /* set up files for this cpu device */ 897 - drv_attr = cpufreq_driver->attr; 898 - while ((drv_attr) && (*drv_attr)) { 899 - ret = sysfs_create_file(&policy->kobj, 900 - &((*drv_attr)->attr)); 901 - if (ret) 902 - goto err_out_driver_exit; 903 - drv_attr++; 904 - } 905 - if (cpufreq_driver->get) { 906 - ret = sysfs_create_file(&policy->kobj, 907 - &cpuinfo_cur_freq.attr); 908 - if (ret) 909 - goto err_out_driver_exit; 910 - } 911 - if (cpufreq_driver->target) { 912 - ret = sysfs_create_file(&policy->kobj, 913 - &scaling_cur_freq.attr); 914 - if (ret) 915 - goto err_out_driver_exit; 916 - } 917 - } else { 918 - ret = kobject_init_and_add(&policy->kobj, &ktype_empty_cpufreq, 919 - &sys_dev->kobj, "cpufreq"); 906 + drv_attr++; 907 + } 908 + if (cpufreq_driver->get) { 909 + ret = sysfs_create_file(&policy->kobj, &cpuinfo_cur_freq.attr); 910 + if (ret) 911 + goto err_out_driver_exit; 912 + } 913 + if (cpufreq_driver->target) { 914 + ret = sysfs_create_file(&policy->kobj, &scaling_cur_freq.attr); 920 915 if (ret) 921 916 goto err_out_driver_exit; 922 917 }
-1
include/linux/cpufreq.h
··· 234 234 int (*suspend) (struct cpufreq_policy *policy, pm_message_t pmsg); 235 235 int (*resume) (struct cpufreq_policy *policy); 236 236 struct freq_attr **attr; 237 - bool hide_interface; 238 237 }; 239 238 240 239 /* flags */