Unverified Commit 536aba1d authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown
Browse files

ASoC: soc-component: move snd_soc_component_initialize() to soc-component.c

parent c7d75b59
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -324,6 +324,10 @@ static inline int snd_soc_component_cache_sync(
	return regcache_sync(component->regmap);
}

int snd_soc_component_initialize(struct snd_soc_component *component,
				 const struct snd_soc_component_driver *driver,
				 struct device *dev, const char *name);

/* component IO */
int snd_soc_component_read(struct snd_soc_component *component,
			   unsigned int reg, unsigned int *val);
+16 −0
Original line number Diff line number Diff line
@@ -8,6 +8,22 @@
#include <linux/module.h>
#include <sound/soc.h>

int snd_soc_component_initialize(struct snd_soc_component *component,
				 const struct snd_soc_component_driver *driver,
				 struct device *dev, const char *name)
{
	INIT_LIST_HEAD(&component->dai_list);
	INIT_LIST_HEAD(&component->dobj_list);
	INIT_LIST_HEAD(&component->card_list);
	mutex_init(&component->io_mutex);

	component->name		= name;
	component->dev		= dev;
	component->driver	= driver;

	return 0;
}

/**
 * snd_soc_component_set_sysclk - configure COMPONENT system or master clock.
 * @component: COMPONENT
+8 −21
Original line number Diff line number Diff line
@@ -2378,26 +2378,6 @@ static int snd_soc_register_dais(struct snd_soc_component *component,
	return ret;
}

static int snd_soc_component_initialize(struct snd_soc_component *component,
	const struct snd_soc_component_driver *driver, struct device *dev)
{
	INIT_LIST_HEAD(&component->dai_list);
	INIT_LIST_HEAD(&component->dobj_list);
	INIT_LIST_HEAD(&component->card_list);
	mutex_init(&component->io_mutex);

	component->name = fmt_single_name(dev, &component->id);
	if (!component->name) {
		dev_err(dev, "ASoC: Failed to allocate name\n");
		return -ENOMEM;
	}

	component->dev = dev;
	component->driver = driver;

	return 0;
}

#define ENDIANNESS_MAP(name) \
	(SNDRV_PCM_FMTBIT_##name##LE | SNDRV_PCM_FMTBIT_##name##BE)
static u64 endianness_format_map[] = {
@@ -2460,12 +2440,19 @@ int snd_soc_add_component(struct device *dev,
			struct snd_soc_dai_driver *dai_drv,
			int num_dai)
{
	const char *name = fmt_single_name(dev, &component->id);
	int ret;
	int i;

	if (!name) {
		dev_err(dev, "ASoC: Failed to allocate name\n");
		return -ENOMEM;
	}

	mutex_lock(&client_mutex);

	ret = snd_soc_component_initialize(component, component_driver, dev);
	ret = snd_soc_component_initialize(component, component_driver,
					   dev, name);
	if (ret)
		goto err_free;