mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-04-20 03:27:45 +07:00
arm64: Port deprecated instruction emulation to new sysctl interface
Currently, armv8_deprected.c takes charge of the "abi" sysctl
directory, which makes life difficult for other code that wants to
register sysctls in the same directory.
There is a "new" [1] sysctl registration interface that removes the
need to define ctl_tables for parent directories explicitly, which
is ideal here.
This patch ports register_insn_emulation_sysctl() over to the
register_sysctl() interface and removes the redundant ctl_table for
"abi".
Signed-off-by: Dave Martin <Dave.Martin@arm.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
[1] fea478d410
(sysctl: Add register_sysctl for normal sysctl
users)
The commit message notes an intent to port users of the
pre-existing interfaces over to register_sysctl(), though the
number of users of the new interface currently appears negligible.
Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
parent
b472db6cf8
commit
38b9aeb32f
@ -228,15 +228,7 @@ static int emulation_proc_handler(struct ctl_table *table, int write,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct ctl_table ctl_abi[] = {
|
static void __init register_insn_emulation_sysctl(void)
|
||||||
{
|
|
||||||
.procname = "abi",
|
|
||||||
.mode = 0555,
|
|
||||||
},
|
|
||||||
{ }
|
|
||||||
};
|
|
||||||
|
|
||||||
static void __init register_insn_emulation_sysctl(struct ctl_table *table)
|
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
@ -262,8 +254,7 @@ static void __init register_insn_emulation_sysctl(struct ctl_table *table)
|
|||||||
}
|
}
|
||||||
raw_spin_unlock_irqrestore(&insn_emulation_lock, flags);
|
raw_spin_unlock_irqrestore(&insn_emulation_lock, flags);
|
||||||
|
|
||||||
table->child = insns_sysctl;
|
register_sysctl("abi", insns_sysctl);
|
||||||
register_sysctl_table(table);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -644,7 +635,7 @@ static int __init armv8_deprecated_init(void)
|
|||||||
cpuhp_setup_state_nocalls(CPUHP_AP_ARM64_ISNDEP_STARTING,
|
cpuhp_setup_state_nocalls(CPUHP_AP_ARM64_ISNDEP_STARTING,
|
||||||
"arm64/isndep:starting",
|
"arm64/isndep:starting",
|
||||||
run_all_insn_set_hw_mode, NULL);
|
run_all_insn_set_hw_mode, NULL);
|
||||||
register_insn_emulation_sysctl(ctl_abi);
|
register_insn_emulation_sysctl();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user