linux/drivers/net/wireless/intersil/p54/eeprom.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * EEPROM parser code for mac80211 Prism54 drivers
 *
 * Copyright (c) 2006, Michael Wu <[email protected]>
 * Copyright (c) 2007-2009, Christian Lamparter <[email protected]>
 * Copyright 2008, Johannes Berg <[email protected]>
 *
 * Based on:
 * - the islsm (softmac prism54) driver, which is:
 *   Copyright 2004-2006 Jean-Baptiste Note <[email protected]>, et al.
 * - stlc45xx driver
 *   Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies).
 */

#include <linux/firmware.h>
#include <linux/etherdevice.h>
#include <linux/sort.h>
#include <linux/slab.h>

#include <net/mac80211.h>
#include <linux/crc-ccitt.h>
#include <linux/export.h>

#include "p54.h"
#include "eeprom.h"
#include "lmac.h"

static struct ieee80211_rate p54_bgrates[] =;

static struct ieee80211_rate p54_arates[] =;

static struct p54_rssi_db_entry p54_rssi_default =;

#define CHAN_HAS_CAL
#define CHAN_HAS_LIMIT
#define CHAN_HAS_CURVE
#define CHAN_HAS_ALL

struct p54_channel_entry {};

struct p54_channel_list {};

static int p54_get_band_from_freq(u16 freq)
{}

static int same_band(u16 freq, u16 freq2)
{}

static int p54_compare_channels(const void *_a,
				const void *_b)
{}

static int p54_compare_rssichan(const void *_a,
				const void *_b)
{}

static int p54_fill_band_bitrates(struct ieee80211_hw *dev,
				  struct ieee80211_supported_band *band_entry,
				  enum nl80211_band band)
{}

static int p54_generate_band(struct ieee80211_hw *dev,
			     struct p54_channel_list *list,
			     unsigned int *chan_num,
			     enum nl80211_band band)
{}

static struct p54_channel_entry *p54_update_channel_param(struct p54_channel_list *list,
							  u16 freq, u16 data)
{}

static int p54_get_maxpower(struct p54_common *priv, void *data)
{}

static int p54_generate_channel_lists(struct ieee80211_hw *dev)
{}

static int p54_convert_rev0(struct ieee80211_hw *dev,
			    struct pda_pa_curve_data *curve_data)
{}

static int p54_convert_rev1(struct ieee80211_hw *dev,
			    struct pda_pa_curve_data *curve_data)
{}

static const char *p54_rf_chips[] =;

static int p54_parse_rssical(struct ieee80211_hw *dev,
			     u8 *data, int len, u16 type)
{}

struct p54_rssi_db_entry *p54_rssi_find(struct p54_common *priv, const u16 freq)
{}

static void p54_parse_default_country(struct ieee80211_hw *dev,
				      void *data, int len)
{}

static int p54_convert_output_limits(struct ieee80211_hw *dev,
				     u8 *data, size_t len)
{}

static struct p54_cal_database *p54_convert_db(struct pda_custom_wrapper *src,
					       size_t total_len)
{}

int p54_parse_eeprom(struct ieee80211_hw *dev, void *eeprom, int len)
{}
EXPORT_SYMBOL_GPL();

int p54_read_eeprom(struct ieee80211_hw *dev)
{}
EXPORT_SYMBOL_GPL();