linux/drivers/staging/wfx/bh.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-only */
   2/*
   3 * Interrupt bottom half.
   4 *
   5 * Copyright (c) 2017-2020, Silicon Laboratories, Inc.
   6 * Copyright (c) 2010, ST-Ericsson
   7 */
   8#ifndef WFX_BH_H
   9#define WFX_BH_H
  10
  11#include <linux/atomic.h>
  12#include <linux/wait.h>
  13#include <linux/workqueue.h>
  14
  15struct wfx_dev;
  16
  17struct wfx_hif {
  18        struct work_struct bh;
  19        struct completion ctrl_ready;
  20        wait_queue_head_t tx_buffers_empty;
  21        atomic_t ctrl_reg;
  22        int rx_seqnum;
  23        int tx_seqnum;
  24        int tx_buffers_used;
  25};
  26
  27void wfx_bh_register(struct wfx_dev *wdev);
  28void wfx_bh_unregister(struct wfx_dev *wdev);
  29void wfx_bh_request_rx(struct wfx_dev *wdev);
  30void wfx_bh_request_tx(struct wfx_dev *wdev);
  31void wfx_bh_poll_irq(struct wfx_dev *wdev);
  32
  33#endif /* WFX_BH_H */
  34