From: Manivannan Sadhasivam <mani@kernel.org>
To: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Cc: "Bjorn Helgaas" <bhelgaas@google.com>,
linux-pci@vger.kernel.org,
"Rick Wertenbroek" <rick.wertenbroek@gmail.com>,
"Lorenzo Pieralisi" <lpieralisi@kernel.org>,
"Krzysztof Wilczyński" <kw@linux.com>,
"Kishon Vijay Abraham I" <kishon@kernel.org>,
"Arnd Bergmann" <arnd@arndb.de>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>
Subject: Re: [PATCH v2 02/16] PCI: endpoint: Move pci_epf_type_add_cfs() code
Date: Wed, 15 Mar 2023 20:31:28 +0530 [thread overview]
Message-ID: <20230315150128.GD98488@thinkpad> (raw)
In-Reply-To: <20230308090313.1653-3-damien.lemoal@opensource.wdc.com>
On Wed, Mar 08, 2023 at 06:02:59PM +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 this
> function and we can move its code from pci-epf-core.c to pci-ep-cfs.c
> as a static function.
>
> Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Thanks,
Mani
> ---
> drivers/pci/endpoint/pci-ep-cfs.c | 20 ++++++++++++++++++
> drivers/pci/endpoint/pci-epf-core.c | 32 -----------------------------
> include/linux/pci-epf.h | 2 --
> 3 files changed, 20 insertions(+), 34 deletions(-)
>
> diff --git a/drivers/pci/endpoint/pci-ep-cfs.c b/drivers/pci/endpoint/pci-ep-cfs.c
> index b16fc6093c20..3a05e9b5a4e9 100644
> --- a/drivers/pci/endpoint/pci-ep-cfs.c
> +++ b/drivers/pci/endpoint/pci-ep-cfs.c
> @@ -509,6 +509,26 @@ static const struct config_item_type pci_epf_type = {
> .ct_owner = THIS_MODULE,
> };
>
> +static struct config_group *pci_epf_type_add_cfs(struct pci_epf *epf,
> + struct config_group *group)
> +{
> + struct config_group *epf_type_group;
> +
> + if (!epf->driver) {
> + dev_err(&epf->dev, "epf device not bound to driver\n");
> + return NULL;
> + }
> +
> + if (!epf->driver->ops->add_cfs)
> + return NULL;
> +
> + mutex_lock(&epf->lock);
> + epf_type_group = epf->driver->ops->add_cfs(epf, group);
> + mutex_unlock(&epf->lock);
> +
> + return epf_type_group;
> +}
> +
> static void pci_ep_cfs_add_type_group(struct pci_epf_group *epf_group)
> {
> struct config_group *group;
> diff --git a/drivers/pci/endpoint/pci-epf-core.c b/drivers/pci/endpoint/pci-epf-core.c
> index 2036e38be093..355a6f56fcea 100644
> --- a/drivers/pci/endpoint/pci-epf-core.c
> +++ b/drivers/pci/endpoint/pci-epf-core.c
> @@ -20,38 +20,6 @@ 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
> - * @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.
> - */
> -struct config_group *pci_epf_type_add_cfs(struct pci_epf *epf,
> - struct config_group *group)
> -{
> - struct config_group *epf_type_group;
> -
> - if (!epf->driver) {
> - dev_err(&epf->dev, "epf device not bound to driver\n");
> - return NULL;
> - }
> -
> - if (!epf->driver->ops->add_cfs)
> - return NULL;
> -
> - mutex_lock(&epf->lock);
> - epf_type_group = epf->driver->ops->add_cfs(epf, group);
> - mutex_unlock(&epf->lock);
> -
> - return epf_type_group;
> -}
> -EXPORT_SYMBOL_GPL(pci_epf_type_add_cfs);
> -
> /**
> * pci_epf_unbind() - Notify the function driver that the binding between the
> * EPF device and EPC device has been lost
> diff --git a/include/linux/pci-epf.h b/include/linux/pci-epf.h
> index a215dc8ce693..b8441db2fa52 100644
> --- a/include/linux/pci-epf.h
> +++ b/include/linux/pci-epf.h
> @@ -214,8 +214,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.2
>
--
மணிவண்ணன் சதாசிவம்
next prev parent reply other threads:[~2023-03-15 15:02 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-08 9:02 [PATCH v2 00/16] PCI endpoint fixes and improvements Damien Le Moal
2023-03-08 9:02 ` [PATCH v2 01/16] PCI: endpoint: Automatically create a function specific attributes group Damien Le Moal
2023-03-15 14:27 ` Manivannan Sadhasivam
2023-03-08 9:02 ` [PATCH v2 02/16] PCI: endpoint: Move pci_epf_type_add_cfs() code Damien Le Moal
2023-03-15 15:01 ` Manivannan Sadhasivam [this message]
2023-03-08 9:03 ` [PATCH v2 03/16] PCI: epf-test: Fix DMA transfer completion initialization Damien Le Moal
2023-03-15 15:03 ` Manivannan Sadhasivam
2023-03-08 9:03 ` [PATCH v2 04/16] PCI: epf-test: Fix DMA transfer completion detection Damien Le Moal
2023-03-15 15:20 ` Manivannan Sadhasivam
2023-03-15 23:46 ` Damien Le Moal
2023-03-08 9:03 ` [PATCH v2 05/16] PCI: epf-test: Use dmaengine_submit() to initiate DMA transfer Damien Le Moal
2023-03-15 15:21 ` Manivannan Sadhasivam
2023-03-08 9:03 ` [PATCH v2 06/16] PCI: epf-test: Simplify read/write/copy test functions Damien Le Moal
2023-03-15 15:24 ` Manivannan Sadhasivam
2023-03-08 9:03 ` [PATCH v2 07/16] PCI: epf-test: Simply pci_epf_test_raise_irq() Damien Le Moal
2023-03-15 15:27 ` Manivannan Sadhasivam
2023-03-08 9:03 ` [PATCH v2 08/16] PCI: epf-test: Simplify IRQ test commands execution Damien Le Moal
2023-03-15 15:37 ` Manivannan Sadhasivam
2023-03-08 9:03 ` [PATCH v2 09/16] PCI: epf-test: Improve handling of command and status registers Damien Le Moal
2023-03-15 15:51 ` Manivannan Sadhasivam
2023-03-15 23:49 ` Damien Le Moal
2023-03-16 15:25 ` Arnd Bergmann
2023-03-16 16:31 ` Manivannan Sadhasivam
2023-03-16 16:32 ` Manivannan Sadhasivam
2023-03-08 9:03 ` [PATCH v2 10/16] PCI: epf-test: Cleanup pci_epf_test_cmd_handler() Damien Le Moal
2023-03-15 15:52 ` Manivannan Sadhasivam
2023-03-08 9:03 ` [PATCH v2 11/16] PCI: epf-test: Simplify dma support checks Damien Le Moal
2023-03-15 15:57 ` Manivannan Sadhasivam
2023-03-08 9:03 ` [PATCH v2 12/16] PCI: epf-test: Simplify transfers result print Damien Le Moal
2023-03-08 9:03 ` [PATCH v2 13/16] misc: pci_endpoint_test: Free IRQs before removing the device Damien Le Moal
2023-03-08 9:03 ` [PATCH v2 14/16] misc: pci_endpoint_test: Re-init completion for every test Damien Le Moal
2023-03-15 15:55 ` Manivannan Sadhasivam
2023-03-08 9:03 ` [PATCH v2 15/16] misc: pci_endpoint_test: Do not write status in IRQ handler Damien Le Moal
2023-03-08 9:03 ` [PATCH v2 16/16] misc: pci_endpoint_test: Simplify pci_endpoint_test_msi_irq() Damien Le Moal
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230315150128.GD98488@thinkpad \
--to=mani@kernel.org \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=damien.lemoal@opensource.wdc.com \
--cc=gregkh@linuxfoundation.org \
--cc=kishon@kernel.org \
--cc=kw@linux.com \
--cc=linux-pci@vger.kernel.org \
--cc=lpieralisi@kernel.org \
--cc=rick.wertenbroek@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.