[PATCH 3/6] pci:host: Add Altera PCIe host controller driver

Ley Foon Tan lftan at altera.com
Tue Jul 28 20:05:07 PDT 2015


On Wed, Jul 29, 2015 at 12:45 AM, Dinh Nguyen <dinh.linux at gmail.com> wrote:
> On Tue, Jul 28, 2015 at 5:45 AM, Ley Foon Tan <lftan at altera.com> wrote:
>> This patch adds the Altera PCIe host controller driver.
>>
>> Signed-off-by: Ley Foon Tan <lftan at altera.com>
>> ---
>>  drivers/pci/host/Kconfig       |   9 +
>>  drivers/pci/host/Makefile      |   1 +
>>  drivers/pci/host/pcie-altera.c | 576 +++++++++++++++++++++++++++++++++++++++++
>>  3 files changed, 586 insertions(+)
>>  create mode 100644 drivers/pci/host/pcie-altera.c
>>
>> diff --git a/drivers/pci/host/Kconfig b/drivers/pci/host/Kconfig
>> index 675c2d1..af19039 100644
>> --- a/drivers/pci/host/Kconfig
>> +++ b/drivers/pci/host/Kconfig
>> @@ -145,4 +145,13 @@ config PCIE_IPROC_BCMA
>>           Say Y here if you want to use the Broadcom iProc PCIe controller
>>           through the BCMA bus interface
>>
>> +config PCIE_ALTERA
>> +       bool "Altera PCIe controller"
>> +       depends on ARCH_SOCFPGA
>> +       depends on OF
>
> I don't think you need this, "depends on ARCH_SOCFPGA" should already
> have taken care of this.
Okay, will remove this.
>
>> +       select PCI_MSI_IRQ_DOMAIN if PCI_MSI
>> +       help
>> +         Say Y here if you want to enable PCIe controller support for Altera
>> +         SoCFPGA family of SoCs.
>> +
>>  endmenu
>
> <snip>
>
>> +
>> +static int tlp_read_packet(struct altera_pcie *pcie, u32 *value)
>> +{
>> +       u8 loop;
>> +       struct tlp_rp_regpair_t tlp_rp_regdata;
>> +
>> +       for (loop = TLP_LOOP; loop > 0; loop--) {
>> +
>> +               tlp_read_rx(pcie, &tlp_rp_regdata);
>> +
>> +               if (tlp_rp_regdata.ctrl & RP_RXCPL_EOP) {
>> +
>> +                       if (value)
>> +                               *value = tlp_rp_regdata.reg0;
>> +
>> +                       return PCIBIOS_SUCCESSFUL;
>> +               }
>
> Remove all the unnecessary newlines in this function.
Noted.

>> +       }
>> +
>> +       return -ENOENT;
>> +}
>> +
>
> <snip>
>
>> +
>> +static struct platform_driver altera_pcie_driver = {
>> +       .probe          = altera_pcie_probe,
>> +       .remove         = altera_pcie_remove,
>> +       .driver = {
>> +               .name   = "altera-pcie",
>> +               .owner  = THIS_MODULE,
>
> Don't need to set owner anymore as this will get populated by the driver core.

Will remove it.

Thanks for reviewing.

Regards
Ley Foon



More information about the linux-arm-kernel mailing list