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

// SPDX-License-Identifier: GPL-2.0-only
/*
 * Interrupt bottom half (BH).
 *
 * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
 * Copyright (c) 2010, ST-Ericsson
 */
#include <linux/gpio/consumer.h>
#include <net/mac80211.h>

#include "bh.h"
#include "wfx.h"
#include "hwio.h"
#include "traces.h"
#include "hif_rx.h"
#include "hif_api_cmd.h"

static void device_wakeup(struct wfx_dev *wdev)
{}

static void device_release(struct wfx_dev *wdev)
{}

static int rx_helper(struct wfx_dev *wdev, size_t read_len, int *is_cnf)
{}

static int bh_work_rx(struct wfx_dev *wdev, int max_msg, int *num_cnf)
{}

static void tx_helper(struct wfx_dev *wdev, struct wfx_hif_msg *hif)
{}

static int bh_work_tx(struct wfx_dev *wdev, int max_msg)
{}

/* In SDIO mode, it is necessary to make an access to a register to acknowledge last received
 * message. It could be possible to restrict this acknowledge to SDIO mode and only if last
 * operation was rx.
 */
static void ack_sdio_data(struct wfx_dev *wdev)
{}

static void bh_work(struct work_struct *work)
{}

/* An IRQ from chip did occur */
void wfx_bh_request_rx(struct wfx_dev *wdev)
{}

/* Driver want to send data */
void wfx_bh_request_tx(struct wfx_dev *wdev)
{}

/* If IRQ is not available, this function allow to manually poll the control register and simulate
 * an IRQ ahen an event happened.
 *
 * Note that the device has a bug: If an IRQ raise while host read control register, the IRQ is
 * lost. So, use this function carefully (only duing device initialisation).
 */
void wfx_bh_poll_irq(struct wfx_dev *wdev)
{}

void wfx_bh_register(struct wfx_dev *wdev)
{}

void wfx_bh_unregister(struct wfx_dev *wdev)
{}