At present, drivers/Makefile will subst =m to =y for CONFIG_HYPERV for hv subdir. Also, drivers/hv/Makefile replaces =m to =y to build in hv_common.c that is needed for the drivers. Moreover, vmbus driver is built if CONFIG_HYPER is set, either loadable or builtin.
This is not a good approach. CONFIG_HYPERV is really an umbrella config that encompasses builtin code and various other things and not a dedicated config option for VMBUS. Vmbus should really have a config option just like CONFIG_HYPERV_BALLOON etc. This small series introduces CONFIG_HYPERV_VMBUS to build VMBUS driver and make that distinction explicit. With that CONFIG_HYPERV could be changed to bool. For now, hv_common.c is left as is to reduce conflicts for upcoming patches, but once merges are mostly done, that and some others should be moved to virt/hyperv directory. Mukesh Rathor (2): hyper-v: Add CONFIG_HYPERV_VMBUS option hyper-v: Make CONFIG_HYPERV bool drivers/Makefile | 2 +- drivers/gpu/drm/Kconfig | 2 +- drivers/hid/Kconfig | 2 +- drivers/hv/Kconfig | 14 ++++++++++---- drivers/hv/Makefile | 4 ++-- drivers/input/serio/Kconfig | 4 ++-- drivers/net/hyperv/Kconfig | 2 +- drivers/pci/Kconfig | 2 +- drivers/scsi/Kconfig | 2 +- drivers/uio/Kconfig | 2 +- drivers/video/fbdev/Kconfig | 2 +- include/asm-generic/mshyperv.h | 8 +++++--- net/vmw_vsock/Kconfig | 2 +- 13 files changed, 28 insertions(+), 20 deletions(-) -- 2.36.1.vfs.0.0