linux/drivers/net/wireless/ath/ath6kl/init.c


/*
 * Copyright (c) 2011 Atheros Communications Inc.
 * Copyright (c) 2011-2012 Qualcomm Atheros, Inc.
 *
 * Permission to use, copy, modify, and/or distribute this software for any
 * purpose with or without fee is hereby granted, provided that the above
 * copyright notice and this permission notice appear in all copies.
 *
 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 */

#define pr_fmt(fmt)

#include <linux/moduleparam.h>
#include <linux/errno.h>
#include <linux/export.h>
#include <linux/of.h>
#include <linux/mmc/sdio_func.h>
#include <linux/vmalloc.h>

#include "core.h"
#include "cfg80211.h"
#include "target.h"
#include "debug.h"
#include "hif-ops.h"
#include "htc-ops.h"

static const struct ath6kl_hw hw_list[] =;

/*
 * Include definitions here that can be used to tune the WLAN module
 * behavior. Different customers can tune the behavior as per their needs,
 * here.
 */

/*
 * This configuration item enable/disable keepalive support.
 * Keepalive support: In the absence of any data traffic to AP, null
 * frames will be sent to the AP at periodic interval, to keep the association
 * active. This configuration item defines the periodic interval.
 * Use value of zero to disable keepalive support
 * Default: 60 seconds
 */
#define WLAN_CONFIG_KEEP_ALIVE_INTERVAL

/*
 * This configuration item sets the value of disconnect timeout
 * Firmware delays sending the disconnec event to the host for this
 * timeout after is gets disconnected from the current AP.
 * If the firmware successly roams within the disconnect timeout
 * it sends a new connect event
 */
#define WLAN_CONFIG_DISCONNECT_TIMEOUT


#define ATH6KL_DATA_OFFSET
struct sk_buff *ath6kl_buf_alloc(int size)
{}

void ath6kl_init_profile_info(struct ath6kl_vif *vif)
{}

static int ath6kl_set_host_app_area(struct ath6kl *ar)
{}

static inline void set_ac2_ep_map(struct ath6kl *ar,
				  u8 ac,
				  enum htc_endpoint_id ep)
{}

/* connect to a service */
static int ath6kl_connectservice(struct ath6kl *ar,
				 struct htc_service_connect_req  *con_req,
				 char *desc)
{}

static int ath6kl_init_service_ep(struct ath6kl *ar)
{}

void ath6kl_init_control_info(struct ath6kl_vif *vif)
{}

/*
 * Set HTC/Mbox operational parameters, this can only be called when the
 * target is in the BMI phase.
 */
static int ath6kl_set_htc_params(struct ath6kl *ar, u32 mbox_isr_yield_val,
				 u8 htc_ctrl_buf)
{}

static int ath6kl_target_config_wlan_params(struct ath6kl *ar, int idx)
{}

int ath6kl_configure_target(struct ath6kl *ar)
{}

/* firmware upload */
static int ath6kl_get_fw(struct ath6kl *ar, const char *filename,
			 u8 **fw, size_t *fw_len)
{}

#ifdef CONFIG_OF
/*
 * Check the device tree for a board-id and use it to construct
 * the pathname to the firmware file.  Used (for now) to find a
 * fallback to the "bdata.bin" file--typically a symlink to the
 * appropriate board-specific file.
 */
static bool check_device_tree(struct ath6kl *ar)
{}
#else
static bool check_device_tree(struct ath6kl *ar)
{
	return false;
}
#endif /* CONFIG_OF */

static int ath6kl_fetch_board_file(struct ath6kl *ar)
{}

static int ath6kl_fetch_otp_file(struct ath6kl *ar)
{}

static int ath6kl_fetch_testmode_file(struct ath6kl *ar)
{}

static int ath6kl_fetch_fw_file(struct ath6kl *ar)
{}

static int ath6kl_fetch_patch_file(struct ath6kl *ar)
{}

static int ath6kl_fetch_testscript_file(struct ath6kl *ar)
{}

static int ath6kl_fetch_fw_api1(struct ath6kl *ar)
{}

static int ath6kl_fetch_fw_apin(struct ath6kl *ar, const char *name)
{}

int ath6kl_init_fetch_firmwares(struct ath6kl *ar)
{}

static int ath6kl_upload_board_file(struct ath6kl *ar)
{}

static int ath6kl_upload_otp(struct ath6kl *ar)
{}

static int ath6kl_upload_firmware(struct ath6kl *ar)
{}

static int ath6kl_upload_patch(struct ath6kl *ar)
{}

static int ath6kl_upload_testscript(struct ath6kl *ar)
{}

static int ath6kl_init_upload(struct ath6kl *ar)
{}

int ath6kl_init_hw_params(struct ath6kl *ar)
{}

static const char *ath6kl_init_get_hif_name(enum ath6kl_hif_type type)
{}


static const struct fw_capa_str_map {} fw_capa_map[] =;

static const char *ath6kl_init_get_fw_capa_name(unsigned int id)
{}

static void ath6kl_init_get_fwcaps(struct ath6kl *ar, char *buf, size_t buf_len)
{}

static int ath6kl_init_hw_reset(struct ath6kl *ar)
{}

static int __ath6kl_init_hw_start(struct ath6kl *ar)
{}

int ath6kl_init_hw_start(struct ath6kl *ar)
{}

static int __ath6kl_init_hw_stop(struct ath6kl *ar)
{}

int ath6kl_init_hw_stop(struct ath6kl *ar)
{}

void ath6kl_init_hw_restart(struct ath6kl *ar)
{}

void ath6kl_stop_txrx(struct ath6kl *ar)
{}
EXPORT_SYMBOL();