Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7c90fc73 authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branches 'asoc/topic/ac97', 'asoc/topic/ak4104',...

Merge remote-tracking branches 'asoc/topic/ac97', 'asoc/topic/ak4104', 'asoc/topic/arizona', 'asoc/topic/atmel' and 'asoc/topic/codec-component' into asoc-next
Loading
Loading
Loading
Loading
+0 −8
Original line number Original line Diff line number Diff line
@@ -898,14 +898,6 @@ struct snd_soc_codec_driver {
	int (*resume)(struct snd_soc_codec *);
	int (*resume)(struct snd_soc_codec *);
	struct snd_soc_component_driver component_driver;
	struct snd_soc_component_driver component_driver;


	/* Default control and setup, added after probe() is run */
	const struct snd_kcontrol_new *controls;
	int num_controls;
	const struct snd_soc_dapm_widget *dapm_widgets;
	int num_dapm_widgets;
	const struct snd_soc_dapm_route *dapm_routes;
	int num_dapm_routes;

	/* codec wide operations */
	/* codec wide operations */
	int (*set_sysclk)(struct snd_soc_codec *codec,
	int (*set_sysclk)(struct snd_soc_codec *codec,
			  int clk_id, int source, unsigned int freq, int dir);
			  int clk_id, int source, unsigned int freq, int dir);
+4 −2
Original line number Original line Diff line number Diff line
@@ -308,9 +308,11 @@ static struct regmap *atmel_classd_codec_get_remap(struct device *dev)


static struct snd_soc_codec_driver soc_codec_dev_classd = {
static struct snd_soc_codec_driver soc_codec_dev_classd = {
	.probe		= atmel_classd_codec_probe,
	.probe		= atmel_classd_codec_probe,
	.get_regmap	= atmel_classd_codec_get_remap,
	.component_driver = {
		.controls		= atmel_classd_snd_controls,
		.controls		= atmel_classd_snd_controls,
		.num_controls		= ARRAY_SIZE(atmel_classd_snd_controls),
		.num_controls		= ARRAY_SIZE(atmel_classd_snd_controls),
	.get_regmap	= atmel_classd_codec_get_remap,
	},
};
};


/* codec dai component */
/* codec dai component */
+12 −8
Original line number Original line Diff line number Diff line
@@ -80,7 +80,7 @@ static struct atmel_pdmic_pdata *atmel_pdmic_dt_init(struct device *dev)


	if (pdata->mic_max_freq < pdata->mic_min_freq) {
	if (pdata->mic_max_freq < pdata->mic_min_freq) {
		dev_err(dev,
		dev_err(dev,
			"mic-max-freq should not less than mic-min-freq\n");
			"mic-max-freq should not be less than mic-min-freq\n");
		return ERR_PTR(-EINVAL);
		return ERR_PTR(-EINVAL);
	}
	}


@@ -115,8 +115,10 @@ static int atmel_pdmic_cpu_dai_startup(struct snd_pcm_substream *substream,
		return ret;
		return ret;


	ret =  clk_prepare_enable(dd->pclk);
	ret =  clk_prepare_enable(dd->pclk);
	if (ret)
	if (ret) {
		clk_disable_unprepare(dd->gclk);
		return ret;
		return ret;
	}


	/* Clear all bits in the Control Register(PDMIC_CR) */
	/* Clear all bits in the Control Register(PDMIC_CR) */
	regmap_write(dd->regmap, PDMIC_CR, 0);
	regmap_write(dd->regmap, PDMIC_CR, 0);
@@ -283,7 +285,7 @@ static const DECLARE_TLV_DB_RANGE(mic_gain_tlv,
	8, ARRAY_SIZE(mic_gain_table)-1, TLV_DB_SCALE_ITEM(-6500, 100, 0),
	8, ARRAY_SIZE(mic_gain_table)-1, TLV_DB_SCALE_ITEM(-6500, 100, 0),
);
);


int pdmic_get_mic_volsw(struct snd_kcontrol *kcontrol,
static int pdmic_get_mic_volsw(struct snd_kcontrol *kcontrol,
	struct snd_ctl_elem_value *ucontrol)
	struct snd_ctl_elem_value *ucontrol)
{
{
	struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
	struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
@@ -357,8 +359,10 @@ static int atmel_pdmic_codec_probe(struct snd_soc_codec *codec)


static struct snd_soc_codec_driver soc_codec_dev_pdmic = {
static struct snd_soc_codec_driver soc_codec_dev_pdmic = {
	.probe		= atmel_pdmic_codec_probe,
	.probe		= atmel_pdmic_codec_probe,
	.component_driver = {
		.controls		= atmel_pdmic_snd_controls,
		.controls		= atmel_pdmic_snd_controls,
		.num_controls		= ARRAY_SIZE(atmel_pdmic_snd_controls),
		.num_controls		= ARRAY_SIZE(atmel_pdmic_snd_controls),
	},
};
};


/* codec dai component */
/* codec dai component */
@@ -596,7 +600,7 @@ static int atmel_pdmic_probe(struct platform_device *pdev)
	dd->irq = platform_get_irq(pdev, 0);
	dd->irq = platform_get_irq(pdev, 0);
	if (dd->irq < 0) {
	if (dd->irq < 0) {
		ret = dd->irq;
		ret = dd->irq;
		dev_err(dev, "failed to could not get irq: %d\n", ret);
		dev_err(dev, "failed to get irq: %d\n", ret);
		return ret;
		return ret;
	}
	}


@@ -614,7 +618,7 @@ static int atmel_pdmic_probe(struct platform_device *pdev)
		return ret;
		return ret;
	}
	}


	/* The gclk clock frequency must always be tree times
	/* The gclk clock frequency must always be three times
	 * lower than the pclk clock frequency
	 * lower than the pclk clock frequency
	 */
	 */
	ret = clk_set_rate(dd->gclk, clk_get_rate(dd->pclk)/3);
	ret = clk_set_rate(dd->gclk, clk_get_rate(dd->pclk)/3);
@@ -649,7 +653,7 @@ static int atmel_pdmic_probe(struct platform_device *pdev)
		return ret;
		return ret;
	}
	}


	/* Get the minimal and maximal sample rate that micphone supports */
	/* Get the minimal and maximal sample rate that the microphone supports */
	atmel_pdmic_get_sample_rate(dd, &rate_min, &rate_max);
	atmel_pdmic_get_sample_rate(dd, &rate_min, &rate_max);


	/* register cpu dai */
	/* register cpu dai */
+8 −6
Original line number Original line Diff line number Diff line
@@ -1361,12 +1361,14 @@ static struct snd_soc_codec_driver soc_codec_dev_pm860x = {
	.set_bias_level	= pm860x_set_bias_level,
	.set_bias_level	= pm860x_set_bias_level,
	.get_regmap	= pm860x_get_regmap,
	.get_regmap	= pm860x_get_regmap,


	.component_driver = {
		.controls		= pm860x_snd_controls,
		.controls		= pm860x_snd_controls,
		.num_controls		= ARRAY_SIZE(pm860x_snd_controls),
		.num_controls		= ARRAY_SIZE(pm860x_snd_controls),
		.dapm_widgets		= pm860x_dapm_widgets,
		.dapm_widgets		= pm860x_dapm_widgets,
		.num_dapm_widgets	= ARRAY_SIZE(pm860x_dapm_widgets),
		.num_dapm_widgets	= ARRAY_SIZE(pm860x_dapm_widgets),
		.dapm_routes		= pm860x_dapm_routes,
		.dapm_routes		= pm860x_dapm_routes,
		.num_dapm_routes	= ARRAY_SIZE(pm860x_dapm_routes),
		.num_dapm_routes	= ARRAY_SIZE(pm860x_dapm_routes),
	},
};
};


static int pm860x_codec_probe(struct platform_device *pdev)
static int pm860x_codec_probe(struct platform_device *pdev)
+8 −6
Original line number Original line Diff line number Diff line
@@ -2525,12 +2525,14 @@ static int ab8500_codec_probe(struct snd_soc_codec *codec)


static struct snd_soc_codec_driver ab8500_codec_driver = {
static struct snd_soc_codec_driver ab8500_codec_driver = {
	.probe =		ab8500_codec_probe,
	.probe =		ab8500_codec_probe,
	.component_driver = {
		.controls =		ab8500_ctrls,
		.controls =		ab8500_ctrls,
		.num_controls =		ARRAY_SIZE(ab8500_ctrls),
		.num_controls =		ARRAY_SIZE(ab8500_ctrls),
		.dapm_widgets =		ab8500_dapm_widgets,
		.dapm_widgets =		ab8500_dapm_widgets,
		.num_dapm_widgets =	ARRAY_SIZE(ab8500_dapm_widgets),
		.num_dapm_widgets =	ARRAY_SIZE(ab8500_dapm_widgets),
		.dapm_routes =		ab8500_dapm_routes,
		.dapm_routes =		ab8500_dapm_routes,
		.num_dapm_routes =	ARRAY_SIZE(ab8500_dapm_routes),
		.num_dapm_routes =	ARRAY_SIZE(ab8500_dapm_routes),
	},
};
};


static int ab8500_codec_driver_probe(struct platform_device *pdev)
static int ab8500_codec_driver_probe(struct platform_device *pdev)
Loading