mirror of
https://salsa.debian.org/gnuk-team/gnuk/gnuk.git
synced 2024-09-20 10:50:09 +00:00
Small USB clean up.
This commit is contained in:
parent
5948f6ec50
commit
0c229f5712
@ -1,3 +1,8 @@
|
||||
2017-09-30 NIIBE Yutaka <gniibe@fsij.org>
|
||||
|
||||
* src/usb-ccid.c (ccid_tx_done): Rename from EP1_IN_Callback.
|
||||
(ccid_rx_ready): Rename from EP1_OUT_Callback.
|
||||
|
||||
2017-09-29 NIIBE Yutaka <gniibe@fsij.org>
|
||||
|
||||
* src/usb-ccid.c (epo_init, epi_init, ccid_thread): Simplify.
|
||||
|
@ -347,15 +347,20 @@ static void get_sw1sw2 (struct ep_in *epi, size_t len)
|
||||
}
|
||||
|
||||
#ifdef GNU_LINUX_EMULATION
|
||||
static uint8_t endp1_tx_buf[64];
|
||||
static uint8_t endp1_tx_buf[64]; /* Only support single CCID interface. */
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Tx done callback
|
||||
*/
|
||||
static void
|
||||
EP1_IN_Callback (uint16_t len)
|
||||
ccid_tx_done (uint8_t ep_num, uint16_t len)
|
||||
{
|
||||
/*
|
||||
* If we support multiple CCID interfaces, we select endpoint object
|
||||
* by EP_NUM. Because it has only single CCID interface now, it's
|
||||
* hard-coded, here.
|
||||
*/
|
||||
struct ep_in *epi = &endpoint_in;
|
||||
|
||||
(void)len;
|
||||
@ -367,9 +372,9 @@ EP1_IN_Callback (uint16_t len)
|
||||
epi->tx_done = 1;
|
||||
/* send ZLP */
|
||||
#ifdef GNU_LINUX_EMULATION
|
||||
usb_lld_tx_enable_buf (epi->ep_num, endp1_tx_buf, 0);
|
||||
usb_lld_tx_enable_buf (ep_num, endp1_tx_buf, 0);
|
||||
#else
|
||||
usb_lld_tx_enable (epi->ep_num, 0);
|
||||
usb_lld_tx_enable (ep_num, 0);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@ -384,7 +389,7 @@ EP1_IN_Callback (uint16_t len)
|
||||
#ifdef GNU_LINUX_EMULATION
|
||||
memcpy (endp1_tx_buf+offset, epi->buf, epi->buf_len);
|
||||
#else
|
||||
usb_lld_txcpy (epi->buf, epi->ep_num, offset, epi->buf_len);
|
||||
usb_lld_txcpy (epi->buf, ep_num, offset, epi->buf_len);
|
||||
#endif
|
||||
offset += epi->buf_len;
|
||||
remain -= epi->buf_len;
|
||||
@ -396,7 +401,7 @@ EP1_IN_Callback (uint16_t len)
|
||||
#ifdef GNU_LINUX_EMULATION
|
||||
memcpy (endp1_tx_buf+offset, epi->buf, remain);
|
||||
#else
|
||||
usb_lld_txcpy (epi->buf, epi->ep_num, offset, remain);
|
||||
usb_lld_txcpy (epi->buf, ep_num, offset, remain);
|
||||
#endif
|
||||
epi->buf += remain;
|
||||
epi->cnt += remain;
|
||||
@ -409,9 +414,9 @@ EP1_IN_Callback (uint16_t len)
|
||||
epi->tx_done = 1;
|
||||
|
||||
#ifdef GNU_LINUX_EMULATION
|
||||
usb_lld_tx_enable_buf (epi->ep_num, endp1_tx_buf, tx_size);
|
||||
usb_lld_tx_enable_buf (ep_num, endp1_tx_buf, tx_size);
|
||||
#else
|
||||
usb_lld_tx_enable (epi->ep_num, tx_size);
|
||||
usb_lld_tx_enable (ep_num, tx_size);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@ -632,7 +637,7 @@ static void ccid_abdata (struct ep_out *epo, size_t len)
|
||||
}
|
||||
|
||||
#ifdef GNU_LINUX_EMULATION
|
||||
static uint8_t endp1_rx_buf[64];
|
||||
static uint8_t endp1_rx_buf[64]; /* Only support single CCID interface. */
|
||||
#endif
|
||||
|
||||
static void
|
||||
@ -655,10 +660,14 @@ ccid_prepare_receive (struct ccid *c)
|
||||
/*
|
||||
* Rx ready callback
|
||||
*/
|
||||
|
||||
static void
|
||||
EP1_OUT_Callback (uint16_t len)
|
||||
ccid_rx_ready (uint8_t ep_num, uint16_t len)
|
||||
{
|
||||
/*
|
||||
* If we support multiple CCID interfaces, we select endpoint object
|
||||
* by EP_NUM. Because it has only single CCID interface now, it's
|
||||
* hard-coded, here.
|
||||
*/
|
||||
struct ep_out *epo = &endpoint_out;
|
||||
int offset = 0;
|
||||
int cont;
|
||||
@ -672,7 +681,7 @@ EP1_OUT_Callback (uint16_t len)
|
||||
#ifdef GNU_LINUX_EMULATION
|
||||
memcpy (epo->buf, endp1_rx_buf + offset, len);
|
||||
#else
|
||||
usb_lld_rxcpy (epo->buf, epo->ep_num, offset, len);
|
||||
usb_lld_rxcpy (epo->buf, ep_num, offset, len);
|
||||
#endif
|
||||
epo->buf += len;
|
||||
epo->cnt += len;
|
||||
@ -684,7 +693,7 @@ EP1_OUT_Callback (uint16_t len)
|
||||
#ifdef GNU_LINUX_EMULATION
|
||||
memcpy (epo->buf, endp1_rx_buf + offset, epo->buf_len);
|
||||
#else
|
||||
usb_lld_rxcpy (epo->buf, epo->ep_num, offset, epo->buf_len);
|
||||
usb_lld_rxcpy (epo->buf, ep_num, offset, epo->buf_len);
|
||||
#endif
|
||||
len -= epo->buf_len;
|
||||
offset += epo->buf_len;
|
||||
@ -699,9 +708,9 @@ EP1_OUT_Callback (uint16_t len)
|
||||
|
||||
if (cont)
|
||||
#ifdef GNU_LINUX_EMULATION
|
||||
usb_lld_rx_enable_buf (epo->ep_num, endp1_rx_buf, 64);
|
||||
usb_lld_rx_enable_buf (ep_num, endp1_rx_buf, 64);
|
||||
#else
|
||||
usb_lld_rx_enable (epo->ep_num);
|
||||
usb_lld_rx_enable (ep_num);
|
||||
#endif
|
||||
else
|
||||
notify_icc (epo);
|
||||
@ -718,7 +727,7 @@ static void
|
||||
usb_rx_ready (uint8_t ep_num, uint16_t len)
|
||||
{
|
||||
if (ep_num == ENDP1)
|
||||
EP1_OUT_Callback (len);
|
||||
ccid_rx_ready (ep_num, len);
|
||||
#ifdef DEBUG
|
||||
else if (ep_num == ENDP5)
|
||||
{
|
||||
@ -737,7 +746,7 @@ static void
|
||||
usb_tx_done (uint8_t ep_num, uint16_t len)
|
||||
{
|
||||
if (ep_num == ENDP1)
|
||||
EP1_IN_Callback (len);
|
||||
ccid_tx_done (ep_num, len);
|
||||
else if (ep_num == ENDP2)
|
||||
{
|
||||
/* INTERRUPT Transfer done */
|
||||
|
Loading…
Reference in New Issue
Block a user