#include <linux/auxiliary_bus.h>
#include <linux/completion.h>
#include <linux/debugfs.h>
#include <linux/ktime.h>
#include <linux/mod_devicetable.h>
#include <linux/module.h>
#include <linux/pm_runtime.h>
#include <linux/slab.h>
#include <linux/uaccess.h>
#include <sound/sof/header.h>
#include "sof-client.h"
#define MAX_IPC_FLOOD_DURATION_MS …
#define MAX_IPC_FLOOD_COUNT …
#define IPC_FLOOD_TEST_RESULT_LEN …
#define SOF_IPC_CLIENT_SUSPEND_DELAY_MS …
#define DEBUGFS_IPC_FLOOD_COUNT …
#define DEBUGFS_IPC_FLOOD_DURATION …
struct sof_ipc_flood_priv { … };
static int sof_ipc_flood_dfs_open(struct inode *inode, struct file *file)
{ … }
static int sof_debug_ipc_flood_test(struct sof_client_dev *cdev,
bool flood_duration_test,
unsigned long ipc_duration_ms,
unsigned long ipc_count)
{ … }
static ssize_t sof_ipc_flood_dfs_write(struct file *file, const char __user *buffer,
size_t count, loff_t *ppos)
{ … }
static ssize_t sof_ipc_flood_dfs_read(struct file *file, char __user *buffer,
size_t count, loff_t *ppos)
{ … }
static int sof_ipc_flood_dfs_release(struct inode *inode, struct file *file)
{ … }
static const struct file_operations sof_ipc_flood_fops = …;
static int sof_ipc_flood_probe(struct auxiliary_device *auxdev,
const struct auxiliary_device_id *id)
{ … }
static void sof_ipc_flood_remove(struct auxiliary_device *auxdev)
{ … }
static const struct auxiliary_device_id sof_ipc_flood_client_id_table[] = …;
MODULE_DEVICE_TABLE(auxiliary, sof_ipc_flood_client_id_table);
static struct auxiliary_driver sof_ipc_flood_client_drv = …;
module_auxiliary_driver(…) …;
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_IMPORT_NS(…);