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:
committed by
Ronald G. Minnich
parent
aaa212d17d
commit
6e711c6a97
@ -127,6 +127,9 @@ struct usbdev_hc {
|
||||
/* reset(): Perform a controller reset. The controller needs to
|
||||
be (re)initialized afterwards to work (again). */
|
||||
void (*reset) (hci_t *controller);
|
||||
/* init(): Initialize a (previously reset) controller
|
||||
to a working state. */
|
||||
void (*init) (hci_t *controller);
|
||||
/* shutdown(): Stop operation, detach host controller and shutdown
|
||||
this driver instance. After calling shutdown() any
|
||||
other usage of this hci_t* is invalid. */
|
||||
|
Reference in New Issue
Block a user