On 11/13/24 5:41 AM, 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.
>
> hw/amd and how/intel enable their PCI-Device with pci_enable_device().
> Thus, they need the never-managed version.
>
> Replace pci_intx() with pci_intx_unmanaged().
>
> Signed-off-by: Philipp Stanner <pstanner@redhat.com>
> Acked-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com> #for ntb_hw_amd.c
Acked-by: Dave Jiang <dave.jiang@intel.com> # for ntb_hw_gen1.c
> ---
> drivers/ntb/hw/amd/ntb_hw_amd.c | 4 ++--
> drivers/ntb/hw/intel/ntb_hw_gen1.c | 2 +-
> 2 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/ntb/hw/amd/ntb_hw_amd.c b/drivers/ntb/hw/amd/ntb_hw_amd.c
> index d687e8c2cc78..b146f170e839 100644
> --- a/drivers/ntb/hw/amd/ntb_hw_amd.c
> +++ b/drivers/ntb/hw/amd/ntb_hw_amd.c
> @@ -791,7 +791,7 @@ static int ndev_init_isr(struct amd_ntb_dev *ndev,
> err_msi_enable:
>
> /* Try to set up intx irq */
> - pci_intx(pdev, 1);
> + pci_intx_unmanaged(pdev, 1);
>
> rc = request_irq(pdev->irq, ndev_irq_isr, IRQF_SHARED,
> "ndev_irq_isr", ndev);
> @@ -831,7 +831,7 @@ static void ndev_deinit_isr(struct amd_ntb_dev *ndev)
> if (pci_dev_msi_enabled(pdev))
> pci_disable_msi(pdev);
> else
> - pci_intx(pdev, 0);
> + pci_intx_unmanaged(pdev, 0);
> }
> }
>
> diff --git a/drivers/ntb/hw/intel/ntb_hw_gen1.c b/drivers/ntb/hw/intel/ntb_hw_gen1.c
> index 079b8cd79785..9ad9d7fe227e 100644
> --- a/drivers/ntb/hw/intel/ntb_hw_gen1.c
> +++ b/drivers/ntb/hw/intel/ntb_hw_gen1.c
> @@ -445,7 +445,7 @@ int ndev_init_isr(struct intel_ntb_dev *ndev,
>
> /* Try to set up intx irq */
>
> - pci_intx(pdev, 1);
> + pci_intx_unmanaged(pdev, 1);
>
> rc = request_irq(pdev->irq, ndev_irq_isr, IRQF_SHARED,
> "ndev_irq_isr", ndev);