Re: [PATCH v11 1/5] PCI: Conditionally initialize host bridge native_* members

From: Ethan Zhao
Date: Wed Oct 28 2020 - 19:43:55 EST


On Tue, Oct 27, 2020 at 10:00 PM Kuppuswamy Sathyanarayanan
<sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx> wrote:
>
> If CONFIG_PCIEPORTBUS is not enabled in kernel then initialing
> struct pci_host_bridge PCIe specific native_* members to "1" is
> incorrect. So protect the PCIe specific member initialization
> with CONFIG_PCIEPORTBUS.
>
> Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@xxxxxxxxxxxxxxx>
> ---
> drivers/pci/probe.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c
> index 4289030b0fff..756fa60ca708 100644
> --- a/drivers/pci/probe.c
> +++ b/drivers/pci/probe.c
> @@ -588,12 +588,14 @@ static void pci_init_host_bridge(struct pci_host_bridge *bridge)
> * may implement its own AER handling and use _OSC to prevent the
> * OS from interfering.
> */
> +#ifdef CONFIG_PCIEPORTBUS
> bridge->native_aer = 1;
> bridge->native_pcie_hotplug = 1;
> - bridge->native_shpc_hotplug = 1;
> bridge->native_pme = 1;
> - bridge->native_ltr = 1;
> bridge->native_dpc = 1;
> +#endif
If CONFIG_PCIEPORTBUS wasn't defined, leave them to "unknown" value ?

> + bridge->native_ltr = 1;
> + bridge->native_shpc_hotplug = 1;
>
> device_initialize(&bridge->dev);
> }
> --
> 2.17.1
>