2024-04-01 15:30:39

by Heiner Kallweit

[permalink] [raw]
Subject: [PATCH] ath9k: use unmanaged PCI functions in ath9k_pci_owl_loader

Using the device-managed versions has no benefit here, because
resources are released as part of the asynchronous fw loading.

Actual reason why I got here is that I was looking for places with
dubious use of pcim_pin_device().

Signed-off-by: Heiner Kallweit <[email protected]>
---
drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c b/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c
index a5eb43f30..bc93ca075 100644
--- a/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c
+++ b/drivers/net/wireless/ath/ath9k/ath9k_pci_owl_loader.c
@@ -65,7 +65,7 @@ static int ath9k_pci_fixup(struct pci_dev *pdev, const u16 *cal_data,

dev_info(&pdev->dev, "fixup device configuration\n");

- mem = pcim_iomap(pdev, 0, 0);
+ mem = pci_iomap(pdev, 0, 0);
if (!mem) {
dev_err(&pdev->dev, "ioremap error\n");
return -EINVAL;
@@ -103,7 +103,7 @@ static int ath9k_pci_fixup(struct pci_dev *pdev, const u16 *cal_data,
pci_write_config_word(pdev, PCI_COMMAND, cmd);

pci_write_config_dword(pdev, PCI_BASE_ADDRESS_0, bar0);
- pcim_iounmap(pdev, mem);
+ pci_iounmap(pdev, mem);

pci_disable_device(pdev);

@@ -200,11 +200,9 @@ static int owl_probe(struct pci_dev *pdev,
const char *eeprom_name;
int err = 0;

- if (pcim_enable_device(pdev))
+ if (pci_enable_device(pdev))
return -EIO;

- pcim_pin_device(pdev);
-
ctx = devm_kzalloc(&pdev->dev, sizeof(*ctx), GFP_KERNEL);
if (!ctx)
return -ENOMEM;
--
2.44.0



2024-04-03 21:33:48

by Toke Høiland-Jørgensen

[permalink] [raw]
Subject: Re: [PATCH] ath9k: use unmanaged PCI functions in ath9k_pci_owl_loader

Heiner Kallweit <[email protected]> writes:

> Using the device-managed versions has no benefit here, because
> resources are released as part of the asynchronous fw loading.
>
> Actual reason why I got here is that I was looking for places with
> dubious use of pcim_pin_device().

Could you please expand the commit message to explain what this means in
a bit more detail? That will be helpful to someone who wants to
understand what the difference between these versions is and why this
change makes sense, but who is not that familiar with how these internal
bits are really supposed to work. Someone like myself, in other words :)

-Toke

2024-04-04 21:07:24

by Heiner Kallweit

[permalink] [raw]
Subject: Re: [PATCH] ath9k: use unmanaged PCI functions in ath9k_pci_owl_loader

On 03.04.2024 23:23, Toke Høiland-Jørgensen wrote:
> Heiner Kallweit <[email protected]> writes:
>
>> Using the device-managed versions has no benefit here, because
>> resources are released as part of the asynchronous fw loading.
>>
>> Actual reason why I got here is that I was looking for places with
>> dubious use of pcim_pin_device().
>
> Could you please expand the commit message to explain what this means in
> a bit more detail? That will be helpful to someone who wants to
> understand what the difference between these versions is and why this
> change makes sense, but who is not that familiar with how these internal
> bits are really supposed to work. Someone like myself, in other words :)
>
Sure. I'll add some more context in a v2.

> -Toke
Heiner