RE: [PATCH RESEND 1/3] PCI: Add fwnode_handle to pci_sysdata

Jake Oshins
2016-02-03T23:15:17Z

> -----Original Message-----
> From: Marc Zyngier [mailto:marc.zyngier@arm.com]
> Sent: Wednesday, February 3, 2016 10:57 AM
> To: Bjorn Helgaas <helgaas@kernel.org>; Jake Oshins
> <jakeo@microsoft.com>
> Cc: gregkh@linuxfoundation.org; KY Srinivasan <kys@microsoft.com>; linux-
> kernel@vger.kernel.org; devel@linuxdriverproject.org; Haiyang Zhang
> <haiyangz@microsoft.com>; bhelgaas@google.com; linux-
> pci@vger.kernel.org
> Subject: Re: [PATCH RESEND 1/3] PCI: Add fwnode_handle to pci_sysdata
>
> On 03/02/16 18:51, Bjorn Helgaas wrote:
> > On Wed, Feb 03, 2016 at 06:32:20PM +0000, Jake Oshins wrote:
> >>> -----Original Message-----
> >>> From: Bjorn Helgaas [mailto:helgaas@kernel.org]
> >>> Sent: Wednesday, February 3, 2016 10:25 AM
> >>> To: Jake Oshins <jakeo@microsoft.com>
[snip]
> >>>>
> >>>> +#ifndef pci_root_bus_fwnode
> >>>> +#define pci_root_bus_fwnode(bus) ((void)(bus), NULL)
> >>>
> >>> Huh, interesting. This is new for me; I guess the idea is that we at least
> >>> evaluate "bus" even when pci_root_bus_fwnode isn't defined, so the
> >>> compiler can catch egregious errors?
> >>>
> >>
> >> This was a suggestion by Mark Zyngier. It made the non-x86 architectures
> build benignly. If you'd like it done differently, I'm open to suggestion.
>
> I don't remember suggesting the use of the comma operator, but just to
> check that pci_root_bus_fwnode wasn't previously defined.
>
> > Something like "#define pci_root_bus_fwnode(bus) NULL" would be
> > typical. What I'm curious about is the use of the comma operator.
> > I'm not opposed to it; I'm just trying to understand why it makes a
> > difference.
>
> I guess it flags the variable as used, and prevents an overly sensitive
> compiler from being loud and obnoxious... Just a guess though.
>
> M.
> --

I was just copying the form that was in the code that Marc pointed out, somewhere else. I have no particular attachment to this construct. Honestly, since I'm still relatively new to the Linux codebase, I just assumed that was a common form that I should follow suit on. If you tell me that the simpler NULL is more typical, I prefer that. I'll simplify this when I resend the patch series.

Thanks,
Jake