Skip to content

Couple of random cleanup patches following async PR#3566

Merged
HiFiPhile merged 6 commits intohathach:masterfrom
Precidata:async-cleanup
Mar 29, 2026
Merged

Couple of random cleanup patches following async PR#3566
HiFiPhile merged 6 commits intohathach:masterfrom
Precidata:async-cleanup

Conversation

@ceedriic
Copy link
Copy Markdown
Contributor

The first 3 patches are fixes for small correctness issues.
The last 2 patches are simplifications.

@github-actions
Copy link
Copy Markdown

Size Difference Report

Because TinyUSB code size varies by port and configuration, the metrics below represent the averaged totals across all example builds.

Note: If there is no change, only one value is shown.

Changes >1% in size

No entries.

Changes <1% in size

file .text .rodata .data .bss size % diff
usbh.c 4649 ➙ 4652 (+3) 55 99 961 5731 ➙ 5734 (+3) +0.1%
TOTAL 4649 ➙ 4652 (+3) 55 99 961 5731 ➙ 5734 (+3) +0.1%
No changes
file .text .rodata .data .bss size % diff
audio_device.c 2897 0 1260 1627 4518 +0.0%
cdc_device.c 1252 16 1106 684 1935 +0.0%
cdc_host.c 6617 487 15 1498 8327 +0.0%
dcd_ch32_usbfs.c 1473 0 0 2444 3917 +0.0%
dcd_ch32_usbhs.c 1469 0 0 448 1917 +0.0%
dcd_ci_fs.c 1925 0 0 1290 3215 +0.0%
dcd_ci_hs.c 1759 0 0 1344 2538 +0.0%
dcd_da146xx.c 3067 0 0 144 3211 +0.0%
dcd_dwc2.c 4176 25 0 265 4465 +0.0%
dcd_eptri.c 2271 0 0 259 2530 +0.0%
dcd_ft9xx.c 3276 0 0 172 3448 +0.0%
dcd_khci.c 1953 0 0 1290 3243 +0.0%
dcd_lpc17_40.c 1474 0 0 648 1798 +0.0%
dcd_lpc_ip3511.c 1463 0 0 264 1683 +0.0%
dcd_mm32f327x_otg.c 1478 0 0 1290 2768 +0.0%
dcd_msp430x5xx.c 1798 0 0 176 1974 +0.0%
dcd_musb.c 2445 0 0 160 2605 +0.0%
dcd_nrf5x.c 2918 0 0 292 3210 +0.0%
dcd_nuc120.c 1094 0 0 78 1172 +0.0%
dcd_nuc121.c 1168 0 0 101 1269 +0.0%
dcd_nuc505.c 0 0 1531 157 1688 +0.0%
dcd_rp2040.c 836 20 604 655 2115 +0.0%
dcd_rusb2.c 2919 0 0 156 3075 +0.0%
dcd_samd.c 1034 0 0 266 1300 +0.0%
dcd_samg.c 1320 0 0 72 1392 +0.0%
dcd_stm32_fsdev.c 2558 0 0 291 2849 +0.0%
dfu_device.c 777 28 712 140 916 +0.0%
dfu_rt_device.c 157 0 134 0 157 +0.0%
dwc2_common.c 602 30 0 0 618 +0.0%
ecm_rndis_device.c 1037 0 1 2858 3896 +0.0%
ehci.c 2763 0 0 6043 7597 +0.0%
fsdev_common.c 180 0 0 0 180 +0.0%
hcd_ch32_usbfs.c 2484 0 0 498 2982 +0.0%
hcd_ci_hs.c 184 0 0 0 184 +0.0%
hcd_dwc2.c 4994 33 1 513 5540 +0.0%
hcd_khci.c 2442 0 0 449 2891 +0.0%
hcd_musb.c 3073 0 0 157 3230 +0.0%
hcd_pio_usb.c 262 0 240 0 502 +0.0%
hcd_rp2040.c 976 73 416 384 1849 +0.0%
hcd_rusb2.c 2923 0 0 245 3168 +0.0%
hcd_samd.c 2220 0 0 324 2544 +0.0%
hcd_stm32_fsdev.c 3287 0 1 420 3708 +0.0%
hid_device.c 1125 44 997 119 1244 +0.0%
hid_host.c 1240 0 0 1251 2491 +0.0%
hub.c 1384 8 8 30 1418 +0.0%
midi_device.c 1151 0 1007 623 1772 +0.0%
midi_host.c 1341 7 7 3635 4979 +0.0%
msc_device.c 2525 108 2286 547 3071 +0.0%
msc_host.c 1587 0 0 394 1982 +0.0%
mtp_device.c 1696 22 735 588 2292 +0.0%
ncm_device.c 1538 28 718 5843 7395 +0.0%
ohci.c 1940 0 0 2414 4353 +0.0%
printer_device.c 830 0 706 566 1394 +0.0%
rp2040_usb.c 120 75 669 4 868 +0.0%
rusb2_common.c 160 0 16 0 176 +0.0%
tusb.c 451 0 383 3 453 +0.0%
tusb_fifo.c 841 0 480 0 836 +0.0%
typec_stm32.c 820 8 2 12 842 +0.0%
usbc.c 420 2 20 166 608 +0.0%
usbd.c 3225 ➙ 3224 (-1) 57 88 275 3564 +0.0%
usbd_control.c 538 0 484 79 616 +0.0%
usbtmc_device.c 2196 24 68 316 2544 +0.0%
vendor_device.c 641 0 534 565 1204 +0.0%
video_device.c 4443 5 1235 479 4914 +0.0%
TOTAL 113213 ➙ 113212 (-1) 1100 16464 46011 161140 +0.0%

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR applies a small set of correctness fixes and simplifications following an earlier async-related change set, touching both host and device task scheduling behavior and cleaning up an unused OS configuration macro.

Changes:

  • Remove an unused OS scheduler capability macro from common configuration options.
  • Adjust USB host deferred-callback scheduling and ensure tuh_task_event_ready() considers deferred callbacks and deferred hub attachments appropriately.
  • Simplify the USB device task loop to avoid blocking on subsequent iterations by forcing follow-up receives to be non-blocking.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
src/tusb_option.h Removes the (apparently unused) CFG_TUSB_OS_HAS_SCHEDULER default definition.
src/host/usbh.c Tweaks deferred callback timing (+1ms) and refines tuh_task_event_ready() logic for deferred work.
src/device/usbd.c Changes tud_task_ext() to set timeout_ms = 0 after one event to allow returning once the queue is drained.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Signed-off-by: HiFiPhile <admin@hifiphile.com>
@github-actions
Copy link
Copy Markdown

MemBrowse Memory Report

MemBrowse Memory Report

Top 10 targets by memory change (%) (out of 2156 targets) View Project Dashboard →

target .text .rodata .data .bss total % diff
da14695_dk_usb/net_lwip_webserver 8 → 46,824 (+46,816) +585200.0%
nutiny_sdk_nuc120/video_capture_2ch 8 → 39,252 (+39,244) +490550.0%
nutiny_nuc126v/video_capture_2ch 8 → 38,676 (+38,668) +483350.0%
nutiny_sdk_nuc120/cdc_msc_freertos 8 → 27,744 (+27,736) +346700.0%
nutiny_sdk_nuc120/msc_dual_lun 8 → 27,232 (+27,224) +340300.0%
nutiny_sdk_nuc121/msc_dual_lun 8 → 26,660 (+26,652) +333150.0%
nutiny_sdk_nuc120/audio_4_channel_mic_freertos 8 → 25,992 (+25,984) +324800.0%
nutiny_nuc126v/audio_4_channel_mic_freertos 8 → 25,396 (+25,388) +317350.0%
nutiny_sdk_nuc120/dynamic_configuration 8 → 22,876 (+22,868) +285850.0%
nutiny_sdk_nuc121/dynamic_configuration 8 → 22,300 (+22,292) +278650.0%

@HiFiPhile
Copy link
Copy Markdown
Collaborator

Thank you, I've added os_eventq_poll to mynewt.

@HiFiPhile HiFiPhile merged commit c64452c into hathach:master Mar 29, 2026
291 of 292 checks passed
@ceedriic ceedriic deleted the async-cleanup branch March 30, 2026 06:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants