我正在编写一个定制的USB 2.0 HCI控制器驱动程序,并从内核4.15中研究了dummy_hcd / vhci代码。
我注意到的一件事是,在检查/设置端口状态更改(端口状态的高16位)时,USB_PORT_STAT_C_CONNECTION / SUSPEND / RESET和USB_PORT_FEAT_C_CONNECTION / SUSPEND / RESET都在不同情况下使用,并且不一致。
为什么有这种混合风格?
我认为应该使用USB_PORT_STAT_C_XXX,因为PORT_C_MASK被定义为USB_PORT_FEAT_C_XXX以外的那些宏的组合。