drivers/ata/pata_macio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
macio enables its PCI device with pcim_enable_device(). This,
implicitly, switches the function pci_request_regions() into managed
mode, where it becomes a devres function.
The PCI subsystem wants to remove this hybrid nature from its
interfaces. To do so, users of the aforementioned combination of
functions must be ported to non-hybrid functions.
Replace the call to sometimes-managed pci_request_regions() with one to
the always-managed pcim_request_all_regions().
Signed-off-by: Philipp Stanner <phasta@kernel.org>
---
Hi,
seems I forgot sending this patch out a while ago. Mea culpa.
PCI has currently chained the changes mentioned above queued up for
Linus, so it's probably a good idea to get this into macio relatively
soonish. Otherwise the driver would likely fail to reload in v6.16,
because the device's PCI regions remain blocked.
Thx
P.
---
drivers/ata/pata_macio.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/ata/pata_macio.c b/drivers/ata/pata_macio.c
index fbf5f07ea357..f7a933eefe05 100644
--- a/drivers/ata/pata_macio.c
+++ b/drivers/ata/pata_macio.c
@@ -1298,7 +1298,7 @@ static int pata_macio_pci_attach(struct pci_dev *pdev,
priv->dev = &pdev->dev;
/* Get MMIO regions */
- if (pci_request_regions(pdev, "pata-macio")) {
+ if (pcim_request_all_regions(pdev, "pata-macio")) {
dev_err(&pdev->dev,
"Cannot obtain PCI resources\n");
return -EBUSY;
--
2.48.1
Hello Philipp, On Wed, Jun 04, 2025 at 01:34:24PM +0200, Philipp Stanner wrote: > macio enables its PCI device with pcim_enable_device(). This, > implicitly, switches the function pci_request_regions() into managed > mode, where it becomes a devres function. > > The PCI subsystem wants to remove this hybrid nature from its > interfaces. To do so, users of the aforementioned combination of > functions must be ported to non-hybrid functions. > > Replace the call to sometimes-managed pci_request_regions() with one to > the always-managed pcim_request_all_regions(). > > Signed-off-by: Philipp Stanner <phasta@kernel.org> > --- > Hi, > seems I forgot sending this patch out a while ago. Mea culpa. > > PCI has currently chained the changes mentioned above queued up for chained? > Linus, so it's probably a good idea to get this into macio relatively > soonish. Otherwise the driver would likely fail to reload in v6.16, > because the device's PCI regions remain blocked. I can queue this up for 6.16, but then I think you need to rewrite the commit message to motivate why it is a fix (i.e. why it deserves to go in to 6.16-rc2). Or, I can just queue it up for 6.17. What do you prefer? Kind regards, Niklas
On Tue, 2025-06-10 at 14:31 +0200, Niklas Cassel wrote: > Hello Philipp, > > On Wed, Jun 04, 2025 at 01:34:24PM +0200, Philipp Stanner wrote: > > macio enables its PCI device with pcim_enable_device(). This, > > implicitly, switches the function pci_request_regions() into > > managed > > mode, where it becomes a devres function. > > > > The PCI subsystem wants to remove this hybrid nature from its > > interfaces. To do so, users of the aforementioned combination of > > functions must be ported to non-hybrid functions. > > > > Replace the call to sometimes-managed pci_request_regions() with > > one to > > the always-managed pcim_request_all_regions(). > > > > Signed-off-by: Philipp Stanner <phasta@kernel.org> > > --- > > Hi, > > seems I forgot sending this patch out a while ago. Mea culpa. > > > > PCI has currently chained the changes mentioned above queued up for > > chained? "Queued up for the merge window". Now it's already in Linus's tree. > > > > Linus, so it's probably a good idea to get this into macio > > relatively > > soonish. Otherwise the driver would likely fail to reload in v6.16, > > because the device's PCI regions remain blocked. > > I can queue this up for 6.16, but then I think you need to rewrite > the > commit message to motivate why it is a fix (i.e. why it deserves to > go > in to 6.16-rc2). > > Or, I can just queue it up for 6.17. No, this needs to go into 6.16. As I state above, all kernels from 6.16 onwards which don't have this patch will see pata_macio fail in case of a driver-reload, because the PCI regions remain blocked. I can fish out the commit ID and provide an adjusted descrption with Fixes: tag as a v2. Thx P. > > What do you prefer? > > > Kind regards, > Niklas
On 6/4/25 20:34, Philipp Stanner wrote: > macio enables its PCI device with pcim_enable_device(). This, > implicitly, switches the function pci_request_regions() into managed > mode, where it becomes a devres function. > > The PCI subsystem wants to remove this hybrid nature from its > interfaces. To do so, users of the aforementioned combination of > functions must be ported to non-hybrid functions. > > Replace the call to sometimes-managed pci_request_regions() with one to > the always-managed pcim_request_all_regions(). > > Signed-off-by: Philipp Stanner <phasta@kernel.org> Reviewed-by: Damien Le Moal <dlemoal@kernel.org> -- Damien Le Moal Western Digital Research
© 2016 - 2025 Red Hat, Inc.