diff --git a/hal/wifi3.0/hal_reo.c b/hal/wifi3.0/hal_reo.c index d4d619e9dc..7b4bc5ac2c 100644 --- a/hal/wifi3.0/hal_reo.c +++ b/hal/wifi3.0/hal_reo.c @@ -18,6 +18,7 @@ #include "hal_reo.h" #include "hal_tx.h" +#include "qdf_module.h" #define BLOCK_RES_MASK 0xF static inline uint8_t hal_find_one_bit(uint8_t x) @@ -118,6 +119,7 @@ inline int hal_reo_cmd_queue_stats(void *reo_ring, struct hal_soc *soc, return HAL_GET_FIELD(UNIFORM_REO_CMD_HEADER_0, REO_CMD_NUMBER, val); } +qdf_export_symbol(hal_reo_cmd_queue_stats); inline int hal_reo_cmd_flush_queue(void *reo_ring, struct hal_soc *soc, struct hal_reo_cmd_params *cmd) @@ -161,6 +163,7 @@ inline int hal_reo_cmd_flush_queue(void *reo_ring, struct hal_soc *soc, return HAL_GET_FIELD(UNIFORM_REO_CMD_HEADER_0, REO_CMD_NUMBER, val); } +qdf_export_symbol(hal_reo_cmd_flush_queue); inline int hal_reo_cmd_flush_cache(void *reo_ring, struct hal_soc *soc, struct hal_reo_cmd_params *cmd) @@ -237,6 +240,7 @@ inline int hal_reo_cmd_flush_cache(void *reo_ring, struct hal_soc *soc, return HAL_GET_FIELD(UNIFORM_REO_CMD_HEADER_0, REO_CMD_NUMBER, val); } +qdf_export_symbol(hal_reo_cmd_flush_cache); inline int hal_reo_cmd_unblock_cache(void *reo_ring, struct hal_soc *soc, struct hal_reo_cmd_params *cmd) @@ -290,6 +294,7 @@ inline int hal_reo_cmd_unblock_cache(void *reo_ring, struct hal_soc *soc, return HAL_GET_FIELD(UNIFORM_REO_CMD_HEADER_0, REO_CMD_NUMBER, val); } +qdf_export_symbol(hal_reo_cmd_unblock_cache); inline int hal_reo_cmd_flush_timeout_list(void *reo_ring, struct hal_soc *soc, struct hal_reo_cmd_params *cmd) @@ -332,6 +337,7 @@ inline int hal_reo_cmd_flush_timeout_list(void *reo_ring, struct hal_soc *soc, return HAL_GET_FIELD(UNIFORM_REO_CMD_HEADER_0, REO_CMD_NUMBER, val); } +qdf_export_symbol(hal_reo_cmd_flush_timeout_list); inline int hal_reo_cmd_update_rx_queue(void *reo_ring, struct hal_soc *soc, struct hal_reo_cmd_params *cmd) @@ -531,6 +537,7 @@ inline int hal_reo_cmd_update_rx_queue(void *reo_ring, struct hal_soc *soc, return HAL_GET_FIELD(UNIFORM_REO_CMD_HEADER_0, REO_CMD_NUMBER, val); } +qdf_export_symbol(hal_reo_cmd_update_rx_queue); inline void hal_reo_queue_stats_status(uint32_t *reo_desc, struct hal_reo_queue_status *st) @@ -721,6 +728,7 @@ inline void hal_reo_queue_stats_status(uint32_t *reo_desc, HAL_GET_FIELD(REO_GET_QUEUE_STATS_STATUS_23, HOLE_COUNT, val); } +qdf_export_symbol(hal_reo_queue_stats_status); inline void hal_reo_flush_queue_status(uint32_t *reo_desc, struct hal_reo_flush_queue_status *st) @@ -740,6 +748,7 @@ inline void hal_reo_flush_queue_status(uint32_t *reo_desc, st->error = HAL_GET_FIELD(REO_FLUSH_QUEUE_STATUS_2, ERROR_DETECTED, val); } +qdf_export_symbol(hal_reo_flush_queue_status); inline void hal_reo_flush_cache_status(uint32_t *reo_desc, struct hal_soc *soc, struct hal_reo_flush_cache_status *st) @@ -792,6 +801,7 @@ inline void hal_reo_flush_cache_status(uint32_t *reo_desc, struct hal_soc *soc, val); } +qdf_export_symbol(hal_reo_flush_cache_status); inline void hal_reo_unblock_cache_status(uint32_t *reo_desc, struct hal_soc *soc, @@ -824,6 +834,7 @@ inline void hal_reo_unblock_cache_status(uint32_t *reo_desc, qdf_clear_bit(soc->index, (unsigned long *)&soc->reo_res_bitmap); } +qdf_export_symbol(hal_reo_unblock_cache_status); inline void hal_reo_flush_timeout_list_status( uint32_t *reo_desc, @@ -867,6 +878,7 @@ inline void hal_reo_flush_timeout_list_status( FORWARD_BUF_COUNT, val); } +qdf_export_symbol(hal_reo_flush_timeout_list_status); inline void hal_reo_desc_thres_reached_status( uint32_t *reo_desc, @@ -924,6 +936,7 @@ inline void hal_reo_desc_thres_reached_status( LINK_DESCRIPTOR_COUNTER_SUM, val); } +qdf_export_symbol(hal_reo_desc_thres_reached_status); inline void hal_reo_rx_update_queue_status(uint32_t *reo_desc, struct hal_reo_update_rx_queue_status *st) @@ -936,6 +949,7 @@ inline void hal_reo_rx_update_queue_status(uint32_t *reo_desc, HAL_REO_STATUS_GET_HEADER(reo_desc, REO_UPDATE_RX_REO_QUEUE, st->header); } +qdf_export_symbol(hal_reo_rx_update_queue_status); /** * hal_reo_init_cmd_ring() - Initialize descriptors of REO command SRNG @@ -971,3 +985,4 @@ inline void hal_reo_init_cmd_ring(struct hal_soc *soc, void *hal_srng) soc->reo_res_bitmap = 0; } +qdf_export_symbol(hal_reo_init_cmd_ring); diff --git a/hal/wifi3.0/hal_rx.c b/hal/wifi3.0/hal_rx.c index 52db986dfd..abe4af2be1 100644 --- a/hal/wifi3.0/hal_rx.c +++ b/hal/wifi3.0/hal_rx.c @@ -17,6 +17,7 @@ */ #include "hal_api.h" +#include "qdf_module.h" /* TODO: See if the following definition is available in HW headers */ #define HAL_REO_OWNED 4 @@ -215,6 +216,7 @@ void hal_reo_qdesc_setup(void *hal_soc, int tid, uint32_t ba_window_size, } #endif } +qdf_export_symbol(hal_reo_qdesc_setup); /** @@ -307,4 +309,5 @@ void hal_reo_setup(void *hal_soc, * GLOBAL_LINK_DESC_COUNT_CTRL */ } +qdf_export_symbol(hal_reo_setup); diff --git a/hal/wifi3.0/hal_srng.c b/hal/wifi3.0/hal_srng.c index 04df0ffdcb..3f241cee8e 100644 --- a/hal/wifi3.0/hal_srng.c +++ b/hal/wifi3.0/hal_srng.c @@ -30,6 +30,7 @@ #include "hal_api.h" #include "target_type.h" #include "wcss_version.h" +#include "qdf_module.h" /** * Common SRNG register access macros: @@ -782,6 +783,7 @@ fail1: fail0: return NULL; } +qdf_export_symbol(hal_attach); /** * hal_mem_info - Retreive hal memory base address @@ -800,6 +802,7 @@ void hal_get_meminfo(void *hal_soc, struct hal_mem_info *mem ) hif_read_phy_mem_base(hal->hif_handle, (qdf_dma_addr_t *)&mem->dev_base_paddr); return; } +qdf_export_symbol(hal_get_meminfo); /** * hal_detach - Detach HAL layer @@ -826,6 +829,7 @@ extern void hal_detach(void *hal_soc) return; } +qdf_export_symbol(hal_detach); /** * hal_srng_src_hw_init - Private function to initialize SRNG @@ -1283,6 +1287,7 @@ void *hal_srng_setup(void *hal_soc, int ring_type, int ring_num, return (void *)srng; } +qdf_export_symbol(hal_srng_setup); /** * hal_srng_cleanup - Deinitialize HW SRNG ring. @@ -1295,6 +1300,7 @@ void hal_srng_cleanup(void *hal_soc, void *hal_srng) SRNG_LOCK_DESTROY(&srng->lock); srng->initialized = 0; } +qdf_export_symbol(hal_srng_cleanup); /** * hal_srng_get_entrysize - Returns size of ring entry in bytes @@ -1308,6 +1314,7 @@ uint32_t hal_srng_get_entrysize(void *hal_soc, int ring_type) HAL_SRNG_CONFIG(hal, ring_type); return ring_config->entry_size << 2; } +qdf_export_symbol(hal_srng_get_entrysize); /** * hal_srng_max_entries - Returns maximum possible number of ring entries @@ -1321,6 +1328,7 @@ uint32_t hal_srng_max_entries(void *hal_soc, int ring_type) struct hal_hw_srng_config *ring_config = HAL_SRNG_CONFIG(hal, ring_type); return SRNG_MAX_SIZE_DWORDS / ring_config->entry_size; } +qdf_export_symbol(hal_srng_max_entries); enum hal_srng_dir hal_srng_get_dir(void *hal_soc, int ring_type) { @@ -1383,3 +1391,4 @@ extern void hal_get_srng_params(void *hal_soc, void *hal_ring, for (i = 0 ; i < MAX_SRNG_REG_GROUPS; i++) ring_params->hwreg_base[i] = srng->hwreg_base[i]; } +qdf_export_symbol(hal_get_srng_params); diff --git a/hal/wifi3.0/hal_wbm.c b/hal/wifi3.0/hal_wbm.c index 5b0945c74a..a25fb8ce9a 100644 --- a/hal/wifi3.0/hal_wbm.c +++ b/hal/wifi3.0/hal_wbm.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2016-2018 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -17,6 +17,7 @@ */ #include "hal_api.h" +#include "qdf_module.h" /** * hal_setup_link_idle_list - Setup scattered idle list using the @@ -154,4 +155,4 @@ void hal_setup_link_idle_list(void *hal_soc, SEQ_WCSS_UMAC_WBM_REG_OFFSET), 0x40); } - +qdf_export_symbol(hal_setup_link_idle_list); diff --git a/hif/src/ar900Bdef.c b/hif/src/ar900Bdef.c index fca5ebe89b..e2087d2615 100644 --- a/hif/src/ar900Bdef.c +++ b/hif/src/ar900Bdef.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010, 2016-2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2010, 2016-2018 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -16,6 +16,8 @@ * PERFORMANCE OF THIS SOFTWARE. */ +#include "qdf_module.h" + #if defined(AR900B_HEADERS_DEF) #define AR900B 1 @@ -219,6 +221,7 @@ #define MY_TARGET_BOARD_EXT_DATA_SZ AR900B_BOARD_EXT_DATA_SZ #include "targetdef.h" #include "hostdef.h" +qdf_export_symbol(AR900B_CE_TARGETdef); #else #include "common_drv.h" #include "targetdef.h" @@ -226,3 +229,5 @@ struct targetdef_s *AR900B_TARGETdef; struct hostdef_s *AR900B_HOSTdef; #endif /*AR900B_HEADERS_DEF */ +qdf_export_symbol(AR900B_TARGETdef); +qdf_export_symbol(AR900B_HOSTdef); diff --git a/hif/src/ar9888def.c b/hif/src/ar9888def.c index 7336c52f17..e0266ae58a 100644 --- a/hif/src/ar9888def.c +++ b/hif/src/ar9888def.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013,2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2013,2016,2018 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -16,6 +16,8 @@ * PERFORMANCE OF THIS SOFTWARE. */ +#include "qdf_module.h" + #if defined(AR9888_HEADERS_DEF) #define AR9888 1 @@ -199,6 +201,7 @@ #define MY_TARGET_BOARD_EXT_DATA_SZ AR9888_BOARD_EXT_DATA_SZ #include "targetdef.h" #include "hostdef.h" +qdf_export_symbol(AR9888_CE_TARGETdef); #else #include "common_drv.h" #include "targetdef.h" @@ -206,3 +209,5 @@ struct targetdef_s *AR9888_TARGETdef; struct hostdef_s *AR9888_HOSTdef; #endif /*AR9888_HEADERS_DEF */ +qdf_export_symbol(AR9888_TARGETdef); +qdf_export_symbol(AR9888_HOSTdef); diff --git a/hif/src/ce/ce_bmi.c b/hif/src/ce/ce_bmi.c index 48f849a59b..25e8537ccf 100644 --- a/hif/src/ce/ce_bmi.c +++ b/hif/src/ce/ce_bmi.c @@ -42,6 +42,7 @@ #include "qdf_trace.h" #include "hif_debug.h" #include "bmi_msg.h" +#include "qdf_module.h" /* Track a BMI transaction that is in progress */ #ifndef BIT @@ -283,6 +284,7 @@ QDF_STATUS hif_exchange_bmi_msg(struct hif_opaque_softc *hif_ctx, qdf_mem_free(transaction); return status; } +qdf_export_symbol(hif_exchange_bmi_msg); #ifdef BMI_RSP_POLLING #define BMI_RSP_CB_REGISTER 0 diff --git a/hif/src/ce/ce_diag.c b/hif/src/ce/ce_diag.c index 2368633df8..3f04de51e7 100644 --- a/hif/src/ce/ce_diag.c +++ b/hif/src/ce/ce_diag.c @@ -40,6 +40,7 @@ #include "ce_api.h" #include "qdf_trace.h" #include "hif_debug.h" +#include "qdf_module.h" void hif_ce_dump_target_memory(struct hif_softc *scn, void *ramdump_base, @@ -324,6 +325,7 @@ done: return status; } +qdf_export_symbol(hif_diag_read_mem); /* Read 4-byte aligned data from Target memory or register */ QDF_STATUS hif_diag_read_access(struct hif_opaque_softc *hif_ctx, diff --git a/hif/src/ce/ce_main.c b/hif/src/ce/ce_main.c index bc9f8e1eab..002580389b 100644 --- a/hif/src/ce/ce_main.c +++ b/hif/src/ce/ce_main.c @@ -48,6 +48,7 @@ #ifndef CONFIG_WIN #include "qwlan_version.h" #endif +#include "qdf_module.h" #define CE_POLL_TIMEOUT 10 /* ms */ @@ -678,6 +679,7 @@ bool ce_srng_based(struct hif_softc *scn) } return false; } +qdf_export_symbol(ce_srng_based); #ifdef QCA_WIFI_SUPPORT_SRNG static struct ce_ops *ce_services_attach(struct hif_softc *scn) @@ -2751,6 +2753,7 @@ int hif_ce_fastpath_cb_register(struct hif_opaque_softc *hif_ctx, return QDF_STATUS_SUCCESS; } +qdf_export_symbol(hif_ce_fastpath_cb_register); #endif #ifdef IPA_OFFLOAD @@ -3206,6 +3209,7 @@ int hif_dump_ce_registers(struct hif_softc *scn) } return 0; } +qdf_export_symbol(hif_dump_ce_registers); #ifdef QCA_NSS_WIFI_OFFLOAD_SUPPORT struct hif_pipe_addl_info *hif_get_addl_pipe_info(struct hif_opaque_softc *osc, struct hif_pipe_addl_info *hif_info, uint32_t pipe) @@ -3249,6 +3253,7 @@ struct hif_pipe_addl_info *hif_get_addl_pipe_info(struct hif_opaque_softc *osc, return hif_info; } +qdf_export_symbol(hif_get_addl_pipe_info); uint32_t hif_set_nss_wifiol_mode(struct hif_opaque_softc *osc, uint32_t mode) { @@ -3257,7 +3262,7 @@ uint32_t hif_set_nss_wifiol_mode(struct hif_opaque_softc *osc, uint32_t mode) scn->nss_wifi_ol_mode = mode; return 0; } - +qdf_export_symbol(hif_set_nss_wifiol_mode); #endif void hif_set_attribute(struct hif_opaque_softc *osc, uint8_t hif_attrib) @@ -3278,6 +3283,7 @@ void hif_disable_interrupt(struct hif_opaque_softc *osc, uint32_t pipe_num) CE_COPY_COMPLETE_INTR_DISABLE(scn, ctrl_addr); Q_TARGET_ACCESS_END(scn); } +qdf_export_symbol(hif_disable_interrupt); /** * hif_fw_event_handler() - hif fw event handler diff --git a/hif/src/ce/ce_service.c b/hif/src/ce/ce_service.c index 631453e76e..e65e802a9f 100644 --- a/hif/src/ce/ce_service.c +++ b/hif/src/ce/ce_service.c @@ -36,6 +36,7 @@ #include "hif_main.h" #include "hif_debug.h" #include "hif_napi.h" +#include "qdf_module.h" #ifdef IPA_OFFLOAD #ifdef QCA_WIFI_3_0 @@ -216,6 +217,7 @@ void hif_record_ce_desc_event(struct hif_softc *scn, int ce_id, hif_ce_desc_data_record(event, len); #endif } +qdf_export_symbol(hif_record_ce_desc_event); /** * ce_init_ce_desc_event_log() - initialize the ce event log @@ -248,6 +250,7 @@ void hif_record_ce_desc_event(struct hif_softc *scn, int index, int len) { } +qdf_export_symbol(hif_record_ce_desc_event); inline void ce_init_ce_desc_event_log(struct hif_softc *scn, int ce_id, int size) @@ -2242,6 +2245,7 @@ target_access_end: HIF_ERROR("<--[premature rc=%d]", CE_state->receive_count); return CE_state->receive_count; } +qdf_export_symbol(ce_per_engine_service); /* * Handler for per-engine interrupts on ALL active CEs. @@ -2501,6 +2505,7 @@ bool ce_check_rx_pending(struct CE_state *CE_state) else return false; } +qdf_export_symbol(ce_check_rx_pending); #ifdef IPA_OFFLOAD /** diff --git a/hif/src/ce/ce_service_srng.c b/hif/src/ce/ce_service_srng.c index b11396bde5..6a3b7f5d2a 100644 --- a/hif/src/ce/ce_service_srng.c +++ b/hif/src/ce/ce_service_srng.c @@ -29,6 +29,7 @@ #include "hif_debug.h" #include "hal_api.h" #include "pld_common.h" +#include "qdf_module.h" /* * Support for Copy Engine hardware, which is mainly used for @@ -860,3 +861,4 @@ struct ce_ops *ce_services_srng() { return &ce_service_srng; } +qdf_export_symbol(ce_services_srng); diff --git a/hif/src/dispatcher/multibus.c b/hif/src/dispatcher/multibus.c index e22eabe2db..5009a92e5b 100644 --- a/hif/src/dispatcher/multibus.c +++ b/hif/src/dispatcher/multibus.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2016-2018 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -41,6 +41,7 @@ #include "htc_services.h" #include "a_types.h" #include "dummy.h" +#include "qdf_module.h" /** * hif_intialize_default_ops() - intializes default operations values @@ -242,6 +243,7 @@ int hif_target_sleep_state_adjust(struct hif_softc *hif_sc, return hif_sc->bus_ops.hif_target_sleep_state_adjust(hif_sc, sleep_ok, wait_for_it); } +qdf_export_symbol(hif_target_sleep_state_adjust); void hif_disable_isr(struct hif_opaque_softc *hif_hdl) { @@ -318,6 +320,7 @@ void hif_irq_enable(struct hif_softc *hif_sc, int irq_id) { hif_sc->bus_ops.hif_irq_enable(hif_sc, irq_id); } +qdf_export_symbol(hif_irq_enable); void hif_irq_disable(struct hif_softc *hif_sc, int irq_id) { diff --git a/hif/src/hif_exec.c b/hif/src/hif_exec.c index b37b2b43a4..f702e1808b 100644 --- a/hif/src/hif_exec.c +++ b/hif/src/hif_exec.c @@ -19,6 +19,7 @@ #include #include #include +#include "qdf_module.h" /* mapping NAPI budget 0 to internal budget 0 * NAPI budget 1 to internal budget [1,scaler -1] @@ -66,6 +67,7 @@ void hif_print_napi_stats(struct hif_opaque_softc *hif_ctx) } } } +qdf_export_symbol(hif_print_napi_stats); static void hif_exec_tasklet_schedule(struct hif_exec_context *ctx) { @@ -311,6 +313,7 @@ uint32_t hif_configure_ext_group_interrupts(struct hif_opaque_softc *hif_ctx) return QDF_STATUS_SUCCESS; } +qdf_export_symbol(hif_configure_ext_group_interrupts); /** * hif_ext_group_interrupt_handler() - handler for related interrupts @@ -407,6 +410,7 @@ uint32_t hif_register_ext_group(struct hif_opaque_softc *hif_ctx, hif_state->hif_num_extgroup++; return QDF_STATUS_SUCCESS; } +qdf_export_symbol(hif_register_ext_group); /** * hif_exec_create() - create an execution context @@ -479,3 +483,4 @@ void hif_deregister_exec_group(struct hif_opaque_softc *hif_ctx, } } +qdf_export_symbol(hif_deregister_exec_group); diff --git a/hif/src/hif_main.c b/hif/src/hif_main.c index 56519b063b..bafdc4e3f8 100644 --- a/hif/src/hif_main.c +++ b/hif/src/hif_main.c @@ -52,6 +52,7 @@ #endif #include "hif_napi.h" #include "hif_unit_test_suspend_i.h" +#include "qdf_module.h" void hif_dump(struct hif_opaque_softc *hif_ctx, uint8_t cmd_id, bool start) { @@ -243,6 +244,7 @@ void hif_save_htc_htt_config_endpoint(struct hif_opaque_softc *hif_ctx, scn->htc_htt_tx_endpoint = htc_htt_tx_endpoint; } +qdf_export_symbol(hif_save_htc_htt_config_endpoint); static const struct qwlan_hw qwlan_hw_list[] = { { @@ -385,6 +387,7 @@ void *hif_get_dev_ba(struct hif_opaque_softc *hif_handle) return scn->mem; } +qdf_export_symbol(hif_get_dev_ba); /** * hif_open(): hif_open * @qdf_ctx: QDF Context @@ -704,6 +707,7 @@ void hif_read_phy_mem_base(struct hif_softc *scn, qdf_dma_addr_t *phy_mem_base) { *phy_mem_base = scn->mem_pa; } +qdf_export_symbol(hif_read_phy_mem_base); /** * hif_get_device_type(): hif_get_device_type @@ -829,6 +833,7 @@ bool hif_needs_bmi(struct hif_opaque_softc *hif_ctx) return (hif_sc->bus_type != QDF_BUS_TYPE_SNOC) && !ce_srng_based(hif_sc); } +qdf_export_symbol(hif_needs_bmi); /** * hif_get_bus_type() - return the bus type @@ -877,6 +882,7 @@ struct hif_target_info *hif_get_target_info_handle( return &sc->target_info; } +qdf_export_symbol(hif_get_target_info_handle); #if defined(FEATURE_LRO) @@ -1051,6 +1057,7 @@ void hif_update_pipe_callback(struct hif_opaque_softc *osc, HIF_INFO_LO("-%s\n", __func__); } +qdf_export_symbol(hif_update_pipe_callback); /** * hif_is_recovery_in_progress() - API to query upper layers if recovery in @@ -1104,6 +1111,7 @@ qdf_nbuf_t hif_batch_send(struct hif_opaque_softc *osc, qdf_nbuf_t msdu, return ce_batch_send((struct CE_handle *)ce_tx_hdl, msdu, transfer_id, len, sendhead); } +qdf_export_symbol(hif_batch_send); /** * hif_update_tx_ring() - API to access hif specific function @@ -1119,6 +1127,7 @@ void hif_update_tx_ring(struct hif_opaque_softc *osc, u_int32_t num_htt_cmpls) ce_update_tx_ring(ce_tx_hdl, num_htt_cmpls); } +qdf_export_symbol(hif_update_tx_ring); /** @@ -1139,6 +1148,7 @@ int hif_send_single(struct hif_opaque_softc *osc, qdf_nbuf_t msdu, uint32_t return ce_send_single((struct CE_handle *)ce_tx_hdl, msdu, transfer_id, len); } +qdf_export_symbol(hif_send_single); /** * hif_send_fast() - API to access hif specific function @@ -1159,6 +1169,7 @@ int hif_send_fast(struct hif_opaque_softc *osc, qdf_nbuf_t nbuf, return ce_send_fast((struct CE_handle *)ce_tx_hdl, nbuf, transfer_id, download_len); } +qdf_export_symbol(hif_send_fast); #endif /** @@ -1178,6 +1189,7 @@ void hif_reg_write(struct hif_opaque_softc *hif_ctx, uint32_t offset, hif_write32_mb(scn->mem + offset, value); } +qdf_export_symbol(hif_reg_write); /** * hif_reg_read() - API to access hif specific function @@ -1194,6 +1206,7 @@ uint32_t hif_reg_read(struct hif_opaque_softc *hif_ctx, uint32_t offset) return hif_read32_mb(scn->mem + offset); } +qdf_export_symbol(hif_reg_read); #if defined(HIF_USB) /** diff --git a/hif/src/hif_napi.c b/hif/src/hif_napi.c index 3370842440..54c6490ee2 100644 --- a/hif/src/hif_napi.c +++ b/hif/src/hif_napi.c @@ -54,6 +54,7 @@ #include #include #include "qdf_cpuhp.h" +#include "qdf_module.h" enum napi_decision_vector { HIF_NAPI_NOEVENT = 0, @@ -210,6 +211,7 @@ hnc_err: NAPI_DEBUG("<--napi_instances_map=%x]", napid->ce_map); return rc; } +qdf_export_symbol(hif_napi_create); /** * @@ -314,6 +316,7 @@ int hif_napi_destroy(struct hif_opaque_softc *hif_ctx, return rc; } +qdf_export_symbol(hif_napi_destroy); /** * hif_napi_get_lro_info() - returns the address LRO data for napi_id @@ -604,6 +607,7 @@ int hif_napi_event(struct hif_opaque_softc *hif_ctx, enum qca_napi_event event, NAPI_DEBUG("<--[rc=%d]", rc); return rc; } +qdf_export_symbol(hif_napi_event); /** * hif_napi_enabled() - checks whether NAPI is enabled for given ce or not @@ -623,7 +627,8 @@ int hif_napi_enabled(struct hif_opaque_softc *hif_ctx, int ce) rc = ((hif->napi_data.state == ENABLE_NAPI_MASK) && (hif->napi_data.ce_map & (0x01 << ce))); return rc; -}; +} +qdf_export_symbol(hif_napi_enabled); /** * hif_napi_enable_irq() - enables bus interrupts after napi_complete @@ -671,6 +676,7 @@ int hif_napi_schedule(struct hif_opaque_softc *hif_ctx, int ce_id) return true; } +qdf_export_symbol(hif_napi_schedule); /** * hif_napi_correct_cpu() - correct the interrupt affinity for napi if needed @@ -845,6 +851,7 @@ int hif_napi_poll(struct hif_opaque_softc *hif_ctx, out: return rc; } +qdf_export_symbol(hif_napi_poll); #ifdef HIF_IRQ_AFFINITY /** diff --git a/hif/src/ipq4019def.c b/hif/src/ipq4019def.c index ef0e281c1d..02d560e0a8 100644 --- a/hif/src/ipq4019def.c +++ b/hif/src/ipq4019def.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2015-2016,2018 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -16,6 +16,8 @@ * PERFORMANCE OF THIS SOFTWARE. */ +#include "qdf_module.h" + #if defined(IPQ4019_HEADERS_DEF) #define AR900B 1 @@ -205,6 +207,7 @@ #define MY_TARGET_BOARD_EXT_DATA_SZ IPQ4019_BOARD_EXT_DATA_SZ #include "targetdef.h" #include "hostdef.h" +qdf_export_symbol(IPQ4019_CE_TARGETdef); #else #include "common_drv.h" #include "targetdef.h" @@ -212,3 +215,5 @@ struct targetdef_s *IPQ4019_TARGETdef; struct hostdef_s *IPQ4019_HOSTdef; #endif /* IPQ4019_HEADERS_DEF */ +qdf_export_symbol(IPQ4019_TARGETdef); +qdf_export_symbol(IPQ4019_HOSTdef); diff --git a/hif/src/qca8074def.c b/hif/src/qca8074def.c index 969500f685..51d32fdd02 100644 --- a/hif/src/qca8074def.c +++ b/hif/src/qca8074def.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2016-2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2016-2018 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -16,6 +16,8 @@ * PERFORMANCE OF THIS SOFTWARE. */ +#include "qdf_module.h" + #if defined(QCA8074_HEADERS_DEF) #undef UMAC @@ -225,6 +227,7 @@ #define MY_TARGET_BOARD_EXT_DATA_SZ QCA8074_BOARD_EXT_DATA_SZ #include "targetdef.h" #include "hostdef.h" +qdf_export_symbol(QCA8074_CE_TARGETdef); #else #include "common_drv.h" #include "targetdef.h" @@ -232,3 +235,5 @@ struct targetdef_s *QCA8074_TARGETdef; struct hostdef_s *QCA8074_HOSTdef; #endif /*QCA8074_HEADERS_DEF */ +qdf_export_symbol(QCA8074_TARGETdef); +qdf_export_symbol(QCA8074_HOSTdef); diff --git a/hif/src/qca9888def.c b/hif/src/qca9888def.c index 2c67094e39..f44313cbb1 100644 --- a/hif/src/qca9888def.c +++ b/hif/src/qca9888def.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015,2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2015,2016,2018 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -15,6 +15,7 @@ * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR * PERFORMANCE OF THIS SOFTWARE. */ +#include "qdf_module.h" #if defined(QCA9888_HEADERS_DEF) #define QCA9888 1 @@ -216,6 +217,7 @@ #define MY_TARGET_BOARD_EXT_DATA_SZ QCA9888_BOARD_EXT_DATA_SZ #include "targetdef.h" #include "hostdef.h" +qdf_export_symbol(QCA9888_CE_TARGETdef); #else #include "common_drv.h" #include "targetdef.h" @@ -223,3 +225,5 @@ struct targetdef_s *QCA9888_TARGETdef; struct hostdef_s *QCA9888_HOSTdef; #endif /* QCA9888_HEADERS_DEF */ +qdf_export_symbol(QCA9888_TARGETdef); +qdf_export_symbol(QCA9888_HOSTdef); diff --git a/hif/src/qca9984def.c b/hif/src/qca9984def.c index 61d09c75e8..572d082171 100644 --- a/hif/src/qca9984def.c +++ b/hif/src/qca9984def.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015,2016 The Linux Foundation. All rights reserved. + * Copyright (c) 2015,2016,2018 The Linux Foundation. All rights reserved. * * Permission to use, copy, modify, and/or distribute this software for * any purpose with or without fee is hereby granted, provided that the @@ -16,6 +16,8 @@ * PERFORMANCE OF THIS SOFTWARE. */ +#include "qdf_module.h" + #if defined(QCA9984_HEADERS_DEF) #define QCA9984 1 @@ -216,6 +218,7 @@ #define MY_TARGET_BOARD_EXT_DATA_SZ QCA9984_BOARD_EXT_DATA_SZ #include "targetdef.h" #include "hostdef.h" +qdf_export_symbol(QCA9984_CE_TARGETdef); #else #include "common_drv.h" #include "targetdef.h" @@ -223,3 +226,6 @@ struct targetdef_s *QCA9984_TARGETdef; struct hostdef_s *QCA9984_HOSTdef; #endif /* QCA9984_HEADERS_DEF */ +qdf_export_symbol(QCA9984_TARGETdef); +qdf_export_symbol(QCA9984_HOSTdef); + diff --git a/hif/src/sdio/hif_diag_reg_access.c b/hif/src/sdio/hif_diag_reg_access.c index 1ff46353b0..92bc5b5cbf 100644 --- a/hif/src/sdio/hif_diag_reg_access.c +++ b/hif/src/sdio/hif_diag_reg_access.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2013-2017 The Linux Foundation. All rights reserved. + * Copyright (c) 2013-2018 The Linux Foundation. All rights reserved. * * Previously licensed under the ISC license by Qualcomm Atheros, Inc. * @@ -36,6 +36,8 @@ #include "if_sdio.h" #include "regtable_sdio.h" +#include "qdf_module.h" + #define CPU_DBG_SEL_ADDRESS 0x00000483 #define CPU_DBG_ADDRESS 0x00000484 #define WORD_NON_ALIGNMENT_MASK 0x03 @@ -262,6 +264,7 @@ QDF_STATUS hif_diag_read_mem(struct hif_opaque_softc *scn, return QDF_STATUS_SUCCESS; } +qdf_export_symbol(hif_diag_read_mem); /** * hif_ar6k_read_target_register - call to read target register values diff --git a/hif/src/usb/hif_usb.c b/hif/src/usb/hif_usb.c index fc269ce2e0..fd7279e20a 100644 --- a/hif/src/usb/hif_usb.c +++ b/hif/src/usb/hif_usb.c @@ -37,6 +37,7 @@ #include #define ATH_MODULE_NAME hif #include +#include "qdf_module.h" #if defined(WLAN_DEBUG) || defined(DEBUG) static ATH_DEBUG_MASK_DESCRIPTION g_hif_debug_description[] = { @@ -854,6 +855,7 @@ QDF_STATUS hif_diag_read_mem(struct hif_opaque_softc *scn, HIF_TRACE("-%s", __func__); return status; } +qdf_export_symbol(hif_diag_read_mem); /** * hif_diag_write_mem() -write nbytes of data to target memory or register diff --git a/htc/htc_send.c b/htc/htc_send.c index 4101783c54..257d8d8a9c 100644 --- a/htc/htc_send.c +++ b/htc/htc_send.c @@ -29,7 +29,7 @@ #include "htc_internal.h" #include /* qdf_mem_malloc */ #include /* qdf_nbuf_t */ - +#include "qdf_module.h" /* #define USB_HIF_SINGLE_PIPE_DATA_SCHED */ /* #ifdef USB_HIF_SINGLE_PIPE_DATA_SCHED */ @@ -169,6 +169,7 @@ int htc_get_tx_queue_depth(HTC_HANDLE *htc_handle, HTC_ENDPOINT_ID endpoint_id) return HTC_PACKET_QUEUE_DEPTH(&endpoint->TxQueue); } +qdf_export_symbol(htc_get_tx_queue_depth); void htc_get_control_endpoint_tx_host_credits(HTC_HANDLE HTCHandle, int *credits) @@ -1554,6 +1555,7 @@ QDF_STATUS htc_send_pkt(HTC_HANDLE HTCHandle, HTC_PACKET *pPacket) pPacket->ActualLength)); return __htc_send_pkt(HTCHandle, pPacket); } +qdf_export_symbol(htc_send_pkt); #ifdef ATH_11AC_TXCOMPACT /** @@ -1873,6 +1875,7 @@ QDF_STATUS htc_send_data_pkt(HTC_HANDLE HTCHandle, HTC_PACKET *pPacket, return status; } #endif /*ATH_11AC_TXCOMPACT */ +qdf_export_symbol(htc_send_data_pkt); /* * In the adapted HIF layer, qdf_nbuf_t are passed between HIF and HTC, @@ -2046,6 +2049,7 @@ void htc_ctrl_msg_cmpl(HTC_HANDLE htc_pdev, HTC_ENDPOINT_ID htc_ep_id) htc_send_complete_check(pendpoint, 1); } +qdf_export_symbol(htc_ctrl_msg_cmpl); #endif /* callback when TX resources become available */ diff --git a/htc/htc_services.c b/htc/htc_services.c index 4b55f95367..390c41e95e 100644 --- a/htc/htc_services.c +++ b/htc/htc_services.c @@ -29,6 +29,7 @@ #include "htc_internal.h" #include #include /* qdf_nbuf_t */ +#include "qdf_module.h" /* use credit flow control over HTC */ unsigned int htc_credit_flow = 1; @@ -402,6 +403,7 @@ QDF_STATUS htc_connect_service(HTC_HANDLE HTCHandle, return status; } +qdf_export_symbol(htc_connect_service); void htc_set_credit_distribution(HTC_HANDLE HTCHandle, void *pCreditDistContext, diff --git a/target_if/core/src/target_if_main.c b/target_if/core/src/target_if_main.c index 0cbb7ab288..1260905362 100644 --- a/target_if/core/src/target_if_main.c +++ b/target_if/core/src/target_if_main.c @@ -72,6 +72,7 @@ #ifdef WLAN_SUPPORT_FILS #include #endif +#include "qdf_module.h" static struct target_if_ctx *g_target_if_ctx; @@ -174,6 +175,7 @@ QDF_STATUS target_if_close(void) return QDF_STATUS_SUCCESS; } +qdf_export_symbol(target_if_close); QDF_STATUS target_if_store_pdev_target_if_ctx( get_pdev_handle_callback pdev_hdl_cb) @@ -426,6 +428,7 @@ QDF_STATUS target_if_register_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops) return QDF_STATUS_SUCCESS; } +qdf_export_symbol(target_if_register_tx_ops); wmi_legacy_service_ready_callback target_if_get_psoc_legacy_service_ready_cb(void) @@ -441,7 +444,7 @@ target_if_get_psoc_legacy_service_ready_cb(void) return service_ready_cb; } -EXPORT_SYMBOL(target_if_get_psoc_legacy_service_ready_cb); +qdf_export_symbol(target_if_get_psoc_legacy_service_ready_cb); QDF_STATUS target_if_register_legacy_service_ready_cb( wmi_legacy_service_ready_callback service_ready_cb) @@ -452,7 +455,7 @@ QDF_STATUS target_if_register_legacy_service_ready_cb( return QDF_STATUS_SUCCESS; } -EXPORT_SYMBOL(target_if_register_legacy_service_ready_cb); +qdf_export_symbol(target_if_register_legacy_service_ready_cb); QDF_STATUS target_if_alloc_pdev_tgt_info(struct wlan_objmgr_pdev *pdev) {