[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230203173616.GA8582@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net>
Date: Fri, 3 Feb 2023 09:36:16 -0800
From: Saurabh Singh Sengar <ssengar@...ux.microsoft.com>
To: Rob Herring <robh@...nel.org>
Cc: krzysztof.kozlowski+dt@...aro.org, kys@...rosoft.com,
haiyangz@...rosoft.com, wei.liu@...nel.org, decui@...rosoft.com,
daniel.lezcano@...aro.org, tglx@...utronix.de,
virtualization@...ts.linux-foundation.org,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-hyperv@...r.kernel.org, mikelley@...rosoft.com,
ssengar@...rosoft.com
Subject: Re: [PATCH v2 6/6] Driver: VMBus: Add device tree support
On Wed, Feb 01, 2023 at 11:46:38AM -0600, Rob Herring wrote:
> On Wed, Feb 01, 2023 at 08:51:33AM -0800, Saurabh Singh Sengar wrote:
> > On Tue, Jan 31, 2023 at 02:12:53PM -0600, Rob Herring wrote:
> > > On Tue, Jan 31, 2023 at 12:10 PM Saurabh Sengar
> > > <ssengar@...ux.microsoft.com> wrote:
> > > >
> > > > Update the driver to support device tree boot as well along with ACPI.
> > > > At present the device tree parsing only provides the mmio region info
> > > > and is not the exact copy of ACPI parsing. This is sufficient to cater
> > > > all the current device tree usecases for VMBus.
> > > >
> > > > Signed-off-by: Saurabh Sengar <ssengar@...ux.microsoft.com>
> > > > ---
> > > > drivers/hv/vmbus_drv.c | 75 ++++++++++++++++++++++++++++++++++++++++--
> > > > 1 file changed, 73 insertions(+), 2 deletions(-)
> > > >
> > > > diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c
> > > > index 49030e756b9f..1741f1348f9f 100644
> > > > --- a/drivers/hv/vmbus_drv.c
> > > > +++ b/drivers/hv/vmbus_drv.c
> > > > @@ -2152,7 +2152,7 @@ void vmbus_device_unregister(struct hv_device *device_obj)
> > > > device_unregister(&device_obj->device);
> > > > }
(...)
> > > > struct pci_dev *pdev;
> > > > @@ -2442,6 +2443,7 @@ void vmbus_free_mmio(resource_size_t start, resource_size_t size)
> > > > }
> > > > EXPORT_SYMBOL_GPL(vmbus_free_mmio);
> > > >
> > > > +#ifdef CONFIG_ACPI
> > >
> > > It's better to put C 'if (!IS_ENABLED(CONFIG_ACPI)' code in the
> >
> > I wanted to have separate function for ACPI and device tree flow, which
> > can be easily maintained with #ifdef. Please let me know if its fine.
>
> Yes, you can have separate functions:
>
> static int vmbus_acpi_add(struct platform_device *pdev)
> {
> if (!IS_ENABLED(CONFIG_ACPI))
> return -ENODEV;
>
> ...
> }
>
> The compiler will throw away the function in the end if CONFIG_ACPI is
> not enabled.
>
> That is easier for us to maintain because it reduces the combinations to
> build.
>
I tried removing #ifdef CONFIG_ACPI and use C's if(!IS_ENABLED(CONFIG_ACPI)) but looks
compiler is not optimizing out the rest of function, it still throwing errors
for acpi functions. This doesn't look 1:1 replacement to me.
Please let me know if I have missunderstood any of your suggestion.
drivers/hv/vmbus_drv.c:2175:8: error: implicit declaration of function ‘acpi_dev_resource_interrupt’ [-Werror=implicit-function-
> >
> > >
> > > > static int vmbus_acpi_add(struct platform_device *pdev)
> > > > {
> > > > acpi_status result;
> > > > @@ -2496,10 +2498,68 @@ static int vmbus_acpi_add(struct platform_device *pdev)
>
> [1] https://lwn.net/Articles/443531/
Powered by blists - more mailing lists