usb: add an interface for usb controllers using the new driver API
Change-Id: I25f481c8a7c3e4aafa3080640ce156b9232eaf73 Reviewed-on: https://review.haiku-os.org/c/haiku/+/5707 Reviewed-by: waddlesplash <waddlesplash@gmail.com>
This commit is contained in:
parent
2ca24be640
commit
1eebcfa03e
@ -895,8 +895,44 @@ struct usb_module_info_v2 gModuleInfoV2 = {
|
|||||||
//
|
//
|
||||||
|
|
||||||
|
|
||||||
|
status_t
|
||||||
|
usb_added_device(device_node *parent)
|
||||||
|
{
|
||||||
|
dprintf("usb_added_device\n");
|
||||||
|
return B_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
status_t
|
||||||
|
usb_get_stack(void** stack)
|
||||||
|
{
|
||||||
|
*stack = gUSBStack;
|
||||||
|
return B_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
usb_for_controller_interface gForControllerModule = {
|
||||||
|
{
|
||||||
|
{
|
||||||
|
USB_FOR_CONTROLLER_MODULE_NAME,
|
||||||
|
B_KEEP_LOADED,
|
||||||
|
&bus_std_ops
|
||||||
|
},
|
||||||
|
|
||||||
|
NULL, // supported devices
|
||||||
|
usb_added_device,
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL
|
||||||
|
},
|
||||||
|
|
||||||
|
usb_get_stack,
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
module_info *modules[] = {
|
module_info *modules[] = {
|
||||||
(module_info *)&gModuleInfoV2,
|
(module_info *)&gModuleInfoV2,
|
||||||
(module_info *)&gModuleInfoV3,
|
(module_info *)&gModuleInfoV3,
|
||||||
|
(module_info *)&gForControllerModule,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
@ -759,4 +759,22 @@ private:
|
|||||||
uint16 fBandwidth;
|
uint16 fBandwidth;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#include <device_manager.h>
|
||||||
|
|
||||||
|
|
||||||
|
// Interface between usb_bus and underlying implementation (xhci_pci)
|
||||||
|
typedef struct usb_bus_interface {
|
||||||
|
driver_module_info info;
|
||||||
|
} usb_bus_interface;
|
||||||
|
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
driver_module_info info;
|
||||||
|
status_t (*get_stack)(void** stack);
|
||||||
|
} usb_for_controller_interface;
|
||||||
|
|
||||||
|
#define USB_FOR_CONTROLLER_MODULE_NAME "bus_managers/usb/controller/driver_v1"
|
||||||
|
|
||||||
|
|
||||||
#endif // _USB_PRIVATE_H
|
#endif // _USB_PRIVATE_H
|
||||||
|
Loading…
Reference in New Issue
Block a user