linux_dsm_epyc7002/drivers/cpufreq
Viresh Kumar b24b6478e6 cpufreq: Reorder cpufreq_online() error code path
Ideally the de-allocation of resources should happen in the exact
opposite order in which they were allocated. It helps maintain the code
in long term, even if nothing really breaks with incorrect ordering.

That wasn't followed in cpufreq_online() and it has some
inconsistencies.  For example, the symlinks were created from within
the locked region while they are removed only after putting the locks.
Also ->exit() should have been called only after the symlinks are
removed and the lock is dropped, as that was the case when ->init()
was first called.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
[ rjw: Subject ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2018-02-27 18:22:12 +01:00
..
acpi-cpufreq.c x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-15 01:15:52 +01:00
amd_freq_sensitivity.c cpufreq: AMD: Ignore the check for ProcFeedback in ST/CZ 2018-02-07 11:26:37 +01:00
arm_big_little_dt.c cpufreq: arm_big_little: make cpufreq_arm_bL_ops structures const 2017-11-08 23:22:20 +01:00
arm_big_little.c cpu_cooling: Keep only one of_cpufreq*cooling_register() helper 2017-12-07 22:52:01 +01:00
arm_big_little.h cpufreq: arm_big_little: make function arguments and structure pointer const 2017-11-08 23:22:19 +01:00
armada-37xx-cpufreq.c cpufreq: Add DVFS support for Armada 37xx 2017-12-16 17:11:43 +01:00
blackfin-cpufreq.c
bmips-cpufreq.c cpufreq: bmips-cpufreq: CPUfreq driver for Broadcom's BMIPS SoCs 2017-02-09 01:22:44 +01:00
brcmstb-avs-cpufreq.c cpufreq: brcmstb-avs-cpufreq: remove unnecessary platform_set_drvdata() 2017-02-09 01:22:46 +01:00
cppc_cpufreq.c cpufreq: remove setting of policy->cpu in policy->cpus during init 2017-08-18 01:41:37 +02:00
cpufreq_conservative.c cpufreq: governor: Drop min_sampling_rate 2017-07-22 02:25:20 +02:00
cpufreq_governor_attr_set.c
cpufreq_governor.c cpufreq: governor: Ensure sufficiently large sampling intervals 2017-12-18 12:09:39 +01:00
cpufreq_governor.h cpufreq: Replace "max_transition_latency" with "dynamic_switching" 2017-07-26 00:15:45 +02:00
cpufreq_ondemand.c cpufreq: governor: Drop min_sampling_rate 2017-07-22 02:25:20 +02:00
cpufreq_ondemand.h
cpufreq_performance.c
cpufreq_powersave.c
cpufreq_stats.c cpufreq: stats: Change return type of cpufreq_stats_update() as void 2018-01-05 13:22:46 +01:00
cpufreq_userspace.c
cpufreq-dt-platdev.c cpufreq: mediatek: add mediatek related projects into blacklist 2017-12-13 01:43:44 +01:00
cpufreq-dt.c cpu_cooling: Keep only one of_cpufreq*cooling_register() helper 2017-12-07 22:52:01 +01:00
cpufreq-dt.h
cpufreq-nforce2.c cpufreq: Add CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING cpufreq driver flag 2017-07-26 00:15:46 +02:00
cpufreq.c cpufreq: Reorder cpufreq_online() error code path 2018-02-27 18:22:12 +01:00
cris-artpec3-cpufreq.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
cris-etraxfs-cpufreq.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
davinci-cpufreq.c
e_powersaver.c
elanfreq.c cpufreq: Add CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING cpufreq driver flag 2017-07-26 00:15:46 +02:00
exynos5440-cpufreq.c cpufreq: Add and use cpufreq_for_each_{valid_,}entry_idx() 2018-02-08 10:21:39 +01:00
freq_table.c cpufreq: Add and use cpufreq_for_each_{valid_,}entry_idx() 2018-02-08 10:21:39 +01:00
gx-suspmod.c cpufreq: Add CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING cpufreq driver flag 2017-07-26 00:15:46 +02:00
highbank-cpufreq.c
ia64-acpi-cpufreq.c cpufreq/ia64: Replace racy task affinity logic 2017-04-15 12:20:55 +02:00
imx6q-cpufreq.c arm: imx: Add MODULE_ALIAS for cpufreq 2018-02-08 10:21:39 +01:00
intel_pstate.c cpufreq: intel_pstate: Enable HWP during system resume on CPU0 2018-02-08 10:21:38 +01:00
Kconfig cpufreq: remove at32ap-cpufreq 2018-02-07 11:44:23 +01:00
Kconfig.arm cpufreq: Add DVFS support for Armada 37xx 2017-12-16 17:11:43 +01:00
Kconfig.powerpc
Kconfig.x86
kirkwood-cpufreq.c cpufreq: kirkwood-cpufreq:- Handle return value of clk_prepare_enable() 2017-05-30 00:09:41 +02:00
longhaul.c Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2018-02-14 17:02:15 -08:00
longhaul.h
longrun.c cpufreq: Don't set transition_latency for setpolicy drivers 2017-07-26 00:15:43 +02:00
loongson1-cpufreq.c
loongson2_cpufreq.c cpufreq: Loongson2: constify platform_device_id 2017-08-18 01:44:21 +02:00
Makefile cpufreq: remove at32ap-cpufreq 2018-02-07 11:44:23 +01:00
maple-cpufreq.c
mediatek-cpufreq.c cpufreq: mediatek: Convert pr_warn() to pr_debug() 2018-02-27 18:22:12 +01:00
mvebu-cpufreq.c cpufreq: mvebu: Free opp if registering failed 2017-12-16 02:29:43 +01:00
omap-cpufreq.c PM / OPP: Update OPP users to put reference 2017-01-30 09:22:21 +01:00
p4-clockmod.c x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-15 01:15:52 +01:00
pasemi-cpufreq.c cpufreq: Add and use cpufreq_for_each_{valid_,}entry_idx() 2018-02-08 10:21:39 +01:00
pcc-cpufreq.c
pmac32-cpufreq.c cpufreq: Add CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING cpufreq driver flag 2017-07-26 00:15:46 +02:00
pmac64-cpufreq.c cpufreq: Convert to using %pOF instead of full_name 2017-08-25 01:20:46 +02:00
powernow-k6.c
powernow-k7.c x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-15 01:15:52 +01:00
powernow-k7.h
powernow-k8.c cpufreq: powernow-k8: pr_err() strings should end with newlines 2017-10-03 02:51:08 +02:00
powernow-k8.h
powernv-cpufreq.c cpufreq: powernv: Dont assume distinct pstate values for nominal and pmin 2018-01-12 13:44:08 +01:00
ppc_cbe_cpufreq_pervasive.c
ppc_cbe_cpufreq_pmi.c cpufreq: Remove CPUFREQ_START notifier event 2017-02-04 00:05:30 +01:00
ppc_cbe_cpufreq.c
ppc_cbe_cpufreq.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
pxa2xx-cpufreq.c cpufreq: pxa: convert to clock API 2017-10-21 13:20:49 +02:00
pxa3xx-cpufreq.c
qoriq-cpufreq.c cpu_cooling: Keep only one of_cpufreq*cooling_register() helper 2017-12-07 22:52:01 +01:00
s3c24xx-cpufreq-debugfs.c
s3c24xx-cpufreq.c
s3c64xx-cpufreq.c
s3c2410-cpufreq.c
s3c2412-cpufreq.c
s3c2416-cpufreq.c cpufreq: s3c2416: double free on driver init error path 2017-02-09 01:22:45 +01:00
s3c2440-cpufreq.c
s5pv210-cpufreq.c cpufreq: s5pv210: add missing of_node_put() 2017-07-26 22:54:01 +02:00
sa1100-cpufreq.c cpufreq: Add CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING cpufreq driver flag 2017-07-26 00:15:46 +02:00
sa1110-cpufreq.c cpufreq: Add CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING cpufreq driver flag 2017-07-26 00:15:46 +02:00
sc520_freq.c
scpi-cpufreq.c cpufreq: scpi: fix error return code in scpi_cpufreq_init() 2018-02-08 10:21:15 +01:00
sfi-cpufreq.c cpufreq: sfi: make freq_table static 2017-06-24 01:43:21 +02:00
sh-cpufreq.c cpufreq: Add CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING cpufreq driver flag 2017-07-26 00:15:46 +02:00
sparc-us2e-cpufreq.c cpufreq/sparc-us2e: Replace racy task affinity logic 2017-04-15 12:20:56 +02:00
sparc-us3-cpufreq.c cpufreq/sparc-us3: Replace racy task affinity logic 2017-04-15 12:20:55 +02:00
spear-cpufreq.c cpufreq: SPEAr: pr_err() strings should end with newlines 2017-10-03 02:52:17 +02:00
speedstep-centrino.c x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-15 01:15:52 +01:00
speedstep-ich.c cpufreq: speedstep: remove unnecessary static in speedstep_detect_chipset() 2017-07-16 02:12:35 +02:00
speedstep-lib.c x86/cpu: Rename cpu_data.x86_mask to cpu_data.x86_stepping 2018-02-15 01:15:52 +01:00
speedstep-lib.h
speedstep-smi.c cpufreq: Add CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING cpufreq driver flag 2017-07-26 00:15:46 +02:00
sti-cpufreq.c cpufreq: Convert to using %pOF instead of full_name 2017-08-25 01:20:46 +02:00
tango-cpufreq.c cpufreq: dt: Don't use generic platdev driver for tango 2017-07-22 02:20:59 +02:00
tegra20-cpufreq.c
tegra124-cpufreq.c
tegra186-cpufreq.c cpufreq: Add Tegra186 cpufreq driver 2017-04-19 23:23:08 +02:00
ti-cpufreq.c cpufreq: ti-cpufreq: Add support for multiple regulators 2017-12-17 19:17:43 +01:00
unicore2-cpufreq.c cpufreq: Add CPUFREQ_NO_AUTO_DYNAMIC_SWITCHING cpufreq driver flag 2017-07-26 00:15:46 +02:00
vexpress-spc-cpufreq.c cpufreq: arm_big_little: make cpufreq_arm_bL_ops structures const 2017-11-08 23:22:20 +01:00