All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yao Zi <me@ziyao.cc>
To: phasta@kernel.org, Bjorn Helgaas <helgaas@kernel.org>,
	"Russell King (Oracle)" <linux@armlinux.org.uk>,
	Thomas Gleixner <tglx@linutronix.de>
Cc: Bjorn Helgaas <bhelgaas@google.com>,
	Andrew Lunn <andrew+netdev@lunn.ch>,
	"David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Frank <Frank.Sae@motor-comm.com>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Vladimir Oltean <vladimir.oltean@nxp.com>,
	Choong Yong Liang <yong.liang.choong@linux.intel.com>,
	Chen-Yu Tsai <wens@csie.org>, Jisheng Zhang <jszhang@kernel.org>,
	Furong Xu <0x1207@gmail.com>,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	Mingcong Bai <jeffbai@aosc.io>,
	Kexy Biscuit <kexybiscuit@aosc.io>, Runhua He <hua@aosc.io>,
	Xi Ruoyao <xry111@xry111.site>
Subject: Re: [PATCH net-next v3 2/3] net: stmmac: Add glue driver for Motorcomm YT6801 ethernet controller
Date: Thu, 11 Dec 2025 14:23:58 +0000	[thread overview]
Message-ID: <aTrT3rHhtXkSyPOO@pie> (raw)
In-Reply-To: <27fec7d0ed633218a7787be3edce63c3038c63e2.camel@mailbox.org>

On Mon, Dec 08, 2025 at 10:54:36AM +0100, Philipp Stanner wrote:
> On Fri, 2025-12-05 at 16:16 -0600, Bjorn Helgaas wrote:
> > [+to Philipp, Thomas for MSI devres question]
> > 
> > On Fri, Dec 05, 2025 at 09:34:54AM +0000, Russell King (Oracle) wrote:
> > > On Fri, Dec 05, 2025 at 05:31:34AM +0000, Yao Zi wrote:
> > > > On Mon, Nov 24, 2025 at 07:06:12PM +0000, Russell King (Oracle) wrote:
> > > > > On Mon, Nov 24, 2025 at 04:32:10PM +0000, Yao Zi wrote:

...

> > > This looks very non-intuitive, and the documentation for
> > > pci_alloc_irq_vectors() doesn't help:
> > > 
> > >  * Upon a successful allocation, the caller should use pci_irq_vector()
> > >  * to get the Linux IRQ number to be passed to request_threaded_irq().
> > >  * The driver must call pci_free_irq_vectors() on cleanup.
> > >    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> > > 
> > > because if what you say is correct (and it looks like it is) then this
> > > line is blatently incorrect.
> 
> True, this line is false. It should probably state "If you didn't
> enable your PCI device with pcim_enable_device(), you must call
> pci_free_irq_vectors() on cleanup."
> 
> If it's not a bug, one could keep the docu that way or at least phrase
> it in a way so that no additional users start relying on that hybrid
> mechanism.

Thanks for the clarification, would you mind me sending a patch to fix
the description, and also mention the automatic clean-up behavior
shouldn't be relied anymore in new code?

...

> The good news is that it's the last remainder of PCI hybrid devres and
> getting rid of it would allow for removal of some additional code, too
> (e.g., is_enabled bit and pcim_pin_device()).
> 
> The bad news is that it's not super trivial to remove. I looked into it
> about two times and decided I can't invest that time currently. You
> need to go over all drivers again to see who uses pcim_enable_device(),
> then add free_irq_vecs() for them all and so on…

Do you think adding an implementation of pcim_alloc_irq_vectors(), that
always call pci_free_irq_vectors() regardless whether the PCI device is
managed, will help the conversion?

This will make it more trival to rewrite drivers depending on the
automatic clean-up behavior: since calling pci_free_irq_vectors()
several times is okay, we could simply change pci_alloc_irq_vectors() to
pcim_alloc_irq_vectors(), without considering where to call
pci_free_irq_vectors().

Introducing pcim_alloc_irq_vectors() will also help newly-introduced
drivers to reduce duplicated code to handle resource clean-up.

> If you give me a pointer I can provide a TODO entry. In any case, feel
> free to set me as a reviewer!

> Regards
> Philipp

Regards,
Yao Zi

  parent reply	other threads:[~2025-12-11 14:24 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-24 16:32 [PATCH net-next v3 0/3] Add DWMAC glue driver for Motorcomm YT6801 Yao Zi
2025-11-24 16:32 ` [PATCH net-next v3 1/3] net: phy: motorcomm: Support YT8531S PHY in YT6801 Ethernet controller Yao Zi
2025-11-24 16:32 ` [PATCH net-next v3 2/3] net: stmmac: Add glue driver for Motorcomm YT6801 ethernet controller Yao Zi
2025-11-24 19:06   ` Russell King (Oracle)
2025-12-05  5:31     ` Yao Zi
2025-12-05  9:34       ` Russell King (Oracle)
2025-12-05 22:16         ` Bjorn Helgaas
2025-12-08  9:54           ` Philipp Stanner
2025-12-08 10:15             ` Russell King (Oracle)
2025-12-08 10:47               ` Philipp Stanner
2025-12-08 10:53                 ` Russell King (Oracle)
2025-12-08 10:55                   ` Philipp Stanner
2025-12-11 14:23             ` Yao Zi [this message]
2025-12-11 14:44               ` Philipp Stanner
2025-12-08 11:11       ` Russell King (Oracle)
2025-11-24 16:32 ` [PATCH net-next v3 3/3] MAINTAINERS: Assign myself as maintainer of Motorcomm DWMAC glue driver Yao Zi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=aTrT3rHhtXkSyPOO@pie \
    --to=me@ziyao.cc \
    --cc=0x1207@gmail.com \
    --cc=Frank.Sae@motor-comm.com \
    --cc=andrew+netdev@lunn.ch \
    --cc=bhelgaas@google.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=helgaas@kernel.org \
    --cc=hkallweit1@gmail.com \
    --cc=hua@aosc.io \
    --cc=jeffbai@aosc.io \
    --cc=jszhang@kernel.org \
    --cc=kexybiscuit@aosc.io \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=phasta@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=vladimir.oltean@nxp.com \
    --cc=wens@csie.org \
    --cc=xry111@xry111.site \
    --cc=yong.liang.choong@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.