On Mon, Sep 25, 2017 at 09:25:38PM -0700, Nick Desaulniers wrote: > Fixes the warning: > arch/x86/kvm/vmx.c:64:32: warning: variable 'vmx_cpu_id' is not needed > and will not be emitted [-Wunneeded-internal-declaration]`` > > Other callers of MODULE_DEVICE_TABLE() seem to check their second > argument during driver init with the x86_match_cpu() function, if their > first argument to MODULE_DEVICE_TABLE() is x86cpu. The documentation > for x86_match_cpu() seems to agree. > > Suggested-by: Josh Triplett <josh@xxxxxxxxxxxxxxxx> > Signed-off-by: Nick Desaulniers <nick.desaulniers@xxxxxxxxx> Comments below. > --- > arch/x86/kernel/cpu/match.c | 2 +- > arch/x86/kvm/vmx.c | 7 ++++++- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kernel/cpu/match.c b/arch/x86/kernel/cpu/match.c > index e42117d5f4d7..fb1aeafa5cc7 100644 > --- a/arch/x86/kernel/cpu/match.c > +++ b/arch/x86/kernel/cpu/match.c > @@ -5,7 +5,7 @@ > #include <linux/slab.h> > > /** > - * x86_match_cpu - match current CPU again an array of x86_cpu_ids > + * x86_match_cpu - match current CPU against an array of x86_cpu_ids This is a good fix as well, but it shouldn't be in the same commit. > * @match: Pointer to array of x86_cpu_ids. Last entry terminated with > * {}. > * > diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c > index 6970249c09fc..e1a00b130935 100644 > --- a/arch/x86/kvm/vmx.c > +++ b/arch/x86/kvm/vmx.c > @@ -12074,7 +12074,12 @@ static struct kvm_x86_ops vmx_x86_ops __ro_after_init = { > > static int __init vmx_init(void) > { > - int r = kvm_init(&vmx_x86_ops, sizeof(struct vcpu_vmx), > + int r; > + > + if (!x86_match_cpu(vmx_cpu_id)) > + return -ENODEV; Does this make any other checks redundant and removable? > + > + r = kvm_init(&vmx_x86_ops, sizeof(struct vcpu_vmx), > __alignof__(struct vcpu_vmx), THIS_MODULE); > if (r) > return r; > -- > 2.11.0 >