RE: [PATCH RESEND 1/3] PCI: Add fwnode_handle to pci_sysdata
From: Jake Oshins
Date: Wed Feb 03 2016 - 18:15:22 EST
> -----Original Message-----
> From: Marc Zyngier [mailto:marc.zyngier@xxxxxxx]
> Sent: Wednesday, February 3, 2016 10:57 AM
> To: Bjorn Helgaas <helgaas@xxxxxxxxxx>; Jake Oshins
> <jakeo@xxxxxxxxxxxxx>
> Cc: gregkh@xxxxxxxxxxxxxxxxxxx; KY Srinivasan <kys@xxxxxxxxxxxxx>; linux-
> kernel@xxxxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx; Haiyang Zhang
> <haiyangz@xxxxxxxxxxxxx>; bhelgaas@xxxxxxxxxx; linux-
> pci@xxxxxxxxxxxxxxx
> 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@xxxxxxxxxx]
> >>> Sent: Wednesday, February 3, 2016 10:25 AM
> >>> To: Jake Oshins <jakeo@xxxxxxxxxxxxx>
[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