#include <linux/module.h>
#include <linux/fs.h>
#include <linux/interrupt.h>
#include <linux/io.h>
#include <linux/firmware.h>
#include <linux/pci.h>
#include <linux/pm_runtime.h>
#include <linux/pm_qos.h>
#include <linux/async.h>
#include <linux/acpi.h>
#include <linux/sysfs.h>
#include <sound/core.h>
#include <sound/soc.h>
#include <asm/platform_sst_audio.h>
#include "../sst-mfld-platform.h"
#include "sst.h"
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static inline bool sst_is_process_reply(u32 msg_id)
{ … }
static inline bool sst_validate_mailbox_size(unsigned int size)
{ … }
static irqreturn_t intel_sst_interrupt_mrfld(int irq, void *context)
{ … }
static irqreturn_t intel_sst_irq_thread_mrfld(int irq, void *context)
{ … }
static int sst_save_dsp_context_v2(struct intel_sst_drv *sst)
{ … }
static struct intel_sst_ops mrfld_ops = …;
int sst_driver_ops(struct intel_sst_drv *sst)
{ … }
void sst_process_pending_msg(struct work_struct *work)
{ … }
static int sst_workqueue_init(struct intel_sst_drv *ctx)
{ … }
static void sst_init_locks(struct intel_sst_drv *ctx)
{ … }
int sst_alloc_drv_context(struct intel_sst_drv **ctx,
struct device *dev, unsigned short dev_id)
{ … }
EXPORT_SYMBOL_GPL(…);
static ssize_t firmware_version_show(struct device *dev,
struct device_attribute *attr, char *buf)
{ … }
static DEVICE_ATTR_RO(firmware_version);
static const struct attribute *sst_fw_version_attrs[] = …;
static const struct attribute_group sst_fw_version_attr_group = …;
int sst_context_init(struct intel_sst_drv *ctx)
{ … }
EXPORT_SYMBOL_GPL(…);
void sst_context_cleanup(struct intel_sst_drv *ctx)
{ … }
EXPORT_SYMBOL_GPL(…);
void sst_configure_runtime_pm(struct intel_sst_drv *ctx)
{ … }
EXPORT_SYMBOL_GPL(…);
static int intel_sst_runtime_suspend(struct device *dev)
{ … }
static int intel_sst_suspend(struct device *dev)
{ … }
static int intel_sst_resume(struct device *dev)
{ … }
const struct dev_pm_ops intel_sst_pm = …;
EXPORT_SYMBOL_GPL(…);