Skip to content

Commit

Permalink
usb: dwc3: core: move event buffer allocation out of dwc3_core_init()
Browse files Browse the repository at this point in the history
This patch is in preparation for adding PM support
dwc3 driver. We want to re-use dwc3_core_init and
dwc3_core_exit() functions on resume() and suspend()
callbacks respectively.

Moving even buffer allocation away from dwc3_core_init()
will allow us to reuse the event buffer which was allocated
long ago on our probe() routine.

Signed-off-by: Felipe Balbi <balbi@ti.com>
  • Loading branch information
Felipe Balbi committed Oct 15, 2012
1 parent 380f0d2 commit 3921426
Showing 1 changed file with 12 additions and 13 deletions.
25 changes: 12 additions & 13 deletions drivers/usb/dwc3/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -381,32 +381,21 @@ static int __devinit dwc3_core_init(struct dwc3 *dwc)

dwc3_writel(dwc->regs, DWC3_GCTL, reg);

ret = dwc3_alloc_event_buffers(dwc, DWC3_EVENT_BUFFERS_SIZE);
if (ret) {
dev_err(dwc->dev, "failed to allocate event buffers\n");
ret = -ENOMEM;
goto err1;
}

ret = dwc3_event_buffers_setup(dwc);
if (ret) {
dev_err(dwc->dev, "failed to setup event buffers\n");
goto err1;
goto err0;
}

return 0;

err1:
dwc3_free_event_buffers(dwc);

err0:
return ret;
}

static void dwc3_core_exit(struct dwc3 *dwc)
{
dwc3_event_buffers_cleanup(dwc);
dwc3_free_event_buffers(dwc);
}

#define DWC3_ALIGN_MASK (16 - 1)
Expand Down Expand Up @@ -509,10 +498,17 @@ static int __devinit dwc3_probe(struct platform_device *pdev)
pm_runtime_get_sync(dev);
pm_runtime_forbid(dev);

ret = dwc3_alloc_event_buffers(dwc, DWC3_EVENT_BUFFERS_SIZE);
if (ret) {
dev_err(dwc->dev, "failed to allocate event buffers\n");
ret = -ENOMEM;
goto err0;
}

ret = dwc3_core_init(dwc);
if (ret) {
dev_err(dev, "failed to initialize core\n");
return ret;
goto err0;
}

mode = DWC3_MODE(dwc->hwparams.hwparams0);
Expand Down Expand Up @@ -584,6 +580,9 @@ static int __devinit dwc3_probe(struct platform_device *pdev)
err1:
dwc3_core_exit(dwc);

err0:
dwc3_free_event_buffers(dwc);

return ret;
}

Expand Down

0 comments on commit 3921426

Please sign in to comment.