#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/of.h>
#include <linux/regmap.h>
#include <sound/soc.h>
#include "rt715.h"
#include "rt715-sdw.h"
static bool rt715_readable_register(struct device *dev, unsigned int reg)
{ … }
static bool rt715_volatile_register(struct device *dev, unsigned int reg)
{ … }
static int rt715_sdw_read(void *context, unsigned int reg, unsigned int *val)
{ … }
static int rt715_sdw_write(void *context, unsigned int reg, unsigned int val)
{ … }
static const struct regmap_config rt715_regmap = …;
static const struct regmap_config rt715_sdw_regmap = …;
int hda_to_sdw(unsigned int nid, unsigned int verb, unsigned int payload,
unsigned int *sdw_addr_h, unsigned int *sdw_data_h,
unsigned int *sdw_addr_l, unsigned int *sdw_data_l)
{ … }
EXPORT_SYMBOL(…);
static int rt715_update_status(struct sdw_slave *slave,
enum sdw_slave_status status)
{ … }
static int rt715_read_prop(struct sdw_slave *slave)
{ … }
static int rt715_bus_config(struct sdw_slave *slave,
struct sdw_bus_params *params)
{ … }
static const struct sdw_slave_ops rt715_slave_ops = …;
static int rt715_sdw_probe(struct sdw_slave *slave,
const struct sdw_device_id *id)
{ … }
static int rt715_sdw_remove(struct sdw_slave *slave)
{ … }
static const struct sdw_device_id rt715_id[] = …;
MODULE_DEVICE_TABLE(sdw, rt715_id);
static int __maybe_unused rt715_dev_suspend(struct device *dev)
{ … }
#define RT715_PROBE_TIMEOUT …
static int __maybe_unused rt715_dev_resume(struct device *dev)
{ … }
static const struct dev_pm_ops rt715_pm = …;
static struct sdw_driver rt715_sdw_driver = …;
module_sdw_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;