linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ata: macio: Use non-hybrid PCI devres API
@ 2025-06-04 11:34 Philipp Stanner
  2025-06-06  1:17 ` Damien Le Moal
  2025-06-10 12:31 ` Niklas Cassel
  0 siblings, 2 replies; 4+ messages in thread
From: Philipp Stanner @ 2025-06-04 11:34 UTC (permalink / raw)
  To: Damien Le Moal, Niklas Cassel; +Cc: linux-ide, linux-kernel, Philipp Stanner

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


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] ata: macio: Use non-hybrid PCI devres API
  2025-06-04 11:34 [PATCH] ata: macio: Use non-hybrid PCI devres API Philipp Stanner
@ 2025-06-06  1:17 ` Damien Le Moal
  2025-06-10 12:31 ` Niklas Cassel
  1 sibling, 0 replies; 4+ messages in thread
From: Damien Le Moal @ 2025-06-06  1:17 UTC (permalink / raw)
  To: Philipp Stanner, Niklas Cassel; +Cc: linux-ide, linux-kernel

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ata: macio: Use non-hybrid PCI devres API
  2025-06-04 11:34 [PATCH] ata: macio: Use non-hybrid PCI devres API Philipp Stanner
  2025-06-06  1:17 ` Damien Le Moal
@ 2025-06-10 12:31 ` Niklas Cassel
  2025-06-10 13:19   ` Philipp Stanner
  1 sibling, 1 reply; 4+ messages in thread
From: Niklas Cassel @ 2025-06-10 12:31 UTC (permalink / raw)
  To: Philipp Stanner; +Cc: Damien Le Moal, linux-ide, linux-kernel

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH] ata: macio: Use non-hybrid PCI devres API
  2025-06-10 12:31 ` Niklas Cassel
@ 2025-06-10 13:19   ` Philipp Stanner
  0 siblings, 0 replies; 4+ messages in thread
From: Philipp Stanner @ 2025-06-10 13:19 UTC (permalink / raw)
  To: Niklas Cassel, Philipp Stanner; +Cc: Damien Le Moal, linux-ide, linux-kernel

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


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-06-10 13:19 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-04 11:34 [PATCH] ata: macio: Use non-hybrid PCI devres API Philipp Stanner
2025-06-06  1:17 ` Damien Le Moal
2025-06-10 12:31 ` Niklas Cassel
2025-06-10 13:19   ` Philipp Stanner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).