linux/drivers/net/wireless/ath/ath9k/hif_usb.c

/*
 * Copyright (c) 2010-2011 Atheros Communications 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.
 */

#include <asm/unaligned.h>
#include "htc.h"

MODULE_FIRMWARE();
MODULE_FIRMWARE();

static const struct usb_device_id ath9k_hif_usb_ids[] =;

MODULE_DEVICE_TABLE(usb, ath9k_hif_usb_ids);

static int __hif_usb_tx(struct hif_device_usb *hif_dev);

static void hif_usb_regout_cb(struct urb *urb)
{}

static int hif_usb_send_regout(struct hif_device_usb *hif_dev,
			       struct sk_buff *skb)
{}

static void hif_usb_mgmt_cb(struct urb *urb)
{}

static int hif_usb_send_mgmt(struct hif_device_usb *hif_dev,
			     struct sk_buff *skb)
{}

static inline void ath9k_skb_queue_purge(struct hif_device_usb *hif_dev,
					 struct sk_buff_head *list)
{}

static inline void ath9k_skb_queue_complete(struct hif_device_usb *hif_dev,
					    struct sk_buff_head *queue,
					    bool txok)
{}

static void hif_usb_tx_cb(struct urb *urb)
{}

/* TX lock has to be taken */
static int __hif_usb_tx(struct hif_device_usb *hif_dev)
{}

static int hif_usb_send_tx(struct hif_device_usb *hif_dev, struct sk_buff *skb)
{}

static void hif_usb_start(void *hif_handle)
{}

static void hif_usb_stop(void *hif_handle)
{}

static int hif_usb_send(void *hif_handle, u8 pipe_id, struct sk_buff *skb)
{}

static inline bool check_index(struct sk_buff *skb, u8 idx)
{}

static void hif_usb_sta_drain(void *hif_handle, u8 idx)
{}

static struct ath9k_htc_hif hif_usb =;

/* Need to free remain_skb allocated in ath9k_hif_usb_rx_stream
 * in case ath9k_hif_usb_rx_stream wasn't called next time to
 * process the buffer and subsequently free it.
 */
static void ath9k_hif_usb_free_rx_remain_skb(struct hif_device_usb *hif_dev)
{}

static void ath9k_hif_usb_rx_stream(struct hif_device_usb *hif_dev,
				    struct sk_buff *skb)
{}

static void ath9k_hif_usb_rx_cb(struct urb *urb)
{}

static void ath9k_hif_usb_reg_in_cb(struct urb *urb)
{}

static void ath9k_hif_usb_dealloc_tx_urbs(struct hif_device_usb *hif_dev)
{}

static int ath9k_hif_usb_alloc_tx_urbs(struct hif_device_usb *hif_dev)
{}

static void ath9k_hif_usb_dealloc_rx_urbs(struct hif_device_usb *hif_dev)
{}

static int ath9k_hif_usb_alloc_rx_urbs(struct hif_device_usb *hif_dev)
{}

static void ath9k_hif_usb_dealloc_reg_in_urbs(struct hif_device_usb *hif_dev)
{}

static int ath9k_hif_usb_alloc_reg_in_urbs(struct hif_device_usb *hif_dev)
{}

static int ath9k_hif_usb_alloc_urbs(struct hif_device_usb *hif_dev)
{}

void ath9k_hif_usb_dealloc_urbs(struct hif_device_usb *hif_dev)
{}

static int ath9k_hif_usb_download_fw(struct hif_device_usb *hif_dev)
{}

static int ath9k_hif_usb_dev_init(struct hif_device_usb *hif_dev)
{}

static void ath9k_hif_usb_dev_deinit(struct hif_device_usb *hif_dev)
{}

/*
 * If initialization fails or the FW cannot be retrieved,
 * detach the device.
 */
static void ath9k_hif_usb_firmware_fail(struct hif_device_usb *hif_dev)
{}

static void ath9k_hif_usb_firmware_cb(const struct firmware *fw, void *context);

/* taken from iwlwifi */
static int ath9k_hif_request_firmware(struct hif_device_usb *hif_dev,
				      bool first)
{}

static void ath9k_hif_usb_firmware_cb(const struct firmware *fw, void *context)
{}

/*
 * An exact copy of the function from zd1211rw.
 */
static int send_eject_command(struct usb_interface *interface)
{}

static int ath9k_hif_usb_probe(struct usb_interface *interface,
			       const struct usb_device_id *id)
{}

static void ath9k_hif_usb_reboot(struct usb_device *udev)
{}

static void ath9k_hif_usb_disconnect(struct usb_interface *interface)
{}

#ifdef CONFIG_PM
static int ath9k_hif_usb_suspend(struct usb_interface *interface,
				 pm_message_t message)
{}

static int ath9k_hif_usb_resume(struct usb_interface *interface)
{}
#endif

static struct usb_driver ath9k_hif_usb_driver =;

int ath9k_hif_usb_init(void)
{}

void ath9k_hif_usb_exit(void)
{}