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:
parent
b1e495f51a
commit
4b892724cf
|
@ -75,10 +75,19 @@ extern void usbd_register_resume_callback(usbd_device *usbd_dev,
|
||||||
extern void usbd_register_sof_callback(usbd_device *usbd_dev,
|
extern void usbd_register_sof_callback(usbd_device *usbd_dev,
|
||||||
void (*callback)(void));
|
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,
|
typedef int (*usbd_control_callback)(usbd_device *usbd_dev,
|
||||||
struct usb_setup_data *req, uint8_t **buf, uint16_t *len,
|
struct usb_setup_data *req, uint8_t **buf, uint16_t *len,
|
||||||
void (**complete)(usbd_device *usbd_dev,
|
usbd_control_complete_callback *complete);
|
||||||
struct usb_setup_data *req));
|
|
||||||
|
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> */
|
/* <usb_control.c> */
|
||||||
extern int usbd_register_control_callback(usbd_device *usbd_dev, uint8_t type,
|
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> */
|
/* <usb_standard.c> */
|
||||||
extern int usbd_register_set_config_callback(usbd_device *usbd_dev,
|
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,
|
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 */
|
/* Functions to be provided by the hardware abstraction layer */
|
||||||
extern void usbd_poll(usbd_device *usbd_dev);
|
extern void usbd_poll(usbd_device *usbd_dev);
|
||||||
extern void usbd_disconnect(usbd_device *usbd_dev, bool disconnected);
|
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,
|
extern void usbd_ep_setup(usbd_device *usbd_dev, uint8_t addr, uint8_t type,
|
||||||
uint16_t max_size,
|
uint16_t max_size, usbd_endpoint_callback callback);
|
||||||
void (*callback)(usbd_device *usbd_dev, uint8_t ep));
|
|
||||||
|
|
||||||
extern uint16_t usbd_ep_write_packet(usbd_device *usbd_dev, uint8_t addr,
|
extern uint16_t usbd_ep_write_packet(usbd_device *usbd_dev, uint8_t addr,
|
||||||
const void *buf, uint16_t len);
|
const void *buf, uint16_t len);
|
||||||
|
|
|
@ -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,
|
void usbd_ep_setup(usbd_device *usbd_dev, uint8_t addr, uint8_t type,
|
||||||
uint16_t max_size,
|
uint16_t max_size, usbd_endpoint_callback callback)
|
||||||
void (*callback)(usbd_device *usbd_dev, uint8_t ep))
|
|
||||||
{
|
{
|
||||||
usbd_dev->driver->ep_setup(usbd_dev, addr, type, max_size, callback);
|
usbd_dev->driver->ep_setup(usbd_dev, addr, type, max_size, callback);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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,
|
static int msc_control_request(usbd_device *usbd_dev,
|
||||||
struct usb_setup_data *req, uint8_t **buf, uint16_t *len,
|
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)complete;
|
||||||
(void)usbd_dev;
|
(void)usbd_dev;
|
||||||
|
|
|
@ -73,8 +73,7 @@ struct _usbd_device {
|
||||||
struct usb_setup_data req __attribute__((aligned(4)));
|
struct usb_setup_data req __attribute__((aligned(4)));
|
||||||
uint8_t *ctrl_buf;
|
uint8_t *ctrl_buf;
|
||||||
uint16_t ctrl_len;
|
uint16_t ctrl_len;
|
||||||
void (*complete)(usbd_device *usbd_dev,
|
usbd_control_complete_callback complete;
|
||||||
struct usb_setup_data *req);
|
|
||||||
} control_state;
|
} control_state;
|
||||||
|
|
||||||
struct user_control_callback {
|
struct user_control_callback {
|
||||||
|
@ -83,14 +82,12 @@ struct _usbd_device {
|
||||||
uint8_t type_mask;
|
uint8_t type_mask;
|
||||||
} user_control_callback[MAX_USER_CONTROL_CALLBACK];
|
} 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 */
|
/* User callback function for some standard USB function hooks */
|
||||||
void (*user_callback_set_config[MAX_USER_SET_CONFIG_CALLBACK])
|
usbd_set_config_callback user_callback_set_config[MAX_USER_SET_CONFIG_CALLBACK];
|
||||||
(usbd_device *usbd_dev, uint16_t wValue);
|
|
||||||
|
|
||||||
void (*user_callback_set_altsetting)(usbd_device *usbd_dev,
|
usbd_set_altsetting_callback user_callback_set_altsetting;
|
||||||
uint16_t wIndex, uint16_t wValue);
|
|
||||||
|
|
||||||
const struct _usbd_driver *driver;
|
const struct _usbd_driver *driver;
|
||||||
|
|
||||||
|
@ -144,8 +141,7 @@ struct _usbd_driver {
|
||||||
usbd_device *(*init)(void);
|
usbd_device *(*init)(void);
|
||||||
void (*set_address)(usbd_device *usbd_dev, uint8_t addr);
|
void (*set_address)(usbd_device *usbd_dev, uint8_t addr);
|
||||||
void (*ep_setup)(usbd_device *usbd_dev, uint8_t addr, uint8_t type,
|
void (*ep_setup)(usbd_device *usbd_dev, uint8_t addr, uint8_t type,
|
||||||
uint16_t max_size,
|
uint16_t max_size, usbd_endpoint_callback cb);
|
||||||
void (*cb)(usbd_device *usbd_dev, uint8_t ep));
|
|
||||||
void (*ep_reset)(usbd_device *usbd_dev);
|
void (*ep_reset)(usbd_device *usbd_dev);
|
||||||
void (*ep_stall_set)(usbd_device *usbd_dev, uint8_t addr,
|
void (*ep_stall_set)(usbd_device *usbd_dev, uint8_t addr,
|
||||||
uint8_t stall);
|
uint8_t stall);
|
||||||
|
|
|
@ -40,8 +40,7 @@ LGPL License Terms @ref lgpl_license
|
||||||
#include "usb_private.h"
|
#include "usb_private.h"
|
||||||
|
|
||||||
int usbd_register_set_config_callback(usbd_device *usbd_dev,
|
int usbd_register_set_config_callback(usbd_device *usbd_dev,
|
||||||
void (*callback)(usbd_device *usbd_dev,
|
usbd_set_config_callback callback)
|
||||||
uint16_t wValue))
|
|
||||||
{
|
{
|
||||||
int i;
|
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 usbd_register_set_altsetting_callback(usbd_device *usbd_dev,
|
||||||
void (*callback)(usbd_device *usbd_dev,
|
usbd_set_altsetting_callback callback)
|
||||||
uint16_t wIndex, uint16_t wValue))
|
|
||||||
{
|
{
|
||||||
usbd_dev->user_callback_set_altsetting = callback;
|
usbd_dev->user_callback_set_altsetting = callback;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue