linux/sound/soc/codecs/wcd937x-sdw.c

// SPDX-License-Identifier: GPL-2.0-only
// Copyright (c) 2023-2024 Qualcomm Innovation Center, Inc. All rights reserved.

#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)
{}

/*
 * Handle Soundwire out-of-band interrupt event by triggering
 * the first irq of the slave_irq irq domain, which then will
 * be handled by the regmap_irq threaded irq.
 * Looping is to ensure no interrupts were missed in the process.
 */
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();