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

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

Merge remote-tracking branches 'asoc/fix/blackfin', 'asoc/fix/da9055',...

Merge remote-tracking branches 'asoc/fix/blackfin', 'asoc/fix/da9055', 'asoc/fix/davinci', 'asoc/fix/fsl', 'asoc/fix/fsl-esai', 'asoc/fix/max98090', 'asoc/fix/rt5640', 'asoc/fix/samsung' and 'asoc/fix/txx9aclc-ac97' into asoc-linus
Loading
+10 −2
Original line number Diff line number Diff line
@@ -53,17 +53,25 @@ static int da9055_i2c_remove(struct i2c_client *i2c)
	return 0;
}

/*
 * DO NOT change the device Ids. The naming is intentionally specific as both
 * the PMIC and CODEC parts of this chip are instantiated separately as I2C
 * devices (both have configurable I2C addresses, and are to all intents and
 * purposes separate). As a result there are specific DA9055 ids for PMIC
 * and CODEC, which must be different to operate together.
 */
static struct i2c_device_id da9055_i2c_id[] = {
	{"da9055", 0},
	{"da9055-pmic", 0},
	{ }
};
MODULE_DEVICE_TABLE(i2c, da9055_i2c_id);

static struct i2c_driver da9055_i2c_driver = {
	.probe = da9055_i2c_probe,
	.remove = da9055_i2c_remove,
	.id_table = da9055_i2c_id,
	.driver = {
		.name = "da9055",
		.name = "da9055-pmic",
		.owner = THIS_MODULE,
	},
};
+5 −6
Original line number Diff line number Diff line
@@ -11,7 +11,7 @@ config SND_BF5XX_I2S

config SND_BF5XX_SOC_SSM2602
	tristate "SoC SSM2602 Audio Codec Add-On Card support"
	depends on SND_BF5XX_I2S && (SPI_MASTER || I2C)
	depends on SND_BF5XX_I2S && SND_SOC_I2C_AND_SPI
	select SND_BF5XX_SOC_I2S if !BF60x
	select SND_BF6XX_SOC_I2S if BF60x
	select SND_SOC_SSM2602
@@ -21,10 +21,9 @@ config SND_BF5XX_SOC_SSM2602

config SND_SOC_BFIN_EVAL_ADAU1701
	tristate "Support for the EVAL-ADAU1701MINIZ board on Blackfin eval boards"
	depends on SND_BF5XX_I2S
	depends on SND_BF5XX_I2S && I2C
	select SND_BF5XX_SOC_I2S
	select SND_SOC_ADAU1701
	select I2C
	help
	  Say Y if you want to add support for the Analog Devices EVAL-ADAU1701MINIZ
	  board connected to one of the Blackfin evaluation boards like the
@@ -45,7 +44,7 @@ config SND_SOC_BFIN_EVAL_ADAU1373

config SND_SOC_BFIN_EVAL_ADAV80X
	tristate "Support for the EVAL-ADAV80X boards on Blackfin eval boards"
	depends on SND_BF5XX_I2S && (SPI_MASTER || I2C)
	depends on SND_BF5XX_I2S && SND_SOC_I2C_AND_SPI
	select SND_BF5XX_SOC_I2S
	select SND_SOC_ADAV80X
	help
@@ -58,7 +57,7 @@ config SND_SOC_BFIN_EVAL_ADAV80X

config SND_BF5XX_SOC_AD1836
	tristate "SoC AD1836 Audio support for BF5xx"
	depends on SND_BF5XX_I2S
	depends on SND_BF5XX_I2S && SPI_MASTER
	select SND_BF5XX_SOC_I2S
	select SND_SOC_AD1836
	help
@@ -66,7 +65,7 @@ config SND_BF5XX_SOC_AD1836

config SND_BF5XX_SOC_AD193X
	tristate "SoC AD193X Audio support for Blackfin"
	depends on SND_BF5XX_I2S
	depends on SND_BF5XX_I2S && SND_SOC_I2C_AND_SPI
	select SND_BF5XX_SOC_I2S
	select SND_SOC_AD193X
	help
+9 −2
Original line number Diff line number Diff line
@@ -1523,8 +1523,15 @@ static int da9055_remove(struct i2c_client *client)
	return 0;
}

/*
 * DO NOT change the device Ids. The naming is intentionally specific as both
 * the CODEC and PMIC parts of this chip are instantiated separately as I2C
 * devices (both have configurable I2C addresses, and are to all intents and
 * purposes separate). As a result there are specific DA9055 Ids for CODEC
 * and PMIC, which must be different to operate together.
 */
static const struct i2c_device_id da9055_i2c_id[] = {
	{ "da9055", 0 },
	{ "da9055-codec", 0 },
	{ }
};
MODULE_DEVICE_TABLE(i2c, da9055_i2c_id);
@@ -1532,7 +1539,7 @@ MODULE_DEVICE_TABLE(i2c, da9055_i2c_id);
/* I2C codec control layer */
static struct i2c_driver da9055_i2c_driver = {
	.driver = {
		.name = "da9055",
		.name = "da9055-codec",
		.owner = THIS_MODULE,
	},
	.probe		= da9055_i2c_probe,
+11 −10
Original line number Diff line number Diff line
@@ -336,6 +336,7 @@ static bool max98090_readable_register(struct device *dev, unsigned int reg)
	case M98090_REG_RECORD_TDM_SLOT:
	case M98090_REG_SAMPLE_RATE:
	case M98090_REG_DMIC34_BIQUAD_BASE ... M98090_REG_DMIC34_BIQUAD_BASE + 0x0E:
	case M98090_REG_REVISION_ID:
		return true;
	default:
		return false;
@@ -1769,16 +1770,6 @@ static int max98090_set_bias_level(struct snd_soc_codec *codec,

	switch (level) {
	case SND_SOC_BIAS_ON:
		if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) {
			ret = regcache_sync(max98090->regmap);

			if (ret != 0) {
				dev_err(codec->dev,
					"Failed to sync cache: %d\n", ret);
				return ret;
			}
		}

		if (max98090->jack_state == M98090_JACK_STATE_HEADSET) {
			/*
			 * Set to normal bias level.
@@ -1792,6 +1783,16 @@ static int max98090_set_bias_level(struct snd_soc_codec *codec,
		break;

	case SND_SOC_BIAS_STANDBY:
		if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) {
			ret = regcache_sync(max98090->regmap);
			if (ret != 0) {
				dev_err(codec->dev,
					"Failed to sync cache: %d\n", ret);
				return ret;
			}
		}
		break;

	case SND_SOC_BIAS_OFF:
		/* Set internal pull-up to lowest power mode */
		snd_soc_update_bits(codec, M98090_REG_JACK_DETECT,
+1 −0
Original line number Diff line number Diff line
@@ -2093,6 +2093,7 @@ MODULE_DEVICE_TABLE(i2c, rt5640_i2c_id);
#ifdef CONFIG_ACPI
static struct acpi_device_id rt5640_acpi_match[] = {
	{ "INT33CA", 0 },
	{ "10EC5640", 0 },
	{ },
};
MODULE_DEVICE_TABLE(acpi, rt5640_acpi_match);
Loading