Duncan Laurie 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:
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;
That was my first thought as well but it didn't seem to have any effect. I also thought this might be affected by -fstrict-volatile-bitfields but that also didn't seem to have any effect. I didn't dig much deeper than that since it was easy enough to fix this in libpayload.