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(-)
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@kernel.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
On Mon, 22 Sep 2025 12:42:12 +0530, Siddharth Vadapalli wrote: > 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. > > [...] Applied, thanks! [1/4] PCI: Export pci_get_host_bridge_device() for use by pci-keystone commit: c514ba0fa8938ae09370beecb77257868c1568a7 [2/4] PCI: dwc: Export dw_pcie_allocate_domains() and dw_pcie_ep_raise_msix_irq() commit: db9ff606a5535aee94bf41682f03aba500ff3ad6 [3/4] PCI: keystone: Exit ks_pcie_probe() for invalid mode commit: 76d23c87a3e06af003ae3a08053279d06141c716 [4/4] PCI: keystone: Add support to build as a loadable module commit: e82d56b5f3844189f2b2240b1c3eaeeafc8f1fd2 Best regards, -- Manivannan Sadhasivam <mani@kernel.org>
On Mon, Sep 22, 2025 at 01:56:08PM +0530, Manivannan Sadhasivam wrote: > > On Mon, 22 Sep 2025 12:42:12 +0530, Siddharth Vadapalli wrote: > > 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. > > > > [...] > > Applied, thanks! > > [1/4] PCI: Export pci_get_host_bridge_device() for use by pci-keystone > commit: c514ba0fa8938ae09370beecb77257868c1568a7 > [2/4] PCI: dwc: Export dw_pcie_allocate_domains() and dw_pcie_ep_raise_msix_irq() > commit: db9ff606a5535aee94bf41682f03aba500ff3ad6 > [3/4] PCI: keystone: Exit ks_pcie_probe() for invalid mode > commit: 76d23c87a3e06af003ae3a08053279d06141c716 > [4/4] PCI: keystone: Add support to build as a loadable module > commit: e82d56b5f3844189f2b2240b1c3eaeeafc8f1fd2 > I just noticed the build dependency mentioned in the cover letter after applying the series. This is problematic since there is no guarantee that the dependent commit will reach mainline first. So if this series gets applied by Linus first, then building this driver as module will break the build. We should not have the build error at any cost. So I'm dropping this series now. Please repost once the fix is in mainline (which will be next cycle). - Mani -- மணிவண்ணன் சதாசிவம்
On Mon, Sep 22, 2025 at 02:02:43PM +0530, Manivannan Sadhasivam wrote: Hello Mani, > On Mon, Sep 22, 2025 at 01:56:08PM +0530, Manivannan Sadhasivam wrote: > > > > On Mon, 22 Sep 2025 12:42:12 +0530, Siddharth Vadapalli wrote: > > > 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. > > > > > > [...] > > > > Applied, thanks! > > > > [1/4] PCI: Export pci_get_host_bridge_device() for use by pci-keystone > > commit: c514ba0fa8938ae09370beecb77257868c1568a7 > > [2/4] PCI: dwc: Export dw_pcie_allocate_domains() and dw_pcie_ep_raise_msix_irq() > > commit: db9ff606a5535aee94bf41682f03aba500ff3ad6 > > [3/4] PCI: keystone: Exit ks_pcie_probe() for invalid mode > > commit: 76d23c87a3e06af003ae3a08053279d06141c716 > > [4/4] PCI: keystone: Add support to build as a loadable module > > commit: e82d56b5f3844189f2b2240b1c3eaeeafc8f1fd2 > > > > I just noticed the build dependency mentioned in the cover letter after applying > the series. This is problematic since there is no guarantee that the dependent > commit will reach mainline first. So if this series gets applied by Linus first, > then building this driver as module will break the build. We should not have the > build error at any cost. As feedback for the future, is there a better way that I could have highlighted the build dependency? I agree that a build failure is unacceptable which is why I tried to highlight the dependency, but, it probably wasn't the best approach to point it out by mentioning it in the cover letter. Please let me know if I could make it easier for you and other Maintainers to notice such stated dependencies. > > So I'm dropping this series now. Please repost once the fix is in mainline > (which will be next cycle). Sure, I will repost the series. I had posted the v3 series right away to make it easier for you and other reviewers to provide feedback before people lose context. Thank you for actively reviewing this series and sharing your valuable feedback :) Regards, Siddharth.
On Mon, Sep 22, 2025 at 02:55:05PM +0530, Siddharth Vadapalli wrote: > On Mon, Sep 22, 2025 at 02:02:43PM +0530, Manivannan Sadhasivam wrote: > > Hello Mani, > > > On Mon, Sep 22, 2025 at 01:56:08PM +0530, Manivannan Sadhasivam wrote: > > > > > > On Mon, 22 Sep 2025 12:42:12 +0530, Siddharth Vadapalli wrote: > > > > 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. > > > > > > > > [...] > > > > > > Applied, thanks! > > > > > > [1/4] PCI: Export pci_get_host_bridge_device() for use by pci-keystone > > > commit: c514ba0fa8938ae09370beecb77257868c1568a7 > > > [2/4] PCI: dwc: Export dw_pcie_allocate_domains() and dw_pcie_ep_raise_msix_irq() > > > commit: db9ff606a5535aee94bf41682f03aba500ff3ad6 > > > [3/4] PCI: keystone: Exit ks_pcie_probe() for invalid mode > > > commit: 76d23c87a3e06af003ae3a08053279d06141c716 > > > [4/4] PCI: keystone: Add support to build as a loadable module > > > commit: e82d56b5f3844189f2b2240b1c3eaeeafc8f1fd2 > > > > > > > I just noticed the build dependency mentioned in the cover letter after applying > > the series. This is problematic since there is no guarantee that the dependent > > commit will reach mainline first. So if this series gets applied by Linus first, > > then building this driver as module will break the build. We should not have the > > build error at any cost. > > As feedback for the future, is there a better way that I could have > highlighted the build dependency? I agree that a build failure is > unacceptable which is why I tried to highlight the dependency, but, it > probably wasn't the best approach to point it out by mentioning it in > the cover letter. Please let me know if I could make it easier for you > and other Maintainers to notice such stated dependencies. > Mentioning the build dependency in the cover letter is the right thing to do. But somehow I failed to spot it as it was not highlighted enough (just for my eyes). Maybe you could mention the dependencies under a sub-section. Like, Dependency ========== Some people also mark the patches as DNM (Do Not Merge), but that's for patches not intended to be merged as is. Not for this series though. Anyhow, I take the blame of not going through the cover letter properly, but you did the right thing. - Mani -- மணிவண்ணன் சதாசிவம்
On Mon, Sep 22, 2025 at 04:47:39PM +0530, Manivannan Sadhasivam wrote: > On Mon, Sep 22, 2025 at 02:55:05PM +0530, Siddharth Vadapalli wrote: > > On Mon, Sep 22, 2025 at 02:02:43PM +0530, Manivannan Sadhasivam wrote: > > > > Hello Mani, > > > > > On Mon, Sep 22, 2025 at 01:56:08PM +0530, Manivannan Sadhasivam wrote: > > > > > > > > On Mon, 22 Sep 2025 12:42:12 +0530, Siddharth Vadapalli wrote: > > > > > 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. > > > > > > > > > > [...] > > > > > > > > Applied, thanks! > > > > > > > > [1/4] PCI: Export pci_get_host_bridge_device() for use by pci-keystone > > > > commit: c514ba0fa8938ae09370beecb77257868c1568a7 > > > > [2/4] PCI: dwc: Export dw_pcie_allocate_domains() and dw_pcie_ep_raise_msix_irq() > > > > commit: db9ff606a5535aee94bf41682f03aba500ff3ad6 > > > > [3/4] PCI: keystone: Exit ks_pcie_probe() for invalid mode > > > > commit: 76d23c87a3e06af003ae3a08053279d06141c716 > > > > [4/4] PCI: keystone: Add support to build as a loadable module > > > > commit: e82d56b5f3844189f2b2240b1c3eaeeafc8f1fd2 > > > > > > > > > > I just noticed the build dependency mentioned in the cover letter after applying > > > the series. This is problematic since there is no guarantee that the dependent > > > commit will reach mainline first. So if this series gets applied by Linus first, > > > then building this driver as module will break the build. We should not have the > > > build error at any cost. > > > > As feedback for the future, is there a better way that I could have > > highlighted the build dependency? I agree that a build failure is > > unacceptable which is why I tried to highlight the dependency, but, it > > probably wasn't the best approach to point it out by mentioning it in > > the cover letter. Please let me know if I could make it easier for you > > and other Maintainers to notice such stated dependencies. > > > > Mentioning the build dependency in the cover letter is the right thing to do. > But somehow I failed to spot it as it was not highlighted enough (just for my > eyes). > > Maybe you could mention the dependencies under a sub-section. Like, > > Dependency > ========== I will follow this format in the future. Thank you for the suggestion. Regards, Siddharth.
© 2016 - 2025 Red Hat, Inc.