Commit d293408e authored by Romain Perier's avatar Romain Perier Committed by Greg Kroah-Hartman

usb: gadget: pch_udc: Replace PCI pool old API

The PCI pool API is deprecated. This commit replaces the PCI pool old
API by the appropriate function with the DMA pool API.
Signed-off-by: default avatarRomain Perier <romain.perier@collabora.com>
Reviewed-by: default avatarPeter Senna Tschudin <peter.senna@collabora.com>
Acked-by: default avatarFelipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent fa9ed6f6
...@@ -355,8 +355,8 @@ struct pch_udc_dev { ...@@ -355,8 +355,8 @@ struct pch_udc_dev {
vbus_session:1, vbus_session:1,
set_cfg_not_acked:1, set_cfg_not_acked:1,
waiting_zlp_ack:1; waiting_zlp_ack:1;
struct pci_pool *data_requests; struct dma_pool *data_requests;
struct pci_pool *stp_requests; struct dma_pool *stp_requests;
dma_addr_t dma_addr; dma_addr_t dma_addr;
struct usb_ctrlrequest setup_data; struct usb_ctrlrequest setup_data;
void __iomem *base_addr; void __iomem *base_addr;
...@@ -1522,7 +1522,7 @@ static void pch_udc_free_dma_chain(struct pch_udc_dev *dev, ...@@ -1522,7 +1522,7 @@ static void pch_udc_free_dma_chain(struct pch_udc_dev *dev,
/* do not free first desc., will be done by free for request */ /* do not free first desc., will be done by free for request */
td = phys_to_virt(addr); td = phys_to_virt(addr);
addr2 = (dma_addr_t)td->next; addr2 = (dma_addr_t)td->next;
pci_pool_free(dev->data_requests, td, addr); dma_pool_free(dev->data_requests, td, addr);
td->next = 0x00; td->next = 0x00;
addr = addr2; addr = addr2;
} }
...@@ -1539,7 +1539,7 @@ static void pch_udc_free_dma_chain(struct pch_udc_dev *dev, ...@@ -1539,7 +1539,7 @@ static void pch_udc_free_dma_chain(struct pch_udc_dev *dev,
* *
* Return codes: * Return codes:
* 0: success, * 0: success,
* -ENOMEM: pci_pool_alloc invocation fails * -ENOMEM: dma_pool_alloc invocation fails
*/ */
static int pch_udc_create_dma_chain(struct pch_udc_ep *ep, static int pch_udc_create_dma_chain(struct pch_udc_ep *ep,
struct pch_udc_request *req, struct pch_udc_request *req,
...@@ -1565,7 +1565,7 @@ static int pch_udc_create_dma_chain(struct pch_udc_ep *ep, ...@@ -1565,7 +1565,7 @@ static int pch_udc_create_dma_chain(struct pch_udc_ep *ep,
if (bytes <= buf_len) if (bytes <= buf_len)
break; break;
last = td; last = td;
td = pci_pool_alloc(ep->dev->data_requests, gfp_flags, td = dma_pool_alloc(ep->dev->data_requests, gfp_flags,
&dma_addr); &dma_addr);
if (!td) if (!td)
goto nomem; goto nomem;
...@@ -1770,7 +1770,7 @@ static struct usb_request *pch_udc_alloc_request(struct usb_ep *usbep, ...@@ -1770,7 +1770,7 @@ static struct usb_request *pch_udc_alloc_request(struct usb_ep *usbep,
if (!ep->dev->dma_addr) if (!ep->dev->dma_addr)
return &req->req; return &req->req;
/* ep0 in requests are allocated from data pool here */ /* ep0 in requests are allocated from data pool here */
dma_desc = pci_pool_alloc(ep->dev->data_requests, gfp, dma_desc = dma_pool_alloc(ep->dev->data_requests, gfp,
&req->td_data_phys); &req->td_data_phys);
if (NULL == dma_desc) { if (NULL == dma_desc) {
kfree(req); kfree(req);
...@@ -1809,7 +1809,7 @@ static void pch_udc_free_request(struct usb_ep *usbep, ...@@ -1809,7 +1809,7 @@ static void pch_udc_free_request(struct usb_ep *usbep,
if (req->td_data != NULL) { if (req->td_data != NULL) {
if (req->chain_len > 1) if (req->chain_len > 1)
pch_udc_free_dma_chain(ep->dev, req); pch_udc_free_dma_chain(ep->dev, req);
pci_pool_free(ep->dev->data_requests, req->td_data, dma_pool_free(ep->dev->data_requests, req->td_data,
req->td_data_phys); req->td_data_phys);
} }
kfree(req); kfree(req);
...@@ -2914,7 +2914,7 @@ static int init_dma_pools(struct pch_udc_dev *dev) ...@@ -2914,7 +2914,7 @@ static int init_dma_pools(struct pch_udc_dev *dev)
void *ep0out_buf; void *ep0out_buf;
/* DMA setup */ /* DMA setup */
dev->data_requests = pci_pool_create("data_requests", dev->pdev, dev->data_requests = dma_pool_create("data_requests", &dev->pdev->dev,
sizeof(struct pch_udc_data_dma_desc), 0, 0); sizeof(struct pch_udc_data_dma_desc), 0, 0);
if (!dev->data_requests) { if (!dev->data_requests) {
dev_err(&dev->pdev->dev, "%s: can't get request data pool\n", dev_err(&dev->pdev->dev, "%s: can't get request data pool\n",
...@@ -2923,7 +2923,7 @@ static int init_dma_pools(struct pch_udc_dev *dev) ...@@ -2923,7 +2923,7 @@ static int init_dma_pools(struct pch_udc_dev *dev)
} }
/* dma desc for setup data */ /* dma desc for setup data */
dev->stp_requests = pci_pool_create("setup requests", dev->pdev, dev->stp_requests = dma_pool_create("setup requests", &dev->pdev->dev,
sizeof(struct pch_udc_stp_dma_desc), 0, 0); sizeof(struct pch_udc_stp_dma_desc), 0, 0);
if (!dev->stp_requests) { if (!dev->stp_requests) {
dev_err(&dev->pdev->dev, "%s: can't get setup request pool\n", dev_err(&dev->pdev->dev, "%s: can't get setup request pool\n",
...@@ -2931,7 +2931,7 @@ static int init_dma_pools(struct pch_udc_dev *dev) ...@@ -2931,7 +2931,7 @@ static int init_dma_pools(struct pch_udc_dev *dev)
return -ENOMEM; return -ENOMEM;
} }
/* setup */ /* setup */
td_stp = pci_pool_alloc(dev->stp_requests, GFP_KERNEL, td_stp = dma_pool_alloc(dev->stp_requests, GFP_KERNEL,
&dev->ep[UDC_EP0OUT_IDX].td_stp_phys); &dev->ep[UDC_EP0OUT_IDX].td_stp_phys);
if (!td_stp) { if (!td_stp) {
dev_err(&dev->pdev->dev, dev_err(&dev->pdev->dev,
...@@ -2941,7 +2941,7 @@ static int init_dma_pools(struct pch_udc_dev *dev) ...@@ -2941,7 +2941,7 @@ static int init_dma_pools(struct pch_udc_dev *dev)
dev->ep[UDC_EP0OUT_IDX].td_stp = td_stp; dev->ep[UDC_EP0OUT_IDX].td_stp = td_stp;
/* data: 0 packets !? */ /* data: 0 packets !? */
td_data = pci_pool_alloc(dev->data_requests, GFP_KERNEL, td_data = dma_pool_alloc(dev->data_requests, GFP_KERNEL,
&dev->ep[UDC_EP0OUT_IDX].td_data_phys); &dev->ep[UDC_EP0OUT_IDX].td_data_phys);
if (!td_data) { if (!td_data) {
dev_err(&dev->pdev->dev, dev_err(&dev->pdev->dev,
...@@ -3021,22 +3021,21 @@ static void pch_udc_remove(struct pci_dev *pdev) ...@@ -3021,22 +3021,21 @@ static void pch_udc_remove(struct pci_dev *pdev)
dev_err(&pdev->dev, dev_err(&pdev->dev,
"%s: gadget driver still bound!!!\n", __func__); "%s: gadget driver still bound!!!\n", __func__);
/* dma pool cleanup */ /* dma pool cleanup */
if (dev->data_requests) dma_pool_destroy(dev->data_requests);
pci_pool_destroy(dev->data_requests);
if (dev->stp_requests) { if (dev->stp_requests) {
/* cleanup DMA desc's for ep0in */ /* cleanup DMA desc's for ep0in */
if (dev->ep[UDC_EP0OUT_IDX].td_stp) { if (dev->ep[UDC_EP0OUT_IDX].td_stp) {
pci_pool_free(dev->stp_requests, dma_pool_free(dev->stp_requests,
dev->ep[UDC_EP0OUT_IDX].td_stp, dev->ep[UDC_EP0OUT_IDX].td_stp,
dev->ep[UDC_EP0OUT_IDX].td_stp_phys); dev->ep[UDC_EP0OUT_IDX].td_stp_phys);
} }
if (dev->ep[UDC_EP0OUT_IDX].td_data) { if (dev->ep[UDC_EP0OUT_IDX].td_data) {
pci_pool_free(dev->stp_requests, dma_pool_free(dev->stp_requests,
dev->ep[UDC_EP0OUT_IDX].td_data, dev->ep[UDC_EP0OUT_IDX].td_data,
dev->ep[UDC_EP0OUT_IDX].td_data_phys); dev->ep[UDC_EP0OUT_IDX].td_data_phys);
} }
pci_pool_destroy(dev->stp_requests); dma_pool_destroy(dev->stp_requests);
} }
if (dev->dma_addr) if (dev->dma_addr)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment