From 76e94ca70def5b566e61e917415653feeee06af4 Mon Sep 17 00:00:00 2001 From: Guennadi Liakhovetski Date: Thu, 29 Jan 2026 16:04:04 +0100 Subject: [PATCH] llext: remove superfluous symbol exports I've checked all the external symbols in currently built LLEXT modules and probe and compared them to all the exported symbols. This commit removes most of needlessly exported symbols, except mathematics functions. Signed-off-by: Guennadi Liakhovetski --- src/audio/component.c | 1 - src/audio/drc/drc_log.c | 2 -- src/audio/module_adapter/module/generic.c | 2 -- src/audio/module_adapter/module_adapter.c | 15 --------------- src/audio/module_adapter/module_adapter_ipc4.c | 7 ------- src/debug/debug_stream/debug_stream_text_msg.c | 2 -- src/ipc/ipc4/helper.c | 1 - src/lib/dma.c | 6 ------ 8 files changed, 36 deletions(-) diff --git a/src/audio/component.c b/src/audio/component.c index 0964b0b62ebb..ab3954f32c15 100644 --- a/src/audio/component.c +++ b/src/audio/component.c @@ -53,7 +53,6 @@ int comp_register(struct comp_driver_info *drv) return 0; } -EXPORT_SYMBOL(comp_register); void comp_unregister(struct comp_driver_info *drv) { diff --git a/src/audio/drc/drc_log.c b/src/audio/drc/drc_log.c index 63c88e65101a..f16feaabcedd 100644 --- a/src/audio/drc/drc_log.c +++ b/src/audio/drc/drc_log.c @@ -10,6 +10,4 @@ SOF_DEFINE_REG_UUID(drc); LOG_MODULE_REGISTER(drc, CONFIG_SOF_LOG_LEVEL); DECLARE_TR_CTX(drc_tr, SOF_UUID(drc_uuid), LOG_LEVEL_INFO); -EXPORT_SYMBOL(drc_tr); -EXPORT_SYMBOL(drc_uuid); EXPORT_SYMBOL(log_const_drc); diff --git a/src/audio/module_adapter/module/generic.c b/src/audio/module_adapter/module/generic.c index ad57e016412d..d2b86bb40d08 100644 --- a/src/audio/module_adapter/module/generic.c +++ b/src/audio/module_adapter/module/generic.c @@ -714,7 +714,6 @@ void mod_free_all(struct processing_module *mod) /* Make sure resource lists and accounting are reset */ mod_resource_init(mod); } -EXPORT_SYMBOL(mod_free_all); int module_free(struct processing_module *mod) { @@ -950,4 +949,3 @@ uint32_t module_get_deadline(struct processing_module *mod) return deadline; } -EXPORT_SYMBOL(module_get_deadline); diff --git a/src/audio/module_adapter/module_adapter.c b/src/audio/module_adapter/module_adapter.c index a3c14e0ee486..d12da4f24862 100644 --- a/src/audio/module_adapter/module_adapter.c +++ b/src/audio/module_adapter/module_adapter.c @@ -30,7 +30,6 @@ #endif #include #include -#include #include #include @@ -339,7 +338,6 @@ struct comp_dev *module_adapter_new_ext(const struct comp_driver *drv, return NULL; } -EXPORT_SYMBOL(module_adapter_new); #if CONFIG_ZEPHYR_DP_SCHEDULER static void module_adapter_calculate_dp_period(struct comp_dev *dev) @@ -685,7 +683,6 @@ int module_adapter_prepare(struct comp_dev *dev) mod->input_buffers = NULL; return ret; } -EXPORT_SYMBOL(module_adapter_prepare); int module_adapter_params(struct comp_dev *dev, struct sof_ipc_stream_params *params) { @@ -725,7 +722,6 @@ int module_adapter_params(struct comp_dev *dev, struct sof_ipc_stream_params *pa return 0; } -EXPORT_SYMBOL(module_adapter_params); /* * Function to copy from source buffer to the module buffer @@ -1340,7 +1336,6 @@ int module_adapter_copy(struct comp_dev *dev) comp_err(dev, "unknown processing_data_type"); return -EINVAL; } -EXPORT_SYMBOL(module_adapter_copy); int module_adapter_trigger(struct comp_dev *dev, int cmd) { @@ -1378,7 +1373,6 @@ int module_adapter_trigger(struct comp_dev *dev, int cmd) return module_adapter_set_state(mod, dev, cmd); } -EXPORT_SYMBOL(module_adapter_trigger); int module_adapter_reset(struct comp_dev *dev) { @@ -1426,7 +1420,6 @@ int module_adapter_reset(struct comp_dev *dev) return comp_set_state(dev, COMP_TRIGGER_RESET); } -EXPORT_SYMBOL(module_adapter_reset); void module_adapter_free(struct comp_dev *dev) { @@ -1469,7 +1462,6 @@ void module_adapter_free(struct comp_dev *dev) module_adapter_mem_free(mod); } -EXPORT_SYMBOL(module_adapter_free); size_t module_adapter_heap_usage(struct processing_module *mod, size_t *hwm) { @@ -1480,7 +1472,6 @@ size_t module_adapter_heap_usage(struct processing_module *mod, size_t *hwm) return res->heap_usage; } -EXPORT_SYMBOL(module_adapter_heap_usage); /* * \brief Get DAI hw params @@ -1503,7 +1494,6 @@ int module_adapter_get_hw_params(struct comp_dev *dev, struct sof_ipc_stream_par return -EOPNOTSUPP; } -EXPORT_SYMBOL(module_adapter_get_hw_params); /* * \brief Get stream position @@ -1524,7 +1514,6 @@ int module_adapter_position(struct comp_dev *dev, struct sof_ipc_stream_posn *po return -EOPNOTSUPP; } -EXPORT_SYMBOL(module_adapter_position); /* * \brief DAI timestamp configure @@ -1544,7 +1533,6 @@ int module_adapter_ts_config_op(struct comp_dev *dev) return -EOPNOTSUPP; } -EXPORT_SYMBOL(module_adapter_ts_config_op); /* * \brief DAI timestamp start @@ -1564,7 +1552,6 @@ int module_adapter_ts_start_op(struct comp_dev *dev) return -EOPNOTSUPP; } -EXPORT_SYMBOL(module_adapter_ts_start_op); /* * \brief DAI timestamp stop @@ -1584,7 +1571,6 @@ int module_adapter_ts_stop_op(struct comp_dev *dev) return -EOPNOTSUPP; } -EXPORT_SYMBOL(module_adapter_ts_stop_op); /* * \brief Get DAI timestamp @@ -1609,4 +1595,3 @@ int module_adapter_ts_get_op(struct comp_dev *dev, struct timestamp_data *tsd) return -EOPNOTSUPP; } -EXPORT_SYMBOL(module_adapter_ts_get_op); diff --git a/src/audio/module_adapter/module_adapter_ipc4.c b/src/audio/module_adapter/module_adapter_ipc4.c index f29c18cda92e..6663c88e5298 100644 --- a/src/audio/module_adapter/module_adapter_ipc4.c +++ b/src/audio/module_adapter/module_adapter_ipc4.c @@ -211,7 +211,6 @@ int module_set_large_config(struct comp_dev *dev, uint32_t param_id, bool first_ NULL, 0); return 0; } -EXPORT_SYMBOL(module_set_large_config); int module_get_large_config(struct comp_dev *dev, uint32_t param_id, bool first_block, bool last_block, uint32_t *data_offset_size, char *data) @@ -243,7 +242,6 @@ int module_get_large_config(struct comp_dev *dev, uint32_t param_id, bool first_ */ return -EIO; } -EXPORT_SYMBOL(module_get_large_config); int module_adapter_get_attribute(struct comp_dev *dev, uint32_t type, void *value) { @@ -265,7 +263,6 @@ int module_adapter_get_attribute(struct comp_dev *dev, uint32_t type, void *valu return 0; } -EXPORT_SYMBOL(module_adapter_get_attribute); int module_adapter_set_attribute(struct comp_dev *dev, uint32_t type, void *value) { @@ -283,7 +280,6 @@ int module_adapter_set_attribute(struct comp_dev *dev, uint32_t type, void *valu return 0; } -EXPORT_SYMBOL(module_adapter_set_attribute); static bool module_adapter_multi_sink_source_prepare(struct comp_dev *dev) { @@ -368,7 +364,6 @@ int module_adapter_bind(struct comp_dev *dev, struct bind_info *bind_data) return 0; } -EXPORT_SYMBOL(module_adapter_bind); int module_adapter_unbind(struct comp_dev *dev, struct bind_info *unbind_data) { @@ -383,7 +378,6 @@ int module_adapter_unbind(struct comp_dev *dev, struct bind_info *unbind_data) return 0; } -EXPORT_SYMBOL(module_adapter_unbind); uint64_t module_adapter_get_total_data_processed(struct comp_dev *dev, uint32_t stream_no, bool input) @@ -399,7 +393,6 @@ uint64_t module_adapter_get_total_data_processed(struct comp_dev *dev, else return mod->total_data_consumed; } -EXPORT_SYMBOL(module_adapter_get_total_data_processed); int module_adapter_sink_src_prepare(struct comp_dev *dev) { diff --git a/src/debug/debug_stream/debug_stream_text_msg.c b/src/debug/debug_stream/debug_stream_text_msg.c index bf2b33c276e3..8933df03e6bb 100644 --- a/src/debug/debug_stream/debug_stream_text_msg.c +++ b/src/debug/debug_stream/debug_stream_text_msg.c @@ -33,5 +33,3 @@ void ds_msg(const char *format, ...) sizeof(buf.msg.hdr.data[0])); debug_stream_slot_send_record(&buf.msg.hdr); } -EXPORT_SYMBOL(ds_msg); - diff --git a/src/ipc/ipc4/helper.c b/src/ipc/ipc4/helper.c index 27902cccb2e7..6d3a5a859716 100644 --- a/src/ipc/ipc4/helper.c +++ b/src/ipc/ipc4/helper.c @@ -1334,7 +1334,6 @@ void ipc4_audio_format_to_stream_params(const struct ipc4_audio_format *audio_fm for (i = 0; i < SOF_IPC_MAX_CHANNELS; i++) params->chmap[i] = (audio_fmt->ch_map >> i * 4) & 0xf; } -EXPORT_SYMBOL(ipc4_audio_format_to_stream_params); void ipc4_base_module_cfg_to_stream_params(const struct ipc4_base_module_cfg *base_cfg, struct sof_ipc_stream_params *params) diff --git a/src/lib/dma.c b/src/lib/dma.c index dd0eea7977d7..a179d217b37e 100644 --- a/src/lib/dma.c +++ b/src/lib/dma.c @@ -17,7 +17,6 @@ #include #include #include -#include #include #include #include @@ -168,8 +167,6 @@ static int dma_init(struct sof_dma *dma) return 0; } -EXPORT_SYMBOL(z_impl_sof_dma_get); -EXPORT_SYMBOL(z_impl_sof_dma_put); #else struct dma *dma_get(uint32_t dir, uint32_t cap, uint32_t dev, uint32_t flags) { @@ -286,8 +283,6 @@ void dma_put(struct dma *dma) dma, dma->sref); k_spin_unlock(&dma->lock, key); } -EXPORT_SYMBOL(dma_get); -EXPORT_SYMBOL(dma_put); #endif int dma_sg_alloc(struct dma_sg_elem_array *elem_array, @@ -329,7 +324,6 @@ void dma_sg_free(struct dma_sg_elem_array *elem_array) rfree(elem_array->elems); dma_sg_init(elem_array); } -EXPORT_SYMBOL(dma_sg_free); int dma_buffer_copy_from(struct comp_buffer *source, struct comp_buffer *sink,