From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753240AbcAOTUc (ORCPT ); Fri, 15 Jan 2016 14:20:32 -0500 Received: from bear.ext.ti.com ([192.94.94.41]:49567 "EHLO bear.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750942AbcAOTUb (ORCPT ); Fri, 15 Jan 2016 14:20:31 -0500 Subject: Re: [PATCH v3 2/3] ARM: DRA7: add pdata-quirks to do reset of PCIe To: Kishon Vijay Abraham I , Tony Lindgren , Bjorn Helgaas , References: <1452780672-14339-1-git-send-email-kishon@ti.com> <1452780672-14339-3-git-send-email-kishon@ti.com> CC: Russell King , , , , From: Suman Anna Message-ID: <56994640.3090704@ti.com> Date: Fri, 15 Jan 2016 13:19:28 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <1452780672-14339-3-git-send-email-kishon@ti.com> Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 01/14/2016 08:11 AM, Kishon Vijay Abraham I wrote: > Create platform data for PCIe and populate it with function > pointers to perform assert and deassert of PCIe reset lines. > The PCIe driver can use the callbacks provided here to > reset the PCIe. > This will be removed once the reset contoller driver is > available to reset PCIe. > > Signed-off-by: Kishon Vijay Abraham I > Signed-off-by: Sekhar Nori Thanks for the revised version, looks much better. Reviewed-by: Suman Anna > --- > arch/arm/mach-omap2/pdata-quirks.c | 11 +++++++++++ > include/linux/platform_data/pci-dra7xx.h | 29 +++++++++++++++++++++++++++++ > 2 files changed, 40 insertions(+) > create mode 100644 include/linux/platform_data/pci-dra7xx.h > > diff --git a/arch/arm/mach-omap2/pdata-quirks.c b/arch/arm/mach-omap2/pdata-quirks.c > index 5814477..f5a65fe 100644 > --- a/arch/arm/mach-omap2/pdata-quirks.c > +++ b/arch/arm/mach-omap2/pdata-quirks.c > @@ -23,6 +23,7 @@ > #include > #include > #include > +#include > > #include "common.h" > #include "common-board-devices.h" > @@ -404,6 +405,14 @@ static void __init omap5_uevm_legacy_init(void) > } > #endif > > +#ifdef CONFIG_SOC_DRA7XX > +static struct pci_dra7xx_platform_data dra7xx_pci_pdata = { > + .reset_name = "pcie", > + .assert_reset = omap_device_assert_hardreset, > + .deassert_reset = omap_device_deassert_hardreset, > +}; > +#endif > + > static struct pcs_pdata pcs_pdata; > > void omap_pcs_legacy_init(int irq, void (*rearm)(void)) > @@ -474,6 +483,8 @@ static struct of_dev_auxdata omap_auxdata_lookup[] __initdata = { > #endif > #ifdef CONFIG_SOC_DRA7XX > OF_DEV_AUXDATA("ti,dra7-padconf", 0x4a003400, "4a003400.pinmux", &pcs_pdata), > + OF_DEV_AUXDATA("ti,dra7-pcie", 0x51000000, "51000000.pcie", &dra7xx_pci_pdata), > + OF_DEV_AUXDATA("ti,dra7-pcie", 0x51800000, "51800000.pcie", &dra7xx_pci_pdata), > #endif > #ifdef CONFIG_SOC_AM43XX > OF_DEV_AUXDATA("ti,am437-padconf", 0x44e10800, "44e10800.pinmux", &pcs_pdata), > diff --git a/include/linux/platform_data/pci-dra7xx.h b/include/linux/platform_data/pci-dra7xx.h > new file mode 100644 > index 0000000..a3bab6b > --- /dev/null > +++ b/include/linux/platform_data/pci-dra7xx.h > @@ -0,0 +1,29 @@ > +/* > + * pcie-dra7xx - Platform data for PCIe controller > + * > + * Copyright (C) 2016 Texas Instruments Incorporated - http://www.ti.com/ > + * > + * Authors: Kishon Vijay Abraham I > + * > + * This program is free software; you can redistribute it and/or modify > + * it under the terms of the GNU General Public License version 2 as > + * published by the Free Software Foundation. > + */ > + > +#ifndef __PCI_DRA7XX_H > +#define __PCI_DRA7XX_H > + > +/** > + * struct pci_dra7xx_platform_data - platform data specific to pci in dra7xx > + * @reset_name: name of the reset line > + * @assert_reset: callback for performing assert reset operation > + * @deassert_reset: callback for performing deassert reset operation > + */ > +struct pci_dra7xx_platform_data { > + const char *reset_name; > + > + int (*assert_reset)(struct platform_device *pdev, const char *name); > + int (*deassert_reset)(struct platform_device *pdev, const char *name); > +}; > + > +#endif /* __PCI_DRA7XX_H */ >