Re: [PATCH v2 08/13] PCI/portdrv: Simplify PCIe feature permission checking

From: Bjorn Helgaas
Date: Mon Mar 12 2018 - 10:03:24 EST


On Mon, Mar 12, 2018 at 01:04:02AM -0700, Christoph Hellwig wrote:
> > + * We assume we can manage these PCIe features. Some systems may
> > + * reserve these for use by the platform itself, e.g., an ACPI BIOS
> > + * may implement its own AER handling and use _OSC to prevent the
> > + * OS from interfering.
> > + */
> > + bridge->use_aer = 1;
> > + bridge->use_hotplug = 1;
> > + bridge->use_pme = 1;
>
> If we start out with enabled maybe these should be disable_foo flags
> instead?

I went back and forth on that. "disable_foo" is nice because the
default value is correct (zero means enabled). But then you end up
with things like:

if (pcie_ports_native || !host->disable_hotplug)

where the "!host->disable_hotplug" is a double negative, and I have a
really hard time reading that.

> Also please use bool (or a bitfield bool) for true/false values.

I'm a little ambivalent about bool in structs because of things like
this:

https://lkml.kernel.org/r/CA+55aFxnePDimkVKVtv3gNmRGcwc8KQ5mHYvUxY8sAQg6yvVYg@xxxxxxxxxxxxxx

Bjorn