PCI: endpoint: Introduce configfs entry for configuring EP functions

Introduce a new configfs entry to configure the EP function (like
configuring the standard configuration header entries) and to bind the EP
function with EP controller.

Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
Kishon Vijay Abraham I
2017-03-27 15:14:59 +05:30
committed by Bjorn Helgaas
parent a8a5be0988
commit d746799116
4 changed files with 560 additions and 0 deletions
+9
View File
@@ -17,4 +17,13 @@ config PCI_ENDPOINT
If in doubt, say "N" to disable Endpoint support.
config PCI_ENDPOINT_CONFIGFS
bool "PCI Endpoint Configfs Support"
depends on PCI_ENDPOINT
select CONFIGFS_FS
help
This will enable the configfs entry that can be used to
configure the endpoint function and used to bind the
function with a endpoint controller.
endmenu
+1
View File
@@ -2,5 +2,6 @@
# Makefile for PCI Endpoint Support
#
obj-$(CONFIG_PCI_ENDPOINT_CONFIGFS) += pci-ep-cfs.o
obj-$(CONFIG_PCI_ENDPOINT) += pci-epc-core.o pci-epf-core.o\
pci-epc-mem.o
File diff suppressed because it is too large Load Diff
+41
View File
@@ -0,0 +1,41 @@
/**
* PCI Endpoint ConfigFS header file
*
* Copyright (C) 2017 Texas Instruments
* Author: Kishon Vijay Abraham I <kishon@ti.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 of
* the License as published by the Free Software Foundation.
*/
#ifndef __LINUX_PCI_EP_CFS_H
#define __LINUX_PCI_EP_CFS_H
#include <linux/configfs.h>
#ifdef CONFIG_PCI_ENDPOINT_CONFIGFS
struct config_group *pci_ep_cfs_add_epc_group(const char *name);
void pci_ep_cfs_remove_epc_group(struct config_group *group);
struct config_group *pci_ep_cfs_add_epf_group(const char *name);
void pci_ep_cfs_remove_epf_group(struct config_group *group);
#else
static inline struct config_group *pci_ep_cfs_add_epc_group(const char *name)
{
return 0;
}
static inline void pci_ep_cfs_remove_epc_group(struct config_group *group)
{
}
static inline struct config_group *pci_ep_cfs_add_epf_group(const char *name)
{
return 0;
}
static inline void pci_ep_cfs_remove_epf_group(struct config_group *group)
{
}
#endif
#endif /* __LINUX_PCI_EP_CFS_H */