Message ID | 20241009083519.10088-13-pstanner@redhat.com |
---|---|
State | New |
Headers | show |
Series | Remove implicit devres from pci_intx() | expand |
On 10/9/2024 2:05 PM, 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. > > 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(). > > Signed-off-by: Philipp Stanner <pstanner@redhat.com> > --- > drivers/hid/amd-sfh-hid/amd_sfh_pcie.c | 4 ++-- > drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c b/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c > index 0c28ca349bcd..48cfd0c58241 100644 > --- a/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c > +++ b/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c > @@ -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); > } > > diff --git a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c > index db36d87d5634..ec9feb8e023b 100644 > --- a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c > +++ b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c > @@ -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); > } > Acked-by: Basavaraj Natikar <Basavaraj.Natikar@amd.com> Thanks, -- Basavaraj
diff --git a/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c b/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c index 0c28ca349bcd..48cfd0c58241 100644 --- a/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c +++ b/drivers/hid/amd-sfh-hid/amd_sfh_pcie.c @@ -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); } diff --git a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c index db36d87d5634..ec9feb8e023b 100644 --- a/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c +++ b/drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c @@ -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); }
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(). Signed-off-by: Philipp Stanner <pstanner@redhat.com> --- drivers/hid/amd-sfh-hid/amd_sfh_pcie.c | 4 ++-- drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)