linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Robert Richter <rric@kernel.org>
Cc: Dejin Zheng <zhengdejin5@gmail.com>,
	corbet@lwn.net, jarkko.nikula@linux.intel.com,
	mika.westerberg@linux.intel.com, bhelgaas@google.com,
	wsa@kernel.org, linux-doc@vger.kernel.org,
	linux-i2c@vger.kernel.org, linux-pci@vger.kernel.org,
	kw@linux.com, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 0/4] Introduce pcim_alloc_irq_vectors()
Date: Thu, 18 Feb 2021 16:01:56 +0200	[thread overview]
Message-ID: <YC5zVHnRog3EX0rl@smile.fi.intel.com> (raw)
In-Reply-To: <YC41HD422Mjh1IZK@rric.localdomain>

On Thu, Feb 18, 2021 at 10:36:28AM +0100, Robert Richter wrote:
> On 17.02.21 00:02:45, Dejin Zheng wrote:
> > Introduce pcim_alloc_irq_vectors(), a device-managed version of
> > pci_alloc_irq_vectors(), In some i2c drivers, If pcim_enable_device()
> > has been called before, then pci_alloc_irq_vectors() is actually a
> > device-managed function. It is used as a device-managed function, So
> > replace it with pcim_alloc_irq_vectors().
> > 
> > Changelog
> > ---------
> > v2 -> v3:
> > 	- Add some commit comments for replace some codes in
> > 	  pcim_release() by pci_free_irq_vectors().
> > 	- Simplify the error handling path in i2c designware
> > 	  driver.
> > v1 -> v2:
> > 	- Use pci_free_irq_vectors() to replace some code in
> > 	  pcim_release().
> > 	- Modify some commit messages.
> > 
> > Dejin Zheng (4):
> >   PCI: Introduce pcim_alloc_irq_vectors()
> >   Documentation: devres: Add pcim_alloc_irq_vectors()
> 
> This is already taken care of, see pcim_release():
> 
>         if (dev->msi_enabled)
>                 pci_disable_msi(dev);
>         if (dev->msix_enabled)
>                 pci_disable_msix(dev);
> 
> Activated when used with pcim_enable_device().
> 
> This series is not required.

The problem this series solves is an imbalanced API.
Christoph IIRC was clear that if we want to use PCI IRQ allocation API the
caller must know what's going on. Hiding this behind the scenes is not good.
And this series unhides that.

Also, you may go and clean up all pci_free_irq_vectors() when
pcim_enable_device() is called, but I guess you will get painful process and
rejection in a pile of cases.

-- 
With Best Regards,
Andy Shevchenko



  reply	other threads:[~2021-02-18 17:13 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-16 16:02 [PATCH v3 0/4] Introduce pcim_alloc_irq_vectors() Dejin Zheng
2021-02-16 16:02 ` [PATCH v3 1/4] PCI: " Dejin Zheng
2021-02-16 17:53   ` Krzysztof Wilczyński
2021-02-16 16:02 ` [PATCH v3 2/4] Documentation: devres: Add pcim_alloc_irq_vectors() Dejin Zheng
2021-02-16 17:10   ` Krzysztof Wilczyński
2021-02-17 10:50     ` Dejin Zheng
2021-02-17 13:44       ` Andy Shevchenko
2021-02-16 16:02 ` [PATCH v3 3/4] i2c: designware: Use the correct name of device-managed function Dejin Zheng
2021-02-16 17:46   ` Krzysztof Wilczyński
2021-02-17 11:40     ` Dejin Zheng
2021-02-17 13:47       ` Andy Shevchenko
2021-02-18 14:15         ` Dejin Zheng
2021-02-16 16:02 ` [PATCH v3 4/4] i2c: thunderx: " Dejin Zheng
2021-02-16 17:49   ` Krzysztof Wilczyński
2021-02-18  9:36 ` [PATCH v3 0/4] Introduce pcim_alloc_irq_vectors() Robert Richter
2021-02-18 14:01   ` Andy Shevchenko [this message]
2021-02-19 11:19     ` Robert Richter
2021-02-19 13:51       ` Andy Shevchenko

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=YC5zVHnRog3EX0rl@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=bhelgaas@google.com \
    --cc=corbet@lwn.net \
    --cc=jarkko.nikula@linux.intel.com \
    --cc=kw@linux.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=mika.westerberg@linux.intel.com \
    --cc=rric@kernel.org \
    --cc=wsa@kernel.org \
    --cc=zhengdejin5@gmail.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 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).