usb: Cleaned up a little in the control endpoint implementation

This commit is contained in:
dragonmux
2024-04-17 18:40:54 +01:00
committed by Piotr Esden-Tempski
parent 61ed913de9
commit e135b9000d
2 changed files with 6 additions and 10 deletions

View File

@@ -235,27 +235,25 @@ static void usb_control_setup_write(usbd_device *usbd_dev,
/* Do not appear to belong to the API, so are omitted from docs */ /* Do not appear to belong to the API, so are omitted from docs */
/**@}*/ /**@}*/
void _usbd_control_setup(usbd_device *usbd_dev, uint8_t ea) void _usbd_control_setup(usbd_device *usbd_dev, uint8_t ep)
{ {
struct usb_setup_data *req = &usbd_dev->control_state.req; struct usb_setup_data *req = &usbd_dev->control_state.req;
(void)ea; (void)ep;
usbd_dev->control_state.complete = NULL; usbd_dev->control_state.complete = NULL;
usbd_ep_nak_set(usbd_dev, 0, 1); usbd_ep_nak_set(usbd_dev, 0, 1);
if (req->wLength == 0) { if (req->wLength == 0 || (req->bmRequestType & USB_REQ_TYPE_DIRECTION) == USB_REQ_TYPE_IN) {
usb_control_setup_read(usbd_dev, req);
} else if (req->bmRequestType & 0x80) {
usb_control_setup_read(usbd_dev, req); usb_control_setup_read(usbd_dev, req);
} else { } else {
usb_control_setup_write(usbd_dev, req); usb_control_setup_write(usbd_dev, req);
} }
} }
void _usbd_control_out(usbd_device *usbd_dev, uint8_t ea) void _usbd_control_out(usbd_device *usbd_dev, uint8_t ep)
{ {
(void)ea; (void)ep;
switch (usbd_dev->control_state.state) { switch (usbd_dev->control_state.state) {
case DATA_OUT: case DATA_OUT:

View File

@@ -305,12 +305,11 @@ usb_standard_set_address(usbd_device *usbd_dev,
struct usb_setup_data *req, uint8_t **buf, struct usb_setup_data *req, uint8_t **buf,
uint16_t *len) uint16_t *len)
{ {
(void)req;
(void)buf; (void)buf;
(void)len; (void)len;
/* The actual address is only latched at the STATUS IN stage. */ /* The actual address is only latched at the STATUS IN stage. */
if ((req->bmRequestType != 0) || (req->wValue >= 128)) { if (req->bmRequestType != 0 || req->wValue >= 128) {
return USBD_REQ_NOTSUPP; return USBD_REQ_NOTSUPP;
} }
@@ -336,7 +335,6 @@ usb_standard_set_configuration(usbd_device *usbd_dev,
int found_index = -1; int found_index = -1;
const struct usb_config_descriptor *cfg; const struct usb_config_descriptor *cfg;
(void)req;
(void)buf; (void)buf;
(void)len; (void)len;