linux/drivers/net/wireless/silabs/wfx/main.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Device probe and register.
 *
 * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
 * Copyright (c) 2010, ST-Ericsson
 * Copyright (c) 2008, Johannes Berg <[email protected]>
 * Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies).
 * Copyright (c) 2007-2009, Christian Lamparter <[email protected]>
 * Copyright (c) 2006, Michael Wu <[email protected]>
 * Copyright (c) 2004-2006 Jean-Baptiste Note <[email protected]>, et al.
 */
#include <linux/module.h>
#include <linux/of.h>
#include <linux/of_net.h>
#include <linux/gpio/consumer.h>
#include <linux/mmc/sdio_func.h>
#include <linux/spi/spi.h>
#include <linux/etherdevice.h>
#include <linux/firmware.h>

#include "main.h"
#include "wfx.h"
#include "fwio.h"
#include "hwio.h"
#include "bus.h"
#include "bh.h"
#include "sta.h"
#include "key.h"
#include "scan.h"
#include "debug.h"
#include "data_tx.h"
#include "hif_tx_mib.h"
#include "hif_api_cmd.h"

#define WFX_PDS_TLV_TYPE
#define WFX_PDS_MAX_CHUNK_SIZE

MODULE_DESCRIPTION();
MODULE_AUTHOR();
MODULE_LICENSE();

#define RATETAB_ENT(_rate, _rateid, _flags)

static struct ieee80211_rate wfx_rates[] =;

#define CHAN2G(_channel, _freq, _flags)

static struct ieee80211_channel wfx_2ghz_chantable[] =;

static const struct ieee80211_supported_band wfx_band_2ghz =;

static const struct ieee80211_iface_limit wdev_iface_limits[] =;

static const struct ieee80211_iface_combination wfx_iface_combinations[] =;

static const struct ieee80211_ops wfx_ops =;

bool wfx_api_older_than(struct wfx_dev *wdev, int major, int minor)
{}

/* The device needs data about the antenna configuration. This information in provided by PDS
 * (Platform Data Set, this is the wording used in WF200 documentation) files. For hardware
 * integrators, the full process to create PDS files is described here:
 *   https://github.com/SiliconLabs/wfx-firmware/blob/master/PDS/README.md
 *
 * The PDS file is an array of Time-Length-Value structs.
 */
int wfx_send_pds(struct wfx_dev *wdev, u8 *buf, size_t len)
{}

static int wfx_send_pdata_pds(struct wfx_dev *wdev)
{}

static void wfx_free_common(void *data)
{}

struct wfx_dev *wfx_init_common(struct device *dev, const struct wfx_platform_data *pdata,
				const struct wfx_hwbus_ops *hwbus_ops, void *hwbus_priv)
{}

int wfx_probe(struct wfx_dev *wdev)
{}

void wfx_release(struct wfx_dev *wdev)
{}

static int __init wfx_core_init(void)
{}
module_init();

static void __exit wfx_core_exit(void)
{}
module_exit(wfx_core_exit);