mirror of
https://github.com/fergalmoran/ladybird.git
synced 2026-03-06 21:45:29 +00:00
Kernel/USB: Add control_transfer() function USB::Device
Some other parts of the USB stack may require us to perform a control transfer. Instead of abusing `friend` to expose the default pipe, let's just expose it via a function.
This commit is contained in:
committed by
Andreas Kling
parent
dac26f89cb
commit
a1df8a1896
@@ -138,4 +138,9 @@ ErrorOr<void> Device::enumerate_device()
|
||||
return {};
|
||||
}
|
||||
|
||||
ErrorOr<size_t> Device::control_transfer(u8 request_type, u8 request, u16 value, u16 index, u16 length, void* data)
|
||||
{
|
||||
return TRY(m_default_pipe->control_transfer(request_type, request, value, index, length, data));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -47,6 +47,8 @@ public:
|
||||
USBController& controller() { return *m_controller; }
|
||||
USBController const& controller() const { return *m_controller; }
|
||||
|
||||
ErrorOr<size_t> control_transfer(u8 request_type, u8 request, u16 value, u16 index, u16 length, void* data);
|
||||
|
||||
protected:
|
||||
Device(NonnullRefPtr<USBController> controller, u8 address, u8 port, DeviceSpeed speed, NonnullOwnPtr<Pipe> default_pipe);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user