usb: Use enumerated return codes
The enum usbd_request_return_codes has been available for some time. It should be used internally, not just by users of this code.
This commit is contained in:
parent
93cf76b9d1
commit
54b117c5a5
@ -107,7 +107,8 @@ extern void usbd_register_sof_callback(usbd_device *usbd_dev,
|
||||
typedef void (*usbd_control_complete_callback)(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req);
|
||||
|
||||
typedef int (*usbd_control_callback)(usbd_device *usbd_dev,
|
||||
typedef enum usbd_request_return_codes (*usbd_control_callback)(
|
||||
usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req, uint8_t **buf, uint16_t *len,
|
||||
usbd_control_complete_callback *complete);
|
||||
|
||||
|
@ -138,7 +138,8 @@ static int usb_control_recv_chunk(usbd_device *usbd_dev)
|
||||
return packetsize;
|
||||
}
|
||||
|
||||
static int usb_control_request_dispatch(usbd_device *usbd_dev,
|
||||
static enum usbd_request_return_codes
|
||||
usb_control_request_dispatch(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req)
|
||||
{
|
||||
int i, result = 0;
|
||||
|
@ -733,9 +733,9 @@ static void msc_data_tx_cb(usbd_device *usbd_dev, uint8_t ep)
|
||||
/** @brief Handle various control requests related to the msc storage
|
||||
* interface.
|
||||
*/
|
||||
static int msc_control_request(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req, uint8_t **buf,
|
||||
uint16_t *len,
|
||||
static enum usbd_request_return_codes
|
||||
msc_control_request(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req, uint8_t **buf, uint16_t *len,
|
||||
usbd_control_complete_callback *complete)
|
||||
{
|
||||
(void)complete;
|
||||
|
@ -123,16 +123,16 @@ void _usbd_control_in(usbd_device *usbd_dev, uint8_t ea);
|
||||
void _usbd_control_out(usbd_device *usbd_dev, uint8_t ea);
|
||||
void _usbd_control_setup(usbd_device *usbd_dev, uint8_t ea);
|
||||
|
||||
int _usbd_standard_request_device(usbd_device *usbd_dev,
|
||||
enum usbd_request_return_codes _usbd_standard_request_device(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req, uint8_t **buf,
|
||||
uint16_t *len);
|
||||
int _usbd_standard_request_interface(usbd_device *usbd_dev,
|
||||
enum usbd_request_return_codes _usbd_standard_request_interface(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req, uint8_t **buf,
|
||||
uint16_t *len);
|
||||
int _usbd_standard_request_endpoint(usbd_device *usbd_dev,
|
||||
enum usbd_request_return_codes _usbd_standard_request_endpoint(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req, uint8_t **buf,
|
||||
uint16_t *len);
|
||||
int _usbd_standard_request(usbd_device *usbd_dev, struct usb_setup_data *req,
|
||||
enum usbd_request_return_codes _usbd_standard_request(usbd_device *usbd_dev, struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len);
|
||||
|
||||
void _usbd_reset(usbd_device *usbd_dev);
|
||||
|
@ -146,7 +146,8 @@ static int usb_descriptor_index(uint16_t wValue)
|
||||
return wValue & 0xFF;
|
||||
}
|
||||
|
||||
static int usb_standard_get_descriptor(usbd_device *usbd_dev,
|
||||
static enum usbd_request_return_codes
|
||||
usb_standard_get_descriptor(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len)
|
||||
{
|
||||
@ -217,7 +218,8 @@ static int usb_standard_get_descriptor(usbd_device *usbd_dev,
|
||||
return USBD_REQ_NOTSUPP;
|
||||
}
|
||||
|
||||
static int usb_standard_set_address(usbd_device *usbd_dev,
|
||||
static enum usbd_request_return_codes
|
||||
usb_standard_set_address(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req, uint8_t **buf,
|
||||
uint16_t *len)
|
||||
{
|
||||
@ -227,7 +229,7 @@ static int usb_standard_set_address(usbd_device *usbd_dev,
|
||||
|
||||
/* The actual address is only latched at the STATUS IN stage. */
|
||||
if ((req->bmRequestType != 0) || (req->wValue >= 128)) {
|
||||
return 0;
|
||||
return USBD_REQ_NOTSUPP;
|
||||
}
|
||||
|
||||
usbd_dev->current_address = req->wValue;
|
||||
@ -240,10 +242,11 @@ static int usb_standard_set_address(usbd_device *usbd_dev,
|
||||
usbd_dev->driver->set_address(usbd_dev, req->wValue);
|
||||
}
|
||||
|
||||
return 1;
|
||||
return USBD_REQ_HANDLED;
|
||||
}
|
||||
|
||||
static int usb_standard_set_configuration(usbd_device *usbd_dev,
|
||||
static enum usbd_request_return_codes
|
||||
usb_standard_set_configuration(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len)
|
||||
{
|
||||
@ -301,10 +304,11 @@ static int usb_standard_set_configuration(usbd_device *usbd_dev,
|
||||
}
|
||||
}
|
||||
|
||||
return 1;
|
||||
return USBD_REQ_HANDLED;
|
||||
}
|
||||
|
||||
static int usb_standard_get_configuration(usbd_device *usbd_dev,
|
||||
static enum usbd_request_return_codes
|
||||
usb_standard_get_configuration(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len)
|
||||
{
|
||||
@ -321,10 +325,11 @@ static int usb_standard_get_configuration(usbd_device *usbd_dev,
|
||||
(*buf)[0] = 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
return USBD_REQ_HANDLED;
|
||||
}
|
||||
|
||||
static int usb_standard_set_interface(usbd_device *usbd_dev,
|
||||
static enum usbd_request_return_codes
|
||||
usb_standard_set_interface(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len)
|
||||
{
|
||||
@ -361,7 +366,8 @@ static int usb_standard_set_interface(usbd_device *usbd_dev,
|
||||
return USBD_REQ_HANDLED;
|
||||
}
|
||||
|
||||
static int usb_standard_get_interface(usbd_device *usbd_dev,
|
||||
static enum usbd_request_return_codes
|
||||
usb_standard_get_interface(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len)
|
||||
{
|
||||
@ -380,7 +386,8 @@ static int usb_standard_get_interface(usbd_device *usbd_dev,
|
||||
return USBD_REQ_HANDLED;
|
||||
}
|
||||
|
||||
static int usb_standard_device_get_status(usbd_device *usbd_dev,
|
||||
static enum usbd_request_return_codes
|
||||
usb_standard_device_get_status(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len)
|
||||
{
|
||||
@ -395,10 +402,11 @@ static int usb_standard_device_get_status(usbd_device *usbd_dev,
|
||||
(*buf)[0] = 0;
|
||||
(*buf)[1] = 0;
|
||||
|
||||
return 1;
|
||||
return USBD_REQ_HANDLED;
|
||||
}
|
||||
|
||||
static int usb_standard_interface_get_status(usbd_device *usbd_dev,
|
||||
static enum usbd_request_return_codes
|
||||
usb_standard_interface_get_status(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len)
|
||||
{
|
||||
@ -412,10 +420,11 @@ static int usb_standard_interface_get_status(usbd_device *usbd_dev,
|
||||
(*buf)[0] = 0;
|
||||
(*buf)[1] = 0;
|
||||
|
||||
return 1;
|
||||
return USBD_REQ_HANDLED;
|
||||
}
|
||||
|
||||
static int usb_standard_endpoint_get_status(usbd_device *usbd_dev,
|
||||
static enum usbd_request_return_codes
|
||||
usb_standard_endpoint_get_status(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len)
|
||||
{
|
||||
@ -427,10 +436,11 @@ static int usb_standard_endpoint_get_status(usbd_device *usbd_dev,
|
||||
(*buf)[0] = usbd_ep_stall_get(usbd_dev, req->wIndex) ? 1 : 0;
|
||||
(*buf)[1] = 0;
|
||||
|
||||
return 1;
|
||||
return USBD_REQ_HANDLED;
|
||||
}
|
||||
|
||||
static int usb_standard_endpoint_stall(usbd_device *usbd_dev,
|
||||
static enum usbd_request_return_codes
|
||||
usb_standard_endpoint_stall(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len)
|
||||
{
|
||||
@ -439,10 +449,11 @@ static int usb_standard_endpoint_stall(usbd_device *usbd_dev,
|
||||
|
||||
usbd_ep_stall_set(usbd_dev, req->wIndex, 1);
|
||||
|
||||
return 1;
|
||||
return USBD_REQ_HANDLED;
|
||||
}
|
||||
|
||||
static int usb_standard_endpoint_unstall(usbd_device *usbd_dev,
|
||||
static enum usbd_request_return_codes
|
||||
usb_standard_endpoint_unstall(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len)
|
||||
{
|
||||
@ -451,17 +462,19 @@ static int usb_standard_endpoint_unstall(usbd_device *usbd_dev,
|
||||
|
||||
usbd_ep_stall_set(usbd_dev, req->wIndex, 0);
|
||||
|
||||
return 1;
|
||||
return USBD_REQ_HANDLED;
|
||||
}
|
||||
|
||||
/* Do not appear to belong to the API, so are omitted from docs */
|
||||
/**@}*/
|
||||
|
||||
int _usbd_standard_request_device(usbd_device *usbd_dev,
|
||||
enum usbd_request_return_codes
|
||||
_usbd_standard_request_device(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req, uint8_t **buf,
|
||||
uint16_t *len)
|
||||
{
|
||||
int (*command)(usbd_device *usbd_dev, struct usb_setup_data *req,
|
||||
enum usbd_request_return_codes (*command)(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len) = NULL;
|
||||
|
||||
switch (req->bRequest) {
|
||||
@ -505,17 +518,19 @@ int _usbd_standard_request_device(usbd_device *usbd_dev,
|
||||
}
|
||||
|
||||
if (!command) {
|
||||
return 0;
|
||||
return USBD_REQ_NOTSUPP;
|
||||
}
|
||||
|
||||
return command(usbd_dev, req, buf, len);
|
||||
}
|
||||
|
||||
int _usbd_standard_request_interface(usbd_device *usbd_dev,
|
||||
enum usbd_request_return_codes
|
||||
_usbd_standard_request_interface(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req, uint8_t **buf,
|
||||
uint16_t *len)
|
||||
{
|
||||
int (*command)(usbd_device *usbd_dev, struct usb_setup_data *req,
|
||||
enum usbd_request_return_codes (*command)(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len) = NULL;
|
||||
|
||||
switch (req->bRequest) {
|
||||
@ -535,17 +550,19 @@ int _usbd_standard_request_interface(usbd_device *usbd_dev,
|
||||
}
|
||||
|
||||
if (!command) {
|
||||
return 0;
|
||||
return USBD_REQ_NOTSUPP;
|
||||
}
|
||||
|
||||
return command(usbd_dev, req, buf, len);
|
||||
}
|
||||
|
||||
int _usbd_standard_request_endpoint(usbd_device *usbd_dev,
|
||||
enum usbd_request_return_codes
|
||||
_usbd_standard_request_endpoint(usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req, uint8_t **buf,
|
||||
uint16_t *len)
|
||||
{
|
||||
int (*command) (usbd_device *usbd_dev, struct usb_setup_data *req,
|
||||
enum usbd_request_return_codes (*command) (usbd_device *usbd_dev,
|
||||
struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len) = NULL;
|
||||
|
||||
switch (req->bRequest) {
|
||||
@ -572,18 +589,19 @@ int _usbd_standard_request_endpoint(usbd_device *usbd_dev,
|
||||
}
|
||||
|
||||
if (!command) {
|
||||
return 0;
|
||||
return USBD_REQ_NOTSUPP;
|
||||
}
|
||||
|
||||
return command(usbd_dev, req, buf, len);
|
||||
}
|
||||
|
||||
int _usbd_standard_request(usbd_device *usbd_dev, struct usb_setup_data *req,
|
||||
enum usbd_request_return_codes
|
||||
_usbd_standard_request(usbd_device *usbd_dev, struct usb_setup_data *req,
|
||||
uint8_t **buf, uint16_t *len)
|
||||
{
|
||||
/* FIXME: Have class/vendor requests as well. */
|
||||
if ((req->bmRequestType & USB_REQ_TYPE_TYPE) != USB_REQ_TYPE_STANDARD) {
|
||||
return 0;
|
||||
return USBD_REQ_NOTSUPP;
|
||||
}
|
||||
|
||||
switch (req->bmRequestType & USB_REQ_TYPE_RECIPIENT) {
|
||||
@ -595,7 +613,7 @@ int _usbd_standard_request(usbd_device *usbd_dev, struct usb_setup_data *req,
|
||||
case USB_REQ_TYPE_ENDPOINT:
|
||||
return _usbd_standard_request_endpoint(usbd_dev, req, buf, len);
|
||||
default:
|
||||
return 0;
|
||||
return USBD_REQ_NOTSUPP;
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user