[PATCH V8 2/5] PCI/ASPM: split pci_aspm_init() into two

Rajat Jain rajatja at google.com
Wed Apr 12 15:16:52 EDT 2017


On Fri, Apr 7, 2017 at 9:55 PM, Sinan Kaya <okaya at codeaurora.org> wrote:
> Split pci_aspm_init() body into pci_aspm_init_upstream()
> and pci_aspm_init_downstream() for bridge and endpoint
> specific code behavior.
>
> Fixes: https://bugzilla.kernel.org/show_bug.cgi?id=194895
> Signed-off-by: Sinan Kaya <okaya at codeaurora.org>
> ---
>  drivers/pci/pcie/aspm.c | 15 ++++++++++++++-
>  1 file changed, 14 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/pci/pcie/aspm.c b/drivers/pci/pcie/aspm.c
> index dc36717..a80d64b 100644
> --- a/drivers/pci/pcie/aspm.c
> +++ b/drivers/pci/pcie/aspm.c
> @@ -826,6 +826,16 @@ static struct pcie_link_state *alloc_pcie_link_state(struct pci_dev *pdev)
>         return link;
>  }
>
> +static int pci_aspm_init_downstream(struct pci_dev *pdev)
> +{
> +       return 0;
> +}
> +
> +static int pci_aspm_init_upstream(struct pci_dev *pdev)
> +{
> +       return 0;
> +}
> +
>  /*
>   * pci_aspm_init: Initiate PCI express link state.
>   * It is called from device_add for every single pci device.
> @@ -833,7 +843,10 @@ static struct pcie_link_state *alloc_pcie_link_state(struct pci_dev *pdev)
>   */
>  int pci_aspm_init(struct pci_dev *pdev)
>  {
> -       return 0;
> +       if (!pdev->has_secondary_link)
> +               return pci_aspm_init_downstream(pdev);
> +
> +       return pci_aspm_init_upstream(pdev);
>  }

Nit:

if (x_flag())
   return x();
return y();

May be better than

if (!x_flag)
    return y();
return x();


>
>  /*
> --
> 1.9.1
>



More information about the linux-arm-kernel mailing list