#include <linux/delay.h>
#include <linux/device.h>
#include <linux/mod_devicetable.h>
#include <linux/soundwire/sdw.h>
#include <linux/soundwire/sdw_type.h>
#include <linux/soundwire/sdw_registers.h>
#include <linux/module.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <sound/soc.h>
#include "rt700.h"
#include "rt700-sdw.h"
static bool rt700_readable_register(struct device *dev, unsigned int reg)
{ … }
static bool rt700_volatile_register(struct device *dev, unsigned int reg)
{ … }
static int rt700_sdw_read(void *context, unsigned int reg, unsigned int *val)
{ … }
static int rt700_sdw_write(void *context, unsigned int reg, unsigned int val)
{ … }
static const struct regmap_config rt700_regmap = …;
static const struct regmap_config rt700_sdw_regmap = …;
static int rt700_update_status(struct sdw_slave *slave,
enum sdw_slave_status status)
{ … }
static int rt700_read_prop(struct sdw_slave *slave)
{ … }
static int rt700_bus_config(struct sdw_slave *slave,
struct sdw_bus_params *params)
{ … }
static int rt700_interrupt_callback(struct sdw_slave *slave,
struct sdw_slave_intr_status *status)
{ … }
static const struct sdw_slave_ops rt700_slave_ops = …;
static int rt700_sdw_probe(struct sdw_slave *slave,
const struct sdw_device_id *id)
{ … }
static int rt700_sdw_remove(struct sdw_slave *slave)
{ … }
static const struct sdw_device_id rt700_id[] = …;
MODULE_DEVICE_TABLE(sdw, rt700_id);
static int __maybe_unused rt700_dev_suspend(struct device *dev)
{ … }
static int __maybe_unused rt700_dev_system_suspend(struct device *dev)
{ … }
#define RT700_PROBE_TIMEOUT …
static int __maybe_unused rt700_dev_resume(struct device *dev)
{ … }
static const struct dev_pm_ops rt700_pm = …;
static struct sdw_driver rt700_sdw_driver = …;
module_sdw_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;