[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250922071222.2814937-1-s-vadapalli@ti.com>
Date: Mon, 22 Sep 2025 12:42:12 +0530
From: Siddharth Vadapalli <s-vadapalli@...com>
To: <lpieralisi@...nel.org>, <kwilczynski@...nel.org>, <mani@...nel.org>,
<robh@...nel.org>, <bhelgaas@...gle.com>, <jingoohan1@...il.com>,
<christian.bruel@...s.st.com>, <quic_wenbyao@...cinc.com>,
<inochiama@...il.com>, <mayank.rana@....qualcomm.com>,
<thippeswamy.havalige@....com>, <shradha.t@...sung.com>,
<cassel@...nel.org>, <kishon@...nel.org>,
<sergio.paracuellos@...il.com>, <18255117159@....com>,
<rongqianfeng@...o.com>, <jirislaby@...nel.org>
CC: <linux-pci@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-arm-kernel@...ts.infradead.org>, <srk@...com>,
<s-vadapalli@...com>
Subject: [PATCH v3 0/4] PCI: Keystone: Enable loadable module support
Hello,
This series enables support for the 'pci-keystone.c' driver to be built
as a loadable module. The motivation for the series is that PCIe is not
a necessity for booting Linux due to which the 'pci-keystone.c' driver
does not need to be built-in.
Series is based on commit
dc72930fe22e Merge branch 'pci/misc'
of pci/next.
NOTE for MAINTAINERS: This series has the following dependencies:
1. The following commit in Linux-Next is a build-dependency for the
series:
https://github.com/ColinIanKing/linux-next/commit/8de1de5a3a8d42975953382068fb5195e9d6e6c6
Since the v1 series was based on linux-next, there were no build errors.
However, since this series is based on pci/next based on the feedback from
Manivannan Sadhasivam <mani@...nel.org> at:
https://lore.kernel.org/r/2gzqupa7i7qhiscwm4uin2jmdb6qowp55mzk7w4o3f73ob64e7@taf5vjd7lhc5/
without the aforementioned commit, build will fail.
2. The following patch series include fixes for the driver which are
required to verify the driver functionality:
https://lore.kernel.org/r/20250912100802.3136121-1-s-vadapalli@ti.com/
v2 of this series is at:
https://lore.kernel.org/r/20250912122356.3326888-1-s-vadapalli@ti.com/
Changes since v2:
- Patch 04/10 of the v2 series has been squashed into patch 02/10 of the
v2 series. In the v3 series, the squashed patch is 02/04.
- Patches 03/10, 05/10, 06/10, 07/10 and 08/10 of the v2 series have been
dropped. The reason for dropping them is that all of the aforementioned
patches introduce helpers for cleanup on driver removal. Since Mani
pointed out that the driver cannot be removed until the IRQ issues are
fixed, the driver's remove function hasn't been updated and therefore
the helpers have been discarded.
- The commit message of patch 09/10 of the v2 series has been updated,
keeping it concise and focusing on the issue and the fix. Moreover, a
'Fixes' tag has been included although a backport isn't necessary, in
order to address Mani's feedback.
- All changes associated with driver removal in patch 10/10 of the v2
series have been discarded.
- Patch relation between v2 and v3 series is as follows:
v3 01/04 => v2 01/10
v3 02/04 => v2 02/10 + 04/10
v3 03/04 => v2 09/10
v3 04/04 => v2 10/10
For testing the series, Linux has been built in the following manner:
1. Check out at commit dc72930fe22e Merge branch 'pci/misc' of pci/next
2. Apply commit and patch series mentioned as dependencies above.
3. Apply current series.
4. Build Linux with CONFIG_PCI_KEYSTONE, CONFIG_PCI_KEYSTONE_HOST and
CONFIG_PCI_KEYSTONE_EP set to 'm'.
Series has been tested on AM654-EVM with an NVMe SSD connected to the
PCIe connector on the board and verifying that the NVMe SSD enumerates
successfully. Additionally, the 'hdparm' utility has been used to read
the NVMe SSD for verifying functionality. Test Logs:
https://gist.github.com/Siddharth-Vadapalli-at-TI/182a80bb43e9c407982f7674034a7c9d
Regards,
Siddharth.
Siddharth Vadapalli (4):
PCI: Export pci_get_host_bridge_device() for use by pci-keystone
PCI: dwc: Export dw_pcie_allocate_domains() and
dw_pcie_ep_raise_msix_irq()
PCI: keystone: Exit ks_pcie_probe() for invalid mode
PCI: keystone: Add support to build as a loadable module
drivers/pci/controller/dwc/Kconfig | 6 +++---
drivers/pci/controller/dwc/pci-keystone.c | 8 ++++++++
drivers/pci/controller/dwc/pcie-designware-ep.c | 1 +
drivers/pci/controller/dwc/pcie-designware-host.c | 1 +
drivers/pci/host-bridge.c | 1 +
include/linux/pci.h | 1 +
6 files changed, 15 insertions(+), 3 deletions(-)
--
2.43.0
Powered by blists - more mailing lists