diff options
| author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-24 18:56:45 -0500 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-02-24 18:56:45 -0500 |
| commit | 8301bb240d0f1b1521b83342f3af8edab7131361 (patch) | |
| tree | b866e77863d534d2447f4aaeeba77ea6b307e2bd /sound/soc/codecs | |
| parent | 12f287878afc39acea00b3e62baf72c79878c427 (diff) | |
| parent | cfbf8d4857c26a8a307fb7cd258074c9dcd8c691 (diff) | |
Merge 3.14-rc4 into tty-next
We want the tty revert here as well.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound/soc/codecs')
| -rw-r--r-- | sound/soc/codecs/da9055.c | 11 | ||||
| -rw-r--r-- | sound/soc/codecs/max98090.c | 21 | ||||
| -rw-r--r-- | sound/soc/codecs/rt5640.c | 1 | ||||
| -rw-r--r-- | sound/soc/codecs/wm8993.c | 1 |
4 files changed, 21 insertions, 13 deletions
diff --git a/sound/soc/codecs/da9055.c b/sound/soc/codecs/da9055.c index 52b79a487ac7..422812613a28 100644 --- a/sound/soc/codecs/da9055.c +++ b/sound/soc/codecs/da9055.c | |||
| @@ -1523,8 +1523,15 @@ static int da9055_remove(struct i2c_client *client) | |||
| 1523 | return 0; | 1523 | return 0; |
| 1524 | } | 1524 | } |
| 1525 | 1525 | ||
| 1526 | /* | ||
| 1527 | * DO NOT change the device Ids. The naming is intentionally specific as both | ||
| 1528 | * the CODEC and PMIC parts of this chip are instantiated separately as I2C | ||
| 1529 | * devices (both have configurable I2C addresses, and are to all intents and | ||
| 1530 | * purposes separate). As a result there are specific DA9055 Ids for CODEC | ||
| 1531 | * and PMIC, which must be different to operate together. | ||
| 1532 | */ | ||
| 1526 | static const struct i2c_device_id da9055_i2c_id[] = { | 1533 | static const struct i2c_device_id da9055_i2c_id[] = { |
| 1527 | { "da9055", 0 }, | 1534 | { "da9055-codec", 0 }, |
| 1528 | { } | 1535 | { } |
| 1529 | }; | 1536 | }; |
| 1530 | MODULE_DEVICE_TABLE(i2c, da9055_i2c_id); | 1537 | MODULE_DEVICE_TABLE(i2c, da9055_i2c_id); |
| @@ -1532,7 +1539,7 @@ MODULE_DEVICE_TABLE(i2c, da9055_i2c_id); | |||
| 1532 | /* I2C codec control layer */ | 1539 | /* I2C codec control layer */ |
| 1533 | static struct i2c_driver da9055_i2c_driver = { | 1540 | static struct i2c_driver da9055_i2c_driver = { |
| 1534 | .driver = { | 1541 | .driver = { |
| 1535 | .name = "da9055", | 1542 | .name = "da9055-codec", |
| 1536 | .owner = THIS_MODULE, | 1543 | .owner = THIS_MODULE, |
| 1537 | }, | 1544 | }, |
| 1538 | .probe = da9055_i2c_probe, | 1545 | .probe = da9055_i2c_probe, |
diff --git a/sound/soc/codecs/max98090.c b/sound/soc/codecs/max98090.c index 51f9b3d16b41..9f714ea86613 100644 --- a/sound/soc/codecs/max98090.c +++ b/sound/soc/codecs/max98090.c | |||
| @@ -336,6 +336,7 @@ static bool max98090_readable_register(struct device *dev, unsigned int reg) | |||
| 336 | case M98090_REG_RECORD_TDM_SLOT: | 336 | case M98090_REG_RECORD_TDM_SLOT: |
| 337 | case M98090_REG_SAMPLE_RATE: | 337 | case M98090_REG_SAMPLE_RATE: |
| 338 | case M98090_REG_DMIC34_BIQUAD_BASE ... M98090_REG_DMIC34_BIQUAD_BASE + 0x0E: | 338 | case M98090_REG_DMIC34_BIQUAD_BASE ... M98090_REG_DMIC34_BIQUAD_BASE + 0x0E: |
| 339 | case M98090_REG_REVISION_ID: | ||
| 339 | return true; | 340 | return true; |
| 340 | default: | 341 | default: |
| 341 | return false; | 342 | return false; |
| @@ -1769,16 +1770,6 @@ static int max98090_set_bias_level(struct snd_soc_codec *codec, | |||
| 1769 | 1770 | ||
| 1770 | switch (level) { | 1771 | switch (level) { |
| 1771 | case SND_SOC_BIAS_ON: | 1772 | case SND_SOC_BIAS_ON: |
| 1772 | if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) { | ||
| 1773 | ret = regcache_sync(max98090->regmap); | ||
| 1774 | |||
| 1775 | if (ret != 0) { | ||
| 1776 | dev_err(codec->dev, | ||
| 1777 | "Failed to sync cache: %d\n", ret); | ||
| 1778 | return ret; | ||
| 1779 | } | ||
| 1780 | } | ||
| 1781 | |||
| 1782 | if (max98090->jack_state == M98090_JACK_STATE_HEADSET) { | 1773 | if (max98090->jack_state == M98090_JACK_STATE_HEADSET) { |
| 1783 | /* | 1774 | /* |
| 1784 | * Set to normal bias level. | 1775 | * Set to normal bias level. |
| @@ -1792,6 +1783,16 @@ static int max98090_set_bias_level(struct snd_soc_codec *codec, | |||
| 1792 | break; | 1783 | break; |
| 1793 | 1784 | ||
| 1794 | case SND_SOC_BIAS_STANDBY: | 1785 | case SND_SOC_BIAS_STANDBY: |
| 1786 | if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) { | ||
| 1787 | ret = regcache_sync(max98090->regmap); | ||
| 1788 | if (ret != 0) { | ||
| 1789 | dev_err(codec->dev, | ||
| 1790 | "Failed to sync cache: %d\n", ret); | ||
| 1791 | return ret; | ||
| 1792 | } | ||
| 1793 | } | ||
| 1794 | break; | ||
| 1795 | |||
| 1795 | case SND_SOC_BIAS_OFF: | 1796 | case SND_SOC_BIAS_OFF: |
| 1796 | /* Set internal pull-up to lowest power mode */ | 1797 | /* Set internal pull-up to lowest power mode */ |
| 1797 | snd_soc_update_bits(codec, M98090_REG_JACK_DETECT, | 1798 | snd_soc_update_bits(codec, M98090_REG_JACK_DETECT, |
diff --git a/sound/soc/codecs/rt5640.c b/sound/soc/codecs/rt5640.c index a3fb41179636..886924934aa5 100644 --- a/sound/soc/codecs/rt5640.c +++ b/sound/soc/codecs/rt5640.c | |||
| @@ -2093,6 +2093,7 @@ MODULE_DEVICE_TABLE(i2c, rt5640_i2c_id); | |||
| 2093 | #ifdef CONFIG_ACPI | 2093 | #ifdef CONFIG_ACPI |
| 2094 | static struct acpi_device_id rt5640_acpi_match[] = { | 2094 | static struct acpi_device_id rt5640_acpi_match[] = { |
| 2095 | { "INT33CA", 0 }, | 2095 | { "INT33CA", 0 }, |
| 2096 | { "10EC5640", 0 }, | ||
| 2096 | { }, | 2097 | { }, |
| 2097 | }; | 2098 | }; |
| 2098 | MODULE_DEVICE_TABLE(acpi, rt5640_acpi_match); | 2099 | MODULE_DEVICE_TABLE(acpi, rt5640_acpi_match); |
diff --git a/sound/soc/codecs/wm8993.c b/sound/soc/codecs/wm8993.c index 433d59a0f3ef..2ee23a39622c 100644 --- a/sound/soc/codecs/wm8993.c +++ b/sound/soc/codecs/wm8993.c | |||
| @@ -1562,7 +1562,6 @@ static int wm8993_remove(struct snd_soc_codec *codec) | |||
| 1562 | struct wm8993_priv *wm8993 = snd_soc_codec_get_drvdata(codec); | 1562 | struct wm8993_priv *wm8993 = snd_soc_codec_get_drvdata(codec); |
| 1563 | 1563 | ||
| 1564 | wm8993_set_bias_level(codec, SND_SOC_BIAS_OFF); | 1564 | wm8993_set_bias_level(codec, SND_SOC_BIAS_OFF); |
| 1565 | regulator_bulk_free(ARRAY_SIZE(wm8993->supplies), wm8993->supplies); | ||
| 1566 | return 0; | 1565 | return 0; |
| 1567 | } | 1566 | } |
| 1568 | 1567 | ||
