usb: provide typedefs for all the function callbacks.

This makes it easier to read for most people, and makes it substantially
easier to review changes in the function signatures themselves at a
later date.
This commit is contained in:
Kuldeep Singh Dhaka 2015-05-27 03:42:09 +05:30 committed by Karl Palsson
parent b1e495f51a
commit 4b892724cf
5 changed files with 23 additions and 22 deletions

View File

@ -75,10 +75,19 @@ extern void usbd_register_resume_callback(usbd_device *usbd_dev,
extern void usbd_register_sof_callback(usbd_device *usbd_dev,
void (*callback)(void));
typedef int (*usbd_control_complete_callback)(usbd_device *usbd_dev,
struct usb_setup_data *req);
typedef int (*usbd_control_callback)(usbd_device *usbd_dev,
struct usb_setup_data *req, uint8_t **buf, uint16_t *len,
void (**complete)(usbd_device *usbd_dev,
struct usb_setup_data *req));
usbd_control_complete_callback *complete);
typedef void (*usbd_set_config_callback)(usbd_device *usbd_dev, uint16_t wValue);
typedef void (*usbd_set_altsetting_callback)(usbd_device *usbd_dev,
uint16_t wIndex, uint16_t wValue);
typedef void (*usbd_endpoint_callback)(usbd_device *usbd_dev, uint8_t ep);
/* <usb_control.c> */
extern int usbd_register_control_callback(usbd_device *usbd_dev, uint8_t type,
@ -87,18 +96,17 @@ extern int usbd_register_control_callback(usbd_device *usbd_dev, uint8_t type,
/* <usb_standard.c> */
extern int usbd_register_set_config_callback(usbd_device *usbd_dev,
void (*callback)(usbd_device *usbd_dev, uint16_t wValue));
usbd_set_config_callback callback);
extern void usbd_register_set_altsetting_callback(usbd_device *usbd_dev,
void (*callback)(usbd_device *usbd_dev, uint16_t wIndex, uint16_t wValue));
usbd_set_altsetting_callback callback);
/* Functions to be provided by the hardware abstraction layer */
extern void usbd_poll(usbd_device *usbd_dev);
extern void usbd_disconnect(usbd_device *usbd_dev, bool disconnected);
extern void usbd_ep_setup(usbd_device *usbd_dev, uint8_t addr, uint8_t type,
uint16_t max_size,
void (*callback)(usbd_device *usbd_dev, uint8_t ep));
uint16_t max_size, usbd_endpoint_callback callback);
extern uint16_t usbd_ep_write_packet(usbd_device *usbd_dev, uint8_t addr,
const void *buf, uint16_t len);

View File

@ -143,8 +143,7 @@ void usbd_disconnect(usbd_device *usbd_dev, bool disconnected)
}
void usbd_ep_setup(usbd_device *usbd_dev, uint8_t addr, uint8_t type,
uint16_t max_size,
void (*callback)(usbd_device *usbd_dev, uint8_t ep))
uint16_t max_size, usbd_endpoint_callback callback)
{
usbd_dev->driver->ep_setup(usbd_dev, addr, type, max_size, callback);
}

View File

@ -708,7 +708,7 @@ static void msc_data_tx_cb(usbd_device *usbd_dev, uint8_t ep)
*/
static int msc_control_request(usbd_device *usbd_dev,
struct usb_setup_data *req, uint8_t **buf, uint16_t *len,
void (**complete)(usbd_device *usbd_dev, struct usb_setup_data *req))
usbd_control_complete_callback *complete)
{
(void)complete;
(void)usbd_dev;

View File

@ -73,8 +73,7 @@ struct _usbd_device {
struct usb_setup_data req __attribute__((aligned(4)));
uint8_t *ctrl_buf;
uint16_t ctrl_len;
void (*complete)(usbd_device *usbd_dev,
struct usb_setup_data *req);
usbd_control_complete_callback complete;
} control_state;
struct user_control_callback {
@ -83,14 +82,12 @@ struct _usbd_device {
uint8_t type_mask;
} user_control_callback[MAX_USER_CONTROL_CALLBACK];
void (*user_callback_ctr[8][3])(usbd_device *usbd_dev, uint8_t ea);
usbd_endpoint_callback user_callback_ctr[8][3];
/* User callback function for some standard USB function hooks */
void (*user_callback_set_config[MAX_USER_SET_CONFIG_CALLBACK])
(usbd_device *usbd_dev, uint16_t wValue);
usbd_set_config_callback user_callback_set_config[MAX_USER_SET_CONFIG_CALLBACK];
void (*user_callback_set_altsetting)(usbd_device *usbd_dev,
uint16_t wIndex, uint16_t wValue);
usbd_set_altsetting_callback user_callback_set_altsetting;
const struct _usbd_driver *driver;
@ -144,8 +141,7 @@ struct _usbd_driver {
usbd_device *(*init)(void);
void (*set_address)(usbd_device *usbd_dev, uint8_t addr);
void (*ep_setup)(usbd_device *usbd_dev, uint8_t addr, uint8_t type,
uint16_t max_size,
void (*cb)(usbd_device *usbd_dev, uint8_t ep));
uint16_t max_size, usbd_endpoint_callback cb);
void (*ep_reset)(usbd_device *usbd_dev);
void (*ep_stall_set)(usbd_device *usbd_dev, uint8_t addr,
uint8_t stall);

View File

@ -40,8 +40,7 @@ LGPL License Terms @ref lgpl_license
#include "usb_private.h"
int usbd_register_set_config_callback(usbd_device *usbd_dev,
void (*callback)(usbd_device *usbd_dev,
uint16_t wValue))
usbd_set_config_callback callback)
{
int i;
@ -57,8 +56,7 @@ int usbd_register_set_config_callback(usbd_device *usbd_dev,
}
void usbd_register_set_altsetting_callback(usbd_device *usbd_dev,
void (*callback)(usbd_device *usbd_dev,
uint16_t wIndex, uint16_t wValue))
usbd_set_altsetting_callback callback)
{
usbd_dev->user_callback_set_altsetting = callback;
}