[PATCH v2 01/22] PCI: endpoint: Add EP core layer to enable EP controller and EP functions

Joao Pinto Joao.Pinto at synopsys.com
Fri Feb 17 03:39:39 PST 2017


Às 11:37 AM de 2/17/2017, Kishon Vijay Abraham I escreveu:
> Hi Joao,
> 
> On Friday 17 February 2017 04:56 PM, Joao Pinto wrote:
>>
>> Hi Kishon,
>>
>> Às 9:50 AM de 2/17/2017, Kishon Vijay Abraham I escreveu:
>>> Introduce a new EP core layer in order to support endpoint functions
>>> in linux kernel. This comprises of EPC library
>>> (Endpoint Controller Library) and EPF library (Endpoint
>>> Function Library). EPC library implements functions that is specific
>>> to an endpoint controller and EPF library implements functions
>>> that is specific to an endpoint function.
>>>
>>> Signed-off-by: Kishon Vijay Abraham I <kishon at ti.com>
>>> ---
>>>  drivers/Makefile                    |    2 +
>>>  drivers/pci/Kconfig                 |    1 +
>>>  drivers/pci/endpoint/Kconfig        |   21 ++
>>>  drivers/pci/endpoint/Makefile       |    6 +
>>>  drivers/pci/endpoint/pci-epc-core.c |  548 +++++++++++++++++++++++++++++++++++
>>>  drivers/pci/endpoint/pci-epc-mem.c  |  143 +++++++++
>>>  drivers/pci/endpoint/pci-epf-core.c |  347 ++++++++++++++++++++++
>>>  include/linux/mod_devicetable.h     |   10 +
>>>  include/linux/pci-epc.h             |  141 +++++++++
>>>  include/linux/pci-epf.h             |  160 ++++++++++
>>>  10 files changed, 1379 insertions(+)
>>>  create mode 100644 drivers/pci/endpoint/Kconfig
>>>  create mode 100644 drivers/pci/endpoint/Makefile
>>>  create mode 100644 drivers/pci/endpoint/pci-epc-core.c
>>>  create mode 100644 drivers/pci/endpoint/pci-epc-mem.c
>>>  create mode 100644 drivers/pci/endpoint/pci-epf-core.c
>>>  create mode 100644 include/linux/pci-epc.h
>>>  create mode 100644 include/linux/pci-epf.h
>>>
>>> diff --git a/drivers/Makefile b/drivers/Makefile
>>> index f521cb0..a300bb1 100644
>>> --- a/drivers/Makefile
>>> +++ b/drivers/Makefile
>>> @@ -14,7 +14,9 @@ obj-$(CONFIG_GENERIC_PHY)	+= phy/
>>>  obj-$(CONFIG_PINCTRL)		+= pinctrl/
>>>  obj-$(CONFIG_GPIOLIB)		+= gpio/
>>>  obj-y				+= pwm/
>>> +
>>>  obj-$(CONFIG_PCI)		+= pci/
>>> +obj-$(CONFIG_PCI_ENDPOINT)	+= pci/endpoint/
>>>  # PCI dwc controller drivers
>>>  obj-y				+= pci/dwc/
>>
>> Any special reason to include pci/endpoint and pci/dwc in drivers/Makefile
>> instead of being inside pci/Makefile? pci/host is still inside pci/Makefile.
> 
> CONFIG_PCI enables all the pcie host support. Endpoint support should be
> enabled independent of the host support. Moving pci/endpoint inside
> pci/Makefile will build endpoint support only if CONFIG_PCI is enabled. For the
> same reason kept pci/dwc in drivers/Makefile since dwc drivers can be used
> either in host mode or device mode (or both).

Good point! Very well.

Acked-By: Joao Pinto <jpinto at synopsys.com>

> 
> Thanks
> Kishon
> 




More information about the linux-arm-kernel mailing list