diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2021-08-27 19:17:39 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2021-09-14 11:12:56 +0200 |
commit | 0b1eff5152b3646c9e33b7e0e5dd6f0f2006b06c (patch) | |
tree | 8459975619113ba9529f4350c14f4f262af73355 /drivers/char | |
parent | char: xillybus: Remove usage of the deprecated 'pci-dma-compat.h' API (diff) | |
download | linux-0b1eff5152b3646c9e33b7e0e5dd6f0f2006b06c.tar.xz linux-0b1eff5152b3646c9e33b7e0e5dd6f0f2006b06c.zip |
char: xillybus: Remove usage of 'pci_unmap_single()'
'struct xilly_mapping' includes a 'void *device' field which holds,
depending of the context, a 'struct device *' or a 'struct pci_dev *'.
This field is then used with 'pci_umap_single()' in 'xillybus_pcie.c' and
with 'dma_umap_single()' in 'xillybus_of.c'.
In order to remove usage of the deprecated 'pci_unmap_single()' API, turn
the 'void *device' field from 'struct xilly_mapping', into an explicit
'struct device *device' and use 'dma_umap_single()' everywhere.
In order to update 'xillybus_pcie.c', use the 'dev' field instead of the
'pdev' field from the 'struct xilly_endpoint'.
Both fields are initialized by 'xillybus_init_endpoint()' and in
'xillybus_pcie.c', we have:
xillybus_init_endpoint(pdev, &pdev->dev, &pci_hw);
^ ^
xilly_endpoint.pdev = ___| |___ = xilly_endpoint.dev
So the modification from pci_ to dma_ function is straightforward.
While at it, remove a comment that is wrong, because in the case above,
both 'dev' and 'pdev' are not NULL.
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/baa3f6c7f009d9c231ae320bf1d568268bfef089.1630083668.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/xillybus/xillybus.h | 6 | ||||
-rw-r--r-- | drivers/char/xillybus/xillybus_pcie.c | 6 |
2 files changed, 4 insertions, 8 deletions
diff --git a/drivers/char/xillybus/xillybus.h b/drivers/char/xillybus/xillybus.h index c63ffc56637c..7c71bdef7ccb 100644 --- a/drivers/char/xillybus/xillybus.h +++ b/drivers/char/xillybus/xillybus.h @@ -87,10 +87,6 @@ struct xilly_channel { }; struct xilly_endpoint { - /* - * One of pdev and dev is always NULL, and the other is a valid - * pointer, depending on the type of device - */ struct pci_dev *pdev; struct device *dev; struct xilly_endpoint_hardware *ephw; @@ -131,7 +127,7 @@ struct xilly_endpoint_hardware { }; struct xilly_mapping { - void *device; + struct device *device; dma_addr_t dma_addr; size_t size; int direction; diff --git a/drivers/char/xillybus/xillybus_pcie.c b/drivers/char/xillybus/xillybus_pcie.c index be25bfdb0d9a..8360427e4226 100644 --- a/drivers/char/xillybus/xillybus_pcie.c +++ b/drivers/char/xillybus/xillybus_pcie.c @@ -69,8 +69,8 @@ static void xilly_pci_unmap(void *ptr) { struct xilly_mapping *data = ptr; - pci_unmap_single(data->device, data->dma_addr, - data->size, data->direction); + dma_unmap_single(data->device, data->dma_addr, data->size, + data->direction); kfree(ptr); } @@ -105,7 +105,7 @@ static int xilly_map_single_pci(struct xilly_endpoint *ep, return -ENODEV; } - this->device = ep->pdev; + this->device = ep->dev; this->dma_addr = addr; this->size = size; this->direction = pci_direction; |