usb: Special return values for custom_handler
This commit introduces dedicated return type for custom_handler. Relevant code is updated to fulfill the API documentation. Signed-off-by: Emil Obalski <emil.obalski@nordicsemi.no>
This commit is contained in:
parent
8fa51bca58
commit
45bdb23005
5 changed files with 14 additions and 12 deletions
|
@ -157,6 +157,10 @@ struct usb_interface_cfg_data {
|
||||||
* The custom request handler gets a first chance at handling
|
* The custom request handler gets a first chance at handling
|
||||||
* the request before it is handed over to the 'chapter 9' request
|
* the request before it is handed over to the 'chapter 9' request
|
||||||
* handler.
|
* handler.
|
||||||
|
* return 0 on success, -EINVAL if the request has not been handled by
|
||||||
|
* the custom handler and instead needs to be handled by the
|
||||||
|
* core USB stack. Any other error code to denote failure within
|
||||||
|
* the custom handler.
|
||||||
*/
|
*/
|
||||||
usb_request_handler custom_handler;
|
usb_request_handler custom_handler;
|
||||||
};
|
};
|
||||||
|
|
|
@ -212,7 +212,7 @@ int custom_handle_req(struct usb_setup_packet *pSetup,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return -ENOTSUP;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -89,12 +89,11 @@ int webusb_custom_handle_req(struct usb_setup_packet *pSetup,
|
||||||
LOG_DBG("");
|
LOG_DBG("");
|
||||||
|
|
||||||
/* Call the callback */
|
/* Call the callback */
|
||||||
if ((req_handlers && req_handlers->custom_handler) &&
|
if (req_handlers && req_handlers->custom_handler) {
|
||||||
(!req_handlers->custom_handler(pSetup, len, data))) {
|
return req_handlers->custom_handler(pSetup, len, data);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return -ENOTSUP;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -110,12 +109,11 @@ int webusb_vendor_handle_req(struct usb_setup_packet *pSetup,
|
||||||
s32_t *len, u8_t **data)
|
s32_t *len, u8_t **data)
|
||||||
{
|
{
|
||||||
/* Call the callback */
|
/* Call the callback */
|
||||||
if ((req_handlers && req_handlers->vendor_handler) &&
|
if (req_handlers && req_handlers->vendor_handler) {
|
||||||
(!req_handlers->vendor_handler(pSetup, len, data))) {
|
return req_handlers->vendor_handler(pSetup, len, data);
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return -ENOTSUP;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -509,7 +509,7 @@ static int hid_custom_handle_req(struct usb_setup_packet *setup,
|
||||||
if (common == NULL) {
|
if (common == NULL) {
|
||||||
LOG_WRN("Device data not found for interface %u",
|
LOG_WRN("Device data not found for interface %u",
|
||||||
sys_le16_to_cpu(setup->wIndex));
|
sys_le16_to_cpu(setup->wIndex));
|
||||||
return -ENODEV;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
dev_data = CONTAINER_OF(common, struct hid_device_info, common);
|
dev_data = CONTAINER_OF(common, struct hid_device_info, common);
|
||||||
|
@ -545,7 +545,7 @@ static int hid_custom_handle_req(struct usb_setup_packet *setup,
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
return -ENOTSUP;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void hid_int_in(u8_t ep, enum usb_dc_ep_cb_status_code ep_status)
|
static void hid_int_in(u8_t ep, enum usb_dc_ep_cb_status_code ep_status)
|
||||||
|
|
|
@ -694,7 +694,7 @@ static int dfu_custom_handle_req(struct usb_setup_packet *pSetup,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Not handled by us */
|
/* Not handled by us */
|
||||||
return -ENOTSUP;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void dfu_interface_config(struct usb_desc_header *head,
|
static void dfu_interface_config(struct usb_desc_header *head,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue