Re: [PATCH 02/12] pci: endpoint: do not export pci_epf_type_add_cfs()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Feb 15, 2023 at 12:21:45PM +0900, Damien Le Moal wrote:
> pci_epf_type_add_cfs() is called only from pci_ep_cfs_add_type_group()
> in drivers/pci/endpoint/pci-ep-cfs.c, so there is no need to export it
> and function drivers should not call this function directly.
> 

Where is the pci_ep_cfs_add_type_group() function defined?

> Remove the export for this function and move its declaration to the
> internal header file drivers/pci/endpoint/pci-epf.h.
> 
> Signed-off-by: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx>
> ---
>  drivers/pci/endpoint/pci-ep-cfs.c   |  3 ++-
>  drivers/pci/endpoint/pci-epf-core.c | 12 +++++-------
>  drivers/pci/endpoint/pci-epf.h      | 14 ++++++++++++++
>  include/linux/pci-epf.h             |  2 --
>  4 files changed, 21 insertions(+), 10 deletions(-)
>  create mode 100644 drivers/pci/endpoint/pci-epf.h
> 
> diff --git a/drivers/pci/endpoint/pci-ep-cfs.c b/drivers/pci/endpoint/pci-ep-cfs.c
> index 1fb31f07199f..62b3b9e306fa 100644
> --- a/drivers/pci/endpoint/pci-ep-cfs.c
> +++ b/drivers/pci/endpoint/pci-ep-cfs.c
> @@ -11,9 +11,10 @@
>  #include <linux/slab.h>
>  
>  #include <linux/pci-epc.h>
> -#include <linux/pci-epf.h>
>  #include <linux/pci-ep-cfs.h>
>  
> +#include "pci-epf.h"
> +
>  static DEFINE_IDR(functions_idr);
>  static DEFINE_MUTEX(functions_mutex);
>  static struct config_group *functions_group;
> diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c
> index 9ed556936f48..db121a58a586 100644
> --- a/drivers/pci/endpoint/pci-epf-core.c
> +++ b/drivers/pci/endpoint/pci-epf-core.c
> @@ -12,24 +12,23 @@
>  #include <linux/module.h>
>  
>  #include <linux/pci-epc.h>
> -#include <linux/pci-epf.h>
>  #include <linux/pci-ep-cfs.h>
>  
> +#include "pci-epf.h"
> +
>  static DEFINE_MUTEX(pci_epf_mutex);
>  
>  static struct bus_type pci_epf_bus_type;
>  static const struct device_type pci_epf_type;
>  
>  /**
> - * pci_epf_type_add_cfs() - Help function drivers to expose function specific
> - *                          attributes in configfs
> + * pci_epf_type_add_cfs() - Get a function driver specific attribute group.
>   * @epf: the EPF device that has to be configured using configfs
>   * @group: the parent configfs group (corresponding to entries in
>   *         pci_epf_device_id)
>   *
> - * Invoke to expose function specific attributes in configfs. If the function
> - * driver does not have anything to expose (attributes configured by user),
> - * return NULL.
> + * Called from pci_ep_cfs_add_type_group() when the function is created.
> + * If the function driver does not have anything to expose, return NULL.
>   */
>  struct config_group *pci_epf_type_add_cfs(struct pci_epf *epf,
>  					  struct config_group *group)
> @@ -50,7 +49,6 @@ struct config_group *pci_epf_type_add_cfs(struct pci_epf *epf,
>  
>  	return epf_type_group;
>  }
> -EXPORT_SYMBOL_GPL(pci_epf_type_add_cfs);
>  
>  /**
>   * pci_epf_unbind() - Notify the function driver that the binding between the
> diff --git a/drivers/pci/endpoint/pci-epf.h b/drivers/pci/endpoint/pci-epf.h
> new file mode 100644
> index 000000000000..b2f351afd623
> --- /dev/null
> +++ b/drivers/pci/endpoint/pci-epf.h

When there is already a pci-epf.h header available, creating one more even
under different location will create ambiguity. Please rename it as internal.h
or something relevant.

Thanks,
Mani

> @@ -0,0 +1,14 @@
> +/* SPDX-License-Identifier: GPL-2.0 */
> +/*
> + * PCI Endpoint *Function* (EPF) internal header file
> + */
> +
> +#ifndef PCI_EPF_H
> +#define PCI_EPF_H
> +
> +#include <linux/pci-epf.h>
> +
> +struct config_group *pci_epf_type_add_cfs(struct pci_epf *epf,
> +					  struct config_group *group);
> +
> +#endif /* PCI_EPF_H */
> diff --git a/include/linux/pci-epf.h b/include/linux/pci-epf.h
> index 009a07147c61..b89cd8515073 100644
> --- a/include/linux/pci-epf.h
> +++ b/include/linux/pci-epf.h
> @@ -209,8 +209,6 @@ void pci_epf_free_space(struct pci_epf *epf, void *addr, enum pci_barno bar,
>  			enum pci_epc_interface_type type);
>  int pci_epf_bind(struct pci_epf *epf);
>  void pci_epf_unbind(struct pci_epf *epf);
> -struct config_group *pci_epf_type_add_cfs(struct pci_epf *epf,
> -					  struct config_group *group);
>  int pci_epf_add_vepf(struct pci_epf *epf_pf, struct pci_epf *epf_vf);
>  void pci_epf_remove_vepf(struct pci_epf *epf_pf, struct pci_epf *epf_vf);
>  #endif /* __LINUX_PCI_EPF_H */
> -- 
> 2.39.1
> 

-- 
மணிவண்ணன் சதாசிவம்



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux