18e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov/*
28e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov * Copyright (c) 2013 Eugene Krasnikov <k.eugene.e@gmail.com>
38e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov *
48e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov * Permission to use, copy, modify, and/or distribute this software for any
58e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov * purpose with or without fee is hereby granted, provided that the above
68e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov * copyright notice and this permission notice appear in all copies.
78e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov *
88e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
98e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
108e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
118e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
128e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
138e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
148e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
158e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov */
168e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov
178e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov#ifndef _WCN36XX_PMC_H_
188e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov#define _WCN36XX_PMC_H_
198e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov
208e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikovstruct wcn36xx;
218e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov
228e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikovenum wcn36xx_power_state {
238e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov	WCN36XX_FULL_POWER,
248e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov	WCN36XX_BMPS
258e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov};
268e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov
278e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikovint wcn36xx_pmc_enter_bmps_state(struct wcn36xx *wcn,
288e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov				 struct ieee80211_vif *vif);
298e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikovint wcn36xx_pmc_exit_bmps_state(struct wcn36xx *wcn,
308e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov				struct ieee80211_vif *vif);
318e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikovint wcn36xx_enable_keep_alive_null_packet(struct wcn36xx *wcn,
328e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov					  struct ieee80211_vif *vif);
338e84c25821698bdef73c0329fb2022a4673b7adcEugene Krasnikov#endif	/* _WCN36XX_PMC_H_ */
34