dm: usb: Deal with USB keyboard persisting across tests

Clear any USB-keyboard devices before running a unit test, to avoid
using a stale udevice pointer in stdio. Add a long comment to explain
this situation and why this solution seems best, at least for now.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2024-09-01 16:26:20 -06:00
committed by Tom Rini
parent 010c449263
commit bc624321dc
5 changed files with 97 additions and 0 deletions

View File

@@ -1092,4 +1092,16 @@ struct usb_generic_descriptor **usb_emul_find_descriptor(
*/
void usb_show_tree(void);
/**
* usb_kbd_remove_for_test() - Remove any USB keyboard
*
* This can only be called from test_pre_run(). It removes the USB keyboard from
* the console system so that the USB device can be dropped
*/
#if CONFIG_IS_ENABLED(USB_KEYBOARD)
int usb_kbd_remove_for_test(void);
#else
static inline int usb_kbd_remove_for_test(void) { return 0; }
#endif
#endif /*_USB_H_ */