1 /* 2 * Copyright (c) 2017-2018 The Linux Foundation. All rights reserved. 3 * 4 * 5 * Permission to use, copy, modify, and/or distribute this software for 6 * any purpose with or without fee is hereby granted, provided that the 7 * above copyright notice and this permission notice appear in all 8 * copies. 9 * 10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 11 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 12 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 13 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 14 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 15 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 16 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 17 * PERFORMANCE OF THIS SOFTWARE. 18 */ 19 20 #include <wlan_spectral_ucfg_api.h> 21 #include "../../core/spectral_cmn_api_i.h" 22 #include <wlan_spectral_utils_api.h> 23 24 int 25 ucfg_spectral_control(struct wlan_objmgr_pdev *pdev, 26 u_int id, 27 void *indata, 28 uint32_t insize, void *outdata, uint32_t *outsize) 29 { 30 struct spectral_context *sc; 31 32 if (!pdev) { 33 spectral_err("PDEV is NULL!"); 34 return -EPERM; 35 } 36 sc = spectral_get_spectral_ctx_from_pdev(pdev); 37 if (!sc) { 38 spectral_err("spectral context is NULL!"); 39 return -EPERM; 40 } 41 42 return sc->sptrlc_spectral_control(pdev, 43 id, 44 indata, insize, outdata, outsize); 45 } 46 EXPORT_SYMBOL(ucfg_spectral_control); 47 48 void ucfg_spectral_scan_set_ppid(struct wlan_objmgr_pdev *pdev, uint32_t ppid) 49 { 50 struct pdev_spectral *ps = NULL; 51 52 if (!pdev) { 53 spectral_err("PDEV is NULL!"); 54 return; 55 } 56 ps = wlan_objmgr_pdev_get_comp_private_obj(pdev, 57 WLAN_UMAC_COMP_SPECTRAL); 58 if (!ps) { 59 spectral_err("spectral context is NULL!"); 60 return; 61 } 62 ps->spectral_pid = ppid; 63 spectral_debug("spectral ppid: %d", ppid); 64 65 return; 66 } 67