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

Commit dacff834 authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branches 'asoc/topic/txx9', 'asoc/topic/wm8750',...

Merge remote-tracking branches 'asoc/topic/txx9', 'asoc/topic/wm8750', 'asoc/topic/wm8804' and 'asoc/topic/wm8904' into asoc-next
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ WM8904 audio CODEC
This device supports I2C only.

Required properties:
  - compatible: "wlf,wm8904"
  - compatible: "wlf,wm8904" or "wlf,wm8912"
  - reg: the I2C address of the device.
  - clock-names: "mclk"
  - clocks: reference to
+1 −1
Original line number Diff line number Diff line
@@ -323,7 +323,7 @@ static const struct snd_soc_dapm_widget wm8750_dapm_widgets[] = {
	SND_SOC_DAPM_OUTPUT("ROUT2"),
	SND_SOC_DAPM_OUTPUT("MONO1"),
	SND_SOC_DAPM_OUTPUT("OUT3"),
	SND_SOC_DAPM_OUTPUT("VREF"),
	SND_SOC_DAPM_VMID("VREF"),

	SND_SOC_DAPM_INPUT("LINPUT1"),
	SND_SOC_DAPM_INPUT("LINPUT2"),
+2 −2
Original line number Diff line number Diff line
@@ -648,7 +648,7 @@ static struct snd_soc_dai_driver wm8804_dai = {
	.symmetric_rates = 1
};

static struct snd_soc_codec_driver soc_codec_dev_wm8804 = {
static const struct snd_soc_codec_driver soc_codec_dev_wm8804 = {
	.probe = wm8804_probe,
	.remove = wm8804_remove,
	.set_bias_level = wm8804_set_bias_level,
@@ -664,7 +664,7 @@ static const struct of_device_id wm8804_of_match[] = {
};
MODULE_DEVICE_TABLE(of, wm8804_of_match);

static struct regmap_config wm8804_regmap_config = {
static const struct regmap_config wm8804_regmap_config = {
	.reg_bits = 8,
	.val_bits = 8,

+30 −1
Original line number Diff line number Diff line
@@ -2105,6 +2105,24 @@ static const struct regmap_config wm8904_regmap = {
	.num_reg_defaults = ARRAY_SIZE(wm8904_reg_defaults),
};

#ifdef CONFIG_OF
static enum wm8904_type wm8904_data = WM8904;
static enum wm8904_type wm8912_data = WM8912;

static const struct of_device_id wm8904_of_match[] = {
	{
		.compatible = "wlf,wm8904",
		.data = &wm8904_data,
	}, {
		.compatible = "wlf,wm8912",
		.data = &wm8912_data,
	}, {
		/* sentinel */
	}
};
MODULE_DEVICE_TABLE(of, wm8904_of_match);
#endif

static int wm8904_i2c_probe(struct i2c_client *i2c,
			    const struct i2c_device_id *id)
{
@@ -2132,7 +2150,17 @@ static int wm8904_i2c_probe(struct i2c_client *i2c,
		return ret;
	}

	if (i2c->dev.of_node) {
		const struct of_device_id *match;

		match = of_match_node(wm8904_of_match, i2c->dev.of_node);
		if (match == NULL)
			return -EINVAL;
		wm8904->devtype = *((enum wm8904_type *)match->data);
	} else {
		wm8904->devtype = id->driver_data;
	}

	i2c_set_clientdata(i2c, wm8904);
	wm8904->pdata = i2c->dev.platform_data;

@@ -2266,6 +2294,7 @@ static struct i2c_driver wm8904_i2c_driver = {
	.driver = {
		.name = "wm8904",
		.owner = THIS_MODULE,
		.of_match_table = of_match_ptr(wm8904_of_match),
	},
	.probe =    wm8904_i2c_probe,
	.remove =   wm8904_i2c_remove,
+3 −3
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ static const char *wm8995_supply_names[WM8995_NUM_SUPPLIES] = {
	"MICVDD"
};

static struct reg_default wm8995_reg_defaults[] = {
static const struct reg_default wm8995_reg_defaults[] = {
	{ 0, 0x8995 },
	{ 5, 0x0100 },
	{ 16, 0x000b },
@@ -2186,7 +2186,7 @@ static struct snd_soc_dai_driver wm8995_dai[] = {
	}
};

static struct snd_soc_codec_driver soc_codec_dev_wm8995 = {
static const struct snd_soc_codec_driver soc_codec_dev_wm8995 = {
	.probe = wm8995_probe,
	.remove = wm8995_remove,
	.set_bias_level = wm8995_set_bias_level,
@@ -2200,7 +2200,7 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8995 = {
	.num_dapm_routes = ARRAY_SIZE(wm8995_intercon),
};

static struct regmap_config wm8995_regmap = {
static const struct regmap_config wm8995_regmap = {
	.reg_bits = 16,
	.val_bits = 16,

Loading