From: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> Monday, November 26, 2018 11:57 AM > > > You created "null" hooks that do nothing, for no one in this patch > > > series, why? > > > > > > > hv_enable_vmbus_irq() and hv_disable_vmbus_irq() have non-null > > implementations in the ARM64 code in patch 2 of this series. The > > implementations are in the new file arch/arm64/hyperv/mshyperv.c. > > Or am I misunderstanding your point? > > So you use a hook in an earlier patch and then add it in a later one? > > Shouldn't you do it the other way around? As it is, the earlier patch > should not work properly, right? The earlier patch implements the hook on the ARM64 side but it is unused -- it's not called. The later patch then calls it. Wouldn't the other way around be backwards? The general approach is for patches 1 and 2 of the series to provide all the new code under arch/arm64 to enable Hyper-V. But the code won't get called (or even built) with just these two patches because CONFIG_HYPERV can't be selected. Patch 3 is separate because it applies to architecture independent code and arch/x86 code -- I thought there might be value in keeping the ARM64 and x86 patches distinct. Patch 4 applies to architecture independent code, and enables the ARM64 code in patches 1 and 2 to be compiled and run when CONFIG_HYPERV is selected. If combining some of the patches in the series is a better approach, I'm good with that. Michael _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel