Nico Huber has posted comments on this change. ( https://review.coreboot.org/c/coreboot/+/39838 )
Change subject: lp/drivers/usb: Work around QEMU XHCI register issue ......................................................................
Patch Set 2: Code-Review+1
(2 comments)
I totally prefer to get rid of the bitfields, thanks! But to extend my understanding of GNU C, would it have been enough to declare things as `u32`? e.g.
struct { u32 caplength:8; u32 res1:8; u32 hciversion:16; } __packed;
https://review.coreboot.org/c/coreboot/+/39838/2/payloads/libpayload/drivers... File payloads/libpayload/drivers/usb/xhci.c:
https://review.coreboot.org/c/coreboot/+/39838/2/payloads/libpayload/drivers... PS2, Line 197: . This was printed as decimals with a . on purpose, I guess.
https://review.coreboot.org/c/coreboot/+/39838/2/payloads/libpayload/drivers... PS2, Line 189: (void *) phys_to_virt() is already `void *`. We could make the cast `u8 *` though, then the pointer arithemtic would even be valid C :)
(outer parents are not needed as the cast takes precedence; I added them ._.)