RE: [PATCH 3/4] Drivers: hv: vmbus: Add hooks for per-CPU IRQ

From: Michael Kelley
Date: Mon Nov 26 2018 - 15:56:57 EST

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.