Loading sound/soc/codecs/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -483,6 +483,7 @@ config SND_SOC_RL6231 config SND_SOC_RT286 tristate depends on I2C config SND_SOC_RT5631 tristate Loading sound/soc/codecs/max98090.c +16 −15 Original line number Diff line number Diff line Loading @@ -2159,12 +2159,16 @@ static void max98090_jack_work(struct work_struct *work) static irqreturn_t max98090_interrupt(int irq, void *data) { struct snd_soc_codec *codec = data; struct max98090_priv *max98090 = snd_soc_codec_get_drvdata(codec); struct max98090_priv *max98090 = data; struct snd_soc_codec *codec = max98090->codec; int ret; unsigned int mask; unsigned int active; /* Treat interrupt before codec is initialized as spurious */ if (codec == NULL) return IRQ_NONE; dev_dbg(codec->dev, "***** max98090_interrupt *****\n"); ret = regmap_read(max98090->regmap, M98090_REG_INTERRUPT_S, &mask); Loading Loading @@ -2329,7 +2333,6 @@ static int max98090_probe(struct snd_soc_codec *codec) max98090->lin_state = 0; max98090->pa1en = 0; max98090->pa2en = 0; max98090->extmic_mux = 0; ret = snd_soc_read(codec, M98090_REG_REVISION_ID); if (ret < 0) { Loading Loading @@ -2367,17 +2370,6 @@ static int max98090_probe(struct snd_soc_codec *codec) snd_soc_write(codec, M98090_REG_JACK_DETECT, M98090_JDETEN_MASK | M98090_JDEB_25MS); /* Register for interrupts */ dev_dbg(codec->dev, "irq = %d\n", max98090->irq); ret = devm_request_threaded_irq(codec->dev, max98090->irq, NULL, max98090_interrupt, IRQF_TRIGGER_FALLING | IRQF_ONESHOT, "max98090_interrupt", codec); if (ret < 0) { dev_err(codec->dev, "request_irq failed: %d\n", ret); } /* * Clear any old interrupts. * An old interrupt ocurring prior to installing the ISR Loading Loading @@ -2417,6 +2409,7 @@ static int max98090_remove(struct snd_soc_codec *codec) cancel_delayed_work_sync(&max98090->pll_det_enable_work); cancel_work_sync(&max98090->pll_det_disable_work); cancel_work_sync(&max98090->pll_work); max98090->codec = NULL; return 0; } Loading Loading @@ -2469,7 +2462,6 @@ static int max98090_i2c_probe(struct i2c_client *i2c, max98090->devtype = driver_data; i2c_set_clientdata(i2c, max98090); max98090->pdata = i2c->dev.platform_data; max98090->irq = i2c->irq; max98090->regmap = devm_regmap_init_i2c(i2c, &max98090_regmap); if (IS_ERR(max98090->regmap)) { Loading @@ -2478,6 +2470,15 @@ static int max98090_i2c_probe(struct i2c_client *i2c, goto err_enable; } ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL, max98090_interrupt, IRQF_TRIGGER_FALLING | IRQF_ONESHOT, "max98090_interrupt", max98090); if (ret < 0) { dev_err(&i2c->dev, "request_irq failed: %d\n", ret); return ret; } ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_max98090, max98090_dai, ARRAY_SIZE(max98090_dai)); Loading sound/soc/codecs/max98090.h +0 −10 Original line number Diff line number Diff line Loading @@ -11,11 +11,6 @@ #ifndef _MAX98090_H #define _MAX98090_H #include <linux/version.h> /* One can override the Linux version here with an explicit version number */ #define M98090_LINUX_VERSION LINUX_VERSION_CODE /* * MAX98090 Register Definitions */ Loading Loading @@ -1502,9 +1497,6 @@ #define M98090_REVID_WIDTH 8 #define M98090_REVID_NUM (1<<M98090_REVID_WIDTH) #define M98090_BYTE1(w) ((w >> 8) & 0xff) #define M98090_BYTE0(w) (w & 0xff) /* Silicon revision number */ #define M98090_REVA 0x40 #define M98091_REVA 0x50 Loading @@ -1529,7 +1521,6 @@ struct max98090_priv { unsigned int bclk; unsigned int lrclk; struct max98090_cdata dai[1]; int irq; int jack_state; struct delayed_work jack_work; struct delayed_work pll_det_enable_work; Loading @@ -1542,7 +1533,6 @@ struct max98090_priv { u8 lin_state; unsigned int pa1en; unsigned int pa2en; unsigned int extmic_mux; unsigned int sidetone; bool master; }; Loading sound/soc/codecs/rt286.c +2 −0 Original line number Diff line number Diff line Loading @@ -269,6 +269,7 @@ static int rt286_hw_read(void *context, unsigned int reg, unsigned int *value) return 0; } #ifdef CONFIG_PM static void rt286_index_sync(struct snd_soc_codec *codec) { struct rt286_priv *rt286 = snd_soc_codec_get_drvdata(codec); Loading @@ -279,6 +280,7 @@ static void rt286_index_sync(struct snd_soc_codec *codec) rt286->index_cache[i].def); } } #endif static int rt286_support_power_controls[] = { RT286_DAC_OUT1, Loading sound/soc/rockchip/Kconfig +1 −2 Original line number Diff line number Diff line Loading @@ -2,11 +2,10 @@ config SND_SOC_ROCKCHIP tristate "ASoC support for Rockchip" depends on COMPILE_TEST || ARCH_ROCKCHIP select SND_SOC_GENERIC_DMAENGINE_PCM select SND_ROCKCHIP_I2S help Say Y or M if you want to add support for codecs attached to the Rockchip SoCs' Audio interfaces. You will also need to select the audio interfaces to support below. config SND_ROCKCHIP_I2S config SND_SOC_ROCKCHIP_I2S tristate Loading
sound/soc/codecs/Kconfig +1 −0 Original line number Diff line number Diff line Loading @@ -483,6 +483,7 @@ config SND_SOC_RL6231 config SND_SOC_RT286 tristate depends on I2C config SND_SOC_RT5631 tristate Loading
sound/soc/codecs/max98090.c +16 −15 Original line number Diff line number Diff line Loading @@ -2159,12 +2159,16 @@ static void max98090_jack_work(struct work_struct *work) static irqreturn_t max98090_interrupt(int irq, void *data) { struct snd_soc_codec *codec = data; struct max98090_priv *max98090 = snd_soc_codec_get_drvdata(codec); struct max98090_priv *max98090 = data; struct snd_soc_codec *codec = max98090->codec; int ret; unsigned int mask; unsigned int active; /* Treat interrupt before codec is initialized as spurious */ if (codec == NULL) return IRQ_NONE; dev_dbg(codec->dev, "***** max98090_interrupt *****\n"); ret = regmap_read(max98090->regmap, M98090_REG_INTERRUPT_S, &mask); Loading Loading @@ -2329,7 +2333,6 @@ static int max98090_probe(struct snd_soc_codec *codec) max98090->lin_state = 0; max98090->pa1en = 0; max98090->pa2en = 0; max98090->extmic_mux = 0; ret = snd_soc_read(codec, M98090_REG_REVISION_ID); if (ret < 0) { Loading Loading @@ -2367,17 +2370,6 @@ static int max98090_probe(struct snd_soc_codec *codec) snd_soc_write(codec, M98090_REG_JACK_DETECT, M98090_JDETEN_MASK | M98090_JDEB_25MS); /* Register for interrupts */ dev_dbg(codec->dev, "irq = %d\n", max98090->irq); ret = devm_request_threaded_irq(codec->dev, max98090->irq, NULL, max98090_interrupt, IRQF_TRIGGER_FALLING | IRQF_ONESHOT, "max98090_interrupt", codec); if (ret < 0) { dev_err(codec->dev, "request_irq failed: %d\n", ret); } /* * Clear any old interrupts. * An old interrupt ocurring prior to installing the ISR Loading Loading @@ -2417,6 +2409,7 @@ static int max98090_remove(struct snd_soc_codec *codec) cancel_delayed_work_sync(&max98090->pll_det_enable_work); cancel_work_sync(&max98090->pll_det_disable_work); cancel_work_sync(&max98090->pll_work); max98090->codec = NULL; return 0; } Loading Loading @@ -2469,7 +2462,6 @@ static int max98090_i2c_probe(struct i2c_client *i2c, max98090->devtype = driver_data; i2c_set_clientdata(i2c, max98090); max98090->pdata = i2c->dev.platform_data; max98090->irq = i2c->irq; max98090->regmap = devm_regmap_init_i2c(i2c, &max98090_regmap); if (IS_ERR(max98090->regmap)) { Loading @@ -2478,6 +2470,15 @@ static int max98090_i2c_probe(struct i2c_client *i2c, goto err_enable; } ret = devm_request_threaded_irq(&i2c->dev, i2c->irq, NULL, max98090_interrupt, IRQF_TRIGGER_FALLING | IRQF_ONESHOT, "max98090_interrupt", max98090); if (ret < 0) { dev_err(&i2c->dev, "request_irq failed: %d\n", ret); return ret; } ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_max98090, max98090_dai, ARRAY_SIZE(max98090_dai)); Loading
sound/soc/codecs/max98090.h +0 −10 Original line number Diff line number Diff line Loading @@ -11,11 +11,6 @@ #ifndef _MAX98090_H #define _MAX98090_H #include <linux/version.h> /* One can override the Linux version here with an explicit version number */ #define M98090_LINUX_VERSION LINUX_VERSION_CODE /* * MAX98090 Register Definitions */ Loading Loading @@ -1502,9 +1497,6 @@ #define M98090_REVID_WIDTH 8 #define M98090_REVID_NUM (1<<M98090_REVID_WIDTH) #define M98090_BYTE1(w) ((w >> 8) & 0xff) #define M98090_BYTE0(w) (w & 0xff) /* Silicon revision number */ #define M98090_REVA 0x40 #define M98091_REVA 0x50 Loading @@ -1529,7 +1521,6 @@ struct max98090_priv { unsigned int bclk; unsigned int lrclk; struct max98090_cdata dai[1]; int irq; int jack_state; struct delayed_work jack_work; struct delayed_work pll_det_enable_work; Loading @@ -1542,7 +1533,6 @@ struct max98090_priv { u8 lin_state; unsigned int pa1en; unsigned int pa2en; unsigned int extmic_mux; unsigned int sidetone; bool master; }; Loading
sound/soc/codecs/rt286.c +2 −0 Original line number Diff line number Diff line Loading @@ -269,6 +269,7 @@ static int rt286_hw_read(void *context, unsigned int reg, unsigned int *value) return 0; } #ifdef CONFIG_PM static void rt286_index_sync(struct snd_soc_codec *codec) { struct rt286_priv *rt286 = snd_soc_codec_get_drvdata(codec); Loading @@ -279,6 +280,7 @@ static void rt286_index_sync(struct snd_soc_codec *codec) rt286->index_cache[i].def); } } #endif static int rt286_support_power_controls[] = { RT286_DAC_OUT1, Loading
sound/soc/rockchip/Kconfig +1 −2 Original line number Diff line number Diff line Loading @@ -2,11 +2,10 @@ config SND_SOC_ROCKCHIP tristate "ASoC support for Rockchip" depends on COMPILE_TEST || ARCH_ROCKCHIP select SND_SOC_GENERIC_DMAENGINE_PCM select SND_ROCKCHIP_I2S help Say Y or M if you want to add support for codecs attached to the Rockchip SoCs' Audio interfaces. You will also need to select the audio interfaces to support below. config SND_ROCKCHIP_I2S config SND_SOC_ROCKCHIP_I2S tristate