Explorar o código

qcacld-3.0: Clean up OCB legacy code

Clean up OCB legacy code after feature componentization.

CRs-Fixed: 2177619
Change-Id: Ib8a26c9e67e78e53f8b2b4929276060687254ea1
Zhang Qian %!s(int64=7) %!d(string=hai) anos
pai
achega
e33b4b94f8

+ 0 - 4
core/hdd/src/wlan_hdd_main.c

@@ -12169,10 +12169,6 @@ void hdd_deregister_cb(struct hdd_context *hdd_ctx)
 
 	mac_handle = hdd_ctx->mac_handle;
 	sme_deregister_tx_queue_cb(mac_handle);
-	status = sme_deregister_for_dcc_stats_event(mac_handle);
-	if (!QDF_IS_STATUS_SUCCESS(status))
-		hdd_err("De-register of dcc stats callback failed: %d",
-			status);
 
 	sme_reset_link_layer_stats_ind_cb(mac_handle);
 	sme_reset_rssi_threshold_breached_cb(mac_handle);

+ 0 - 212
core/mac/inc/sir_api.h

@@ -4835,224 +4835,12 @@ struct sir_bcn_update_rsp {
 	QDF_STATUS status;
 };
 
-/**
- * OCB structures
- */
-
-#define NUM_AC			(4)
-#define OCB_CHANNEL_MAX	(5)
-
 struct sir_qos_params {
 	uint8_t aifsn;
 	uint8_t cwmin;
 	uint8_t cwmax;
 };
 
-/**
- * struct sir_ocb_set_config_response
- * @status: response status
- */
-struct sir_ocb_set_config_response {
-	uint8_t status;
-};
-
-/** Callback for the dcc_stats_event */
-typedef void (*dcc_stats_event_callback_t)(void *hdd_ctx, uint32_t vdev_id,
-	uint32_t num_channels, uint32_t stats_per_channel_array_len,
-	const void *stats_per_channel_array);
-
-/**
- * struct sir_ocb_config_channel
- * @chan_freq: frequency of the channel
- * @bandwidth: bandwidth of the channel, either 10 or 20 MHz
- * @mac_address: MAC address assigned to this channel
- * @qos_params: QoS parameters
- * @max_pwr: maximum transmit power of the channel (dBm)
- * @min_pwr: minimum transmit power of the channel (dBm)
- * @reg_pwr: maximum transmit power specified by the regulatory domain (dBm)
- * @antenna_max: maximum antenna gain specified by the regulatory domain (dB)
- */
-struct sir_ocb_config_channel {
-	uint32_t chan_freq;
-	uint32_t bandwidth;
-	struct qdf_mac_addr mac_address;
-	struct sir_qos_params qos_params[MAX_NUM_AC];
-	uint32_t max_pwr;
-	uint32_t min_pwr;
-	uint8_t reg_pwr;
-	uint8_t antenna_max;
-	uint16_t flags;
-};
-
-/**
- * OCB_CHANNEL_FLAG_NO_RX_HDR - Don't add the RX stats header to packets
- *      received on this channel.
- */
-#define OCB_CHANNEL_FLAG_DISABLE_RX_STATS_HDR	(1 << 0)
-
-/**
- * struct sir_ocb_config_sched
- * @chan_freq: frequency of the channel
- * @total_duration: duration of the schedule
- * @guard_interval: guard interval on the start of the schedule
- */
-struct sir_ocb_config_sched {
-	uint32_t chan_freq;
-	uint32_t total_duration;
-	uint32_t guard_interval;
-};
-
-/**
- * struct sir_ocb_config
- * @session_id: session id
- * @channel_count: number of channels
- * @schedule_size: size of the channel schedule
- * @flags: reserved
- * @channels: array of OCB channels
- * @schedule: array of OCB schedule elements
- * @dcc_ndl_chan_list_len: size of the ndl_chan array
- * @dcc_ndl_chan_list: array of dcc channel info
- * @dcc_ndl_active_state_list_len: size of the active state array
- * @dcc_ndl_active_state_list: array of active states
- * @adapter: the OCB adapter
- * @dcc_stats_callback: callback for the response event
- */
-struct sir_ocb_config {
-	uint8_t session_id;
-	uint32_t channel_count;
-	uint32_t schedule_size;
-	uint32_t flags;
-	struct sir_ocb_config_channel *channels;
-	struct sir_ocb_config_sched *schedule;
-	uint32_t dcc_ndl_chan_list_len;
-	void *dcc_ndl_chan_list;
-	uint32_t dcc_ndl_active_state_list_len;
-	void *dcc_ndl_active_state_list;
-};
-
-/* The size of the utc time in bytes. */
-#define SIZE_UTC_TIME (10)
-/* The size of the utc time error in bytes. */
-#define SIZE_UTC_TIME_ERROR (5)
-
-/**
- * struct sir_ocb_utc
- * @vdev_id: session id
- * @utc_time: number of nanoseconds from Jan 1st 1958
- * @time_error: the error in the UTC time. All 1's for unknown
- */
-struct sir_ocb_utc {
-	uint32_t vdev_id;
-	uint8_t utc_time[SIZE_UTC_TIME];
-	uint8_t time_error[SIZE_UTC_TIME_ERROR];
-};
-
-/**
- * struct sir_ocb_timing_advert
- * @vdev_id: session id
- * @chan_freq: frequency on which to advertise
- * @repeat_rate: the number of times it will send TA in 5 seconds
- * @timestamp_offset: offset of the timestamp field in the TA frame
- * @time_value_offset: offset of the time_value field in the TA frame
- * @template_length: size in bytes of the TA frame
- * @template_value: the TA frame
- */
-struct sir_ocb_timing_advert {
-	uint32_t vdev_id;
-	uint32_t chan_freq;
-	uint32_t repeat_rate;
-	uint32_t timestamp_offset;
-	uint32_t time_value_offset;
-	uint32_t template_length;
-	uint8_t *template_value;
-};
-
-/**
- * struct sir_ocb_get_tsf_timer_response
- * @vdev_id: session id
- * @timer_high: higher 32-bits of the timer
- * @timer_low: lower 32-bits of the timer
- */
-struct sir_ocb_get_tsf_timer_response {
-	uint32_t vdev_id;
-	uint32_t timer_high;
-	uint32_t timer_low;
-};
-
-/**
- * struct sir_ocb_get_tsf_timer
- * @vdev_id: session id
- */
-struct sir_ocb_get_tsf_timer {
-	uint32_t vdev_id;
-};
-
-/**
- * struct sir_dcc_get_stats_response
- * @vdev_id: session id
- * @num_channels: number of dcc channels
- * @channel_stats_array_len: size in bytes of the stats array
- * @channel_stats_array: the stats array
- */
-struct sir_dcc_get_stats_response {
-	uint32_t vdev_id;
-	uint32_t num_channels;
-	uint32_t channel_stats_array_len;
-	void *channel_stats_array;
-};
-
-/**
- * struct sir_dcc_get_stats
- * @vdev_id: session id
- * @channel_count: number of dcc channels
- * @request_array_len: size in bytes of the request array
- * @request_array: the request array
- */
-struct sir_dcc_get_stats {
-	uint32_t vdev_id;
-	uint32_t channel_count;
-	uint32_t request_array_len;
-	void *request_array;
-};
-
-/**
- * struct sir_dcc_clear_stats
- * @vdev_id: session id
- * @dcc_stats_bitmap: bitmap of clear option
- */
-struct sir_dcc_clear_stats {
-	uint32_t vdev_id;
-	uint32_t dcc_stats_bitmap;
-};
-
-/**
- * struct sir_dcc_update_ndl_response
- * @vdev_id: session id
- * @status: response status
- */
-struct sir_dcc_update_ndl_response {
-	uint32_t vdev_id;
-	uint32_t status;
-};
-
-/**
- * struct sir_dcc_update_ndl
- * @vdev_id: session id
- * @channel_count: number of channels to be updated
- * @dcc_ndl_chan_list_len: size in bytes of the ndl_chan array
- * @dcc_ndl_chan_list: the ndl_chan array
- * @dcc_ndl_active_state_list_len: size in bytes of the active_state array
- * @dcc_ndl_active_state_list: the active state array
- */
-struct sir_dcc_update_ndl {
-	uint32_t vdev_id;
-	uint32_t channel_count;
-	uint32_t dcc_ndl_chan_list_len;
-	void *dcc_ndl_chan_list;
-	uint32_t dcc_ndl_active_state_list_len;
-	void *dcc_ndl_active_state_list;
-};
-
 /**
  * enum powersave_qpower_mode: QPOWER modes
  * @QPOWER_DISABLED: Qpower is disabled

+ 0 - 103
core/sme/inc/sme_api.h

@@ -1427,70 +1427,12 @@ int sme_update_tx_bfee_nsts(mac_handle_t mac_handle, uint8_t session_id,
 void wlan_sap_enable_phy_error_logs(mac_handle_t mac_handle,
 				    uint32_t enable_log);
 #ifdef WLAN_FEATURE_DSRC
-QDF_STATUS sme_ocb_set_config(mac_handle_t mac_handle, void *context,
-			      ocb_callback callback,
-			      struct sir_ocb_config *config);
-
-QDF_STATUS sme_ocb_set_utc_time(mac_handle_t mac_handle,
-				struct sir_ocb_utc *utc);
-
-QDF_STATUS sme_ocb_start_timing_advert(mac_handle_t mac_handle,
-	struct sir_ocb_timing_advert *timing_advert);
-
-QDF_STATUS sme_ocb_stop_timing_advert(mac_handle_t mac_handle,
-	struct sir_ocb_timing_advert *timing_advert);
-
 int sme_ocb_gen_timing_advert_frame(mac_handle_t mac_handle,
 				    tSirMacAddr self_addr,
 				    uint8_t **buf, uint32_t *timestamp_offset,
 				    uint32_t *time_value_offset);
 
-QDF_STATUS sme_ocb_get_tsf_timer(mac_handle_t mac_handle, void *context,
-				 ocb_callback callback,
-				 struct sir_ocb_get_tsf_timer *request);
-
-QDF_STATUS sme_dcc_get_stats(mac_handle_t mac_handle, void *context,
-			     ocb_callback callback,
-			     struct sir_dcc_get_stats *request);
-
-QDF_STATUS sme_dcc_clear_stats(mac_handle_t mac_handle, uint32_t vdev_id,
-			       uint32_t dcc_stats_bitmap);
-
-QDF_STATUS sme_dcc_update_ndl(mac_handle_t mac_handle, void *context,
-			      ocb_callback callback,
-			      struct sir_dcc_update_ndl *request);
-
-QDF_STATUS sme_register_for_dcc_stats_event(mac_handle_t mac_handle,
-					    void *context,
-					    ocb_callback callback);
-QDF_STATUS sme_deregister_for_dcc_stats_event(mac_handle_t mac_handle);
-
 #else
-static inline
-QDF_STATUS sme_ocb_set_config(mac_handle_t mac_handle, void *context,
-			      ocb_callback callback,
-			      struct sir_ocb_config *config)
-{
-	return QDF_STATUS_SUCCESS;
-}
-
-static inline QDF_STATUS sme_ocb_set_utc_time(struct sir_ocb_utc *utc)
-{
-	return QDF_STATUS_SUCCESS;
-}
-
-static inline QDF_STATUS sme_ocb_start_timing_advert(
-		struct sir_ocb_timing_advert *timing_advert)
-{
-	return QDF_STATUS_SUCCESS;
-}
-
-static inline QDF_STATUS sme_ocb_stop_timing_advert(struct sir_ocb_timing_advert
-		*timing_advert)
-{
-	return QDF_STATUS_SUCCESS;
-}
-
 static inline
 int sme_ocb_gen_timing_advert_frame(mac_handle_t mac_handle,
 				    tSirMacAddr self_addr, uint8_t **buf,
@@ -1500,51 +1442,6 @@ int sme_ocb_gen_timing_advert_frame(mac_handle_t mac_handle,
 	return 0;
 }
 
-static inline
-QDF_STATUS sme_ocb_get_tsf_timer(mac_handle_t mac_handle, void *context,
-				 ocb_callback callback,
-				 struct sir_ocb_get_tsf_timer *request)
-{
-	return QDF_STATUS_SUCCESS;
-}
-
-static inline
-QDF_STATUS sme_dcc_get_stats(mac_handle_t mac_handle, void *context,
-			     ocb_callback callback,
-			     struct sir_dcc_get_stats *request)
-{
-	return QDF_STATUS_SUCCESS;
-}
-
-static inline
-QDF_STATUS sme_dcc_clear_stats(uint32_t vdev_id,
-			       uint32_t dcc_stats_bitmap)
-{
-	return QDF_STATUS_SUCCESS;
-}
-
-static inline
-QDF_STATUS sme_dcc_update_ndl(mac_handle_t mac_handle, void *context,
-			      ocb_callback callback,
-			      struct sir_dcc_update_ndl *request)
-{
-	return QDF_STATUS_SUCCESS;
-}
-
-static inline
-QDF_STATUS sme_register_for_dcc_stats_event(mac_handle_t mac_handle,
-					    void *context,
-					    ocb_callback callback)
-{
-	return QDF_STATUS_SUCCESS;
-}
-
-static inline
-QDF_STATUS sme_deregister_for_dcc_stats_event(mac_handle_t mac_handle)
-{
-	return QDF_STATUS_SUCCESS;
-}
-
 #endif
 
 void sme_add_set_thermal_level_callback(mac_handle_t mac_handle,

+ 0 - 11
core/sme/inc/sme_internal.h

@@ -298,17 +298,6 @@ typedef struct tagSmeStruct {
 	uint8_t miracast_value;
 	struct ps_global_info  ps_global_info;
 	rssi_threshold_breached_cb rssi_threshold_breached_cb;
-	/* OCB callbacks */
-	void *ocb_set_config_context;
-	ocb_callback ocb_set_config_callback;
-	void *ocb_get_tsf_timer_context;
-	ocb_callback ocb_get_tsf_timer_callback;
-	void *dcc_get_stats_context;
-	ocb_callback dcc_get_stats_callback;
-	void *dcc_update_ndl_context;
-	ocb_callback dcc_update_ndl_callback;
-	void *dcc_stats_event_context;
-	ocb_callback dcc_stats_event_callback;
 	sme_set_thermal_level_callback set_thermal_level_cb;
 	void *apf_get_offload_context;
 #ifdef FEATURE_P2P_LISTEN_OFFLOAD

+ 0 - 600
core/sme/src/common/sme_api.c

@@ -2189,61 +2189,6 @@ QDF_STATUS sme_process_msg(struct mac_context *mac, struct scheduler_msg *pMsg)
 			sme_err("Empty message for: %d", pMsg->type);
 		}
 		break;
-#ifdef WLAN_FEATURE_DSRC
-	case eWNI_SME_OCB_SET_CONFIG_RSP:
-		if (mac->sme.ocb_set_config_callback)
-			mac->sme.ocb_set_config_callback(
-				mac->sme.ocb_set_config_context,
-				pMsg->bodyptr);
-		else
-			sme_err("No callback for Msg type: %d", pMsg->type);
-		mac->sme.ocb_set_config_callback = NULL;
-		mac->sme.ocb_set_config_context = NULL;
-		qdf_mem_free(pMsg->bodyptr);
-		break;
-	case eWNI_SME_OCB_GET_TSF_TIMER_RSP:
-		if (mac->sme.ocb_get_tsf_timer_callback)
-			mac->sme.ocb_get_tsf_timer_callback(
-				mac->sme.ocb_get_tsf_timer_context,
-				pMsg->bodyptr);
-		else
-			sme_err("No callback for Msg type: %d", pMsg->type);
-		mac->sme.ocb_get_tsf_timer_callback = NULL;
-		mac->sme.ocb_get_tsf_timer_context = NULL;
-		qdf_mem_free(pMsg->bodyptr);
-		break;
-	case eWNI_SME_DCC_GET_STATS_RSP:
-		if (mac->sme.dcc_get_stats_callback)
-			mac->sme.dcc_get_stats_callback(
-				mac->sme.dcc_get_stats_context,
-				pMsg->bodyptr);
-		else
-			sme_err("No callback for Msg type: %d", pMsg->type);
-		mac->sme.dcc_get_stats_callback = NULL;
-		mac->sme.dcc_get_stats_context = NULL;
-		qdf_mem_free(pMsg->bodyptr);
-		break;
-	case eWNI_SME_DCC_UPDATE_NDL_RSP:
-		if (mac->sme.dcc_update_ndl_callback)
-			mac->sme.dcc_update_ndl_callback(
-				mac->sme.dcc_update_ndl_context,
-				pMsg->bodyptr);
-		else
-			sme_err("No callback for Msg type: %d", pMsg->type);
-		mac->sme.dcc_update_ndl_callback = NULL;
-		mac->sme.dcc_update_ndl_context = NULL;
-		qdf_mem_free(pMsg->bodyptr);
-		break;
-	case eWNI_SME_DCC_STATS_EVENT:
-		if (mac->sme.dcc_stats_event_callback)
-			mac->sme.dcc_stats_event_callback(
-				mac->sme.dcc_stats_event_context,
-				pMsg->bodyptr);
-		else
-			sme_err("No callback for Msg type: %d", pMsg->type);
-		qdf_mem_free(pMsg->bodyptr);
-		break;
-#endif
 	case eWNI_SME_SET_DUAL_MAC_CFG_RESP:
 		if (pMsg->bodyptr) {
 			status = sme_process_dual_mac_config_resp(mac,
@@ -7889,260 +7834,6 @@ void sme_get_command_q_status(mac_handle_t mac_handle)
 }
 
 #ifdef WLAN_FEATURE_DSRC
-/**
- * copy_sir_ocb_config() - Performs deep copy of an OCB configuration
- * @src: the source configuration
- *
- * Return: pointer to the copied OCB configuration
- */
-static struct sir_ocb_config *sme_copy_sir_ocb_config(
-	struct sir_ocb_config *src)
-{
-	struct sir_ocb_config *dst;
-	uint32_t length;
-	void *cursor;
-
-	length = sizeof(*src) +
-		src->channel_count * sizeof(*src->channels) +
-		src->schedule_size * sizeof(*src->schedule) +
-		src->dcc_ndl_chan_list_len +
-		src->dcc_ndl_active_state_list_len;
-
-	dst = qdf_mem_malloc(length);
-	if (!dst)
-		return NULL;
-
-	*dst = *src;
-
-	cursor = dst;
-	cursor += sizeof(*dst);
-	dst->channels = cursor;
-	cursor += src->channel_count * sizeof(*src->channels);
-	qdf_mem_copy(dst->channels, src->channels,
-		     src->channel_count * sizeof(*src->channels));
-	dst->schedule = cursor;
-	cursor += src->schedule_size * sizeof(*src->schedule);
-	qdf_mem_copy(dst->schedule, src->schedule,
-		     src->schedule_size * sizeof(*src->schedule));
-	dst->dcc_ndl_chan_list = cursor;
-	cursor += src->dcc_ndl_chan_list_len;
-	qdf_mem_copy(dst->dcc_ndl_chan_list, src->dcc_ndl_chan_list,
-		     src->dcc_ndl_chan_list_len);
-	dst->dcc_ndl_active_state_list = cursor;
-	cursor += src->dcc_ndl_active_state_list_len;
-	qdf_mem_copy(dst->dcc_ndl_active_state_list,
-		     src->dcc_ndl_active_state_list,
-		     src->dcc_ndl_active_state_list_len);
-	return dst;
-}
-
-/**
- * sme_ocb_set_config() - Set the OCB configuration
- * @mac_handle: Opaque handle to the global MAC context
- * @context: the context of the call
- * @callback: the callback to hdd
- * @config: the OCB configuration
- *
- * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_FAILURE on failure
- */
-QDF_STATUS sme_ocb_set_config(mac_handle_t mac_handle, void *context,
-			      ocb_callback callback,
-			      struct sir_ocb_config *config)
-{
-	QDF_STATUS status = QDF_STATUS_E_FAILURE;
-	struct mac_context *mac = MAC_CONTEXT(mac_handle);
-	struct scheduler_msg msg = {0};
-	struct sir_ocb_config *msg_body;
-
-	/* Lock the SME structure */
-	status = sme_acquire_global_lock(&mac->sme);
-	if (!QDF_IS_STATUS_SUCCESS(status))
-		return status;
-
-	/*
-	 * Check if there is a pending request and return an error if one
-	 * exists
-	 */
-	if (mac->sme.ocb_set_config_callback) {
-		status = QDF_STATUS_E_BUSY;
-		goto end;
-	}
-
-	msg_body = sme_copy_sir_ocb_config(config);
-
-	if (!msg_body) {
-		status = QDF_STATUS_E_NOMEM;
-		goto end;
-	}
-
-	msg.type = WMA_OCB_SET_CONFIG_CMD;
-	msg.bodyptr = msg_body;
-
-	/* Set the request callback and context */
-	mac->sme.ocb_set_config_callback = callback;
-	mac->sme.ocb_set_config_context = context;
-
-	status = scheduler_post_message(QDF_MODULE_ID_SME,
-					QDF_MODULE_ID_WMA,
-					QDF_MODULE_ID_WMA, &msg);
-	if (!QDF_IS_STATUS_SUCCESS(status)) {
-		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
-		      FL("Error posting message to WDA: %d"), status);
-		mac->sme.ocb_set_config_callback = callback;
-		mac->sme.ocb_set_config_context = context;
-		qdf_mem_free(msg_body);
-		goto end;
-	}
-
-end:
-	sme_release_global_lock(&mac->sme);
-
-	return status;
-}
-
-/**
- * sme_ocb_set_utc_time() - Set the OCB UTC time
- * @mac_handle: Opaque handle to the global MAC context
- * @utc: the UTC time struct
- *
- * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_FAILURE on failure
- */
-QDF_STATUS sme_ocb_set_utc_time(mac_handle_t mac_handle,
-				struct sir_ocb_utc *utc)
-{
-	QDF_STATUS status = QDF_STATUS_E_FAILURE;
-	struct mac_context *mac = MAC_CONTEXT(mac_handle);
-	struct scheduler_msg msg = {0};
-	struct sir_ocb_utc *sme_utc;
-
-	/* Lock the SME structure */
-	status = sme_acquire_global_lock(&mac->sme);
-	if (!QDF_IS_STATUS_SUCCESS(status))
-		return status;
-
-	sme_utc = qdf_mem_malloc(sizeof(*sme_utc));
-	if (!sme_utc) {
-		status = QDF_STATUS_E_NOMEM;
-		goto end;
-	}
-	*sme_utc = *utc;
-
-	msg.type = WMA_OCB_SET_UTC_TIME_CMD;
-	msg.reserved = 0;
-	msg.bodyptr = sme_utc;
-	status = scheduler_post_message(QDF_MODULE_ID_SME,
-					QDF_MODULE_ID_WMA,
-					QDF_MODULE_ID_WMA, &msg);
-	if (!QDF_IS_STATUS_SUCCESS(status)) {
-		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
-			  FL("Not able to post message to WDA"));
-		qdf_mem_free(utc);
-		goto end;
-	}
-
-end:
-	sme_release_global_lock(&mac->sme);
-
-	return status;
-}
-
-/**
- * sme_ocb_start_timing_advert() - Start sending timing advert frames
- * @mac_handle: Opaque handle to the global MAC context
- * @timing_advert: the timing advertisement struct
- *
- * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_FAILURE on failure
- */
-QDF_STATUS sme_ocb_start_timing_advert(mac_handle_t mac_handle,
-	struct sir_ocb_timing_advert *timing_advert)
-{
-	QDF_STATUS status = QDF_STATUS_E_FAILURE;
-	struct mac_context *mac = MAC_CONTEXT(mac_handle);
-	struct scheduler_msg msg = {0};
-	void *buf;
-	struct sir_ocb_timing_advert *sme_timing_advert;
-
-	/* Lock the SME structure */
-	status = sme_acquire_global_lock(&mac->sme);
-	if (!QDF_IS_STATUS_SUCCESS(status))
-		return status;
-
-	buf = qdf_mem_malloc(sizeof(*sme_timing_advert) +
-			     timing_advert->template_length);
-	if (!buf) {
-		status = QDF_STATUS_E_NOMEM;
-		goto end;
-	}
-
-	sme_timing_advert = (struct sir_ocb_timing_advert *)buf;
-	*sme_timing_advert = *timing_advert;
-	sme_timing_advert->template_value = buf + sizeof(*sme_timing_advert);
-	qdf_mem_copy(sme_timing_advert->template_value,
-	timing_advert->template_value, timing_advert->template_length);
-
-	msg.type = WMA_OCB_START_TIMING_ADVERT_CMD;
-	msg.reserved = 0;
-	msg.bodyptr = buf;
-	status = scheduler_post_message(QDF_MODULE_ID_SME,
-					QDF_MODULE_ID_WMA,
-					QDF_MODULE_ID_WMA, &msg);
-	if (!QDF_IS_STATUS_SUCCESS(status)) {
-		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
-			  FL("Not able to post msg to WDA"));
-		goto end;
-	}
-
-end:
-	sme_release_global_lock(&mac->sme);
-
-	return status;
-}
-
-/**
- * sme_ocb_stop_timing_advert() - Stop sending timing advert frames on a channel
- * @mac_handle: Opaque handle to the global MAC context
- * @timing_advert: the timing advertisement struct
- *
- * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_FAILURE on failure
- */
-QDF_STATUS sme_ocb_stop_timing_advert(mac_handle_t mac_handle,
-	struct sir_ocb_timing_advert *timing_advert)
-{
-	QDF_STATUS status = QDF_STATUS_E_FAILURE;
-	struct mac_context *mac = MAC_CONTEXT(mac_handle);
-	struct scheduler_msg msg = {0};
-	struct sir_ocb_timing_advert *sme_timing_advert;
-
-	/* Lock the SME structure */
-	status = sme_acquire_global_lock(&mac->sme);
-	if (!QDF_IS_STATUS_SUCCESS(status))
-		return status;
-
-	sme_timing_advert = qdf_mem_malloc(sizeof(*timing_advert));
-	if (!sme_timing_advert) {
-		status = QDF_STATUS_E_NOMEM;
-		goto end;
-	}
-	*sme_timing_advert = *timing_advert;
-
-	msg.type = WMA_OCB_STOP_TIMING_ADVERT_CMD;
-	msg.reserved = 0;
-	msg.bodyptr = sme_timing_advert;
-	status = scheduler_post_message(QDF_MODULE_ID_SME,
-					QDF_MODULE_ID_WMA,
-					QDF_MODULE_ID_WMA, &msg);
-	if (!QDF_IS_STATUS_SUCCESS(status)) {
-		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
-			  FL("Not able to post msg to WDA"));
-		goto end;
-	}
-
-end:
-	sme_release_global_lock(&mac->sme);
-
-	return status;
-}
-
 /**
  * sme_ocb_gen_timing_advert_frame() - generate TA frame and populate the buffer
  * @mac_handle: Opaque handle to the global MAC context
@@ -8166,297 +7857,6 @@ int sme_ocb_gen_timing_advert_frame(mac_handle_t mac_handle,
 						  time_value_offset);
 	return template_length;
 }
-/**
- * sme_ocb_get_tsf_timer() - Get the TSF timer value
- * @mac_handle: Opaque handle to the global MAC context
- * @context: the context of the call
- * @callback: the callback to hdd
- * @request: the TSF timer request
- *
- * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_FAILURE on failure
- */
-QDF_STATUS sme_ocb_get_tsf_timer(mac_handle_t mac_handle, void *context,
-				 ocb_callback callback,
-				 struct sir_ocb_get_tsf_timer *request)
-{
-	QDF_STATUS status = QDF_STATUS_E_FAILURE;
-	struct mac_context *mac = MAC_CONTEXT(mac_handle);
-	struct scheduler_msg msg = {0};
-	struct sir_ocb_get_tsf_timer *msg_body;
-
-	/* Lock the SME structure */
-	status = sme_acquire_global_lock(&mac->sme);
-	if (!QDF_IS_STATUS_SUCCESS(status))
-		return status;
-
-	/* Allocate memory for the WMI request, and copy the parameter */
-	msg_body = qdf_mem_malloc(sizeof(*msg_body));
-	if (!msg_body) {
-		status = QDF_STATUS_E_NOMEM;
-		goto end;
-	}
-	*msg_body = *request;
-
-	msg.type = WMA_OCB_GET_TSF_TIMER_CMD;
-	msg.bodyptr = msg_body;
-
-	/* Set the request callback and the context */
-	mac->sme.ocb_get_tsf_timer_callback = callback;
-	mac->sme.ocb_get_tsf_timer_context = context;
-
-	/* Post the message to WDA */
-	status = scheduler_post_message(QDF_MODULE_ID_SME,
-					QDF_MODULE_ID_WMA,
-					QDF_MODULE_ID_WMA, &msg);
-	if (!QDF_IS_STATUS_SUCCESS(status)) {
-		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
-			  FL("Error posting message to WDA: %d"), status);
-		mac->sme.ocb_get_tsf_timer_callback = NULL;
-		mac->sme.ocb_get_tsf_timer_context = NULL;
-		qdf_mem_free(msg_body);
-		goto end;
-	}
-
-end:
-	sme_release_global_lock(&mac->sme);
-
-	return status;
-}
-
-/**
- * sme_dcc_get_stats() - Get the DCC stats
- * @mac_handle: Opaque handle to the global MAC context
- * @context: the context of the call
- * @callback: the callback to hdd
- * @request: the get DCC stats request
- *
- * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_FAILURE on failure
- */
-QDF_STATUS sme_dcc_get_stats(mac_handle_t mac_handle, void *context,
-			     ocb_callback callback,
-			     struct sir_dcc_get_stats *request)
-{
-	QDF_STATUS status = QDF_STATUS_E_FAILURE;
-	struct mac_context *mac = MAC_CONTEXT(mac_handle);
-	struct scheduler_msg msg = {0};
-	struct sir_dcc_get_stats *msg_body;
-
-	/* Lock the SME structure */
-	status = sme_acquire_global_lock(&mac->sme);
-	if (!QDF_IS_STATUS_SUCCESS(status))
-		return status;
-
-	/* Allocate memory for the WMI request, and copy the parameter */
-	msg_body = qdf_mem_malloc(sizeof(*msg_body) +
-				  request->request_array_len);
-	if (!msg_body) {
-		status = QDF_STATUS_E_NOMEM;
-		goto end;
-	}
-	*msg_body = *request;
-	msg_body->request_array = (void *)msg_body + sizeof(*msg_body);
-	qdf_mem_copy(msg_body->request_array, request->request_array,
-		     request->request_array_len);
-
-	msg.type = WMA_DCC_GET_STATS_CMD;
-	msg.bodyptr = msg_body;
-
-	/* Set the request callback and context */
-	mac->sme.dcc_get_stats_callback = callback;
-	mac->sme.dcc_get_stats_context = context;
-
-	status = scheduler_post_message(QDF_MODULE_ID_SME,
-					QDF_MODULE_ID_WMA,
-					QDF_MODULE_ID_WMA, &msg);
-	if (!QDF_IS_STATUS_SUCCESS(status)) {
-		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
-			  FL("Error posting message to WDA: %d"), status);
-		mac->sme.dcc_get_stats_callback = callback;
-		mac->sme.dcc_get_stats_context = context;
-		qdf_mem_free(msg_body);
-		goto end;
-	}
-
-end:
-	sme_release_global_lock(&mac->sme);
-
-	return status;
-}
-
-/**
- * sme_dcc_clear_stats() - Clear the DCC stats
- * @mac_handle: Opaque handle to the global MAC context
- * @vdev_id: vdev id for OCB interface
- * @dcc_stats_bitmap: the entries in the stats to clear
- *
- * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_FAILURE on failure
- */
-QDF_STATUS sme_dcc_clear_stats(mac_handle_t mac_handle, uint32_t vdev_id,
-			       uint32_t dcc_stats_bitmap)
-{
-	QDF_STATUS status = QDF_STATUS_E_FAILURE;
-	struct mac_context *mac = MAC_CONTEXT(mac_handle);
-	struct scheduler_msg msg = {0};
-	struct sir_dcc_clear_stats *request;
-
-	/* Lock the SME structure */
-	status = sme_acquire_global_lock(&mac->sme);
-	if (!QDF_IS_STATUS_SUCCESS(status))
-		return status;
-
-	request = qdf_mem_malloc(sizeof(struct sir_dcc_clear_stats));
-	if (!request) {
-		status = QDF_STATUS_E_NOMEM;
-		goto end;
-	}
-
-	request->vdev_id = vdev_id;
-	request->dcc_stats_bitmap = dcc_stats_bitmap;
-
-	msg.type = WMA_DCC_CLEAR_STATS_CMD;
-	msg.bodyptr = request;
-
-	status = scheduler_post_message(QDF_MODULE_ID_SME,
-					QDF_MODULE_ID_WMA,
-					QDF_MODULE_ID_WMA, &msg);
-	if (!QDF_IS_STATUS_SUCCESS(status)) {
-		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
-			  FL("Not able to post msg to WDA"));
-		qdf_mem_free(request);
-		goto end;
-	}
-
-end:
-	sme_release_global_lock(&mac->sme);
-
-	return status;
-}
-
-/**
- * sme_dcc_update_ndl() - Update the DCC settings
- * @mac_handle: Opaque handle to the global MAC context
- * @context: the context of the call
- * @callback: the callback to hdd
- * @request: the update DCC request
- *
- * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_FAILURE on failure
- */
-QDF_STATUS sme_dcc_update_ndl(mac_handle_t mac_handle, void *context,
-			      ocb_callback callback,
-			      struct sir_dcc_update_ndl *request)
-{
-	QDF_STATUS status = QDF_STATUS_E_FAILURE;
-	struct mac_context *mac = MAC_CONTEXT(mac_handle);
-	struct scheduler_msg msg = {0};
-	struct sir_dcc_update_ndl *msg_body;
-
-	/* Lock the SME structure */
-	status = sme_acquire_global_lock(&mac->sme);
-	if (!QDF_IS_STATUS_SUCCESS(status))
-		return status;
-
-	/* Allocate memory for the WMI request, and copy the parameter */
-	msg_body = qdf_mem_malloc(sizeof(*msg_body) +
-				  request->dcc_ndl_chan_list_len +
-				  request->dcc_ndl_active_state_list_len);
-	if (!msg_body) {
-		status = QDF_STATUS_E_NOMEM;
-		goto end;
-	}
-
-	*msg_body = *request;
-
-	msg_body->dcc_ndl_chan_list = (void *)msg_body + sizeof(*msg_body);
-	msg_body->dcc_ndl_active_state_list = msg_body->dcc_ndl_chan_list +
-		request->dcc_ndl_chan_list_len;
-	qdf_mem_copy(msg_body->dcc_ndl_chan_list, request->dcc_ndl_chan_list,
-		     request->dcc_ndl_active_state_list_len);
-	qdf_mem_copy(msg_body->dcc_ndl_active_state_list,
-		     request->dcc_ndl_active_state_list,
-		     request->dcc_ndl_active_state_list_len);
-
-	msg.type = WMA_DCC_UPDATE_NDL_CMD;
-	msg.bodyptr = msg_body;
-
-	/* Set the request callback and the context */
-	mac->sme.dcc_update_ndl_callback = callback;
-	mac->sme.dcc_update_ndl_context = context;
-
-	status = scheduler_post_message(QDF_MODULE_ID_SME,
-					QDF_MODULE_ID_WMA,
-					QDF_MODULE_ID_WMA, &msg);
-	if (!QDF_IS_STATUS_SUCCESS(status)) {
-		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
-			  FL("Error posting message to WDA: %d"), status);
-		mac->sme.dcc_update_ndl_callback = NULL;
-		mac->sme.dcc_update_ndl_context = NULL;
-		qdf_mem_free(msg_body);
-		goto end;
-	}
-
-end:
-	sme_release_global_lock(&mac->sme);
-
-	return status;
-}
-
-/**
- * sme_register_for_dcc_stats_event() - Register for the periodic DCC stats
- *                                      event
- * @mac_handle: Opaque handle to the global MAC context
- * @context: the context of the call
- * @callback: the callback to hdd
- *
- * Return: QDF_STATUS_SUCCESS on success, QDF_STATUS_E_FAILURE on failure
- */
-QDF_STATUS sme_register_for_dcc_stats_event(mac_handle_t mac_handle,
-					    void *context,
-					    ocb_callback callback)
-{
-	struct mac_context *mac = MAC_CONTEXT(mac_handle);
-	QDF_STATUS status = QDF_STATUS_E_FAILURE;
-
-	status = sme_acquire_global_lock(&mac->sme);
-	mac->sme.dcc_stats_event_callback = callback;
-	mac->sme.dcc_stats_event_context = context;
-	sme_release_global_lock(&mac->sme);
-
-	return 0;
-}
-
-/**
- * sme_deregister_for_dcc_stats_event() - De-Register for the periodic DCC stats
- *					  event
- * @mac_handle: Opaque handle to the global MAC context
- *
- * This function de-registers the DCC perioc stats callback
- *
- * Return: QDF_STATUS Enumeration
- */
-QDF_STATUS sme_deregister_for_dcc_stats_event(mac_handle_t mac_handle)
-{
-	struct mac_context *mac;
-	QDF_STATUS status;
-
-	if (!mac_handle) {
-		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
-				  FL("mac_handle is not valid"));
-		return QDF_STATUS_E_INVAL;
-	}
-	mac = MAC_CONTEXT(mac_handle);
-
-	status = sme_acquire_global_lock(&mac->sme);
-	if (!QDF_IS_STATUS_SUCCESS(status)) {
-		QDF_TRACE(QDF_MODULE_ID_SME, QDF_TRACE_LEVEL_ERROR,
-			  FL("Failed to acquire global lock"));
-		return status;
-	}
-	mac->sme.dcc_stats_event_callback = NULL;
-	mac->sme.dcc_stats_event_context = NULL;
-	sme_release_global_lock(&mac->sme);
-
-	return status;
-}
 #endif
 
 void sme_get_recovery_stats(mac_handle_t mac_handle)

+ 0 - 6
core/wma/src/wma_dev_if.c

@@ -4147,12 +4147,6 @@ void wma_vdev_resp_timer(void *data)
 	} else if (tgt_req->msg_type == WMA_ADD_BSS_REQ) {
 
 		wma_handle_add_bss_req_timeout(wma, tgt_req);
-	} else if (tgt_req->msg_type == WMA_OCB_SET_CONFIG_CMD) {
-		WMA_LOGE(FL("Failed to send OCB set config cmd"));
-		iface = &wma->interfaces[tgt_req->vdev_id];
-
-		wma_vdev_set_mlme_state_stop(wma, tgt_req->vdev_id);
-		wma_ocb_set_config_resp(wma, QDF_STATUS_E_TIMEOUT);
 	} else if (tgt_req->msg_type == WMA_HIDDEN_SSID_VDEV_RESTART) {
 		if (wma_get_hidden_ssid_restart_in_progress(
 		    &wma->interfaces[tgt_req->vdev_id]) &&

+ 0 - 40
core/wma/src/wma_main.c

@@ -8516,51 +8516,11 @@ static QDF_STATUS wma_mc_process_msg(struct scheduler_msg *msg)
 				(struct policy_mgr_hw_mode *)msg->bodyptr);
 		qdf_mem_free(msg->bodyptr);
 		break;
-	case WMA_OCB_SET_CONFIG_CMD:
-		wma_ocb_set_config_req(wma_handle,
-			(struct sir_ocb_config *)msg->bodyptr);
-		qdf_mem_free(msg->bodyptr);
-		break;
-	case WMA_OCB_SET_UTC_TIME_CMD:
-		wma_ocb_set_utc_time(wma_handle,
-			(struct sir_ocb_utc *)msg->bodyptr);
-		qdf_mem_free(msg->bodyptr);
-		break;
-	case WMA_OCB_START_TIMING_ADVERT_CMD:
-		wma_ocb_start_timing_advert(wma_handle,
-			(struct sir_ocb_timing_advert *)msg->bodyptr);
-		qdf_mem_free(msg->bodyptr);
-		break;
-	case WMA_OCB_STOP_TIMING_ADVERT_CMD:
-		wma_ocb_stop_timing_advert(wma_handle,
-			(struct sir_ocb_timing_advert *)msg->bodyptr);
-		qdf_mem_free(msg->bodyptr);
-		break;
-	case WMA_DCC_CLEAR_STATS_CMD:
-		wma_dcc_clear_stats(wma_handle,
-			(struct sir_dcc_clear_stats *)msg->bodyptr);
-		qdf_mem_free(msg->bodyptr);
-		break;
-	case WMA_OCB_GET_TSF_TIMER_CMD:
-		wma_ocb_get_tsf_timer(wma_handle,
-			(struct sir_ocb_get_tsf_timer *)msg->bodyptr);
-		qdf_mem_free(msg->bodyptr);
-		break;
 	case WMA_SET_WISA_PARAMS:
 		wma_set_wisa_params(wma_handle,
 			(struct sir_wisa_params *)msg->bodyptr);
 		qdf_mem_free(msg->bodyptr);
 		break;
-	case WMA_DCC_GET_STATS_CMD:
-		wma_dcc_get_stats(wma_handle,
-			(struct sir_dcc_get_stats *)msg->bodyptr);
-		qdf_mem_free(msg->bodyptr);
-		break;
-	case WMA_DCC_UPDATE_NDL_CMD:
-		wma_dcc_update_ndl(wma_handle,
-			(struct sir_dcc_update_ndl *)msg->bodyptr);
-		qdf_mem_free(msg->bodyptr);
-		break;
 	case SIR_HAL_PDEV_DUAL_MAC_CFG_REQ:
 		wma_send_pdev_set_dual_mac_config(wma_handle,
 				(struct policy_mgr_dual_mac_config *)msg->bodyptr);

+ 0 - 731
core/wma/src/wma_ocb.c

@@ -23,741 +23,10 @@
  */
 
 #include "wma_ocb.h"
-#include "wmi_unified_api.h"
 #include "cds_utils.h"
 #include "cds_api.h"
-#include <cdp_txrx_ocb.h>
-#include <cdp_txrx_handle.h>
 #include "wlan_ocb_ucfg_api.h"
 
-/**
- * wma_ocb_resp() - send the OCB set config response via callback
- * @wma_handle: pointer to the WMA handle
- * @status: status of the set config command
- */
-int wma_ocb_set_config_resp(tp_wma_handle wma_handle, uint8_t status)
-{
-	QDF_STATUS qdf_status;
-	struct sir_ocb_set_config_response *resp;
-	struct scheduler_msg msg = {0};
-	struct sir_ocb_config *req = wma_handle->ocb_config_req;
-	void *vdev = (req ?
-		wma_handle->interfaces[req->session_id].handle : NULL);
-	struct ol_txrx_ocb_set_chan ocb_set_chan;
-	void *soc = cds_get_context(QDF_MODULE_ID_SOC);
-
-	/*
-	 * If the command was successful, save the channel information in the
-	 * vdev.
-	 */
-	if (status == QDF_STATUS_SUCCESS && vdev && req) {
-		ocb_set_chan.ocb_channel_info = cdp_get_ocb_chan_info(soc,
-						(struct cdp_vdev *)vdev);
-		if (ocb_set_chan.ocb_channel_info)
-			qdf_mem_free(ocb_set_chan.ocb_channel_info);
-		ocb_set_chan.ocb_channel_count =
-			req->channel_count;
-		if (req->channel_count) {
-			int i;
-			int buf_size = sizeof(*ocb_set_chan.ocb_channel_info) *
-			    req->channel_count;
-			ocb_set_chan.ocb_channel_info =
-				qdf_mem_malloc(buf_size);
-			if (!ocb_set_chan.ocb_channel_info)
-				return -ENOMEM;
-			qdf_mem_zero(ocb_set_chan.ocb_channel_info, buf_size);
-			for (i = 0; i < req->channel_count; i++) {
-				ocb_set_chan.ocb_channel_info[i].chan_freq =
-					req->channels[i].chan_freq;
-				if (req->channels[i].flags &
-					OCB_CHANNEL_FLAG_DISABLE_RX_STATS_HDR)
-					ocb_set_chan.ocb_channel_info[i].
-					disable_rx_stats_hdr = 1;
-			}
-		} else {
-			ocb_set_chan.ocb_channel_info = 0;
-			ocb_set_chan.ocb_channel_count = 0;
-		}
-		cdp_set_ocb_chan_info(soc,
-			(struct cdp_vdev *)vdev,
-			ocb_set_chan);
-	}
-
-	/* Free the configuration that was saved in wma_ocb_set_config. */
-	qdf_mem_free(wma_handle->ocb_config_req);
-	wma_handle->ocb_config_req = NULL;
-
-	resp = qdf_mem_malloc(sizeof(*resp));
-	if (!resp)
-		return -ENOMEM;
-
-	resp->status = status;
-
-	msg.type = eWNI_SME_OCB_SET_CONFIG_RSP;
-	msg.bodyptr = resp;
-
-	qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
-					    QDF_MODULE_ID_SME,
-					    QDF_MODULE_ID_SME, &msg);
-	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
-		WMA_LOGE(FL("Fail to post msg to SME"));
-		qdf_mem_free(resp);
-		return -EINVAL;
-	}
-
-	return 0;
-}
-
-/**
- * copy_sir_ocb_config() - deep copy of an OCB config struct
- * @src: pointer to the source struct
- *
- * Return: pointer to the copied struct
- */
-static struct sir_ocb_config *copy_sir_ocb_config(struct sir_ocb_config *src)
-{
-	struct sir_ocb_config *dst;
-	uint32_t length;
-	void *cursor;
-
-	length = sizeof(*src) +
-		src->channel_count * sizeof(*src->channels) +
-		src->schedule_size * sizeof(*src->schedule) +
-		src->dcc_ndl_chan_list_len +
-		src->dcc_ndl_active_state_list_len;
-
-	dst = qdf_mem_malloc(length);
-	if (!dst)
-		return NULL;
-
-	*dst = *src;
-
-	cursor = dst;
-	cursor += sizeof(*dst);
-	dst->channels = cursor;
-	cursor += src->channel_count * sizeof(*dst->channels);
-	qdf_mem_copy(dst->channels, src->channels,
-		     src->channel_count * sizeof(*dst->channels));
-	dst->schedule = cursor;
-	cursor += src->schedule_size * sizeof(*dst->schedule);
-	qdf_mem_copy(dst->schedule, src->schedule,
-		     src->schedule_size * sizeof(*dst->schedule));
-	dst->dcc_ndl_chan_list = cursor;
-	cursor += src->dcc_ndl_chan_list_len;
-	qdf_mem_copy(dst->dcc_ndl_chan_list, src->dcc_ndl_chan_list,
-		     src->dcc_ndl_chan_list_len);
-	dst->dcc_ndl_active_state_list = cursor;
-	cursor += src->dcc_ndl_active_state_list_len;
-	qdf_mem_copy(dst->dcc_ndl_active_state_list,
-		     src->dcc_ndl_active_state_list,
-		     src->dcc_ndl_active_state_list_len);
-	return dst;
-}
-
-/**
- * wma_ocb_set_config_req() - send the OCB config request
- * @wma_handle: pointer to the WMA handle
- * @config_req: the configuration to be set.
- */
-int wma_ocb_set_config_req(tp_wma_handle wma_handle,
-			   struct sir_ocb_config *config_req)
-{
-	struct wma_target_req *msg;
-	struct wma_vdev_start_req req;
-	QDF_STATUS status = QDF_STATUS_SUCCESS;
-
-	/* if vdev is not yet up, send vdev start request and wait for response.
-	 * OCB set_config request should be sent on receiving
-	 * vdev start response message
-	 */
-	if (!wma_is_vdev_up(config_req->session_id)) {
-		qdf_mem_zero(&req, sizeof(req));
-		/* Enqueue OCB Set Schedule request message */
-		msg = wma_fill_vdev_req(wma_handle, config_req->session_id,
-					WMA_OCB_SET_CONFIG_CMD,
-					WMA_TARGET_REQ_TYPE_VDEV_START,
-					(void *)config_req, 1000);
-		if (!msg) {
-			WMA_LOGE(FL("Failed to fill vdev req %d"), req.vdev_id);
-			status = QDF_STATUS_E_NOMEM;
-			return status;
-		}
-		req.chan = cds_freq_to_chan(config_req->channels[0].chan_freq);
-		req.vdev_id = msg->vdev_id;
-		if (cds_chan_to_band(req.chan) == CDS_BAND_2GHZ)
-			req.dot11_mode = WNI_CFG_DOT11_MODE_11G;
-		else
-			req.dot11_mode = WNI_CFG_DOT11_MODE_11A;
-
-		if (wma_handle->ocb_config_req)
-			qdf_mem_free(wma_handle->ocb_config_req);
-		wma_handle->ocb_config_req = copy_sir_ocb_config(config_req);
-		req.preferred_rx_streams = 2;
-		req.preferred_tx_streams = 2;
-
-		status = wma_vdev_start(wma_handle, &req, false);
-		if (status != QDF_STATUS_SUCCESS) {
-			wma_remove_vdev_req(wma_handle, req.vdev_id,
-					    WMA_TARGET_REQ_TYPE_VDEV_START);
-			WMA_LOGE(FL("vdev_start failed, status = %d"), status);
-		}
-		return 0;
-	} else {
-		return wma_ocb_set_config(wma_handle, config_req);
-	}
-}
-
-int wma_ocb_start_resp_ind_cont(tp_wma_handle wma_handle)
-{
-	QDF_STATUS qdf_status = 0;
-
-	if (!wma_handle->ocb_config_req) {
-		WMA_LOGE(FL("The request could not be found"));
-		return QDF_STATUS_E_EMPTY;
-	}
-
-	qdf_status = wma_ocb_set_config(wma_handle, wma_handle->ocb_config_req);
-	return qdf_status;
-}
-
-static WLAN_PHY_MODE wma_ocb_freq_to_mode(uint32_t freq)
-{
-	if (cds_chan_to_band(cds_freq_to_chan(freq)) == CDS_BAND_2GHZ)
-		return MODE_11G;
-	else
-		return MODE_11A;
-}
-
-/**
- * wma_send_ocb_set_config() - send the OCB config to the FW
- * @wma_handle: pointer to the WMA handle
- * @config: the OCB configuration
- *
- * Return: 0 on success
- */
-int wma_ocb_set_config(tp_wma_handle wma_handle, struct sir_ocb_config *config)
-{
-	int32_t ret, i;
-	uint32_t *ch_mhz;
-	struct ocb_config tconfig = {0};
-
-	tconfig.vdev_id = config->session_id;
-	tconfig.channel_count = config->channel_count;
-	tconfig.schedule_size = config->schedule_size;
-	tconfig.flags = config->flags;
-	tconfig.channels = (struct ocb_config_chan *)config->channels;
-	tconfig.schedule = (struct ocb_config_schdl *)config->schedule;
-	tconfig.dcc_ndl_chan_list_len = config->dcc_ndl_chan_list_len;
-	tconfig.dcc_ndl_chan_list = config->dcc_ndl_chan_list;
-	tconfig.dcc_ndl_active_state_list_len =
-				config->dcc_ndl_active_state_list_len;
-	tconfig.dcc_ndl_active_state_list = config->dcc_ndl_active_state_list;
-	ch_mhz = qdf_mem_malloc(sizeof(uint32_t)*config->channel_count);
-	if (!ch_mhz)
-		return -ENOMEM;
-
-	for (i = 0; i < config->channel_count; i++)
-		ch_mhz[i] = wma_ocb_freq_to_mode(config->channels[i].chan_freq);
-
-	/*
-	 * Save the configuration so that it can be used in
-	 * wma_ocb_set_config_event_handler.
-	 */
-	if (wma_handle->ocb_config_req != config) {
-		if (wma_handle->ocb_config_req)
-			qdf_mem_free(wma_handle->ocb_config_req);
-		wma_handle->ocb_config_req = copy_sir_ocb_config(config);
-	}
-
-	ret = wmi_unified_ocb_set_config(wma_handle->wmi_handle, &tconfig);
-	if (ret != EOK) {
-		if (wma_handle->ocb_config_req) {
-			qdf_mem_free(wma_handle->ocb_config_req);
-			wma_handle->ocb_config_req = NULL;
-		}
-		qdf_mem_free(ch_mhz);
-		WMA_LOGE("Failed to set OCB config");
-		return -EIO;
-	}
-	qdf_mem_free(ch_mhz);
-
-	return 0;
-}
-
-/**
- * wma_ocb_set_config_event_handler() - Response event for the set config cmd
- * @handle: the WMA handle
- * @event_buf: buffer with the event parameters
- * @len: length of the buffer
- *
- * Return: 0 on success
- */
-int wma_ocb_set_config_event_handler(void *handle, uint8_t *event_buf,
-				     uint32_t len)
-{
-	WMI_OCB_SET_CONFIG_RESP_EVENTID_param_tlvs *param_tlvs;
-	wmi_ocb_set_config_resp_event_fixed_param *fix_param;
-
-	param_tlvs = (WMI_OCB_SET_CONFIG_RESP_EVENTID_param_tlvs *)event_buf;
-	fix_param = param_tlvs->fixed_param;
-	return wma_ocb_set_config_resp(handle, fix_param->status);
-};
-
-/**
- * wma_ocb_set_utc_time() - send the UTC time to the firmware
- * @wma_handle: pointer to the WMA handle
- * @utc: pointer to the UTC time struct
- *
- * Return: 0 on succes
- */
-int wma_ocb_set_utc_time(tp_wma_handle wma_handle, struct sir_ocb_utc *utc)
-{
-	int32_t ret;
-	struct ocb_utc_param cmd = {0};
-
-	cmd.vdev_id = utc->vdev_id;
-	qdf_mem_copy(&cmd.utc_time, &utc->utc_time, WMI_SIZE_UTC_TIME);
-	qdf_mem_copy(&cmd.time_error, &utc->time_error,
-				 WMI_SIZE_UTC_TIME_ERROR);
-	ret = wmi_unified_ocb_set_utc_time_cmd(wma_handle->wmi_handle, &cmd);
-	if (ret != EOK) {
-		WMA_LOGE(FL("Failed to set OCB UTC time"));
-		return -EIO;
-	}
-
-	return 0;
-}
-
-/**
- * wma_ocb_start_timing_advert() - start sending the timing advertisement
- *				   frames on a channel
- * @wma_handle: pointer to the WMA handle
- * @timing_advert: pointer to the timing advertisement struct
- *
- * Return: 0 on succes
- */
-int wma_ocb_start_timing_advert(tp_wma_handle wma_handle,
-	struct sir_ocb_timing_advert *timing_advert)
-{
-	int32_t ret;
-	struct ocb_timing_advert_param cmd = {0};
-
-	cmd.vdev_id = timing_advert->vdev_id;
-	cmd.repeat_rate = timing_advert->repeat_rate;
-	cmd.chan_freq = timing_advert->chan_freq;
-	cmd.timestamp_offset = timing_advert->timestamp_offset;
-	cmd.time_value_offset = timing_advert->time_value_offset;
-	cmd.template_length = timing_advert->template_length;
-	cmd.template_value = (uint8_t *)timing_advert->template_value;
-
-	ret = wmi_unified_ocb_start_timing_advert(wma_handle->wmi_handle,
-				   &cmd);
-	if (ret != EOK) {
-		WMA_LOGE(FL("Failed to start OCB timing advert"));
-		return -EIO;
-	}
-
-	return 0;
-}
-
-/**
- * wma_ocb_stop_timing_advert() - stop sending the timing advertisement frames
- *				  on a channel
- * @wma_handle: pointer to the WMA handle
- * @timing_advert: pointer to the timing advertisement struct
- *
- * Return: 0 on succes
- */
-int wma_ocb_stop_timing_advert(tp_wma_handle wma_handle,
-	struct sir_ocb_timing_advert *timing_advert)
-{
-	int32_t ret;
-	struct ocb_timing_advert_param cmd = {0};
-
-	cmd.vdev_id = timing_advert->vdev_id;
-	cmd.chan_freq = timing_advert->chan_freq;
-	ret = wmi_unified_ocb_stop_timing_advert(wma_handle->wmi_handle,
-				   &cmd);
-	if (ret != EOK) {
-		WMA_LOGE(FL("Failed to stop OCB timing advert"));
-		return -EIO;
-	}
-
-	return 0;
-}
-
-/**
- * wma_ocb_get_tsf_timer() - stop sending the timing advertisement frames on a
- *			     channel
- * @wma_handle: pointer to the WMA handle
- * @request: pointer to the request
- *
- * Return: 0 on succes
- */
-int wma_ocb_get_tsf_timer(tp_wma_handle wma_handle,
-			  struct sir_ocb_get_tsf_timer *request)
-{
-	QDF_STATUS ret;
-
-	/* Send the WMI command */
-	ret = wmi_unified_ocb_get_tsf_timer(wma_handle->wmi_handle,
-			(struct ocb_get_tsf_timer_param *)request);
-	/* If there is an error, set the completion event */
-	if (ret != EOK) {
-		WMA_LOGE(FL("Failed to send WMI message: %d"), ret);
-		return -EIO;
-	}
-	return 0;
-}
-
-/**
- * wma_ocb_get_tsf_timer_resp_event_handler() - Event for the get TSF timer cmd
- * @handle: the WMA handle
- * @event_buf: buffer with the event parameters
- * @len: length of the buffer
- *
- * Return: 0 on success
- */
-static int wma_ocb_get_tsf_timer_resp_event_handler(void *handle,
-						    uint8_t *event_buf,
-						    uint32_t len)
-{
-	QDF_STATUS qdf_status;
-	struct sir_ocb_get_tsf_timer_response *response;
-	WMI_OCB_GET_TSF_TIMER_RESP_EVENTID_param_tlvs *param_tlvs;
-	wmi_ocb_get_tsf_timer_resp_event_fixed_param *fix_param;
-	struct scheduler_msg msg = {0};
-
-	param_tlvs = (WMI_OCB_GET_TSF_TIMER_RESP_EVENTID_param_tlvs *)event_buf;
-	fix_param = param_tlvs->fixed_param;
-
-	/* Allocate and populate the response */
-	response = qdf_mem_malloc(sizeof(*response));
-	if (!response)
-		return -ENOMEM;
-
-	response->vdev_id = fix_param->vdev_id;
-	response->timer_high = fix_param->tsf_timer_high;
-	response->timer_low = fix_param->tsf_timer_low;
-
-	msg.type = eWNI_SME_OCB_GET_TSF_TIMER_RSP;
-	msg.bodyptr = response;
-
-	qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
-					    QDF_MODULE_ID_SME,
-					    QDF_MODULE_ID_SME, &msg);
-	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
-		WMA_LOGE(FL("Failed to post msg to SME"));
-		qdf_mem_free(response);
-		return -EINVAL;
-	}
-
-	return 0;
-}
-
-/**
- * wma_dcc_get_stats() - get the DCC channel stats
- * @wma_handle: pointer to the WMA handle
- * @get_stats_param: pointer to the dcc stats
- *
- * Return: 0 on succes
- */
-int wma_dcc_get_stats(tp_wma_handle wma_handle,
-		      struct sir_dcc_get_stats *get_stats_param)
-{
-	int32_t ret;
-	struct ocb_dcc_get_stats_param cmd = {0};
-
-	cmd.vdev_id = get_stats_param->vdev_id;
-	cmd.channel_count = get_stats_param->channel_count;
-	cmd.request_array_len = get_stats_param->request_array_len;
-	cmd.request_array = get_stats_param->request_array;
-
-	/* Send the WMI command */
-	ret = wmi_unified_dcc_get_stats_cmd(wma_handle->wmi_handle, &cmd);
-
-	if (ret != EOK) {
-		WMA_LOGE(FL("Failed to send WMI message: %d"), ret);
-		return -EIO;
-	}
-
-	return 0;
-}
-
-/**
- * wma_dcc_get_stats_resp_event_handler() - Response event for the get stats cmd
- * @handle: the WMA handle
- * @event_buf: buffer with the event parameters
- * @len: length of the buffer
- *
- * Return: 0 on success
- */
-static int wma_dcc_get_stats_resp_event_handler(void *handle,
-						uint8_t *event_buf,
-						uint32_t len)
-{
-	QDF_STATUS qdf_status;
-	struct sir_dcc_get_stats_response *response;
-	WMI_DCC_GET_STATS_RESP_EVENTID_param_tlvs *param_tlvs;
-	wmi_dcc_get_stats_resp_event_fixed_param *fix_param;
-	struct scheduler_msg msg = {0};
-
-	param_tlvs = (WMI_DCC_GET_STATS_RESP_EVENTID_param_tlvs *)event_buf;
-	fix_param = param_tlvs->fixed_param;
-
-	/* Allocate and populate the response */
-	if (fix_param->num_channels > ((WMI_SVC_MSG_MAX_SIZE -
-	    sizeof(*fix_param)) / sizeof(wmi_dcc_ndl_stats_per_channel)) ||
-	    fix_param->num_channels > param_tlvs->num_stats_per_channel_list) {
-		WMA_LOGE("%s: too many channels:%d, param_tlvs->num_stats_per_channel_list:%d",
-			__func__, fix_param->num_channels,
-			param_tlvs->num_stats_per_channel_list);
-		return -EINVAL;
-	}
-	response = qdf_mem_malloc(sizeof(*response) + fix_param->num_channels *
-		sizeof(wmi_dcc_ndl_stats_per_channel));
-	if (!response)
-		return -ENOMEM;
-
-	response->vdev_id = fix_param->vdev_id;
-	response->num_channels = fix_param->num_channels;
-	response->channel_stats_array_len =
-		fix_param->num_channels * sizeof(wmi_dcc_ndl_stats_per_channel);
-	response->channel_stats_array = ((void *)response) + sizeof(*response);
-	qdf_mem_copy(response->channel_stats_array,
-		     param_tlvs->stats_per_channel_list,
-		     response->channel_stats_array_len);
-
-	msg.type = eWNI_SME_DCC_GET_STATS_RSP;
-	msg.bodyptr = response;
-
-	qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
-					    QDF_MODULE_ID_SME,
-					    QDF_MODULE_ID_SME, &msg);
-	if (!QDF_IS_STATUS_SUCCESS(qdf_status)) {
-		WMA_LOGE(FL("Failed to post msg to SME"));
-		qdf_mem_free(response);
-		return -EINVAL;
-	}
-
-	return 0;
-}
-
-/**
- * wma_dcc_clear_stats() - command to clear the DCC stats
- * @wma_handle: pointer to the WMA handle
- * @clear_stats_param: parameters to the command
- *
- * Return: 0 on succes
- */
-int wma_dcc_clear_stats(tp_wma_handle wma_handle,
-			struct sir_dcc_clear_stats *clear_stats_param)
-{
-	int32_t ret;
-
-	/* Send the WMI command */
-	ret = wmi_unified_dcc_clear_stats(wma_handle->wmi_handle,
-		(struct ocb_dcc_clear_stats_param *)clear_stats_param);
-	if (ret != EOK) {
-		WMA_LOGE(FL("Failed to send the WMI command"));
-		return -EIO;
-	}
-
-	return 0;
-}
-
-/**
- * wma_dcc_update_ndl() - command to update the NDL data
- * @wma_handle: pointer to the WMA handle
- * @update_ndl_param: pointer to the request parameters
- *
- * Return: 0 on success
- */
-int wma_dcc_update_ndl(tp_wma_handle wma_handle,
-		       struct sir_dcc_update_ndl *update_ndl_param)
-{
-	QDF_STATUS qdf_status;
-	struct ocb_dcc_update_ndl_param *cmd;
-
-	cmd = (struct ocb_dcc_update_ndl_param *) update_ndl_param;
-	/* Send the WMI command */
-	qdf_status = wmi_unified_dcc_update_ndl(wma_handle->wmi_handle,
-				   cmd);
-	/* If there is an error, set the completion event */
-	if (qdf_status) {
-		WMA_LOGE(FL("Failed to send WMI message: %d"), qdf_status);
-		return -EIO;
-	}
-
-	return 0;
-}
-
-/**
- * wma_dcc_update_ndl_resp_event_handler() - Response event for the update NDL
- * command
- * @handle: the WMA handle
- * @event_buf: buffer with the event parameters
- * @len: length of the buffer
- *
- * Return: 0 on success
- */
-static int wma_dcc_update_ndl_resp_event_handler(void *handle,
-						 uint8_t *event_buf,
-						 uint32_t len)
-{
-	QDF_STATUS qdf_status;
-	struct sir_dcc_update_ndl_response *resp;
-	WMI_DCC_UPDATE_NDL_RESP_EVENTID_param_tlvs *param_tlvs;
-	wmi_dcc_update_ndl_resp_event_fixed_param *fix_param;
-	struct scheduler_msg msg = {0};
-
-	param_tlvs = (WMI_DCC_UPDATE_NDL_RESP_EVENTID_param_tlvs *)event_buf;
-	fix_param = param_tlvs->fixed_param;
-	/* Allocate and populate the response */
-	resp = qdf_mem_malloc(sizeof(*resp));
-	if (!resp)
-		return -ENOMEM;
-
-	resp->vdev_id = fix_param->vdev_id;
-	resp->status = fix_param->status;
-
-	msg.type = eWNI_SME_DCC_UPDATE_NDL_RSP;
-	msg.bodyptr = resp;
-
-	qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
-					    QDF_MODULE_ID_SME,
-					    QDF_MODULE_ID_SME, &msg);
-	if (!QDF_IS_STATUS_SUCCESS(qdf_status))	{
-		WMA_LOGE(FL("Failed to post msg to SME"));
-		qdf_mem_free(resp);
-		return -EINVAL;
-	}
-
-	return 0;
-}
-
-/**
- * wma_dcc_stats_event_handler() - Response event for the get stats cmd
- * @handle: the WMA handle
- * @event_buf: buffer with the event parameters
- * @len: length of the buffer
- *
- * Return: 0 on success
- */
-static int wma_dcc_stats_event_handler(void *handle, uint8_t *event_buf,
-				       uint32_t len)
-{
-	QDF_STATUS qdf_status;
-	struct sir_dcc_get_stats_response *response;
-	WMI_DCC_STATS_EVENTID_param_tlvs *param_tlvs;
-	wmi_dcc_stats_event_fixed_param *fix_param;
-	struct scheduler_msg msg = {0};
-
-	param_tlvs = (WMI_DCC_STATS_EVENTID_param_tlvs *)event_buf;
-	fix_param = param_tlvs->fixed_param;
-	/* Allocate and populate the response */
-	if (fix_param->num_channels > ((WMI_SVC_MSG_MAX_SIZE -
-	    sizeof(*fix_param)) / sizeof(wmi_dcc_ndl_stats_per_channel))) {
-		WMA_LOGE("%s: too many channels:%d", __func__,
-			fix_param->num_channels);
-		QDF_ASSERT(0);
-		return -EINVAL;
-	}
-	response = qdf_mem_malloc(sizeof(*response) +
-	    fix_param->num_channels * sizeof(wmi_dcc_ndl_stats_per_channel));
-	if (!response)
-		return -ENOMEM;
-
-	response->vdev_id = fix_param->vdev_id;
-	response->num_channels = fix_param->num_channels;
-	response->channel_stats_array_len =
-		fix_param->num_channels * sizeof(wmi_dcc_ndl_stats_per_channel);
-
-	if (fix_param->num_channels > param_tlvs->num_stats_per_channel_list) {
-		WMA_LOGE("FW message num_chan %d more than TLV hdr %d",
-			 fix_param->num_channels,
-			 param_tlvs->num_stats_per_channel_list);
-		return -EINVAL;
-	}
-
-	response->channel_stats_array = ((void *)response) + sizeof(*response);
-	qdf_mem_copy(response->channel_stats_array,
-		     param_tlvs->stats_per_channel_list,
-		     response->channel_stats_array_len);
-
-	msg.type = eWNI_SME_DCC_STATS_EVENT;
-	msg.bodyptr = response;
-
-	qdf_status = scheduler_post_message(QDF_MODULE_ID_WMA,
-					    QDF_MODULE_ID_SME,
-					    QDF_MODULE_ID_SME, &msg);
-	if (!QDF_IS_STATUS_SUCCESS(qdf_status))	{
-		WMA_LOGE(FL("Failed to post msg to SME"));
-		qdf_mem_free(response);
-		return -EINVAL;
-	}
-
-	return 0;
-}
-
-/**
- * wma_ocb_register_event_handlers() - register handlers for the OCB WMI
- * events
- * @wma_handle: pointer to the WMA handle
- *
- * Return: 0 on success, non-zero on failure
- */
-int wma_ocb_register_event_handlers(tp_wma_handle wma_handle)
-{
-	int status;
-
-	if (!wma_handle) {
-		WMA_LOGE(FL("wma_handle is NULL"));
-		return -EINVAL;
-	}
-
-	/* Initialize the members in WMA used by wma_ocb */
-	status = wmi_unified_register_event_handler(wma_handle->wmi_handle,
-			wmi_ocb_set_config_resp_event_id,
-			wma_ocb_set_config_event_handler,
-			WMA_RX_SERIALIZER_CTX);
-	if (status)
-		return status;
-
-	status = wmi_unified_register_event_handler(
-			wma_handle->wmi_handle,
-			wmi_ocb_get_tsf_timer_resp_event_id,
-			wma_ocb_get_tsf_timer_resp_event_handler,
-			WMA_RX_SERIALIZER_CTX);
-	if (status)
-		return status;
-
-	status = wmi_unified_register_event_handler(
-			wma_handle->wmi_handle,
-			wmi_dcc_get_stats_resp_event_id,
-			wma_dcc_get_stats_resp_event_handler,
-			WMA_RX_SERIALIZER_CTX);
-	if (status)
-		return status;
-
-	status = wmi_unified_register_event_handler(
-			wma_handle->wmi_handle,
-			wmi_dcc_update_ndl_resp_event_id,
-			wma_dcc_update_ndl_resp_event_handler,
-			WMA_RX_SERIALIZER_CTX);
-	if (status)
-		return status;
-
-	status = wmi_unified_register_event_handler(wma_handle->wmi_handle,
-			wmi_dcc_stats_event_id,
-			wma_dcc_stats_event_handler,
-			WMA_RX_SERIALIZER_CTX);
-	if (status)
-		return status;
-
-	return QDF_STATUS_SUCCESS;
-}
-
 /**
  * wma_start_ocb_vdev() - start OCB vdev
  * @config: ocb channel config

+ 0 - 111
core/wma/src/wma_ocb.h

@@ -20,43 +20,8 @@
 #define __WMA_OCB_H
 
 #include "wma.h"
-#include "sir_api.h"
 
 #ifdef WLAN_FEATURE_DSRC
-int wma_ocb_set_config_resp(tp_wma_handle wma_handle, uint8_t status);
-
-int wma_ocb_set_config_req(tp_wma_handle handle,
-			   struct sir_ocb_config *config_req);
-
-int wma_ocb_set_config_event_handler(void *handle, uint8_t *event_buf,
-				     uint32_t len);
-
-int wma_ocb_start_resp_ind_cont(tp_wma_handle wma_handle);
-
-int wma_ocb_set_config(tp_wma_handle wma_handle, struct sir_ocb_config *config);
-
-int wma_ocb_set_utc_time(tp_wma_handle wma_handle, struct sir_ocb_utc *utc);
-
-int wma_ocb_start_timing_advert(tp_wma_handle wma_handle,
-				struct sir_ocb_timing_advert *timing_advert);
-
-int wma_ocb_stop_timing_advert(tp_wma_handle wma_handle,
-			       struct sir_ocb_timing_advert *timing_advert);
-
-int wma_ocb_get_tsf_timer(tp_wma_handle wma_handle,
-			  struct sir_ocb_get_tsf_timer *request);
-
-int wma_dcc_get_stats(tp_wma_handle wma_handle,
-		      struct sir_dcc_get_stats *get_stats_param);
-
-int wma_dcc_clear_stats(tp_wma_handle wma_handle,
-			struct sir_dcc_clear_stats *clear_stats_param);
-
-int wma_dcc_update_ndl(tp_wma_handle wma_handle,
-		       struct sir_dcc_update_ndl *update_ndl_param);
-
-int wma_ocb_register_event_handlers(tp_wma_handle wma_handle);
-
 /**
  * wma_ocb_register_callbacks() - register WMA layer callback for OCB
  * @wma_handle: wma handle
@@ -65,82 +30,6 @@ int wma_ocb_register_event_handlers(tp_wma_handle wma_handle);
  */
 QDF_STATUS wma_ocb_register_callbacks(tp_wma_handle wma_handle);
 #else
-static inline int wma_ocb_set_config_resp(tp_wma_handle wma_handle,
-		uint8_t status)
-{
-	return 0;
-}
-
-static inline int wma_ocb_set_config_req(tp_wma_handle handle,
-		struct sir_ocb_config *config_req)
-{
-	return 0;
-}
-
-static inline int wma_ocb_set_config_event_handler(void *handle,
-		uint8_t *event_buf, uint32_t len)
-{
-	return 0;
-}
-
-static inline int wma_ocb_start_resp_ind_cont(tp_wma_handle wma_handle)
-{
-	return 0;
-}
-
-static inline int wma_ocb_set_config(tp_wma_handle wma_handle,
-		struct sir_ocb_config *config)
-{
-	return 0;
-}
-
-static inline int wma_ocb_set_utc_time(tp_wma_handle wma_handle,
-		struct sir_ocb_utc *utc)
-{
-	return 0;
-}
-
-static inline int wma_ocb_start_timing_advert(tp_wma_handle wma_handle,
-		struct sir_ocb_timing_advert *timing_advert)
-{
-	return 0;
-}
-
-static inline int wma_ocb_stop_timing_advert(tp_wma_handle wma_handle,
-		struct sir_ocb_timing_advert *timing_advert)
-{
-	return 0;
-}
-
-static inline int wma_ocb_get_tsf_timer(tp_wma_handle wma_handle,
-		struct sir_ocb_get_tsf_timer *request)
-{
-	return 0;
-}
-
-static inline int wma_dcc_get_stats(tp_wma_handle wma_handle,
-		struct sir_dcc_get_stats *get_stats_param)
-{
-	return 0;
-}
-
-static inline int wma_dcc_clear_stats(tp_wma_handle wma_handle,
-		struct sir_dcc_clear_stats *clear_stats_param)
-{
-	return 0;
-}
-
-static inline int wma_dcc_update_ndl(tp_wma_handle wma_handle,
-		struct sir_dcc_update_ndl *update_ndl_param)
-{
-	return 0;
-}
-
-static inline int wma_ocb_register_event_handlers(tp_wma_handle wma_handle)
-{
-	return 0;
-}
-
 /**
  * wma_ocb_register_callbacks() - register WMA layer callback for OCB
  * @wma_handle: wma handle