#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/pci.h>
#include <linux/slab.h>
#include <linux/errno.h>
#include <linux/interrupt.h>
#include "adf_accel_devices.h"
#include "adf_common_drv.h"
#include "adf_cfg.h"
#include "adf_cfg_strings.h"
#include "adf_cfg_common.h"
#include "adf_transport_access_macros.h"
#include "adf_transport_internal.h"
#define ADF_MAX_NUM_VFS …
static struct workqueue_struct *adf_misc_wq;
static int adf_enable_msix(struct adf_accel_dev *accel_dev)
{ … }
static void adf_disable_msix(struct adf_accel_pci *pci_dev_info)
{ … }
static irqreturn_t adf_msix_isr_bundle(int irq, void *bank_ptr)
{ … }
#ifdef CONFIG_PCI_IOV
void adf_enable_vf2pf_interrupts(struct adf_accel_dev *accel_dev, u32 vf_mask)
{ … }
void adf_disable_all_vf2pf_interrupts(struct adf_accel_dev *accel_dev)
{ … }
static u32 adf_disable_pending_vf2pf_interrupts(struct adf_accel_dev *accel_dev)
{ … }
static bool adf_handle_vf2pf_int(struct adf_accel_dev *accel_dev)
{ … }
#endif
static bool adf_handle_pm_int(struct adf_accel_dev *accel_dev)
{ … }
static bool adf_handle_ras_int(struct adf_accel_dev *accel_dev)
{ … }
static irqreturn_t adf_msix_isr_ae(int irq, void *dev_ptr)
{ … }
static void adf_free_irqs(struct adf_accel_dev *accel_dev)
{ … }
static int adf_request_irqs(struct adf_accel_dev *accel_dev)
{ … }
static int adf_isr_alloc_msix_vectors_data(struct adf_accel_dev *accel_dev)
{ … }
static void adf_isr_free_msix_vectors_data(struct adf_accel_dev *accel_dev)
{ … }
static int adf_setup_bh(struct adf_accel_dev *accel_dev)
{ … }
static void adf_cleanup_bh(struct adf_accel_dev *accel_dev)
{ … }
void adf_isr_resource_free(struct adf_accel_dev *accel_dev)
{ … }
EXPORT_SYMBOL_GPL(…);
int adf_isr_resource_alloc(struct adf_accel_dev *accel_dev)
{ … }
EXPORT_SYMBOL_GPL(…);
int __init adf_init_misc_wq(void)
{ … }
void adf_exit_misc_wq(void)
{ … }
bool adf_misc_wq_queue_work(struct work_struct *work)
{ … }
bool adf_misc_wq_queue_delayed_work(struct delayed_work *work,
unsigned long delay)
{ … }