#ifndef __iwl_fw_uefi__
#define __iwl_fw_uefi__
#include "fw/regulatory.h"
#define IWL_UEFI_OEM_PNVM_NAME …
#define IWL_UEFI_REDUCED_POWER_NAME …
#define IWL_UEFI_SGOM_NAME …
#define IWL_UEFI_STEP_NAME …
#define IWL_UEFI_UATS_NAME …
#define IWL_UEFI_WRDS_NAME …
#define IWL_UEFI_EWRD_NAME …
#define IWL_UEFI_WGDS_NAME …
#define IWL_UEFI_PPAG_NAME …
#define IWL_UEFI_WTAS_NAME …
#define IWL_UEFI_SPLC_NAME …
#define IWL_UEFI_WRDD_NAME …
#define IWL_UEFI_ECKV_NAME …
#define IWL_UEFI_DSM_NAME …
#define IWL_UEFI_WBEM_NAME …
#define IWL_SGOM_MAP_SIZE …
#define IWL_UATS_MAP_SIZE …
#define IWL_UEFI_WRDS_REVISION …
#define IWL_UEFI_EWRD_REVISION …
#define IWL_UEFI_WGDS_REVISION …
#define IWL_UEFI_MIN_PPAG_REV …
#define IWL_UEFI_MAX_PPAG_REV …
#define IWL_UEFI_WTAS_REVISION …
#define IWL_UEFI_SPLC_REVISION …
#define IWL_UEFI_WRDD_REVISION …
#define IWL_UEFI_ECKV_REVISION …
#define IWL_UEFI_WBEM_REVISION …
#define IWL_UEFI_DSM_REVISION …
struct pnvm_sku_package { … } __packed;
struct uefi_cnv_wlan_sgom_data { … } __packed;
struct uefi_cnv_wlan_uats_data { … } __packed;
struct uefi_cnv_common_step_data { … } __packed;
struct uefi_sar_profile { … } __packed;
struct uefi_cnv_var_wrds { … } __packed;
struct uefi_cnv_var_ewrd { … } __packed;
struct uefi_cnv_var_wgds { … } __packed;
struct uefi_cnv_var_ppag { … } __packed;
struct uefi_cnv_var_wtas { … } __packed;
struct uefi_cnv_var_splc { … } __packed;
#define UEFI_MCC_CHINA …
struct uefi_cnv_var_wrdd { … } __packed;
struct uefi_cnv_var_eckv { … } __packed;
#define UEFI_MAX_DSM_FUNCS …
struct uefi_cnv_var_general_cfg { … } __packed;
#define IWL_UEFI_WBEM_REV0_MASK …
struct uefi_cnv_wlan_wbem_data { … } __packed;
#ifdef CONFIG_EFI
void *iwl_uefi_get_pnvm(struct iwl_trans *trans, size_t *len);
u8 *iwl_uefi_get_reduced_power(struct iwl_trans *trans, size_t *len);
int iwl_uefi_reduce_power_parse(struct iwl_trans *trans,
const u8 *data, size_t len,
struct iwl_pnvm_image *pnvm_data);
void iwl_uefi_get_step_table(struct iwl_trans *trans);
int iwl_uefi_handle_tlv_mem_desc(struct iwl_trans *trans, const u8 *data,
u32 tlv_len, struct iwl_pnvm_image *pnvm_data);
int iwl_uefi_get_wrds_table(struct iwl_fw_runtime *fwrt);
int iwl_uefi_get_ewrd_table(struct iwl_fw_runtime *fwrt);
int iwl_uefi_get_wgds_table(struct iwl_fw_runtime *fwrt);
int iwl_uefi_get_ppag_table(struct iwl_fw_runtime *fwrt);
int iwl_uefi_get_tas_table(struct iwl_fw_runtime *fwrt,
struct iwl_tas_data *data);
int iwl_uefi_get_pwr_limit(struct iwl_fw_runtime *fwrt,
u64 *dflt_pwr_limit);
int iwl_uefi_get_mcc(struct iwl_fw_runtime *fwrt, char *mcc);
int iwl_uefi_get_eckv(struct iwl_fw_runtime *fwrt, u32 *extl_clk);
int iwl_uefi_get_wbem(struct iwl_fw_runtime *fwrt, u32 *value);
int iwl_uefi_get_dsm(struct iwl_fw_runtime *fwrt, enum iwl_dsm_funcs func,
u32 *value);
void iwl_uefi_get_sgom_table(struct iwl_trans *trans, struct iwl_fw_runtime *fwrt);
int iwl_uefi_get_uats_table(struct iwl_trans *trans,
struct iwl_fw_runtime *fwrt);
#else
static inline void *iwl_uefi_get_pnvm(struct iwl_trans *trans, size_t *len)
{
return ERR_PTR(-EOPNOTSUPP);
}
static inline int
iwl_uefi_reduce_power_parse(struct iwl_trans *trans,
const u8 *data, size_t len,
struct iwl_pnvm_image *pnvm_data)
{
return -EOPNOTSUPP;
}
static inline u8 *
iwl_uefi_get_reduced_power(struct iwl_trans *trans, size_t *len)
{
return ERR_PTR(-EOPNOTSUPP);
}
static inline void iwl_uefi_get_step_table(struct iwl_trans *trans)
{
}
static inline int
iwl_uefi_handle_tlv_mem_desc(struct iwl_trans *trans, const u8 *data,
u32 tlv_len, struct iwl_pnvm_image *pnvm_data)
{
return 0;
}
static inline int iwl_uefi_get_wrds_table(struct iwl_fw_runtime *fwrt)
{
return -ENOENT;
}
static inline int iwl_uefi_get_ewrd_table(struct iwl_fw_runtime *fwrt)
{
return -ENOENT;
}
static inline int iwl_uefi_get_wgds_table(struct iwl_fw_runtime *fwrt)
{
return -ENOENT;
}
static inline int iwl_uefi_get_ppag_table(struct iwl_fw_runtime *fwrt)
{
return -ENOENT;
}
static inline int iwl_uefi_get_tas_table(struct iwl_fw_runtime *fwrt,
struct iwl_tas_data *data)
{
return -ENOENT;
}
static inline int iwl_uefi_get_pwr_limit(struct iwl_fw_runtime *fwrt,
u64 *dflt_pwr_limit)
{
*dflt_pwr_limit = 0;
return 0;
}
static inline int iwl_uefi_get_mcc(struct iwl_fw_runtime *fwrt, char *mcc)
{
return -ENOENT;
}
static inline int iwl_uefi_get_eckv(struct iwl_fw_runtime *fwrt, u32 *extl_clk)
{
return -ENOENT;
}
static inline int iwl_uefi_get_wbem(struct iwl_fw_runtime *fwrt, u32 *value)
{
return -ENOENT;
}
static inline int iwl_uefi_get_dsm(struct iwl_fw_runtime *fwrt,
enum iwl_dsm_funcs func, u32 *value)
{
return -ENOENT;
}
static inline
void iwl_uefi_get_sgom_table(struct iwl_trans *trans, struct iwl_fw_runtime *fwrt)
{
}
static inline
int iwl_uefi_get_uats_table(struct iwl_trans *trans,
struct iwl_fw_runtime *fwrt)
{
return 0;
}
#endif
#endif