Drivers: hv: Move Hyper-V extended capability check to arch neutral code
authorMichael Kelley <mikelley@microsoft.com>
Wed, 2 Jun 2021 21:36:44 +0000 (14:36 -0700)
committerWei Liu <wei.liu@kernel.org>
Sat, 5 Jun 2021 10:22:34 +0000 (10:22 +0000)
commita4d7e8ae4a541557d7a2c815835b786c18c3613c
treebf4fa1616a306ed14f80e85e0621a2f00a07e0bc
parent9de6655cc5a6a1febc514465c87c24a0e96d8dba
Drivers: hv: Move Hyper-V extended capability check to arch neutral code

The extended capability query code is currently under arch/x86, but it
is architecture neutral, and is used by arch neutral code in the Hyper-V
balloon driver. Hence the balloon driver fails to build on other
architectures.

Fix by moving the ext cap code out from arch/x86.  Because it is also
called from built-in architecture specific code, it can't be in a module,
so the Makefile treats as built-in even when CONFIG_HYPERV is "m".  Also
drivers/Makefile is tweaked because this is the first occurrence of a
Hyper-V file that is built-in even when CONFIG_HYPERV is "m".

While here, update the hypercall status check to use the new helper
function instead of open coding. No functional change.

Signed-off-by: Michael Kelley <mikelley@microsoft.com>
Reviewed-by: Sunil Muthuswamy <sunilmut@microsoft.com>
Link: https://lore.kernel.org/r/1622669804-2016-1-git-send-email-mikelley@microsoft.com
Signed-off-by: Wei Liu <wei.liu@kernel.org>
arch/x86/hyperv/hv_init.c
drivers/Makefile
drivers/hv/Makefile
drivers/hv/hv_common.c [new file with mode: 0644]