usb: chipidea: use bus->sysdev for DMA configuration
authorArnd Bergmann <arnd@arndb.de>
Mon, 13 Mar 2017 02:18:42 +0000 (10:18 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Mar 2017 07:20:21 +0000 (08:20 +0100)
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@arndb.de>
Signed-off-by: Sriram Dash <sriram.dash@nxp.com>
Acked-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/chipidea/core.c
drivers/usb/chipidea/host.c
drivers/usb/chipidea/udc.c

index 79ad8e91632e6d29f3a67a328b559d2b2be7f793..b4a78b2df2ed2f54a057a5386aae4764abf90f70 100644 (file)
@@ -783,9 +783,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)
index 915f3e91586e68adddce0367c3179753a90fd078..18cb8e46262d3ed3492d1045b7e15b9b4496f479 100644 (file)
@@ -123,7 +123,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;
 
index f88e9157fad07ea8443a8c72f036133418721cdf..1fb52359f7b9354a763b9726a85d07d89534e041 100644 (file)
@@ -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;
 
@@ -1899,13 +1901,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) {