Fix missing protoype warning, change TUD_EPBUF_TYPE_DEF order (#2889)
* change TUD_EPBUF_TYPE_DEF order * add and fix -Wmissing-prototypes warnings for cmake (skip make)
This commit is contained in:
@@ -896,6 +896,7 @@ TU_ATTR_ALWAYS_INLINE static inline bool is_in_isr(void)
|
||||
return (SCB->ICSR & SCB_ICSR_VECTACTIVE_Msk) != 0;
|
||||
}
|
||||
|
||||
void tusb_vbus_changed(bool present);
|
||||
void tusb_vbus_changed(bool present)
|
||||
{
|
||||
if (present && !_dcd.vbus_present)
|
||||
|
||||
@@ -335,7 +335,7 @@ void dcd_edpt_clear_stall (uint8_t rhport, uint8_t ep_addr)
|
||||
//--------------------------------------------------------------------+
|
||||
// Interrupt Handler
|
||||
//--------------------------------------------------------------------+
|
||||
void maybe_transfer_complete(void) {
|
||||
static void maybe_transfer_complete(void) {
|
||||
uint32_t epints = USB->DEVICE.EPINTSMRY.reg;
|
||||
|
||||
for (uint8_t epnum = 0; epnum < USB_EPT_NUM; epnum++) {
|
||||
|
||||
@@ -52,37 +52,31 @@ typedef struct
|
||||
// Endpoint 0-5, each can only be either OUT or In
|
||||
xfer_desc_t _dcd_xfer[EP_COUNT];
|
||||
|
||||
void xfer_epsize_set(xfer_desc_t* xfer, uint16_t epsize)
|
||||
{
|
||||
TU_ATTR_ALWAYS_INLINE static inline void xfer_epsize_set(xfer_desc_t* xfer, uint16_t epsize) {
|
||||
xfer->epsize = epsize;
|
||||
}
|
||||
|
||||
void xfer_begin(xfer_desc_t* xfer, uint8_t * buffer, uint16_t total_bytes)
|
||||
{
|
||||
TU_ATTR_ALWAYS_INLINE static inline void xfer_begin(xfer_desc_t* xfer, uint8_t * buffer, uint16_t total_bytes) {
|
||||
xfer->buffer = buffer;
|
||||
// xfer->ff = NULL; // TODO support dcd_edpt_xfer_fifo API
|
||||
xfer->total_len = total_bytes;
|
||||
xfer->actual_len = 0;
|
||||
}
|
||||
|
||||
void xfer_end(xfer_desc_t* xfer)
|
||||
{
|
||||
TU_ATTR_ALWAYS_INLINE static inline void xfer_end(xfer_desc_t* xfer) {
|
||||
xfer->buffer = NULL;
|
||||
// xfer->ff = NULL; // TODO support dcd_edpt_xfer_fifo API
|
||||
xfer->total_len = 0;
|
||||
xfer->actual_len = 0;
|
||||
}
|
||||
|
||||
uint16_t xfer_packet_len(xfer_desc_t* xfer)
|
||||
{
|
||||
TU_ATTR_ALWAYS_INLINE static inline uint16_t xfer_packet_len(xfer_desc_t* xfer) {
|
||||
// also cover zero-length packet
|
||||
return tu_min16(xfer->total_len - xfer->actual_len, xfer->epsize);
|
||||
}
|
||||
|
||||
void xfer_packet_done(xfer_desc_t* xfer)
|
||||
{
|
||||
TU_ATTR_ALWAYS_INLINE static inline void xfer_packet_done(xfer_desc_t* xfer) {
|
||||
uint16_t const xact_len = xfer_packet_len(xfer);
|
||||
|
||||
xfer->buffer += xact_len;
|
||||
xfer->actual_len += xact_len;
|
||||
}
|
||||
@@ -90,19 +84,15 @@ void xfer_packet_done(xfer_desc_t* xfer)
|
||||
//------------- Transaction helpers -------------//
|
||||
|
||||
// Write data to EP FIFO, return number of written bytes
|
||||
static void xact_ep_write(uint8_t epnum, uint8_t* buffer, uint16_t xact_len)
|
||||
{
|
||||
for(uint16_t i=0; i<xact_len; i++)
|
||||
{
|
||||
static void xact_ep_write(uint8_t epnum, uint8_t* buffer, uint16_t xact_len) {
|
||||
for(uint16_t i=0; i<xact_len; i++) {
|
||||
UDP->UDP_FDR[epnum] = (uint32_t) buffer[i];
|
||||
}
|
||||
}
|
||||
|
||||
// Read data from EP FIFO
|
||||
static void xact_ep_read(uint8_t epnum, uint8_t* buffer, uint16_t xact_len)
|
||||
{
|
||||
for(uint16_t i=0; i<xact_len; i++)
|
||||
{
|
||||
static void xact_ep_read(uint8_t epnum, uint8_t* buffer, uint16_t xact_len) {
|
||||
for(uint16_t i=0; i<xact_len; i++) {
|
||||
buffer[i] = (uint8_t) UDP->UDP_FDR[epnum];
|
||||
}
|
||||
}
|
||||
@@ -112,24 +102,24 @@ static void xact_ep_read(uint8_t epnum, uint8_t* buffer, uint16_t xact_len)
|
||||
#define CSR_NO_EFFECT_1_ALL (UDP_CSR_RX_DATA_BK0 | UDP_CSR_RX_DATA_BK1 | UDP_CSR_STALLSENT | UDP_CSR_RXSETUP | UDP_CSR_TXCOMP)
|
||||
|
||||
// Per Specs: CSR need synchronization each write
|
||||
static inline void csr_write(uint8_t epnum, uint32_t value)
|
||||
{
|
||||
TU_ATTR_ALWAYS_INLINE static inline void csr_write(uint8_t epnum, uint32_t value) {
|
||||
uint32_t const csr = value;
|
||||
UDP->UDP_CSR[epnum] = csr;
|
||||
|
||||
volatile uint32_t nop_count;
|
||||
for (nop_count = 0; nop_count < 20; nop_count ++) __NOP();
|
||||
for (nop_count = 0; nop_count < 20; nop_count ++) {
|
||||
__NOP();
|
||||
}
|
||||
}
|
||||
|
||||
// Per Specs: CSR need synchronization each write
|
||||
static inline void csr_set(uint8_t epnum, uint32_t mask)
|
||||
TU_ATTR_ALWAYS_INLINE static inline void csr_set(uint8_t epnum, uint32_t mask)
|
||||
{
|
||||
csr_write(epnum, UDP->UDP_CSR[epnum] | CSR_NO_EFFECT_1_ALL | mask);
|
||||
}
|
||||
|
||||
// Per Specs: CSR need synchronization each write
|
||||
static inline void csr_clear(uint8_t epnum, uint32_t mask)
|
||||
{
|
||||
TU_ATTR_ALWAYS_INLINE static inline void csr_clear(uint8_t epnum, uint32_t mask) {
|
||||
csr_write(epnum, (UDP->UDP_CSR[epnum] | CSR_NO_EFFECT_1_ALL) & ~mask);
|
||||
}
|
||||
|
||||
|
||||
@@ -530,7 +530,7 @@ void dcd_edpt_clear_stall(uint8_t rhport, uint8_t ep_addr) {
|
||||
/*------------------------------------------------------------------*/
|
||||
/* Interrupt Handler
|
||||
*------------------------------------------------------------------*/
|
||||
void bus_reset(void) {
|
||||
static void bus_reset(void) {
|
||||
// 6.35.6 USB controller automatically disabled all endpoints (except control)
|
||||
NRF_USBD->EPOUTEN = 1UL;
|
||||
NRF_USBD->EPINEN = 1UL;
|
||||
@@ -901,6 +901,7 @@ static void hfclk_disable(void) {
|
||||
// Therefore this function must be called to handle USB power event by
|
||||
// - nrfx_power_usbevt_init() : if Softdevice is not used or enabled
|
||||
// - SoftDevice SOC event : if SD is used and enabled
|
||||
void tusb_hal_nrf_power_event(uint32_t event);
|
||||
void tusb_hal_nrf_power_event(uint32_t event) {
|
||||
// Value is chosen to be as same as NRFX_POWER_USB_EVT_* in nrfx_power.h
|
||||
enum {
|
||||
|
||||
@@ -140,7 +140,7 @@ typedef struct
|
||||
CFG_TUH_MEM_SECTION TU_ATTR_ALIGNED(512) static hcd_data_t _hcd;
|
||||
//CFG_TUH_MEM_SECTION TU_ATTR_ALIGNED(4) static uint8_t _rx_buf[1024];
|
||||
|
||||
int find_pipe(uint8_t dev_addr, uint8_t ep_addr)
|
||||
static int find_pipe(uint8_t dev_addr, uint8_t ep_addr)
|
||||
{
|
||||
/* Find the target pipe */
|
||||
int num;
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
(CFG_TUSB_MCU == OPT_MCU_LPC175X_6X || CFG_TUSB_MCU == OPT_MCU_LPC177X_8X || CFG_TUSB_MCU == OPT_MCU_LPC40XX)
|
||||
|
||||
#include "chip.h"
|
||||
#include "host/hcd.h"
|
||||
|
||||
void hcd_int_enable(uint8_t rhport)
|
||||
{
|
||||
|
||||
@@ -45,6 +45,7 @@ rusb2_controller_t rusb2_controller[] = {
|
||||
};
|
||||
|
||||
// Application API for setting IRQ number. May throw warnings for missing prototypes.
|
||||
void tusb_rusb2_set_irqnum(uint8_t rhport, int32_t irqnum);
|
||||
void tusb_rusb2_set_irqnum(uint8_t rhport, int32_t irqnum) {
|
||||
rusb2_controller[rhport].irqnum = irqnum;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user