libpayload: Add init() function to hci_t and rework uhci_reset()

uhci_reset() differs in semantics compared to the other HCI's reset()
implementations. uhci_reset() does some initialization work after a
controller reset. So move the initialization part to a new function,
uhci_reinit(), which get's exported through a new entry in hci_t:
hci_t.init().

Warning: This breaks code that relies on the current, special,
counterintuitive behaviour of uhci_reset(). If one wants a working host
controller after calling hci_t.reset(), he should call hci_t.init()
afterwards.

Change-Id: Ia7ce80865d12d11157645ce251f77f349f8e3c34
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: http://review.coreboot.org/1851
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
Nico Huber
2012-11-12 16:20:32 +01:00
committed by Ronald G. Minnich
parent aaa212d17d
commit 6e711c6a97
5 changed files with 26 additions and 0 deletions

View File

@@ -49,6 +49,11 @@ xhci_reset (hci_t *controller)
{
}
static void
xhci_reinit (hci_t *controller)
{
}
hci_t *
xhci_init (pcidev_t addr)
{
@@ -68,6 +73,7 @@ xhci_init (pcidev_t addr)
controller->start = xhci_start;
controller->stop = xhci_stop;
controller->reset = xhci_reset;
controller->init = xhci_reinit;
controller->shutdown = xhci_shutdown;
controller->bulk = xhci_bulk;
controller->control = xhci_control;