diff --git a/src/pio_usb.c b/src/pio_usb.c index e84b6fa..8ac0c0c 100644 --- a/src/pio_usb.c +++ b/src/pio_usb.c @@ -470,7 +470,7 @@ uint8_t __no_inline_not_in_flash_func(pio_usb_ll_encode_tx_data)( return byte_idx; } -static inline __force_inline void prepare_tx_data(endpoint_t *ep) { +static __force_inline void prepare_tx_data(endpoint_t *ep) { uint16_t const xact_len = pio_usb_ll_get_transaction_len(ep); uint8_t buffer[PIO_USB_EP_SIZE + 4]; buffer[0] = USB_SYNC; diff --git a/src/pio_usb_host.c b/src/pio_usb_host.c index 0059ad0..f4d2e23 100644 --- a/src/pio_usb_host.c +++ b/src/pio_usb_host.c @@ -401,7 +401,7 @@ void pio_usb_host_close_device(uint8_t root_idx, uint8_t device_address) { } } -static inline __force_inline endpoint_t * _find_ep(uint8_t root_idx, +static __force_inline endpoint_t * _find_ep(uint8_t root_idx, uint8_t device_address, uint8_t ep_address) { for (int ep_pool_idx = 0; ep_pool_idx < PIO_USB_EP_POOL_CNT; ep_pool_idx++) { endpoint_t *ep = PIO_USB_ENDPOINT(ep_pool_idx); diff --git a/src/pio_usb_ll.h b/src/pio_usb_ll.h index 3b4ac6d..ae41c1b 100644 --- a/src/pio_usb_ll.h +++ b/src/pio_usb_ll.h @@ -140,7 +140,7 @@ pio_usb_bus_get_line_state(root_port_t *root) { uint8_t dp = gpio_get(root->pin_dp) ? 0 : 1; uint8_t dm = gpio_get(root->pin_dm) ? 0 : 1; - return (dm << 1) | dp; + return (port_pin_status_t)((dm << 1) | dp); } //--------------------------------------------------------------------+ @@ -154,7 +154,7 @@ bool pio_usb_ll_transfer_start(endpoint_t *ep, uint8_t *buffer, bool pio_usb_ll_transfer_continue(endpoint_t *ep, uint16_t xferred_bytes); void pio_usb_ll_transfer_complete(endpoint_t *ep, uint32_t flag); -static inline __force_inline uint16_t +static __force_inline uint16_t pio_usb_ll_get_transaction_len(endpoint_t *ep) { uint16_t remaining = ep->total_len - ep->actual_len; return (remaining < ep->size) ? remaining : ep->size; @@ -203,7 +203,7 @@ bool pio_usb_device_endpoint_open(uint8_t const *desc_endpoint); bool pio_usb_device_transfer(uint8_t ep_address, uint8_t *buffer, uint16_t buflen); -static inline __force_inline endpoint_t * +static __force_inline endpoint_t * pio_usb_device_get_endpoint_by_address(uint8_t ep_address) { // index = 2*num + dir e.g out1, in1, out2, in2 uint8_t const ep_idx = ((ep_address & 0x7f) << 1) | (ep_address >> 7);