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
[Index of Archives]
[Pulseaudio]
[Linux Audio Users]
[ALSA Devel]
[Fedora Desktop]
[Fedora SELinux]
[Big List of Linux Books]
[Yosemite News]
[KDE Users]