[PATCH 3/6] pci:host: Add Altera PCIe host controller driver
Dinh Nguyen
dinh.linux at gmail.com
Tue Jul 28 09:45:50 PDT 2015
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.
> + 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.
> + }
> +
> + 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.
Dinh
More information about the linux-arm-kernel
mailing list