There is no need for keeping mtrr_enabled, as it can easily be replaced
by testing mtrr_if to be not NULL.
Signed-off-by: Juergen Gross <[email protected]>
---
V4:
- new patch
---
arch/x86/kernel/cpu/mtrr/mtrr.c | 24 +++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)
diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.c b/arch/x86/kernel/cpu/mtrr/mtrr.c
index 9e1b478ac896..7eed5387e828 100644
--- a/arch/x86/kernel/cpu/mtrr/mtrr.c
+++ b/arch/x86/kernel/cpu/mtrr/mtrr.c
@@ -59,7 +59,6 @@
#define MTRR_TO_PHYS_WC_OFFSET 1000
u32 num_var_ranges;
-static bool mtrr_enabled;
unsigned int mtrr_usage_table[MTRR_MAX_VAR_RANGES];
static DEFINE_MUTEX(mtrr_mutex);
@@ -299,7 +298,7 @@ int mtrr_add_page(unsigned long base, unsigned long size,
int i, replace, error;
mtrr_type ltype;
- if (!mtrr_enabled)
+ if (!mtrr_if)
return -ENXIO;
error = mtrr_if->validate_add_page(base, size, type);
@@ -447,7 +446,7 @@ static int mtrr_check(unsigned long base, unsigned long size)
int mtrr_add(unsigned long base, unsigned long size, unsigned int type,
bool increment)
{
- if (!mtrr_enabled)
+ if (!mtrr_if)
return -ENODEV;
if (mtrr_check(base, size))
return -EINVAL;
@@ -476,7 +475,7 @@ int mtrr_del_page(int reg, unsigned long base, unsigned long size)
unsigned long lbase, lsize;
int error = -EINVAL;
- if (!mtrr_enabled)
+ if (!mtrr_if)
return -ENODEV;
max = num_var_ranges;
@@ -536,7 +535,7 @@ int mtrr_del_page(int reg, unsigned long base, unsigned long size)
*/
int mtrr_del(int reg, unsigned long base, unsigned long size)
{
- if (!mtrr_enabled)
+ if (!mtrr_if)
return -ENODEV;
if (mtrr_check(base, size))
return -EINVAL;
@@ -562,7 +561,7 @@ int arch_phys_wc_add(unsigned long base, unsigned long size)
{
int ret;
- if (pat_enabled() || !mtrr_enabled)
+ if (pat_enabled() || !mtrr_if)
return 0; /* Success! (We don't need to do anything.) */
ret = mtrr_add(base, size, MTRR_TYPE_WRCOMB, true);
@@ -751,22 +750,21 @@ void __init mtrr_bp_init(void)
}
if (mtrr_if) {
- mtrr_enabled = true;
set_num_var_ranges(mtrr_if == &generic_mtrr_ops);
init_table();
if (mtrr_if == &generic_mtrr_ops) {
/* BIOS may override */
- mtrr_enabled = get_mtrr_state();
-
- if (mtrr_enabled) {
+ if (get_mtrr_state()) {
memory_caching_control |= CACHE_MTRR | CACHE_PAT;
changed_by_mtrr_cleanup = mtrr_cleanup(phys_addr);
cache_cpu_init();
+ } else {
+ mtrr_if = NULL;
}
}
}
- if (!mtrr_enabled) {
+ if (!mtrr_if) {
pr_info("Disabled\n");
/*
@@ -807,7 +805,7 @@ void mtrr_save_state(void)
{
int first_cpu;
- if (!mtrr_enabled)
+ if (!mtrr_if)
return;
first_cpu = cpumask_first(cpu_online_mask);
@@ -852,7 +850,7 @@ void mtrr_bp_restore(void)
static int __init mtrr_init_finialize(void)
{
- if (!mtrr_enabled)
+ if (!mtrr_if)
return 0;
if (memory_caching_control & CACHE_MTRR) {
--
2.35.3