Re: [PATCH v2 2/6] usb: chipidea: use bus->sysdev for DMA configuration
From: Peter Chen
Date: Wed Nov 02 2016 - 02:04:06 EST
On Wed, Nov 02, 2016 at 11:08:09AM +0530, Sriram Dash wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> Set the dma for chipidea from sysdev. This is inherited from its
> parent node. Also, do not set dma mask for child as it is not required
> now.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Signed-off-by: Sriram Dash <sriram.dash@xxxxxxx>
> ---
> Changes in v2:
> - integrate chipidea driver changes together.
>
> drivers/usb/chipidea/core.c | 3 ---
> drivers/usb/chipidea/host.c | 3 ++-
> drivers/usb/chipidea/udc.c | 10 ++++++----
> 3 files changed, 8 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/usb/chipidea/core.c b/drivers/usb/chipidea/core.c
> index 69426e6..8917a03 100644
> --- a/drivers/usb/chipidea/core.c
> +++ b/drivers/usb/chipidea/core.c
> @@ -833,9 +833,6 @@ struct platform_device *ci_hdrc_add_device(struct device *dev,
> }
>
> pdev->dev.parent = dev;
> - pdev->dev.dma_mask = dev->dma_mask;
> - pdev->dev.dma_parms = dev->dma_parms;
> - dma_set_coherent_mask(&pdev->dev, dev->coherent_dma_mask);
>
> ret = platform_device_add_resources(pdev, res, nres);
> if (ret)
> diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c
> index 96ae695..ca27893 100644
> --- a/drivers/usb/chipidea/host.c
> +++ b/drivers/usb/chipidea/host.c
> @@ -116,7 +116,8 @@ static int host_start(struct ci_hdrc *ci)
> if (usb_disabled())
> return -ENODEV;
>
> - hcd = usb_create_hcd(&ci_ehci_hc_driver, ci->dev, dev_name(ci->dev));
> + hcd = __usb_create_hcd(&ci_ehci_hc_driver, ci->dev->parent,
> + ci->dev, dev_name(ci->dev), NULL);
> if (!hcd)
> return -ENOMEM;
>
> diff --git a/drivers/usb/chipidea/udc.c b/drivers/usb/chipidea/udc.c
> index 661f43f..bc55922 100644
> --- a/drivers/usb/chipidea/udc.c
> +++ b/drivers/usb/chipidea/udc.c
> @@ -423,7 +423,8 @@ static int _hardware_enqueue(struct ci_hw_ep *hwep, struct ci_hw_req *hwreq)
>
> hwreq->req.status = -EALREADY;
>
> - ret = usb_gadget_map_request(&ci->gadget, &hwreq->req, hwep->dir);
> + ret = usb_gadget_map_request_by_dev(ci->dev->parent,
> + &hwreq->req, hwep->dir);
> if (ret)
> return ret;
>
> @@ -603,7 +604,8 @@ static int _hardware_dequeue(struct ci_hw_ep *hwep, struct ci_hw_req *hwreq)
> list_del_init(&node->td);
> }
>
> - usb_gadget_unmap_request(&hwep->ci->gadget, &hwreq->req, hwep->dir);
> + usb_gadget_unmap_request_by_dev(hwep->ci->dev->parent,
> + &hwreq->req, hwep->dir);
>
> hwreq->req.actual += actual;
>
> @@ -1904,13 +1906,13 @@ static int udc_start(struct ci_hdrc *ci)
> INIT_LIST_HEAD(&ci->gadget.ep_list);
>
> /* alloc resources */
> - ci->qh_pool = dma_pool_create("ci_hw_qh", dev,
> + ci->qh_pool = dma_pool_create("ci_hw_qh", dev->parent,
> sizeof(struct ci_hw_qh),
> 64, CI_HDRC_PAGE_SIZE);
> if (ci->qh_pool == NULL)
> return -ENOMEM;
>
> - ci->td_pool = dma_pool_create("ci_hw_td", dev,
> + ci->td_pool = dma_pool_create("ci_hw_td", dev->parent,
> sizeof(struct ci_hw_td),
> 64, CI_HDRC_PAGE_SIZE);
> if (ci->td_pool == NULL) {
> --
Acked-by: Peter Chen <peter.chen@xxxxxxx>
--
Best Regards,
Peter Chen