发明名称 Method and program for selective suspension of USB device
摘要 A method provides device selective suspension feature when the operating system does not allow certain device drivers to perform device selective suspension. Two driver stacks are provided in the kernel space for the device. The first driver stack includes a virtual bus, a PDO (physical device object) created by the virtual bus, and a driver for the device (e.g. NDIS driver); the second stack includes a device driver stack (e.g. USB generic driver) and a function driver that performs device selective suspension by sending power IRPs to the device driver stack. By using a virtual bus and PDOs created by the virtual bus in the first driver stack, the driver above the PDO can be any one of many types of drivers (NDIS driver being one example). The virtual bus forwards IRPs from the first driver stack to the second driver stack.
申请公布号 US9087031(B2) 申请公布日期 2015.07.21
申请号 US201314052306 申请日期 2013.10.11
申请人 MEDIATEK INC. 发明人 Hsu Ying-Che;Huang Wen-Juin;Tsai Ang-Juei
分类号 G06F13/24;G06F13/10 主分类号 G06F13/24
代理机构 Chen Yoshimura LLP 代理人 Chen Yoshimura LLP
主权项 1. A method for controlling a device coupled to a host computer, comprising: providing a first driver stack in a kernel space of an operating system (OS) of the host computer, wherein the first driver stack comprises a virtual bus, a physical device object created by and coupled to the virtual bus, and a first device driver coupled to the physical device object, to interact with user applications in a user space of the OS; and providing a second driver stack in the kernel space of the OS, wherein the second driver stack comprises a function driver and a second device driver for the device, to interact with the device, wherein the function driver is coupled to the virtual bus of the first driver stack and the second device driver is coupled to the function driver, wherein the first driver stack forwards data between the user applications and the second driver stack, and the second driver stack forwards data between the first driver stack and the device, wherein the function driver issues a command to the second device driver to selectively suspend the device, and wherein the first driver stack and the second driver stack are distinct, and the first device driver and the function driver are distinct.
地址 Hsin-Chu TW