Re: [RFC PATCH 02/13] ALSA: hda: hda_intel: Use always-managed version of pcim_intx()

From: Andy Shevchenko
Date: Thu Oct 10 2024 - 10:57:21 EST


On Wed, Oct 09, 2024 at 10:35:08AM +0200, Philipp Stanner wrote:
> pci_intx() is a hybrid function which can sometimes be managed through
> devres. To remove this hybrid nature from pci_intx(), it is necessary to
> port users to either an always-managed or a never-managed version.
>
> hda_intel enables its PCI-Device with pcim_enable_device(). Thus, it needs
> the always-managed version.
>
> Replace pci_intx() with pcim_intx().

...

> bus->irq = chip->pci->irq;
> chip->card->sync_irq = bus->irq;
> - pci_intx(chip->pci, !chip->msi);
> + pcim_intx(chip->pci, !chip->msi);
> return 0;

I believe each driver needs an individual approach. Looking at the above
I would first to understand why this one is being used and why we can't
switch to pci{m}_alloc_irq_vectors(). (Yeah, managed pci_alloc_irq_vectors()
is probably still missing, I don't remember if you introduced it or not.

--
With Best Regards,
Andy Shevchenko