* Redisigned some of the USB Stack. Unified constructors, removed redundant functions and moved some other functions around
* Implemented the EHCIRootHub * Reworked UHCIRootHub to be more of a utility class and moved the actual work into the UHCI BusManager * Implemented port reset in EHCI. Ports with low and fullspeed devices are now correctly handed over to the companion host controller. Attachs and detachs as well as port resetting / enabling works now in EHCI. Only the actual data transfers are missing thereafter ;-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18656 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -145,10 +145,10 @@ set_feature(usb_id handle, uint16 selector)
|
||||
{
|
||||
TRACE(("usb_module: set_feature(0x%08x, %d)\n", handle, selector));
|
||||
Object *object = gUSBStack->GetObject(handle);
|
||||
if (!object || (object->Type() & USB_OBJECT_PIPE) == 0)
|
||||
if (!object || (object->Type() & USB_OBJECT_CONTROL_PIPE) == 0)
|
||||
return B_BAD_VALUE;
|
||||
|
||||
return ((Pipe *)object)->SetFeature(selector);
|
||||
return ((ControlPipe *)object)->SetFeature(selector);
|
||||
}
|
||||
|
||||
|
||||
@@ -157,10 +157,10 @@ clear_feature(usb_id handle, uint16 selector)
|
||||
{
|
||||
TRACE(("usb_module: clear_feature(0x%08x, %d)\n", handle, selector));
|
||||
Object *object = gUSBStack->GetObject(handle);
|
||||
if (!object || (object->Type() & USB_OBJECT_PIPE) == 0)
|
||||
if (!object || (object->Type() & USB_OBJECT_CONTROL_PIPE) == 0)
|
||||
return B_BAD_VALUE;
|
||||
|
||||
return ((Pipe *)object)->ClearFeature(selector);
|
||||
return ((ControlPipe *)object)->ClearFeature(selector);
|
||||
}
|
||||
|
||||
|
||||
@@ -172,10 +172,10 @@ get_status(usb_id handle, uint16 *status)
|
||||
return B_BAD_VALUE;
|
||||
|
||||
Object *object = gUSBStack->GetObject(handle);
|
||||
if (!object || (object->Type() & USB_OBJECT_PIPE) == 0)
|
||||
if (!object || (object->Type() & USB_OBJECT_CONTROL_PIPE) == 0)
|
||||
return B_BAD_VALUE;
|
||||
|
||||
return ((Pipe *)object)->GetStatus(status);
|
||||
return ((ControlPipe *)object)->GetStatus(status);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user