#include <linux/component.h>
#include <linux/device.h>
#include <linux/irq.h>
#include <linux/irqdomain.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/pm_runtime.h>
#include <linux/regmap.h>
#include <linux/slab.h>
#include <linux/soundwire/sdw.h>
#include <linux/soundwire/sdw_registers.h>
#include <linux/soundwire/sdw_type.h>
#include <sound/soc-dapm.h>
#include <sound/soc.h>
#include "wcd937x.h"
static const struct wcd937x_sdw_ch_info wcd937x_sdw_rx_ch_info[] = …;
static const struct wcd937x_sdw_ch_info wcd937x_sdw_tx_ch_info[] = …;
static struct sdw_dpn_prop wcd937x_dpn_prop[WCD937X_MAX_SWR_PORTS] = …;
struct device *wcd937x_sdw_device_get(struct device_node *np)
{ … }
EXPORT_SYMBOL_GPL(…);
int wcd937x_sdw_hw_params(struct wcd937x_sdw_priv *wcd,
struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai)
{ … }
EXPORT_SYMBOL_GPL(…);
static int wcd9370_update_status(struct sdw_slave *slave, enum sdw_slave_status status)
{ … }
static int wcd9370_interrupt_callback(struct sdw_slave *slave,
struct sdw_slave_intr_status *status)
{ … }
static const struct reg_default wcd937x_defaults[] = …;
static bool wcd937x_rdwr_register(struct device *dev, unsigned int reg)
{ … }
static bool wcd937x_readable_register(struct device *dev, unsigned int reg)
{ … }
static bool wcd937x_volatile_register(struct device *dev, unsigned int reg)
{ … }
static const struct regmap_config wcd937x_regmap_config = …;
static const struct sdw_slave_ops wcd9370_slave_ops = …;
static int wcd937x_sdw_component_bind(struct device *dev,
struct device *master, void *data)
{ … }
static void wcd937x_sdw_component_unbind(struct device *dev,
struct device *master, void *data)
{ … }
static const struct component_ops wcd937x_sdw_component_ops = …;
static int wcd9370_probe(struct sdw_slave *pdev,
const struct sdw_device_id *id)
{ … }
static int wcd9370_remove(struct sdw_slave *pdev)
{ … }
static const struct sdw_device_id wcd9370_slave_id[] = …;
MODULE_DEVICE_TABLE(sdw, wcd9370_slave_id);
static int __maybe_unused wcd937x_sdw_runtime_suspend(struct device *dev)
{ … }
static int __maybe_unused wcd937x_sdw_runtime_resume(struct device *dev)
{ … }
static const struct dev_pm_ops wcd937x_sdw_pm_ops = …;
static struct sdw_driver wcd9370_codec_driver = …;
module_sdw_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;