Re: [PATCH] PCI/ASPM: Unexport internal ASPM interfaces
From: Bjorn Helgaas
Date: Wed Jan 10 2018 - 16:40:37 EST
On Fri, Dec 15, 2017 at 03:30:02PM -0600, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
>
> Several of the interfaces defined in include/linux/pci-aspm.h are used only
> internally from the PCI core:
>
> pcie_aspm_init_link_state()
> pcie_aspm_exit_link_state()
> pcie_aspm_pm_state_change()
> pcie_aspm_powersave_config_link()
> pcie_aspm_create_sysfs_dev_files()
> pcie_aspm_remove_sysfs_dev_files()
>
> Move these to the internal drivers/pci/pci.h header so they don't clutter
> the driver interface.
>
> Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
This is on pci/aspm for v4.16.
> ---
> drivers/pci/pci.h | 20 ++++++++++++++++++++
> include/linux/pci-aspm.h | 35 ++---------------------------------
> 2 files changed, 22 insertions(+), 33 deletions(-)
>
> diff --git a/drivers/pci/pci.h b/drivers/pci/pci.h
> index f6b58b32a67c..e90009fff1a9 100644
> --- a/drivers/pci/pci.h
> +++ b/drivers/pci/pci.h
> @@ -342,6 +342,26 @@ static inline resource_size_t pci_resource_alignment(struct pci_dev *dev,
>
> void pci_enable_acs(struct pci_dev *dev);
>
> +#ifdef CONFIG_PCIEASPM
> +void pcie_aspm_init_link_state(struct pci_dev *pdev);
> +void pcie_aspm_exit_link_state(struct pci_dev *pdev);
> +void pcie_aspm_pm_state_change(struct pci_dev *pdev);
> +void pcie_aspm_powersave_config_link(struct pci_dev *pdev);
> +#else
> +static inline void pcie_aspm_init_link_state(struct pci_dev *pdev) { }
> +static inline void pcie_aspm_exit_link_state(struct pci_dev *pdev) { }
> +static inline void pcie_aspm_pm_state_change(struct pci_dev *pdev) { }
> +static inline void pcie_aspm_powersave_config_link(struct pci_dev *pdev) { }
> +#endif
> +
> +#ifdef CONFIG_PCIEASPM_DEBUG
> +void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev);
> +void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev);
> +#else
> +static inline void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev) { }
> +static inline void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev) { }
> +#endif
> +
> #ifdef CONFIG_PCIE_PTM
> void pci_ptm_init(struct pci_dev *dev);
> #else
> diff --git a/include/linux/pci-aspm.h b/include/linux/pci-aspm.h
> index 3cc06b059017..df28af5cef21 100644
> --- a/include/linux/pci-aspm.h
> +++ b/include/linux/pci-aspm.h
> @@ -24,43 +24,12 @@
> #define PCIE_LINK_STATE_CLKPM 4
>
> #ifdef CONFIG_PCIEASPM
> -void pcie_aspm_init_link_state(struct pci_dev *pdev);
> -void pcie_aspm_exit_link_state(struct pci_dev *pdev);
> -void pcie_aspm_pm_state_change(struct pci_dev *pdev);
> -void pcie_aspm_powersave_config_link(struct pci_dev *pdev);
> void pci_disable_link_state(struct pci_dev *pdev, int state);
> void pci_disable_link_state_locked(struct pci_dev *pdev, int state);
> void pcie_no_aspm(void);
> #else
> -static inline void pcie_aspm_init_link_state(struct pci_dev *pdev)
> -{
> -}
> -static inline void pcie_aspm_exit_link_state(struct pci_dev *pdev)
> -{
> -}
> -static inline void pcie_aspm_pm_state_change(struct pci_dev *pdev)
> -{
> -}
> -static inline void pcie_aspm_powersave_config_link(struct pci_dev *pdev)
> -{
> -}
> -static inline void pci_disable_link_state(struct pci_dev *pdev, int state)
> -{
> -}
> -static inline void pcie_no_aspm(void)
> -{
> -}
> +static inline void pci_disable_link_state(struct pci_dev *pdev, int state) { }
> +static inline void pcie_no_aspm(void) { }
> #endif
>
> -#ifdef CONFIG_PCIEASPM_DEBUG /* this depends on CONFIG_PCIEASPM */
> -void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev);
> -void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev);
> -#else
> -static inline void pcie_aspm_create_sysfs_dev_files(struct pci_dev *pdev)
> -{
> -}
> -static inline void pcie_aspm_remove_sysfs_dev_files(struct pci_dev *pdev)
> -{
> -}
> -#endif
> #endif /* LINUX_ASPM_H */
>