]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
HID: amd_sfh: Use always-managed version of pcim_intx()
authorPhilipp Stanner <pstanner@redhat.com>
Mon, 9 Dec 2024 13:06:32 +0000 (14:06 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Sat, 18 Jan 2025 20:38:49 +0000 (14:38 -0600)
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.

All users of amd_mp2_pci_remove(), where pci_intx() is used, call
pcim_enable_device(), which is why the driver needs the always-managed
version.

Replace pci_intx() with pcim_intx().

Link: https://lore.kernel.org/r/20241209130632.132074-12-pstanner@redhat.com
Signed-off-by: Philipp Stanner <pstanner@redhat.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com>
drivers/hid/amd-sfh-hid/amd_sfh_pcie.c
drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c

index 0c28ca349bcd37888529490c8000fb5bfea6e617..48cfd0c5824149dd93cf35fa671262dc46a08240 100644 (file)
@@ -122,7 +122,7 @@ int amd_sfh_irq_init_v2(struct amd_mp2_dev *privdata)
 {
        int rc;
 
-       pci_intx(privdata->pdev, true);
+       pcim_intx(privdata->pdev, true);
 
        rc = devm_request_irq(&privdata->pdev->dev, privdata->pdev->irq,
                              amd_sfh_irq_handler, 0, DRIVER_NAME, privdata);
@@ -248,7 +248,7 @@ static void amd_mp2_pci_remove(void *privdata)
        struct amd_mp2_dev *mp2 = privdata;
        amd_sfh_hid_client_deinit(privdata);
        mp2->mp2_ops->stop_all(mp2);
-       pci_intx(mp2->pdev, false);
+       pcim_intx(mp2->pdev, false);
        amd_sfh_clear_intr(mp2);
 }
 
index db36d87d56341769e7ec4b2daeeab90384536961..ec9feb8e023b45a87fdb496d0ddf87e70b3065bc 100644 (file)
@@ -289,7 +289,7 @@ static void amd_mp2_pci_remove(void *privdata)
        sfh_deinit_emp2();
        amd_sfh_hid_client_deinit(privdata);
        mp2->mp2_ops->stop_all(mp2);
-       pci_intx(mp2->pdev, false);
+       pcim_intx(mp2->pdev, false);
        amd_sfh_clear_intr(mp2);
 }