18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
28c2ecf20Sopenharmony_ci/******************************************************************************
38c2ecf20Sopenharmony_ci *
48c2ecf20Sopenharmony_ci * Copyright(c) 2007 - 2014 Intel Corporation. All rights reserved.
58c2ecf20Sopenharmony_ci *
68c2ecf20Sopenharmony_ci * Portions of this file are derived from the ipw3945 project, as well
78c2ecf20Sopenharmony_ci * as portions of the ieee80211 subsystem header files.
88c2ecf20Sopenharmony_ci *
98c2ecf20Sopenharmony_ci * Contact Information:
108c2ecf20Sopenharmony_ci *  Intel Linux Wireless <linuxwifi@intel.com>
118c2ecf20Sopenharmony_ci * Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
128c2ecf20Sopenharmony_ci *****************************************************************************/
138c2ecf20Sopenharmony_ci#ifndef __iwl_power_setting_h__
148c2ecf20Sopenharmony_ci#define __iwl_power_setting_h__
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci#include "commands.h"
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_cistruct iwl_power_mgr {
198c2ecf20Sopenharmony_ci	struct iwl_powertable_cmd sleep_cmd;
208c2ecf20Sopenharmony_ci	struct iwl_powertable_cmd sleep_cmd_next;
218c2ecf20Sopenharmony_ci	int debug_sleep_level_override;
228c2ecf20Sopenharmony_ci	bool bus_pm;
238c2ecf20Sopenharmony_ci};
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciint iwl_power_set_mode(struct iwl_priv *priv, struct iwl_powertable_cmd *cmd,
268c2ecf20Sopenharmony_ci		       bool force);
278c2ecf20Sopenharmony_ciint iwl_power_update_mode(struct iwl_priv *priv, bool force);
288c2ecf20Sopenharmony_civoid iwl_power_initialize(struct iwl_priv *priv);
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ciextern bool no_sleep_autoadjust;
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci#endif  /* __iwl_power_setting_h__ */
33