linux/drivers/net/wireless/intersil/p54/p54.h

/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Shared defines for all mac80211 Prism54 code
 *
 * Copyright (c) 2006, Michael Wu <[email protected]>
 *
 * Based on the islsm (softmac prism54) driver, which is:
 * Copyright 2004-2006 Jean-Baptiste Note <[email protected]>, et al.
 */

#ifndef P54_H
#define P54_H

#ifdef CONFIG_P54_LEDS
#include <linux/leds.h>
#endif /* CONFIG_P54_LEDS */

#define ISL38XX_DEV_FIRMWARE_ADDR

#define BR_CODE_MIN
#define BR_CODE_COMPONENT_ID
#define BR_CODE_COMPONENT_VERSION
#define BR_CODE_DEPENDENT_IF
#define BR_CODE_EXPOSED_IF
#define BR_CODE_DESCR
#define BR_CODE_MAX
#define BR_CODE_END_OF_BRA
#define LEGACY_BR_CODE_END_OF_BRA

struct bootrec {} __packed;

/* Interface role definitions */
#define BR_INTERFACE_ROLE_SERVER
#define BR_INTERFACE_ROLE_CLIENT

#define BR_DESC_PRIV_CAP_WEP
#define BR_DESC_PRIV_CAP_TKIP
#define BR_DESC_PRIV_CAP_MICHAEL
#define BR_DESC_PRIV_CAP_CCX_CP
#define BR_DESC_PRIV_CAP_CCX_MIC
#define BR_DESC_PRIV_CAP_AESCCMP

struct bootrec_desc {} __packed;

#define FW_FMAC
#define FW_LM86
#define FW_LM87
#define FW_LM20

struct bootrec_comp_id {} __packed;

struct bootrec_comp_ver {} __packed;

struct bootrec_end {} __packed;

/* provide 16 bytes for the transport back-end */
#define P54_TX_INFO_DATA_SIZE

/* stored in ieee80211_tx_info's rate_driver_data */
struct p54_tx_info {};

#define P54_MAX_CTRL_FRAME_LEN

#define P54_SET_QUEUE(queue, ai_fs, cw_min, cw_max, _txop)

struct p54_edcf_queue_param {} __packed;

struct p54_rssi_db_entry {};

struct p54_cal_database {};

#define EEPROM_READBACK_LEN

enum fw_state {};

#ifdef CONFIG_P54_LEDS

#define P54_LED_MAX_NAME_LEN

struct p54_led_dev {};

#endif /* CONFIG_P54_LEDS */

struct p54_tx_queue_stats {};

struct p54_common {};

/* interfaces for the drivers */
int p54_rx(struct ieee80211_hw *dev, struct sk_buff *skb);
void p54_free_skb(struct ieee80211_hw *dev, struct sk_buff *skb);
int p54_parse_firmware(struct ieee80211_hw *dev, const struct firmware *fw);
int p54_parse_eeprom(struct ieee80211_hw *dev, void *eeprom, int len);
int p54_read_eeprom(struct ieee80211_hw *dev);

struct ieee80211_hw *p54_init_common(size_t priv_data_len);
int p54_register_common(struct ieee80211_hw *dev, struct device *pdev);
void p54_free_common(struct ieee80211_hw *dev);

void p54_unregister_common(struct ieee80211_hw *dev);

#endif /* P54_H */