Re: [PATCH v7 5/5] Driver: VMBus: Add Devicetree support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Mar 13, 2023 at 12:26:56PM +0000, Michael Kelley (LINUX) wrote:
> From: Saurabh Singh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx> Sent: Sunday, March 12, 2023 11:16 PM
> > 
> > On Mon, Mar 13, 2023 at 02:33:53AM +0000, Michael Kelley (LINUX) wrote:
> > > From: Saurabh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx> Sent: Thursday, February 23,
> > 2023 3:29 AM
> > > >
> > > > Update the driver to support Devicetree boot as well along with ACPI.
> > > > At present the Devicetree parsing only provides the mmio region info
> > > > and is not the exact copy of ACPI parsing. This is sufficient to cater
> > > > all the current Devicetree usecases for VMBus.
> > > >
> > > > Currently Devicetree is supported only for x86 systems.
> > > >
> > > > Signed-off-by: Saurabh Sengar <ssengar@xxxxxxxxxxxxxxxxxxx>
> > > > ---
> > > > [V7]
> > > > - Use cpu_addr instead of bus_addr
> > > >
> > > >  drivers/hv/Kconfig     |  6 +++--
> > > >  drivers/hv/vmbus_drv.c | 57 ++++++++++++++++++++++++++++++++++++++++--
> > > >  2 files changed, 59 insertions(+), 4 deletions(-)
> > > >
> > > > diff --git a/drivers/hv/Kconfig b/drivers/hv/Kconfig
> > > > index 0747a8f1fcee..1a55bf32d195 100644
> > > > --- a/drivers/hv/Kconfig
> > > > +++ b/drivers/hv/Kconfig
> > > > @@ -4,11 +4,13 @@ menu "Microsoft Hyper-V guest support"
> > > >
> > > >  config HYPERV
> > > >  	tristate "Microsoft Hyper-V client drivers"
> > > > -	depends on ACPI && ((X86 && X86_LOCAL_APIC && HYPERVISOR_GUEST) \
> > > > -		|| (ARM64 && !CPU_BIG_ENDIAN))
> > > > +	depends on (X86 && X86_LOCAL_APIC && HYPERVISOR_GUEST) \
> > > > +		|| (ACPI && ARM64 && !CPU_BIG_ENDIAN)
> > > >  	select PARAVIRT
> > > >  	select X86_HV_CALLBACK_VECTOR if X86
> > > >  	select VMAP_PFN
> > > > +	select OF if !ACPI
> > > > +	select OF_EARLY_FLATTREE if !ACPI
> > > >  	help
> > > >  	  Select this option to run Linux as a Hyper-V client operating
> > > >  	  system.
> > >
> > > One further thing occurred to me.  OF_EARLY_FLATTREE really depends
> > > on OF instead of ACPI.   The ACPI dependency is indirect through OF.  So
> > > I'd suggest doing
> > >
> > > 	select OF_EARLY_FLATTRE if OF
> > >
> > > to express the direct dependency.
> > 
> > As you pointed out OF_EARLY_FLATTRE is anyway dependent on OF, and thus I
> > feel this check is redundant. I see all the Kconfig options which enables
> > both of these flags don't explicitly mention this dependency.
> > 
> > >
> > > Separately, I wonder if the "select OF if !ACPI" is even needed.  It doesn't
> > > hurt anything to leave it, but it seems like any config that doesn't
> > > independently select either ACPI or OF is broken for reasons unrelated
> > > to Hyper-V.  I'm OK with leaving the select of OF if you want, so I'm
> > > more just wondering than asserting it should be removed.   I didn't
> > > see "select OF if !ACPI" anywhere else in the Kconfig files, and it
> > > seems like Hyper-V would not be the only environment where this
> > > is the expectation.
> > 
> > Ok I can remove the !ACPI dependency. Hope kernel size increase due to both
> > the code compiled in shouldn't be problem for ACPI systems.
> > And here if config doesn't select ACPI or OF it will assume OF, which is
> > better then selecting none of them.
> > 
> > 
> > To address both of your comments I feel below will be sufficient:
> > select OF
> > select OF_EARLY_FLATTRE
> 
> Actually, that's not what I was thinking. :-)   I was thinking for the Hyper-V
> Kconfig to be silent on selecting OF, just like it is silent on selecting ACPI.
> Whoever is configuring the kernel build would separately be selecting
> ACPI, or OF, or both, depending on their needs.   I don't think the Hyper-V
> Kconfig should always be selecting OF, because of the reason you noted --
> it drags in code that is not needed for normal VTL 0 usage.  If you take
> that approach, then
> 
> 	select OF_EARLY_FLATTREE if OF
> 
> is appropriate.

Thanks for clarifying, I will fix this in next vesrion.

Regards,
Saurabh

> 
> Michael
> 
> 
> 
> > 
> > 
> > Regards,
> > Saurabh
> > 
> > >
> > > Michael



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux