#include <linux/delay.h>
#include <linux/device.h>
#include <linux/module.h>
#include <linux/mod_devicetable.h>
#include <linux/pm_runtime.h>
#include <linux/soundwire/sdw_registers.h>
#include "rt722-sdca.h"
#include "rt722-sdca-sdw.h"
static bool rt722_sdca_readable_register(struct device *dev, unsigned int reg)
{ … }
static bool rt722_sdca_volatile_register(struct device *dev, unsigned int reg)
{ … }
static bool rt722_sdca_mbq_readable_register(struct device *dev, unsigned int reg)
{ … }
static bool rt722_sdca_mbq_volatile_register(struct device *dev, unsigned int reg)
{ … }
static const struct regmap_config rt722_sdca_regmap = …;
static const struct regmap_config rt722_sdca_mbq_regmap = …;
static int rt722_sdca_update_status(struct sdw_slave *slave,
enum sdw_slave_status status)
{ … }
static int rt722_sdca_read_prop(struct sdw_slave *slave)
{ … }
static int rt722_sdca_interrupt_callback(struct sdw_slave *slave,
struct sdw_slave_intr_status *status)
{ … }
static const struct sdw_slave_ops rt722_sdca_slave_ops = …;
static int rt722_sdca_sdw_probe(struct sdw_slave *slave,
const struct sdw_device_id *id)
{ … }
static int rt722_sdca_sdw_remove(struct sdw_slave *slave)
{ … }
static const struct sdw_device_id rt722_sdca_id[] = …;
MODULE_DEVICE_TABLE(sdw, rt722_sdca_id);
static int __maybe_unused rt722_sdca_dev_suspend(struct device *dev)
{ … }
static int __maybe_unused rt722_sdca_dev_system_suspend(struct device *dev)
{ … }
#define RT722_PROBE_TIMEOUT …
static int __maybe_unused rt722_sdca_dev_resume(struct device *dev)
{ … }
static const struct dev_pm_ops rt722_sdca_pm = …;
static struct sdw_driver rt722_sdca_sdw_driver = …;
module_sdw_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;