qcacmn: Fix the coding convention issues in Spectral dispatcher

Current Spectral dispatcher code is not following coding convention
rules in some places.

Change-Id: I0370ca91c8b5ac3a31ae07d6be7d18a3290790f8
CRs-Fixed: 2151554
This commit is contained in:
Shiva Krishna Pittala
2018-01-25 19:11:04 +05:30
committed by snandini
parent f57c0b6262
commit 6273adc01a
7 changed files with 130 additions and 104 deletions

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2011, 2017 The Linux Foundation. All rights reserved. * Copyright (c) 2011, 2017-2018 The Linux Foundation. All rights reserved.
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the * any purpose with or without fee is hereby granted, provided that the
@@ -81,15 +81,15 @@ struct spectral_ioctl_params {
int16_t spectral_fft_period; int16_t spectral_fft_period;
int16_t pectral_period; int16_t pectral_period;
int16_t spectral_count; int16_t spectral_count;
u_int16_t spectral_short_report; uint16_t spectral_short_report;
u_int16_t spectral_pri; uint16_t spectral_pri;
}; };
struct ath_spectral_caps { struct ath_spectral_caps {
u_int8_t phydiag_cap; uint8_t phydiag_cap;
u_int8_t radar_cap; uint8_t radar_cap;
u_int8_t spectral_cap; uint8_t spectral_cap;
u_int8_t advncd_spectral_cap; uint8_t advncd_spectral_cap;
}; };
#define SPECTRAL_IOCTL_PARAM_NOVAL (65535) #define SPECTRAL_IOCTL_PARAM_NOVAL (65535)

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2017 The Linux Foundation. All rights reserved. * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
* *
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
@@ -24,23 +24,27 @@
#include <qdf_types.h> #include <qdf_types.h>
/** /**
* tgt_send_phydata() - Send Spectral PHY data over netlink * tgt_send_phydata() - Send Spectral PHY data
* @pdev: Pointer to pdev * @pdev: Pointer to pdev
* @sock: Netlink socket to use * @sock: Netlink socket to use
* @nbuf: Network buffer containing PHY data to send * @nbuf: Network buffer containing PHY data to send
* *
* Send spectral PHY data over netlink
*
* Return: 0 on success, negative value on failure * Return: 0 on success, negative value on failure
*/ */
int tgt_send_phydata(struct wlan_objmgr_pdev *pdev, int tgt_send_phydata(struct wlan_objmgr_pdev *pdev,
struct sock *sock, qdf_nbuf_t nbuf); struct sock *sock, qdf_nbuf_t nbuf);
/** /**
* tgt_get_target_handle() - Get handle to target_if internal Spectral data * tgt_get_target_handle() - Get target_if handle
* @pdev: Pointer to pdev * @pdev: Pointer to pdev
* *
* Get handle to target_if internal Spectral data
*
* Return: Handle to target_if internal Spectral data on success, NULL on * Return: Handle to target_if internal Spectral data on success, NULL on
* failure * failure
*/ */
void *tgt_get_target_handle(struct wlan_objmgr_pdev *pdev); void *tgt_get_target_handle(struct wlan_objmgr_pdev *pdev);
#endif /* _WLAN_SPECTRAL_TGT_API_H_*/ #endif /* _WLAN_SPECTRAL_TGT_API_H_ */

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2017 The Linux Foundation. All rights reserved. * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
* *
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
@@ -26,7 +26,7 @@
/* Spectral specific UCFG set operations */ /* Spectral specific UCFG set operations */
/** /**
* ucfg_spectral_control() - Carry out Spectral control get/set operations * ucfg_spectral_control() - Carry out Spectral control operations
* @pdev: Pointer to pdev * @pdev: Pointer to pdev
* @id: Spectral operation ID * @id: Spectral operation ID
* @indata: Pointer to input data * @indata: Pointer to input data
@@ -34,13 +34,13 @@
* @outdata: Pointer to buffer where the output should be stored * @outdata: Pointer to buffer where the output should be stored
* @outsize: Size of outdata buffer * @outsize: Size of outdata buffer
* *
* Carry out Spectral specific UCFG control get/set operations
*
* Return: 0 on success, negative value on failure * Return: 0 on success, negative value on failure
*/ */
int ucfg_spectral_control( int ucfg_spectral_control(struct wlan_objmgr_pdev *pdev,
struct wlan_objmgr_pdev *pdev,
u_int id, u_int id,
void *indata, void *indata,
u_int32_t insize, uint32_t insize, void *outdata, uint32_t *outsize);
void *outdata, u_int32_t *outsize);
#endif /* _WLAN_SPECTRAL_UCFG_API_H_*/ #endif /* _WLAN_SPECTRAL_UCFG_API_H_ */

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2017 The Linux Foundation. All rights reserved. * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
* *
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
@@ -24,7 +24,7 @@
#include <wlan_lmac_if_def.h> #include <wlan_lmac_if_def.h>
/** /**
* wlan_spectral_init(): API to init spectral component * wlan_spectral_init() - API to init spectral component
* *
* This API is invoked from dispatcher init during all component init. * This API is invoked from dispatcher init during all component init.
* This API will register all required handlers for pdev and peer object * This API will register all required handlers for pdev and peer object
@@ -36,7 +36,7 @@
QDF_STATUS wlan_spectral_init(void); QDF_STATUS wlan_spectral_init(void);
/** /**
* wlan_spectral_deinit(): API to deinit spectral component * wlan_spectral_deinit() - API to deinit spectral component
* *
* This API is invoked from dispatcher deinit during all component deinit. * This API is invoked from dispatcher deinit during all component deinit.
* This API will unregister all registered handlers for pdev and peer object * This API will unregister all registered handlers for pdev and peer object
@@ -48,24 +48,29 @@ QDF_STATUS wlan_spectral_init(void);
QDF_STATUS wlan_spectral_deinit(void); QDF_STATUS wlan_spectral_deinit(void);
/** /**
* wlan_lmac_if_sptrl_register_rx_ops(): Register lmac interface Rx operations * wlan_lmac_if_sptrl_register_rx_ops() - Register lmac interface Rx operations
* @rx_ops: Pointer to lmac interface Rx operations structure * @rx_ops: Pointer to lmac interface Rx operations structure
* *
* API to register spectral related lmac interface Rx operations
*
* Return: None * Return: None
*/ */
void wlan_lmac_if_sptrl_register_rx_ops(struct wlan_lmac_if_rx_ops *rx_ops); void
wlan_lmac_if_sptrl_register_rx_ops(struct wlan_lmac_if_rx_ops *rx_ops);
/** /**
* wlan_register_wmi_spectral_cmd_ops(): Register operations related to wmi * wlan_register_wmi_spectral_cmd_ops() - Register operations related to wmi
commands on spectral parameters * commands on spectral parameters
* @pdev - the physical device object * @pdev - the physical device object
* @cmd_ops - pointer to the structure holding the operations * @cmd_ops - pointer to the structure holding the operations
* related to wmi commands on spectral parameters * related to wmi commands on spectral parameters
* *
* API to register operations related to wmi commands on spectral parameters
*
* Return: None * Return: None
*/ */
void wlan_register_wmi_spectral_cmd_ops( void
struct wlan_objmgr_pdev *pdev, wlan_register_wmi_spectral_cmd_ops(struct wlan_objmgr_pdev *pdev,
struct wmi_spectral_cmd_ops *cmd_ops); struct wmi_spectral_cmd_ops *cmd_ops);
/** /**
@@ -81,17 +86,6 @@ struct spectral_legacy_cbacks {
uint16_t *sec20chan_freq); uint16_t *sec20chan_freq);
}; };
/**
* spectral_register_legacy_cb - Register legacy callbacks
* @psoc: psoc object
* @legacy_cbacks: legacy callback structure
*
* Return: SUCCESS,
* Failure
*/
QDF_STATUS spectral_register_legacy_cb(struct wlan_objmgr_psoc *psoc,
struct spectral_legacy_cbacks *legacy_cbacks);
/** /**
* spectral_vdev_get_chan_freq - Get vdev channel frequency * spectral_vdev_get_chan_freq - Get vdev channel frequency
* @vdev: vdev object * @vdev: vdev object
@@ -100,14 +94,6 @@ QDF_STATUS spectral_register_legacy_cb(struct wlan_objmgr_psoc *psoc,
*/ */
int16_t spectral_vdev_get_chan_freq(struct wlan_objmgr_vdev *vdev); int16_t spectral_vdev_get_chan_freq(struct wlan_objmgr_vdev *vdev);
/**
* spectral_vdev_get_ch_width - Get vdev channel band width
* @vdev: vdev object
*
* Return: phy channel width
*/
enum phy_ch_width spectral_vdev_get_ch_width(struct wlan_objmgr_vdev *vdev);
/** /**
* spectral_vdev_get_sec20chan_freq_mhz - Get vdev secondary channel frequncy * spectral_vdev_get_sec20chan_freq_mhz - Get vdev secondary channel frequncy
* @vdev: vdev object * @vdev: vdev object
@@ -118,4 +104,31 @@ enum phy_ch_width spectral_vdev_get_ch_width(struct wlan_objmgr_vdev *vdev);
int spectral_vdev_get_sec20chan_freq_mhz(struct wlan_objmgr_vdev *vdev, int spectral_vdev_get_sec20chan_freq_mhz(struct wlan_objmgr_vdev *vdev,
uint16_t *sec20chan_freq); uint16_t *sec20chan_freq);
/**
* spectral_register_legacy_cb() - Register spectral legacy callbacks
* commands on spectral parameters
* @psoc - the physical device object
* @legacy_cbacks - Reference to struct spectral_legacy_cbacks from which
* function pointers need to be copied
*
* API to register spectral related legacy callbacks
*
* Return: QDF_STATUS_SUCCESS upon successful registration,
* QDF_STATUS_E_FAILURE upon failure
*/
QDF_STATUS spectral_register_legacy_cb(
struct wlan_objmgr_psoc *psoc,
struct spectral_legacy_cbacks *legacy_cbacks);
/**
* spectral_vdev_get_ch_width() - Get the channel bandwidth
* @vdev - Pointer to vdev
*
* API to get the channel bandwidth of a given vdev
*
* Return: Enumeration corresponding to the channel bandwidth
*/
enum phy_ch_width
spectral_vdev_get_ch_width(struct wlan_objmgr_vdev *vdev);
#endif /* _WLAN_SPECTRAL_UTILS_API_H_*/ #endif /* _WLAN_SPECTRAL_UTILS_API_H_*/

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2011,2017 The Linux Foundation. All rights reserved. * Copyright (c) 2011,2017-2018 The Linux Foundation. All rights reserved.
* *
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
@@ -20,13 +20,15 @@
#include <wlan_spectral_tgt_api.h> #include <wlan_spectral_tgt_api.h>
#include "../../core/spectral_cmn_api_i.h" #include "../../core/spectral_cmn_api_i.h"
int tgt_send_phydata(struct wlan_objmgr_pdev *pdev, int
tgt_send_phydata(struct wlan_objmgr_pdev *pdev,
struct sock *sock, qdf_nbuf_t nbuf) struct sock *sock, qdf_nbuf_t nbuf)
{ {
return netlink_broadcast(sock, nbuf, 0, 1, GFP_ATOMIC); return netlink_broadcast(sock, nbuf, 0, 1, GFP_ATOMIC);
} }
void *tgt_get_target_handle(struct wlan_objmgr_pdev *pdev) void *
tgt_get_target_handle(struct wlan_objmgr_pdev *pdev)
{ {
struct pdev_spectral *ps; struct pdev_spectral *ps;
@@ -34,8 +36,7 @@ void *tgt_get_target_handle(struct wlan_objmgr_pdev *pdev)
spectral_err("PDEV is NULL!\n"); spectral_err("PDEV is NULL!\n");
return NULL; return NULL;
} }
ps = wlan_objmgr_pdev_get_comp_private_obj( ps = wlan_objmgr_pdev_get_comp_private_obj(pdev,
pdev,
WLAN_UMAC_COMP_SPECTRAL); WLAN_UMAC_COMP_SPECTRAL);
if (!ps) { if (!ps) {
spectral_err("PDEV SPECTRAL object is NULL!\n"); spectral_err("PDEV SPECTRAL object is NULL!\n");

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2017 The Linux Foundation. All rights reserved. * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
* *
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
@@ -21,12 +21,11 @@
#include "../../core/spectral_cmn_api_i.h" #include "../../core/spectral_cmn_api_i.h"
#include <wlan_spectral_utils_api.h> #include <wlan_spectral_utils_api.h>
int ucfg_spectral_control( int
struct wlan_objmgr_pdev *pdev, ucfg_spectral_control(struct wlan_objmgr_pdev *pdev,
u_int id, u_int id,
void *indata, void *indata,
u_int32_t insize, uint32_t insize, void *outdata, uint32_t *outsize)
void *outdata, u_int32_t *outsize)
{ {
struct spectral_context *sc; struct spectral_context *sc;
@@ -39,12 +38,9 @@ int ucfg_spectral_control(
spectral_err("spectral context is NULL!\n"); spectral_err("spectral context is NULL!\n");
return -EPERM; return -EPERM;
} }
return sc->sptrlc_spectral_control(
pdev, return sc->sptrlc_spectral_control(pdev,
id, id,
indata, indata, insize, outdata, outsize);
insize,
outdata,
outsize);
} }
EXPORT_SYMBOL(ucfg_spectral_control); EXPORT_SYMBOL(ucfg_spectral_control);

View File

@@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2017 The Linux Foundation. All rights reserved. * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved.
* *
* *
* Permission to use, copy, modify, and/or distribute this software for * Permission to use, copy, modify, and/or distribute this software for
@@ -23,66 +23,77 @@
#include <wlan_spectral_tgt_api.h> #include <wlan_spectral_tgt_api.h>
#include <linux/export.h> #include <linux/export.h>
QDF_STATUS wlan_spectral_init(void) QDF_STATUS
wlan_spectral_init(void)
{ {
if (wlan_objmgr_register_psoc_create_handler( if (wlan_objmgr_register_psoc_create_handler(
WLAN_UMAC_COMP_SPECTRAL, WLAN_UMAC_COMP_SPECTRAL,
wlan_spectral_psoc_obj_create_handler, wlan_spectral_psoc_obj_create_handler,
NULL) != QDF_STATUS_SUCCESS) { NULL) !=
QDF_STATUS_SUCCESS) {
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
if (wlan_objmgr_register_psoc_destroy_handler( if (wlan_objmgr_register_psoc_destroy_handler(
WLAN_UMAC_COMP_SPECTRAL, WLAN_UMAC_COMP_SPECTRAL,
wlan_spectral_psoc_obj_destroy_handler, wlan_spectral_psoc_obj_destroy_handler,
NULL) != QDF_STATUS_SUCCESS) { NULL) !=
QDF_STATUS_SUCCESS) {
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
if (wlan_objmgr_register_pdev_create_handler( if (wlan_objmgr_register_pdev_create_handler(
WLAN_UMAC_COMP_SPECTRAL, WLAN_UMAC_COMP_SPECTRAL,
wlan_spectral_pdev_obj_create_handler, wlan_spectral_pdev_obj_create_handler,
NULL) != QDF_STATUS_SUCCESS) { NULL) !=
QDF_STATUS_SUCCESS) {
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
if (wlan_objmgr_register_pdev_destroy_handler( if (wlan_objmgr_register_pdev_destroy_handler(
WLAN_UMAC_COMP_SPECTRAL, WLAN_UMAC_COMP_SPECTRAL,
wlan_spectral_pdev_obj_destroy_handler, wlan_spectral_pdev_obj_destroy_handler,
NULL) != QDF_STATUS_SUCCESS) { NULL) !=
QDF_STATUS_SUCCESS) {
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
QDF_STATUS wlan_spectral_deinit(void) QDF_STATUS
wlan_spectral_deinit(void)
{ {
if (wlan_objmgr_unregister_psoc_create_handler( if (wlan_objmgr_unregister_psoc_create_handler(
WLAN_UMAC_COMP_SPECTRAL, WLAN_UMAC_COMP_SPECTRAL,
wlan_spectral_psoc_obj_create_handler, wlan_spectral_psoc_obj_create_handler,
NULL) != QDF_STATUS_SUCCESS) { NULL) !=
QDF_STATUS_SUCCESS) {
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
if (wlan_objmgr_unregister_psoc_destroy_handler( if (wlan_objmgr_unregister_psoc_destroy_handler(
WLAN_UMAC_COMP_SPECTRAL, WLAN_UMAC_COMP_SPECTRAL,
wlan_spectral_psoc_obj_destroy_handler, wlan_spectral_psoc_obj_destroy_handler,
NULL) != QDF_STATUS_SUCCESS) { NULL) !=
QDF_STATUS_SUCCESS) {
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
if (wlan_objmgr_unregister_pdev_create_handler( if (wlan_objmgr_unregister_pdev_create_handler(
WLAN_UMAC_COMP_SPECTRAL, WLAN_UMAC_COMP_SPECTRAL,
wlan_spectral_pdev_obj_create_handler, wlan_spectral_pdev_obj_create_handler,
NULL) != QDF_STATUS_SUCCESS) { NULL) !=
QDF_STATUS_SUCCESS) {
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
if (wlan_objmgr_unregister_pdev_destroy_handler( if (wlan_objmgr_unregister_pdev_destroy_handler(
WLAN_UMAC_COMP_SPECTRAL, WLAN_UMAC_COMP_SPECTRAL,
wlan_spectral_pdev_obj_destroy_handler, wlan_spectral_pdev_obj_destroy_handler,
NULL) != QDF_STATUS_SUCCESS) { NULL) !=
QDF_STATUS_SUCCESS) {
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
} }
QDF_STATUS spectral_register_legacy_cb(struct wlan_objmgr_psoc *psoc, QDF_STATUS
spectral_register_legacy_cb(struct wlan_objmgr_psoc *psoc,
struct spectral_legacy_cbacks *legacy_cbacks) struct spectral_legacy_cbacks *legacy_cbacks)
{ {
struct spectral_context *sc; struct spectral_context *sc;
@@ -95,8 +106,7 @@ QDF_STATUS spectral_register_legacy_cb(struct wlan_objmgr_psoc *psoc,
sc->legacy_cbacks.vdev_get_chan_freq = sc->legacy_cbacks.vdev_get_chan_freq =
legacy_cbacks->vdev_get_chan_freq; legacy_cbacks->vdev_get_chan_freq;
sc->legacy_cbacks.vdev_get_ch_width = sc->legacy_cbacks.vdev_get_ch_width = legacy_cbacks->vdev_get_ch_width;
legacy_cbacks->vdev_get_ch_width;
sc->legacy_cbacks.vdev_get_sec20chan_freq_mhz = sc->legacy_cbacks.vdev_get_sec20chan_freq_mhz =
legacy_cbacks->vdev_get_sec20chan_freq_mhz; legacy_cbacks->vdev_get_sec20chan_freq_mhz;
@@ -104,7 +114,8 @@ QDF_STATUS spectral_register_legacy_cb(struct wlan_objmgr_psoc *psoc,
} }
EXPORT_SYMBOL(spectral_register_legacy_cb); EXPORT_SYMBOL(spectral_register_legacy_cb);
int16_t spectral_vdev_get_chan_freq(struct wlan_objmgr_vdev *vdev) int16_t
spectral_vdev_get_chan_freq(struct wlan_objmgr_vdev *vdev)
{ {
struct spectral_context *sc; struct spectral_context *sc;
@@ -112,7 +123,8 @@ int16_t spectral_vdev_get_chan_freq(struct wlan_objmgr_vdev *vdev)
return sc->legacy_cbacks.vdev_get_chan_freq(vdev); return sc->legacy_cbacks.vdev_get_chan_freq(vdev);
} }
enum phy_ch_width spectral_vdev_get_ch_width(struct wlan_objmgr_vdev *vdev) enum phy_ch_width
spectral_vdev_get_ch_width(struct wlan_objmgr_vdev *vdev)
{ {
struct spectral_context *sc; struct spectral_context *sc;
@@ -120,16 +132,19 @@ enum phy_ch_width spectral_vdev_get_ch_width(struct wlan_objmgr_vdev *vdev)
return sc->legacy_cbacks.vdev_get_ch_width(vdev); return sc->legacy_cbacks.vdev_get_ch_width(vdev);
} }
int spectral_vdev_get_sec20chan_freq_mhz(struct wlan_objmgr_vdev *vdev, int
spectral_vdev_get_sec20chan_freq_mhz(struct wlan_objmgr_vdev *vdev,
uint16_t *sec20chan_freq) uint16_t *sec20chan_freq)
{ {
struct spectral_context *sc; struct spectral_context *sc;
sc = spectral_get_spectral_ctx_from_vdev(vdev); sc = spectral_get_spectral_ctx_from_vdev(vdev);
return sc->legacy_cbacks.vdev_get_sec20chan_freq_mhz(vdev, sec20chan_freq); return sc->legacy_cbacks.vdev_get_sec20chan_freq_mhz(vdev,
sec20chan_freq);
} }
void wlan_lmac_if_sptrl_register_rx_ops(struct wlan_lmac_if_rx_ops *rx_ops) void
wlan_lmac_if_sptrl_register_rx_ops(struct wlan_lmac_if_rx_ops *rx_ops)
{ {
struct wlan_lmac_if_sptrl_rx_ops *sptrl_rx_ops = &rx_ops->sptrl_rx_ops; struct wlan_lmac_if_sptrl_rx_ops *sptrl_rx_ops = &rx_ops->sptrl_rx_ops;
@@ -142,8 +157,8 @@ void wlan_lmac_if_sptrl_register_rx_ops(struct wlan_lmac_if_rx_ops *rx_ops)
spectral_vdev_get_sec20chan_freq_mhz; spectral_vdev_get_sec20chan_freq_mhz;
} }
void wlan_register_wmi_spectral_cmd_ops( void
struct wlan_objmgr_pdev *pdev, wlan_register_wmi_spectral_cmd_ops(struct wlan_objmgr_pdev *pdev,
struct wmi_spectral_cmd_ops *cmd_ops) struct wmi_spectral_cmd_ops *cmd_ops)
{ {
struct spectral_context *sc; struct spectral_context *sc;
@@ -155,9 +170,6 @@ void wlan_register_wmi_spectral_cmd_ops(
if (!sc) if (!sc)
spectral_err("spectral context is NULL!\n"); spectral_err("spectral context is NULL!\n");
return sc->sptrlc_register_wmi_spectral_cmd_ops( return sc->sptrlc_register_wmi_spectral_cmd_ops(pdev, cmd_ops);
pdev,
cmd_ops
);
} }
EXPORT_SYMBOL(wlan_register_wmi_spectral_cmd_ops); EXPORT_SYMBOL(wlan_register_wmi_spectral_cmd_ops);