Lines Matching +full:spk +full:- +full:fmt
1 // SPDX-License-Identifier: GPL-2.0-only
3 * max98095.c -- MAX98095 ALSA SoC Audio driver
35 unsigned int fmt; member
338 "Off", "Elliptical-HPF-16k", "Butterworth-HPF-16k",
339 "Elliptical-HPF-8k", "Butterworth-HPF-8k", "Butterworth-HPF-Fs/240"};
355 unsigned int sel = ucontrol->value.integer.value[0]; in max98095_mic1pre_set()
357 max98095->mic1pre = sel; in max98095_mic1pre_set()
370 ucontrol->value.integer.value[0] = max98095->mic1pre; in max98095_mic1pre_get()
379 unsigned int sel = ucontrol->value.integer.value[0]; in max98095_mic2pre_set()
381 max98095->mic2pre = sel; in max98095_mic2pre_set()
394 ucontrol->value.integer.value[0] = max98095->mic2pre; in max98095_mic2pre_get()
404 static const DECLARE_TLV_DB_SCALE(max98095_adc_tlv, -1200, 100, 0);
408 0, 6, TLV_DB_SCALE_ITEM(-6700, 400, 0),
409 7, 14, TLV_DB_SCALE_ITEM(-4000, 300, 0),
410 15, 21, TLV_DB_SCALE_ITEM(-1700, 200, 0),
411 22, 27, TLV_DB_SCALE_ITEM(-400, 100, 0),
416 0, 10, TLV_DB_SCALE_ITEM(-5900, 400, 0),
417 11, 18, TLV_DB_SCALE_ITEM(-1700, 200, 0),
418 19, 27, TLV_DB_SCALE_ITEM(-200, 100, 0),
423 0, 6, TLV_DB_SCALE_ITEM(-6200, 400, 0),
424 7, 14, TLV_DB_SCALE_ITEM(-3500, 300, 0),
425 15, 21, TLV_DB_SCALE_ITEM(-1200, 200, 0),
431 0, 2, TLV_DB_SCALE_ITEM(-600, 300, 0),
598 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in max98095_mic_event()
603 if (w->reg == M98095_05F_LVL_MIC1) { in max98095_mic_event()
604 snd_soc_component_update_bits(component, w->reg, M98095_MICPRE_MASK, in max98095_mic_event()
605 (1+max98095->mic1pre)<<M98095_MICPRE_SHIFT); in max98095_mic_event()
607 snd_soc_component_update_bits(component, w->reg, M98095_MICPRE_MASK, in max98095_mic_event()
608 (1+max98095->mic2pre)<<M98095_MICPRE_SHIFT); in max98095_mic_event()
612 snd_soc_component_update_bits(component, w->reg, M98095_MICPRE_MASK, 0); in max98095_mic_event()
615 return -EINVAL; in max98095_mic_event()
628 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in max98095_line_pga()
633 return -EINVAL; in max98095_line_pga()
635 state = &max98095->lin_state; in max98095_line_pga()
640 snd_soc_component_update_bits(component, w->reg, in max98095_line_pga()
641 (1 << w->shift), (1 << w->shift)); in max98095_line_pga()
646 snd_soc_component_update_bits(component, w->reg, in max98095_line_pga()
647 (1 << w->shift), 0); in max98095_line_pga()
651 return -EINVAL; in max98095_line_pga()
676 struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm); in max98095_lineout_event()
680 snd_soc_component_update_bits(component, w->reg, in max98095_lineout_event()
681 (1 << (w->shift+2)), (1 << (w->shift+2))); in max98095_lineout_event()
684 snd_soc_component_update_bits(component, w->reg, in max98095_lineout_event()
685 (1 << (w->shift+2)), 0); in max98095_lineout_event()
688 return -EINVAL; in max98095_lineout_event()
713 SND_SOC_DAPM_PGA("SPK Left Out", M98095_091_PWR_EN_OUT,
715 SND_SOC_DAPM_PGA("SPK Right Out", M98095_091_PWR_EN_OUT,
868 {"SPK Left Out", NULL, "Left Speaker Mixer"},
869 {"SPK Right Out", NULL, "Right Speaker Mixer"},
876 {"SPKL", NULL, "SPK Left Out"},
877 {"SPKR", NULL, "SPK Right Out"},
935 return -EINVAL; in rate_value()
942 struct snd_soc_component *component = dai->component; in max98095_dai1_hw_params()
949 cdata = &max98095->dai[0]; in max98095_dai1_hw_params()
963 return -EINVAL; in max98095_dai1_hw_params()
967 return -EINVAL; in max98095_dai1_hw_params()
971 cdata->rate = rate; in max98095_dai1_hw_params()
975 if (max98095->sysclk == 0) { in max98095_dai1_hw_params()
976 dev_err(component->dev, "Invalid system clock frequency\n"); in max98095_dai1_hw_params()
977 return -EINVAL; in max98095_dai1_hw_params()
981 do_div(ni, (unsigned long long int)max98095->sysclk); in max98095_dai1_hw_params()
1003 struct snd_soc_component *component = dai->component; in max98095_dai2_hw_params()
1010 cdata = &max98095->dai[1]; in max98095_dai2_hw_params()
1024 return -EINVAL; in max98095_dai2_hw_params()
1028 return -EINVAL; in max98095_dai2_hw_params()
1032 cdata->rate = rate; in max98095_dai2_hw_params()
1036 if (max98095->sysclk == 0) { in max98095_dai2_hw_params()
1037 dev_err(component->dev, "Invalid system clock frequency\n"); in max98095_dai2_hw_params()
1038 return -EINVAL; in max98095_dai2_hw_params()
1042 do_div(ni, (unsigned long long int)max98095->sysclk); in max98095_dai2_hw_params()
1064 struct snd_soc_component *component = dai->component; in max98095_dai3_hw_params()
1071 cdata = &max98095->dai[2]; in max98095_dai3_hw_params()
1085 return -EINVAL; in max98095_dai3_hw_params()
1089 return -EINVAL; in max98095_dai3_hw_params()
1093 cdata->rate = rate; in max98095_dai3_hw_params()
1097 if (max98095->sysclk == 0) { in max98095_dai3_hw_params()
1098 dev_err(component->dev, "Invalid system clock frequency\n"); in max98095_dai3_hw_params()
1099 return -EINVAL; in max98095_dai3_hw_params()
1103 do_div(ni, (unsigned long long int)max98095->sysclk); in max98095_dai3_hw_params()
1124 struct snd_soc_component *component = dai->component; in max98095_dai_set_sysclk()
1128 if (freq == max98095->sysclk) in max98095_dai_set_sysclk()
1131 if (!IS_ERR(max98095->mclk)) { in max98095_dai_set_sysclk()
1132 freq = clk_round_rate(max98095->mclk, freq); in max98095_dai_set_sysclk()
1133 clk_set_rate(max98095->mclk, freq); in max98095_dai_set_sysclk()
1148 dev_err(component->dev, "Invalid master clock frequency\n"); in max98095_dai_set_sysclk()
1149 return -EINVAL; in max98095_dai_set_sysclk()
1152 dev_dbg(dai->dev, "Clock source is %d at %uHz\n", clk_id, freq); in max98095_dai_set_sysclk()
1154 max98095->sysclk = freq; in max98095_dai_set_sysclk()
1159 unsigned int fmt) in max98095_dai1_set_fmt() argument
1161 struct snd_soc_component *component = codec_dai->component; in max98095_dai1_set_fmt()
1166 cdata = &max98095->dai[0]; in max98095_dai1_set_fmt()
1168 if (fmt != cdata->fmt) { in max98095_dai1_set_fmt()
1169 cdata->fmt = fmt; in max98095_dai1_set_fmt()
1171 switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { in max98095_dai1_set_fmt()
1186 dev_err(component->dev, "Clock mode unsupported"); in max98095_dai1_set_fmt()
1187 return -EINVAL; in max98095_dai1_set_fmt()
1190 switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { in max98095_dai1_set_fmt()
1197 return -EINVAL; in max98095_dai1_set_fmt()
1200 switch (fmt & SND_SOC_DAIFMT_INV_MASK) { in max98095_dai1_set_fmt()
1213 return -EINVAL; in max98095_dai1_set_fmt()
1227 unsigned int fmt) in max98095_dai2_set_fmt() argument
1229 struct snd_soc_component *component = codec_dai->component; in max98095_dai2_set_fmt()
1234 cdata = &max98095->dai[1]; in max98095_dai2_set_fmt()
1236 if (fmt != cdata->fmt) { in max98095_dai2_set_fmt()
1237 cdata->fmt = fmt; in max98095_dai2_set_fmt()
1239 switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { in max98095_dai2_set_fmt()
1254 dev_err(component->dev, "Clock mode unsupported"); in max98095_dai2_set_fmt()
1255 return -EINVAL; in max98095_dai2_set_fmt()
1258 switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { in max98095_dai2_set_fmt()
1265 return -EINVAL; in max98095_dai2_set_fmt()
1268 switch (fmt & SND_SOC_DAIFMT_INV_MASK) { in max98095_dai2_set_fmt()
1281 return -EINVAL; in max98095_dai2_set_fmt()
1296 unsigned int fmt) in max98095_dai3_set_fmt() argument
1298 struct snd_soc_component *component = codec_dai->component; in max98095_dai3_set_fmt()
1303 cdata = &max98095->dai[2]; in max98095_dai3_set_fmt()
1305 if (fmt != cdata->fmt) { in max98095_dai3_set_fmt()
1306 cdata->fmt = fmt; in max98095_dai3_set_fmt()
1308 switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) { in max98095_dai3_set_fmt()
1323 dev_err(component->dev, "Clock mode unsupported"); in max98095_dai3_set_fmt()
1324 return -EINVAL; in max98095_dai3_set_fmt()
1327 switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) { in max98095_dai3_set_fmt()
1334 return -EINVAL; in max98095_dai3_set_fmt()
1337 switch (fmt & SND_SOC_DAIFMT_INV_MASK) { in max98095_dai3_set_fmt()
1350 return -EINVAL; in max98095_dai3_set_fmt()
1382 if (IS_ERR(max98095->mclk)) in max98095_set_bias_level()
1386 clk_disable_unprepare(max98095->mclk); in max98095_set_bias_level()
1388 ret = clk_prepare_enable(max98095->mclk); in max98095_set_bias_level()
1396 ret = regcache_sync(max98095->regmap); in max98095_set_bias_level()
1399 dev_err(component->dev, "Failed to sync cache: %d\n", ret); in max98095_set_bias_level()
1411 regcache_mark_dirty(max98095->regmap); in max98095_set_bias_level()
1488 return -EINVAL; in max98095_get_eq_channel()
1496 struct max98095_pdata *pdata = max98095->pdata; in max98095_put_eq_enum()
1497 int channel = max98095_get_eq_channel(kcontrol->id.name); in max98095_put_eq_enum()
1499 unsigned int sel = ucontrol->value.enumerated.item[0]; in max98095_put_eq_enum()
1505 return -EINVAL; in max98095_put_eq_enum()
1507 if (!pdata || !max98095->eq_textcnt) in max98095_put_eq_enum()
1510 if (sel >= pdata->eq_cfgcnt) in max98095_put_eq_enum()
1511 return -EINVAL; in max98095_put_eq_enum()
1513 cdata = &max98095->dai[channel]; in max98095_put_eq_enum()
1514 cdata->eq_sel = sel; in max98095_put_eq_enum()
1515 fs = cdata->rate; in max98095_put_eq_enum()
1520 for (i = 0; i < pdata->eq_cfgcnt; i++) { in max98095_put_eq_enum()
1521 if (strcmp(pdata->eq_cfg[i].name, max98095->eq_texts[sel]) == 0 && in max98095_put_eq_enum()
1522 abs(pdata->eq_cfg[i].rate - fs) < best_val) { in max98095_put_eq_enum()
1524 best_val = abs(pdata->eq_cfg[i].rate - fs); in max98095_put_eq_enum()
1528 dev_dbg(component->dev, "Selected %s/%dHz for %dHz sample rate\n", in max98095_put_eq_enum()
1529 pdata->eq_cfg[best].name, in max98095_put_eq_enum()
1530 pdata->eq_cfg[best].rate, fs); in max98095_put_eq_enum()
1532 coef_set = &pdata->eq_cfg[best]; in max98095_put_eq_enum()
1540 mutex_lock(&max98095->lock); in max98095_put_eq_enum()
1542 m98095_eq_band(component, channel, 0, coef_set->band1); in max98095_put_eq_enum()
1543 m98095_eq_band(component, channel, 1, coef_set->band2); in max98095_put_eq_enum()
1544 m98095_eq_band(component, channel, 2, coef_set->band3); in max98095_put_eq_enum()
1545 m98095_eq_band(component, channel, 3, coef_set->band4); in max98095_put_eq_enum()
1546 m98095_eq_band(component, channel, 4, coef_set->band5); in max98095_put_eq_enum()
1548 mutex_unlock(&max98095->lock); in max98095_put_eq_enum()
1560 int channel = max98095_get_eq_channel(kcontrol->id.name); in max98095_get_eq_enum()
1563 cdata = &max98095->dai[channel]; in max98095_get_eq_enum()
1564 ucontrol->value.enumerated.item[0] = cdata->eq_sel; in max98095_get_eq_enum()
1572 struct max98095_pdata *pdata = max98095->pdata; in max98095_handle_eq_pdata()
1581 max98095->eq_enum, in max98095_handle_eq_pdata()
1585 max98095->eq_enum, in max98095_handle_eq_pdata()
1590 cfg = pdata->eq_cfg; in max98095_handle_eq_pdata()
1591 cfgcnt = pdata->eq_cfgcnt; in max98095_handle_eq_pdata()
1596 max98095->eq_textcnt = 0; in max98095_handle_eq_pdata()
1597 max98095->eq_texts = NULL; in max98095_handle_eq_pdata()
1599 for (j = 0; j < max98095->eq_textcnt; j++) { in max98095_handle_eq_pdata()
1600 if (strcmp(cfg[i].name, max98095->eq_texts[j]) == 0) in max98095_handle_eq_pdata()
1604 if (j != max98095->eq_textcnt) in max98095_handle_eq_pdata()
1608 t = krealloc(max98095->eq_texts, in max98095_handle_eq_pdata()
1609 sizeof(char *) * (max98095->eq_textcnt + 1), in max98095_handle_eq_pdata()
1615 t[max98095->eq_textcnt] = cfg[i].name; in max98095_handle_eq_pdata()
1616 max98095->eq_textcnt++; in max98095_handle_eq_pdata()
1617 max98095->eq_texts = t; in max98095_handle_eq_pdata()
1621 max98095->eq_enum.texts = max98095->eq_texts; in max98095_handle_eq_pdata()
1622 max98095->eq_enum.items = max98095->eq_textcnt; in max98095_handle_eq_pdata()
1626 dev_err(component->dev, "Failed to add EQ control: %d\n", ret); in max98095_handle_eq_pdata()
1638 dev_err(component->dev, "Bad biquad channel name '%s'\n", name); in max98095_get_bq_channel()
1647 struct max98095_pdata *pdata = max98095->pdata; in max98095_put_bq_enum()
1648 int channel = max98095_get_bq_channel(component, kcontrol->id.name); in max98095_put_bq_enum()
1650 unsigned int sel = ucontrol->value.enumerated.item[0]; in max98095_put_bq_enum()
1658 if (!pdata || !max98095->bq_textcnt) in max98095_put_bq_enum()
1661 if (sel >= pdata->bq_cfgcnt) in max98095_put_bq_enum()
1662 return -EINVAL; in max98095_put_bq_enum()
1664 cdata = &max98095->dai[channel]; in max98095_put_bq_enum()
1665 cdata->bq_sel = sel; in max98095_put_bq_enum()
1666 fs = cdata->rate; in max98095_put_bq_enum()
1671 for (i = 0; i < pdata->bq_cfgcnt; i++) { in max98095_put_bq_enum()
1672 if (strcmp(pdata->bq_cfg[i].name, max98095->bq_texts[sel]) == 0 && in max98095_put_bq_enum()
1673 abs(pdata->bq_cfg[i].rate - fs) < best_val) { in max98095_put_bq_enum()
1675 best_val = abs(pdata->bq_cfg[i].rate - fs); in max98095_put_bq_enum()
1679 dev_dbg(component->dev, "Selected %s/%dHz for %dHz sample rate\n", in max98095_put_bq_enum()
1680 pdata->bq_cfg[best].name, in max98095_put_bq_enum()
1681 pdata->bq_cfg[best].rate, fs); in max98095_put_bq_enum()
1683 coef_set = &pdata->bq_cfg[best]; in max98095_put_bq_enum()
1691 mutex_lock(&max98095->lock); in max98095_put_bq_enum()
1693 m98095_biquad_band(component, channel, 0, coef_set->band1); in max98095_put_bq_enum()
1694 m98095_biquad_band(component, channel, 1, coef_set->band2); in max98095_put_bq_enum()
1696 mutex_unlock(&max98095->lock); in max98095_put_bq_enum()
1708 int channel = max98095_get_bq_channel(component, kcontrol->id.name); in max98095_get_bq_enum()
1714 cdata = &max98095->dai[channel]; in max98095_get_bq_enum()
1715 ucontrol->value.enumerated.item[0] = cdata->bq_sel; in max98095_get_bq_enum()
1723 struct max98095_pdata *pdata = max98095->pdata; in max98095_handle_bq_pdata()
1732 max98095->bq_enum, in max98095_handle_bq_pdata()
1736 max98095->bq_enum, in max98095_handle_bq_pdata()
1742 cfg = pdata->bq_cfg; in max98095_handle_bq_pdata()
1743 cfgcnt = pdata->bq_cfgcnt; in max98095_handle_bq_pdata()
1748 max98095->bq_textcnt = 0; in max98095_handle_bq_pdata()
1749 max98095->bq_texts = NULL; in max98095_handle_bq_pdata()
1751 for (j = 0; j < max98095->bq_textcnt; j++) { in max98095_handle_bq_pdata()
1752 if (strcmp(cfg[i].name, max98095->bq_texts[j]) == 0) in max98095_handle_bq_pdata()
1756 if (j != max98095->bq_textcnt) in max98095_handle_bq_pdata()
1760 t = krealloc(max98095->bq_texts, in max98095_handle_bq_pdata()
1761 sizeof(char *) * (max98095->bq_textcnt + 1), in max98095_handle_bq_pdata()
1767 t[max98095->bq_textcnt] = cfg[i].name; in max98095_handle_bq_pdata()
1768 max98095->bq_textcnt++; in max98095_handle_bq_pdata()
1769 max98095->bq_texts = t; in max98095_handle_bq_pdata()
1773 max98095->bq_enum.texts = max98095->bq_texts; in max98095_handle_bq_pdata()
1774 max98095->bq_enum.items = max98095->bq_textcnt; in max98095_handle_bq_pdata()
1778 dev_err(component->dev, "Failed to add Biquad control: %d\n", ret); in max98095_handle_bq_pdata()
1784 struct max98095_pdata *pdata = max98095->pdata; in max98095_handle_pdata()
1788 dev_dbg(component->dev, "No platform data\n"); in max98095_handle_pdata()
1793 if (pdata->digmic_left_mode) in max98095_handle_pdata()
1796 if (pdata->digmic_right_mode) in max98095_handle_pdata()
1802 if (pdata->eq_cfgcnt) in max98095_handle_pdata()
1805 /* Configure bi-quad filters */ in max98095_handle_pdata()
1806 if (pdata->bq_cfgcnt) in max98095_handle_pdata()
1827 max98095->headphone_jack) in max98095_report_jack()
1831 if ((value & M98095_MIC_IN) && max98095->mic_jack) in max98095_report_jack()
1834 if (max98095->headphone_jack == max98095->mic_jack) { in max98095_report_jack()
1835 snd_soc_jack_report(max98095->headphone_jack, in max98095_report_jack()
1839 if (max98095->headphone_jack) in max98095_report_jack()
1840 snd_soc_jack_report(max98095->headphone_jack, in max98095_report_jack()
1842 if (max98095->mic_jack) in max98095_report_jack()
1843 snd_soc_jack_report(max98095->mic_jack, in max98095_report_jack()
1857 if (max98095->pdata->jack_detect_pin5en) in max98095_jack_detect_enable()
1860 if (max98095->pdata->jack_detect_delay) in max98095_jack_detect_enable()
1861 slew = max98095->pdata->jack_detect_delay; in max98095_jack_detect_enable()
1865 dev_err(component->dev, "Failed to cfg auto detect %d\n", ret); in max98095_jack_detect_enable()
1872 dev_err(component->dev, "Failed to cfg auto detect %d\n", ret); in max98095_jack_detect_enable()
1886 dev_err(component->dev, "Failed to cfg auto detect %d\n", ret); in max98095_jack_detect_disable()
1897 struct i2c_client *client = to_i2c_client(component->dev); in max98095_jack_detect()
1900 max98095->headphone_jack = hp_jack; in max98095_jack_detect()
1901 max98095->mic_jack = mic_jack; in max98095_jack_detect()
1905 return -EINVAL; in max98095_jack_detect()
1913 dev_err(component->dev, "Failed to cfg jack irqs %d\n", ret); in max98095_jack_detect()
1917 max98095_report_jack(client->irq, component); in max98095_jack_detect()
1927 if (max98095->headphone_jack || max98095->mic_jack) in max98095_suspend()
1938 struct i2c_client *client = to_i2c_client(component->dev); in max98095_resume()
1942 if (max98095->headphone_jack || max98095->mic_jack) { in max98095_resume()
1944 max98095_report_jack(client->irq, component); in max98095_resume()
1962 dev_err(component->dev, "Failed to reset DSP: %d\n", ret); in max98095_reset()
1968 dev_err(component->dev, "Failed to reset component: %d\n", ret); in max98095_reset()
1977 dev_err(component->dev, "Failed to reset: %d\n", ret); in max98095_reset()
1992 max98095->mclk = devm_clk_get(component->dev, "mclk"); in max98095_probe()
1993 if (PTR_ERR(max98095->mclk) == -EPROBE_DEFER) in max98095_probe()
1994 return -EPROBE_DEFER; in max98095_probe()
1999 client = to_i2c_client(component->dev); in max98095_probe()
2003 max98095->sysclk = (unsigned)-1; in max98095_probe()
2004 max98095->eq_textcnt = 0; in max98095_probe()
2005 max98095->bq_textcnt = 0; in max98095_probe()
2007 cdata = &max98095->dai[0]; in max98095_probe()
2008 cdata->rate = (unsigned)-1; in max98095_probe()
2009 cdata->fmt = (unsigned)-1; in max98095_probe()
2010 cdata->eq_sel = 0; in max98095_probe()
2011 cdata->bq_sel = 0; in max98095_probe()
2013 cdata = &max98095->dai[1]; in max98095_probe()
2014 cdata->rate = (unsigned)-1; in max98095_probe()
2015 cdata->fmt = (unsigned)-1; in max98095_probe()
2016 cdata->eq_sel = 0; in max98095_probe()
2017 cdata->bq_sel = 0; in max98095_probe()
2019 cdata = &max98095->dai[2]; in max98095_probe()
2020 cdata->rate = (unsigned)-1; in max98095_probe()
2021 cdata->fmt = (unsigned)-1; in max98095_probe()
2022 cdata->eq_sel = 0; in max98095_probe()
2023 cdata->bq_sel = 0; in max98095_probe()
2025 max98095->lin_state = 0; in max98095_probe()
2026 max98095->mic1pre = 0; in max98095_probe()
2027 max98095->mic2pre = 0; in max98095_probe()
2029 if (client->irq) { in max98095_probe()
2031 ret = request_threaded_irq(client->irq, NULL, in max98095_probe()
2036 dev_err(component->dev, "Failed to request IRQ: %d\n", ret); in max98095_probe()
2043 dev_err(component->dev, "Failure reading hardware revision: %d\n", in max98095_probe()
2047 dev_info(component->dev, "Hardware revision: %c\n", ret - 0x40 + 'A'); in max98095_probe()
2079 if (client->irq) in max98095_probe()
2080 free_irq(client->irq, component); in max98095_probe()
2088 struct i2c_client *client = to_i2c_client(component->dev); in max98095_remove()
2090 if (max98095->headphone_jack || max98095->mic_jack) in max98095_remove()
2093 if (client->irq) in max98095_remove()
2094 free_irq(client->irq, component); in max98095_remove()
2121 max98095 = devm_kzalloc(&i2c->dev, sizeof(struct max98095_priv), in max98095_i2c_probe()
2124 return -ENOMEM; in max98095_i2c_probe()
2126 mutex_init(&max98095->lock); in max98095_i2c_probe()
2128 max98095->regmap = devm_regmap_init_i2c(i2c, &max98095_regmap); in max98095_i2c_probe()
2129 if (IS_ERR(max98095->regmap)) { in max98095_i2c_probe()
2130 ret = PTR_ERR(max98095->regmap); in max98095_i2c_probe()
2131 dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret); in max98095_i2c_probe()
2135 max98095->devtype = id->driver_data; in max98095_i2c_probe()
2137 max98095->pdata = i2c->dev.platform_data; in max98095_i2c_probe()
2139 ret = devm_snd_soc_register_component(&i2c->dev, in max98095_i2c_probe()