1ac55136fSArend Van Spriel /* 2ac55136fSArend Van Spriel * Copyright (c) 2016 Broadcom 3ac55136fSArend Van Spriel * 4ac55136fSArend Van Spriel * Permission to use, copy, modify, and/or distribute this software for any 5ac55136fSArend Van Spriel * purpose with or without fee is hereby granted, provided that the above 6ac55136fSArend Van Spriel * copyright notice and this permission notice appear in all copies. 7ac55136fSArend Van Spriel * 8ac55136fSArend Van Spriel * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 9ac55136fSArend Van Spriel * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 10ac55136fSArend Van Spriel * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 11ac55136fSArend Van Spriel * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 12ac55136fSArend Van Spriel * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 13ac55136fSArend Van Spriel * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 14ac55136fSArend Van Spriel * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 15ac55136fSArend Van Spriel */ 16ac55136fSArend Van Spriel #ifndef _BRCMF_PNO_H 17ac55136fSArend Van Spriel #define _BRCMF_PNO_H 18ac55136fSArend Van Spriel 19ac55136fSArend Van Spriel #define BRCMF_PNO_SCAN_COMPLETE 1 20ac55136fSArend Van Spriel #define BRCMF_PNO_MAX_PFN_COUNT 16 21ac55136fSArend Van Spriel 22ac55136fSArend Van Spriel /** 23ac55136fSArend Van Spriel * brcmf_pno_clean - disable and clear pno in firmware. 24ac55136fSArend Van Spriel * 25ac55136fSArend Van Spriel * @ifp: interface object used. 26ac55136fSArend Van Spriel */ 27ac55136fSArend Van Spriel int brcmf_pno_clean(struct brcmf_if *ifp); 28ac55136fSArend Van Spriel 29ac55136fSArend Van Spriel /** 30ac55136fSArend Van Spriel * brcmf_pno_config - configure pno parameters. 31ac55136fSArend Van Spriel * 32ac55136fSArend Van Spriel * @ifp: interface object used. 33ac55136fSArend Van Spriel * @request: scheduled scan parameters. 34ac55136fSArend Van Spriel */ 35ac55136fSArend Van Spriel int brcmf_pno_config(struct brcmf_if *ifp, 36ac55136fSArend Van Spriel struct cfg80211_sched_scan_request *request); 37ac55136fSArend Van Spriel 38*3e2e86abSArend Van Spriel /** 39*3e2e86abSArend Van Spriel * brcmf_pno_add_ssid - add ssid for pno in firmware. 40*3e2e86abSArend Van Spriel * 41*3e2e86abSArend Van Spriel * @ifp: interface object used. 42*3e2e86abSArend Van Spriel * @ssid: ssid information. 43*3e2e86abSArend Van Spriel * @active: indicate this ssid needs to be actively probed. 44*3e2e86abSArend Van Spriel */ 45*3e2e86abSArend Van Spriel int brcmf_pno_add_ssid(struct brcmf_if *ifp, struct cfg80211_ssid *ssid, 46*3e2e86abSArend Van Spriel bool active); 47*3e2e86abSArend Van Spriel 48ac55136fSArend Van Spriel #endif /* _BRCMF_PNO_H */ 49