linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Philipp Stanner <pstanner@redhat.com>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: "Dan Carpenter" <dan.carpenter@linaro.org>,
	"Damien Le Moal" <dlemoal@kernel.org>,
	"Niklas Cassel" <cassel@kernel.org>,
	"Sergey Shtylyov" <s.shtylyov@omp.ru>,
	"Basavaraj Natikar" <basavaraj.natikar@amd.com>,
	"Jiri Kosina" <jikos@kernel.org>,
	"Benjamin Tissoires" <bentiss@kernel.org>,
	"Arnd Bergmann" <arnd@arndb.de>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Alex Dubov" <oakad@yahoo.com>,
	"Sudarsana Kalluru" <skalluru@marvell.com>,
	"Manish Chopra" <manishc@marvell.com>,
	"David S. Miller" <davem@davemloft.net>,
	"Eric Dumazet" <edumazet@google.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Rasesh Mody" <rmody@marvell.com>,
	GR-Linux-NIC-Dev@marvell.com,
	"Igor Mitsyanko" <imitsyanko@quantenna.com>,
	"Sergey Matyukevich" <geomatsi@gmail.com>,
	"Kalle Valo" <kvalo@kernel.org>,
	"Sanjay R Mehta" <sanju.mehta@amd.com>,
	"Shyam Sundar S K" <Shyam-sundar.S-k@amd.com>,
	"Jon Mason" <jdmason@kudzu.us>,
	"Dave Jiang" <dave.jiang@intel.com>,
	"Allen Hubbe" <allenbh@gmail.com>,
	"Bjorn Helgaas" <bhelgaas@google.com>,
	"Juergen Gross" <jgross@suse.com>,
	"Stefano Stabellini" <sstabellini@kernel.org>,
	"Oleksandr Tyshchenko" <oleksandr_tyshchenko@epam.com>,
	"Jaroslav Kysela" <perex@perex.cz>,
	"Takashi Iwai" <tiwai@suse.com>,
	"Mario Limonciello" <mario.limonciello@amd.com>,
	"Chen Ni" <nichen@iscas.ac.cn>, "Ricky Wu" <ricky_wu@realtek.com>,
	"Al Viro" <viro@zeniv.linux.org.uk>,
	"Breno Leitao" <leitao@debian.org>,
	"Kevin Tian" <kevin.tian@intel.com>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	"Mostafa Saleh" <smostafa@google.com>,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Hannes Reinecke" <hare@suse.de>,
	"John Garry" <john.g.garry@oracle.com>,
	"Soumya Negi" <soumya.negi97@gmail.com>,
	"Jason Gunthorpe" <jgg@ziepe.ca>, "Yi Liu" <yi.l.liu@intel.com>,
	"Dr. David Alan Gilbert" <linux@treblig.org>,
	"Christian Brauner" <brauner@kernel.org>,
	"Ankit Agrawal" <ankita@nvidia.com>,
	"Reinette Chatre" <reinette.chatre@intel.com>,
	"Eric Auger" <eric.auger@redhat.com>,
	"Ye Bin" <yebin10@huawei.com>,
	"Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>,
	"Pierre-Louis Bossart" <pierre-louis.bossart@linux.dev>,
	"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
	"Kai Vehmanen" <kai.vehmanen@linux.intel.com>,
	"Peter Ujfalusi" <peter.ujfalusi@linux.intel.com>,
	"Rui Salvaterra" <rsalvaterra@gmail.com>,
	"Marc Zyngier" <maz@kernel.org>,
	linux-ide@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-input@vger.kernel.org, netdev@vger.kernel.org,
	linux-wireless@vger.kernel.org, ntb@lists.linux.dev,
	linux-pci@vger.kernel.org, linux-staging@lists.linux.dev,
	kvm@vger.kernel.org, xen-devel@lists.xenproject.org,
	linux-sound@vger.kernel.org
Subject: Re: [RFC PATCH 13/13] Remove devres from pci_intx()
Date: Fri, 11 Oct 2024 14:07:48 +0200	[thread overview]
Message-ID: <a688a4109e292d7510ebd7206bd3296e23ca1e3b.camel@redhat.com> (raw)
In-Reply-To: <20241010114314.296db535.alex.williamson@redhat.com>

On Thu, 2024-10-10 at 11:43 -0600, Alex Williamson wrote:
> On Thu, 10 Oct 2024 11:11:36 +0200
> Philipp Stanner <pstanner@redhat.com> wrote:
> 
> > On Thu, 2024-10-10 at 11:50 +0300, Dan Carpenter wrote:
> > > On Wed, Oct 09, 2024 at 10:35:19AM +0200, Philipp Stanner wrote: 
> > > > pci_intx() is a hybrid function which can sometimes be managed
> > > > through
> > > > devres. This hybrid nature is undesirable.
> > > > 
> > > > Since all users of pci_intx() have by now been ported either to
> > > > always-managed pcim_intx() or never-managed
> > > > pci_intx_unmanaged(),
> > > > the
> > > > devres functionality can be removed from pci_intx().
> > > > 
> > > > Consequently, pci_intx_unmanaged() is now redundant, because
> > > > pci_intx()
> > > > itself is now unmanaged.
> > > > 
> > > > Remove the devres functionality from pci_intx(). Remove
> > > > pci_intx_unmanaged().
> > > > Have all users of pci_intx_unmanaged() call pci_intx().
> > > > 
> > > > Signed-off-by: Philipp Stanner <pstanner@redhat.com>  
> > > 
> > > I don't like when we change a function like this but it still
> > > compiles fine.
> > > If someone is working on a driver and hasn't pushed it yet, then
> > > it's
> > > probably
> > > supposed to be using the new pcim_intx() but they won't discover
> > > that
> > > until they
> > > detect the leaks at runtime.  
> > 
> > There wouldn't be any *leaks*, it's just that the INTx state would
> > not
> > automatically be restored. BTW the official documentation in its
> > current state does not hint at pci_intx() doing anything
> > automatically,
> > but rather actively marks it as deprecated.
> > 
> > But you are right that a hypothetical new driver and OOT drivers
> > could
> > experience bugs through this change.
> > 
> > > 
> > > Why not leave the pci_intx_unmanaged() name.  It's ugly and that
> > > will
> > > discorage
> > > people from introducing new uses.  
> > 
> > I'd be OK with that. Then we'd have to remove pci_intx() as it has
> > new
> > users anymore.
> > 
> > Either way should be fine and keep the behavior for existing
> > drivers
> > identical.
> > 
> > I think Bjorn should express a preference
> 
> FWIW, I think pcim_intx() and pci_intx() align better to our naming
> convention for devres interfaces.

Yup, also my personal preference. But we can mark those functions as
deprecated via docstring-comment. That should fullfill Damien's goal.

>   Would it be sufficient if pci_intx()
> triggered a WARN_ON if called for a pci_is_managed() device?

No, I don't think that's a good idea; reason being that
pci_is_managed() just checks that global boolean which we inherited
from the old implementation and which should not be necessary with
proper devres.
The boolean is used for making functions such as pci_intx() and
__pci_request_region() hybrid. So with our non-hybrid version we never
need it.

P.

>   Thanks,
> 
> Alex
> 


  parent reply	other threads:[~2024-10-11 12:07 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-09  8:35 [RFC PATCH 00/13] Remove implicit devres from pci_intx() Philipp Stanner
2024-10-09  8:35 ` [RFC PATCH 01/13] PCI: Prepare removing " Philipp Stanner
2024-10-09  9:10   ` Damien Le Moal
2024-10-10 14:40   ` Andy Shevchenko
2024-10-11 12:16     ` Philipp Stanner
2024-10-11 13:50       ` Andy Shevchenko
2024-10-14  9:12         ` Philipp Stanner
2024-10-10 17:43   ` Alex Williamson
2024-10-11 12:03     ` Philipp Stanner
2024-10-09  8:35 ` [RFC PATCH 02/13] ALSA: hda: hda_intel: Use always-managed version of pcim_intx() Philipp Stanner
2024-10-10 14:46   ` Andy Shevchenko
2024-10-11 12:27     ` Philipp Stanner
2024-10-09  8:35 ` [RFC PATCH 03/13] drivers/xen: Use never-managed version of pci_intx() Philipp Stanner
2024-10-09  8:51   ` Juergen Gross
2024-10-09 10:50     ` Philipp Stanner
2024-10-09  8:35 ` [RFC PATCH 04/13] net/ethernet: " Philipp Stanner
2024-10-09  8:35 ` [RFC PATCH 05/13] net/ntb: " Philipp Stanner
2024-10-10  4:37   ` Shyam Sundar S K
2024-10-10  4:42   ` Shyam Sundar S K
2024-10-09  8:35 ` [RFC PATCH 06/13] misc: " Philipp Stanner
2024-10-09  8:35 ` [RFC PATCH 07/13] vfio/pci: " Philipp Stanner
2024-10-09  8:35 ` [RFC PATCH 08/13] PCI: MSI: " Philipp Stanner
2024-10-09  8:35 ` [RFC PATCH 09/13] ata: Use always-managed " Philipp Stanner
2024-10-09  8:51   ` Damien Le Moal
2024-10-09 10:55     ` Philipp Stanner
2024-10-09  8:35 ` [RFC PATCH 10/13] staging: rts5280: " Philipp Stanner
2024-10-09  9:38   ` Greg Kroah-Hartman
2024-10-09 19:41     ` Philipp Hortmann
2024-10-10  8:03       ` Philipp Stanner
2024-10-10  9:03         ` Greg Kroah-Hartman
2024-10-10  9:12           ` Philipp Stanner
2024-10-09  8:35 ` [RFC PATCH 11/13] wifi: qtnfmac: use always-managed version of pcim_intx() Philipp Stanner
2024-10-09  8:35 ` [RFC PATCH 12/13] HID: amd_sfh: Use " Philipp Stanner
2024-10-10  7:20   ` Basavaraj Natikar
2024-10-09  8:35 ` [RFC PATCH 13/13] Remove devres from pci_intx() Philipp Stanner
2024-10-10  8:50   ` Dan Carpenter
2024-10-10  9:11     ` Philipp Stanner
2024-10-10 17:43       ` Alex Williamson
2024-10-10 18:34         ` Dan Carpenter
2024-10-11 12:07         ` Philipp Stanner [this message]
2024-10-09 18:32 ` [RFC PATCH 00/13] Remove implicit " Heiner Kallweit
2024-10-10  8:09   ` Philipp Stanner
2024-10-10 14:50     ` 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=a688a4109e292d7510ebd7206bd3296e23ca1e3b.camel@redhat.com \
    --to=pstanner@redhat.com \
    --cc=GR-Linux-NIC-Dev@marvell.com \
    --cc=Shyam-sundar.S-k@amd.com \
    --cc=alex.williamson@redhat.com \
    --cc=allenbh@gmail.com \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=ankita@nvidia.com \
    --cc=arnd@arndb.de \
    --cc=basavaraj.natikar@amd.com \
    --cc=bentiss@kernel.org \
    --cc=bhelgaas@google.com \
    --cc=brauner@kernel.org \
    --cc=cassel@kernel.org \
    --cc=dan.carpenter@linaro.org \
    --cc=dave.jiang@intel.com \
    --cc=davem@davemloft.net \
    --cc=dlemoal@kernel.org \
    --cc=edumazet@google.com \
    --cc=eric.auger@redhat.com \
    --cc=geomatsi@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hare@suse.de \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=imitsyanko@quantenna.com \
    --cc=jdmason@kudzu.us \
    --cc=jgg@ziepe.ca \
    --cc=jgross@suse.com \
    --cc=jikos@kernel.org \
    --cc=john.g.garry@oracle.com \
    --cc=kai.vehmanen@linux.intel.com \
    --cc=kevin.tian@intel.com \
    --cc=kuba@kernel.org \
    --cc=kvalo@kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=leitao@debian.org \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linux-sound@vger.kernel.org \
    --cc=linux-staging@lists.linux.dev \
    --cc=linux-wireless@vger.kernel.org \
    --cc=linux@treblig.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=manishc@marvell.com \
    --cc=mario.limonciello@amd.com \
    --cc=marmarek@invisiblethingslab.com \
    --cc=maz@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=nichen@iscas.ac.cn \
    --cc=ntb@lists.linux.dev \
    --cc=oakad@yahoo.com \
    --cc=oleksandr_tyshchenko@epam.com \
    --cc=pabeni@redhat.com \
    --cc=perex@perex.cz \
    --cc=peter.ujfalusi@linux.intel.com \
    --cc=pierre-louis.bossart@linux.dev \
    --cc=reinette.chatre@intel.com \
    --cc=ricky_wu@realtek.com \
    --cc=rmody@marvell.com \
    --cc=rsalvaterra@gmail.com \
    --cc=s.shtylyov@omp.ru \
    --cc=sanju.mehta@amd.com \
    --cc=skalluru@marvell.com \
    --cc=smostafa@google.com \
    --cc=soumya.negi97@gmail.com \
    --cc=sstabellini@kernel.org \
    --cc=tglx@linutronix.de \
    --cc=tiwai@suse.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=xen-devel@lists.xenproject.org \
    --cc=yebin10@huawei.com \
    --cc=yi.l.liu@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 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).