linux/drivers/net/wireless/ath/ath10k/usb.c

// SPDX-License-Identifier: ISC
/*
 * Copyright (c) 2007-2011 Atheros Communications Inc.
 * Copyright (c) 2011-2012,2017 Qualcomm Atheros, Inc.
 * Copyright (c) 2016-2017 Erik Stromdahl <[email protected]>
 */

#include <linux/module.h>
#include <linux/usb.h>

#include "debug.h"
#include "core.h"
#include "bmi.h"
#include "hif.h"
#include "htc.h"
#include "usb.h"

static void ath10k_usb_post_recv_transfers(struct ath10k *ar,
					   struct ath10k_usb_pipe *recv_pipe);

/* inlined helper functions */

static inline enum ath10k_htc_ep_id
eid_from_htc_hdr(struct ath10k_htc_hdr *htc_hdr)
{}

static inline bool is_trailer_only_msg(struct ath10k_htc_hdr *htc_hdr)
{}

/* pipe/urb operations */
static struct ath10k_urb_context *
ath10k_usb_alloc_urb_from_pipe(struct ath10k_usb_pipe *pipe)
{}

static void ath10k_usb_free_urb_to_pipe(struct ath10k_usb_pipe *pipe,
					struct ath10k_urb_context *urb_context)
{}

static void ath10k_usb_cleanup_recv_urb(struct ath10k_urb_context *urb_context)
{}

static void ath10k_usb_free_pipe_resources(struct ath10k *ar,
					   struct ath10k_usb_pipe *pipe)
{}

static void ath10k_usb_cleanup_pipe_resources(struct ath10k *ar)
{}

/* hif usb rx/tx completion functions */

static void ath10k_usb_recv_complete(struct urb *urb)
{}

static void ath10k_usb_transmit_complete(struct urb *urb)
{}

/* pipe operations */
static void ath10k_usb_post_recv_transfers(struct ath10k *ar,
					   struct ath10k_usb_pipe *recv_pipe)
{}

static void ath10k_usb_flush_all(struct ath10k *ar)
{}

static void ath10k_usb_start_recv_pipes(struct ath10k *ar)
{}

static void ath10k_usb_tx_complete(struct ath10k *ar, struct sk_buff *skb)
{}

static void ath10k_usb_rx_complete(struct ath10k *ar, struct sk_buff *skb)
{}

static void ath10k_usb_io_comp_work(struct work_struct *work)
{}

#define ATH10K_USB_MAX_DIAG_CMD
#define ATH10K_USB_MAX_DIAG_RESP

static void ath10k_usb_destroy(struct ath10k *ar)
{}

static int ath10k_usb_hif_start(struct ath10k *ar)
{}

static int ath10k_usb_hif_tx_sg(struct ath10k *ar, u8 pipe_id,
				struct ath10k_hif_sg_item *items, int n_items)
{}

static void ath10k_usb_hif_stop(struct ath10k *ar)
{}

static u16 ath10k_usb_hif_get_free_queue_number(struct ath10k *ar, u8 pipe_id)
{}

static int ath10k_usb_submit_ctrl_out(struct ath10k *ar,
				      u8 req, u16 value, u16 index, void *data,
				      u32 size)
{}

static int ath10k_usb_submit_ctrl_in(struct ath10k *ar,
				     u8 req, u16 value, u16 index, void *data,
				     u32 size)
{}

static int ath10k_usb_ctrl_msg_exchange(struct ath10k *ar,
					u8 req_val, u8 *req_buf, u32 req_len,
					u8 resp_val, u8 *resp_buf,
					u32 *resp_len)
{}

static int ath10k_usb_hif_diag_read(struct ath10k *ar, u32 address, void *buf,
				    size_t buf_len)
{}

static int ath10k_usb_hif_diag_write(struct ath10k *ar, u32 address,
				     const void *data, int nbytes)
{}

static int ath10k_usb_bmi_exchange_msg(struct ath10k *ar,
				       void *req, u32 req_len,
				       void *resp, u32 *resp_len)
{}

static void ath10k_usb_hif_get_default_pipe(struct ath10k *ar,
					    u8 *ul_pipe, u8 *dl_pipe)
{}

static int ath10k_usb_hif_map_service_to_pipe(struct ath10k *ar, u16 svc_id,
					      u8 *ul_pipe, u8 *dl_pipe)
{}

static int ath10k_usb_hif_power_up(struct ath10k *ar,
				   enum ath10k_firmware_mode fw_mode)
{}

static void ath10k_usb_hif_power_down(struct ath10k *ar)
{}

#ifdef CONFIG_PM

static int ath10k_usb_hif_suspend(struct ath10k *ar)
{}

static int ath10k_usb_hif_resume(struct ath10k *ar)
{}
#endif

static const struct ath10k_hif_ops ath10k_usb_hif_ops =;

static u8 ath10k_usb_get_logical_pipe_num(u8 ep_address, int *urb_count)
{}

static int ath10k_usb_alloc_pipe_resources(struct ath10k *ar,
					   struct ath10k_usb_pipe *pipe,
					   int urb_cnt)
{}

static int ath10k_usb_setup_pipe_resources(struct ath10k *ar,
					   struct usb_interface *interface)
{}

static int ath10k_usb_create(struct ath10k *ar,
			     struct usb_interface *interface)
{}

static int ath10k_usb_napi_poll(struct napi_struct *ctx, int budget)
{}

/* ath10k usb driver registered functions */
static int ath10k_usb_probe(struct usb_interface *interface,
			    const struct usb_device_id *id)
{}

static void ath10k_usb_remove(struct usb_interface *interface)
{}

#ifdef CONFIG_PM

static int ath10k_usb_pm_suspend(struct usb_interface *interface,
				 pm_message_t message)
{}

static int ath10k_usb_pm_resume(struct usb_interface *interface)
{}

#else

#define ath10k_usb_pm_suspend
#define ath10k_usb_pm_resume

#endif

/* table of devices that work with this driver */
static struct usb_device_id ath10k_usb_ids[] =;

MODULE_DEVICE_TABLE(usb, ath10k_usb_ids);

static struct usb_driver ath10k_usb_driver =;

module_usb_driver();

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