RDKEMW-20831 : remove ctrlm unused IARM calls/events#258
Merged
dwolaver merged 22 commits intoJul 22, 2026
Conversation
There was a problem hiding this comment.
Pull request overview
This PR (RDKEMW-20831) removes a broad set of unused legacy IARM calls/events (voice, RCU, device update, and some main/control-service surfaces) and cleans up associated code paths and documentation to reduce maintenance burden in the Control Manager plugin.
Changes:
- Removes legacy IARM RPCs/events and related queue/message handlers across main/RCU/voice/device-update.
- Refactors RF4CE pairing timeout setting to use an internal helper instead of the removed main-property IARM path.
- Prunes/marks deprecated portions of public IPC headers and deletes old Doxygen/IARM documentation artifacts.
Reviewed changes
Copilot reviewed 33 out of 43 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
| src/voice/ipc/ctrlm_voice_ipc_iarm_legacy.cpp | Stubs out legacy voice IARM legacy IPC implementation. |
| src/voice/ctrlm_voice_obj.cpp | Narrows legacy DB voice-settings variables to the legacy DB branch only. |
| src/rf4ce/ctrlm_rf4ce_network.h | Removes unused chip-status request handler declaration. |
| src/rf4ce/ctrlm_rf4ce_network.cpp | Removes chip-status handler logic; updates pairing timeout path to call new helper. |
| src/database/ctrlm_database.h | Removes unused voice-settings write API declaration. |
| src/database/ctrlm_database.cpp | Removes unused voice-settings write API implementation. |
| src/ctrlm.h | Removes unused message types/APIs; adds helper prototype for screenbind timeout. |
| src/ctrlm_utils.h | Removes unused stringification helpers from the public header. |
| src/ctrlm_utils.cpp | Removes unused stringification helper implementations and queue-msg type strings. |
| src/ctrlm_rcu.h | Removes unused RCU IARM call entry points (validation finish, reverse cmd). |
| src/ctrlm_rcu.cpp | Removes unused RCU validation-finish and reverse-cmd implementations. |
| src/ctrlm_rcu_iarm.cpp | Removes registration/dispatch for removed RCU IARM calls. |
| src/ctrlm_network.h | Removes chip-status request virtual from base network. |
| src/ctrlm_network.cpp | Removes base implementation of chip-status request processing. |
| src/ctrlm_main.cpp | Removes unused main-queue handlers; introduces ctrlm_main_active_period_screenbind_timeout_set_. |
| src/ctrlm_main_iarm.cpp | Removes unused main IARM calls; stubs property-set call as unsupported. |
| src/ctrlm_device_update.h | Removes unused device-update query/event APIs. |
| src/ctrlm_device_update.cpp | Disables legacy device-update IARM event emission (commented out call sites). |
| src/ctrlm_device_update_iarm.cpp | Removes registration/handlers for removed device-update IARM calls/events. |
| include/ctrlm_ipc.h | Removes deprecated call name macros/structs; marks some events as deprecated; trims Doxygen blocks. |
| include/ctrlm_ipc_voice.h | Removes legacy voice update-settings call and legacy event structs/enums/docs. |
| include/ctrlm_ipc_rcu.h | Removes legacy validation-finish/reverse-cmd call definitions and large doc blocks. |
| include/ctrlm_ipc_key_codes.h | Removes file-level Doxygen header comment. |
| include/ctrlm_ipc_device_update.h | Removes legacy device-update IARM calls/events/structs/docs, leaving update-available path. |
| include/ctrlm_ipc_ble.h | Removes unused BLE daemon log-level call types/constants. |
| doxygen/iarm/libIBus.h | Deletes bundled IARM header documentation file. |
| doxygen/iarm/libIARM.h | Deletes bundled IARM header documentation file. |
| doxygen/ctrlm_dox_ipc.h | Deletes legacy IPC Doxygen mainpage content. |
| doxygen/ctrlm_dox_ipc_voice.h | Deletes legacy voice IPC Doxygen mainpage content. |
| doxygen/ctrlm_dox_ipc_rcu.h | Deletes legacy RCU IPC Doxygen mainpage content. |
| doxygen/ctrlm_dox_ipc_device_update.h | Deletes legacy device-update IPC Doxygen mainpage content. |
| doxygen/ctrlm_dox_hal_rf4ce.h | Deletes legacy RF4CE HAL Doxygen mainpage content. |
| doxygen/build_docs.py | Deletes the Doxygen build/release helper script. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 33 out of 43 changed files in this pull request and generated 1 comment.
Comments suppressed due to low confidence (10)
src/voice/ipc/ctrlm_voice_ipc_iarm_legacy.cpp:35
- These handlers now ignore their input parameters, which can trigger -Wunused-parameter warnings in builds that enable it. Mark the parameter as intentionally unused.
src/voice/ipc/ctrlm_voice_ipc_iarm_legacy.cpp:39 - These handlers now ignore their input parameters, which can trigger -Wunused-parameter warnings in builds that enable it. Mark the parameter as intentionally unused.
src/voice/ipc/ctrlm_voice_ipc_iarm_legacy.cpp:43 - These handlers now ignore their input parameters, which can trigger -Wunused-parameter warnings in builds that enable it. Mark the parameter as intentionally unused.
src/voice/ipc/ctrlm_voice_ipc_iarm_legacy.cpp:47 - These handlers now ignore their input parameters, which can trigger -Wunused-parameter warnings in builds that enable it. Mark the parameter as intentionally unused.
src/voice/ipc/ctrlm_voice_ipc_iarm_legacy.cpp:51 - These handlers now ignore their input parameters, which can trigger -Wunused-parameter warnings in builds that enable it. Mark the parameters as intentionally unused.
src/voice/ipc/ctrlm_voice_ipc_iarm_legacy.cpp:55 - These handlers now ignore their input parameters, which can trigger -Wunused-parameter warnings in builds that enable it. Mark the parameter as intentionally unused.
src/voice/ipc/ctrlm_voice_ipc_iarm_legacy.cpp:59 - These handlers now ignore their input parameters, which can trigger -Wunused-parameter warnings in builds that enable it. Mark the parameter as intentionally unused.
src/ctrlm_main_iarm.cpp:223 - The PropertySet IARM call no longer validates api_revision and always returns a generic error. Even if the call is deprecated, it's useful to preserve the standard revision check and return ERROR_NOT_SUPPORTED for clarity.
XLOGD_INFO("not supported");
property->result = CTRLM_IARM_CALL_RESULT_ERROR;
return(IARM_RESULT_SUCCESS);
src/ctrlm_main.cpp:3394
- Format specifier mismatch: timeout is uint32_t but the log uses %lu (unsigned long). This can warn or misprint on platforms where uint32_t is unsigned int. Use %u (or PRIu32).
XLOGD_ERROR("ACTIVE PERIOD SCREENBIND - Out of range %lu", timeout);
src/ctrlm_main.cpp:3399
- Format specifier mismatch: timeout is uint32_t but the log uses %lu (unsigned long). This can warn or misprint on platforms where uint32_t is unsigned int. Use %u (or PRIu32).
XLOGD_INFO("ACTIVE PERIOD SCREENBIND %lu ms", timeout);
egalla204
approved these changes
Jul 22, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.