summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSaulo VerĂ­ssimo <[email protected]>2026-04-21 20:42:24 -0300
committerSaulo VerĂ­ssimo <[email protected]>2026-05-12 11:07:45 -0300
commit0c68ca8c1de45e24ae022ab58934c6930bad7b4b (patch)
tree42bdf4fffde56e1b61586205415d509d3fc4e744 /src
parentb4880761bcadbee86d047e0a3b329859926caad5 (diff)
midi2: align ep_buf allocation with other stream-based classes
Keep the MIDI 2.0 drivers fully self-contained, with no changes to shared or generic stack code. Allocate the per-endpoint buffer in both midi2_host and midi2_device, following the convention used by cdc, midi, vendor, and printer. The class buffer struct is declared unconditionally and passed to tu_edpt_stream_init on every init, so the streaming helpers operate on the same shape across all classes.
Diffstat (limited to 'src')
-rw-r--r--src/class/midi/midi2_device.c7
-rw-r--r--src/class/midi/midi2_host.c7
2 files changed, 0 insertions, 14 deletions
diff --git a/src/class/midi/midi2_device.c b/src/class/midi/midi2_device.c
index 0029737ce..34e467fc6 100644
--- a/src/class/midi/midi2_device.c
+++ b/src/class/midi/midi2_device.c
@@ -110,14 +110,12 @@ TU_VERIFY_STATIC(CFG_TUD_MIDI2_NUM_FUNCTION_BLOCKS >= 1 && CFG_TUD_MIDI2_NUM_FUN
static midi2d_interface_t _midi2d_itf[CFG_TUD_MIDI2];
-#if CFG_TUD_EDPT_DEDICATED_HWFIFO == 0
typedef struct {
TUD_EPBUF_DEF(epin, CFG_TUD_MIDI2_TX_EPSIZE);
TUD_EPBUF_DEF(epout, CFG_TUD_MIDI2_RX_EPSIZE);
} midi2d_epbuf_t;
CFG_TUD_MEM_SECTION static midi2d_epbuf_t _midi2d_epbuf[CFG_TUD_MIDI2];
-#endif
// Default Group Terminal Block descriptor (USB-MIDI 2.0 spec, Table 5-5/5-6)
static const uint8_t _default_gtb_desc[] = {
@@ -385,14 +383,9 @@ void midi2d_init(void) {
midi2d_interface_t* p_midi = &_midi2d_itf[i];
p_midi->protocol = MIDI_PROTOCOL_MIDI2;
- #if CFG_TUD_EDPT_DEDICATED_HWFIFO
- uint8_t* epout_buf = NULL;
- uint8_t* epin_buf = NULL;
- #else
midi2d_epbuf_t* p_epbuf = &_midi2d_epbuf[i];
uint8_t* epout_buf = p_epbuf->epout;
uint8_t* epin_buf = p_epbuf->epin;
- #endif
tu_edpt_stream_init(&p_midi->ep_stream.rx, false, false, false,
p_midi->ep_stream.rx_ff_buf, CFG_TUD_MIDI2_RX_BUFSIZE, epout_buf);
diff --git a/src/class/midi/midi2_host.c b/src/class/midi/midi2_host.c
index 5b9f98f8b..90d632a8e 100644
--- a/src/class/midi/midi2_host.c
+++ b/src/class/midi/midi2_host.c
@@ -88,14 +88,12 @@ typedef struct {
static midih2_interface_t _midi2_host[CFG_TUH_MIDI2];
-#if CFG_TUH_EDPT_DEDICATED_HWFIFO == 0
typedef struct {
TUH_EPBUF_DEF(tx, TUH_EPSIZE_BULK_MAX);
TUH_EPBUF_DEF(rx, TUH_EPSIZE_BULK_MAX);
} midih2_epbuf_t;
CFG_TUH_MEM_SECTION static midih2_epbuf_t _midi2_epbuf[CFG_TUH_MIDI2];
-#endif
//--------------------------------------------------------------------+
// Helper functions
@@ -266,13 +264,8 @@ bool midih2_init(void) {
for (int inst = 0; inst < CFG_TUH_MIDI2; inst++) {
midih2_interface_t *p_midi = &_midi2_host[inst];
- #if CFG_TUH_EDPT_DEDICATED_HWFIFO
- uint8_t* rx_buf = NULL;
- uint8_t* tx_buf = NULL;
- #else
uint8_t* rx_buf = _midi2_epbuf[inst].rx;
uint8_t* tx_buf = _midi2_epbuf[inst].tx;
- #endif
tu_edpt_stream_init(&p_midi->ep_stream.rx, true, false, false,
p_midi->ep_stream.rx_ff_buf, CFG_TUH_MIDI2_RX_BUFSIZE, rx_buf);