Lines Matching refs:wm8995

400 	struct wm8995_priv *wm8995 = container_of(nb, struct wm8995_priv, \
403 regcache_mark_dirty(wm8995->regmap); \
674 struct wm8995_priv *wm8995; in configure_aif_clock() local
679 wm8995 = snd_soc_codec_get_drvdata(codec); in configure_aif_clock()
686 switch (wm8995->sysclk[aif]) { in configure_aif_clock()
688 rate = wm8995->mclk[0]; in configure_aif_clock()
692 rate = wm8995->mclk[1]; in configure_aif_clock()
696 rate = wm8995->fll[0].out; in configure_aif_clock()
700 rate = wm8995->fll[1].out; in configure_aif_clock()
714 wm8995->aifclk[aif] = rate; in configure_aif_clock()
724 struct wm8995_priv *wm8995; in configure_clock() local
727 wm8995 = snd_soc_codec_get_drvdata(codec); in configure_clock()
741 if (wm8995->aifclk[0] == wm8995->aifclk[1]) in configure_clock()
744 if (wm8995->aifclk[0] < wm8995->aifclk[1]) in configure_clock()
1549 struct wm8995_priv *wm8995; in wm8995_hw_params() local
1560 wm8995 = snd_soc_codec_get_drvdata(codec); in wm8995_hw_params()
1627 dai->id + 1, wm8995->aifclk[dai->id], bclk_rate); in wm8995_hw_params()
1632 - wm8995->aifclk[dai->id]); in wm8995_hw_params()
1635 - wm8995->aifclk[dai->id]); in wm8995_hw_params()
1655 cur_val = (wm8995->aifclk[dai->id] * 10 / bclk_divs[i]) - bclk_rate; in wm8995_hw_params()
1662 bclk_rate = wm8995->aifclk[dai->id] * 10 / bclk_divs[best]; in wm8995_hw_params()
1800 struct wm8995_priv *wm8995; in wm8995_set_fll() local
1806 wm8995 = snd_soc_codec_get_drvdata(codec); in wm8995_set_fll()
1843 if (wm8995->fll[id].src == src && in wm8995_set_fll()
1844 wm8995->fll[id].in == freq_in && wm8995->fll[id].out == freq_out) in wm8995_set_fll()
1854 ret = wm8995_get_fll_config(&fll, wm8995->fll[id].in, in wm8995_set_fll()
1855 wm8995->fll[id].out); in wm8995_set_fll()
1891 wm8995->fll[id].in = freq_in; in wm8995_set_fll()
1892 wm8995->fll[id].out = freq_out; in wm8995_set_fll()
1893 wm8995->fll[id].src = src; in wm8995_set_fll()
1910 struct wm8995_priv *wm8995; in wm8995_set_dai_sysclk() local
1913 wm8995 = snd_soc_codec_get_drvdata(codec); in wm8995_set_dai_sysclk()
1926 wm8995->sysclk[dai->id] = WM8995_SYSCLK_MCLK1; in wm8995_set_dai_sysclk()
1927 wm8995->mclk[0] = freq; in wm8995_set_dai_sysclk()
1932 wm8995->sysclk[dai->id] = WM8995_SYSCLK_MCLK1; in wm8995_set_dai_sysclk()
1933 wm8995->mclk[1] = freq; in wm8995_set_dai_sysclk()
1938 wm8995->sysclk[dai->id] = WM8995_SYSCLK_FLL1; in wm8995_set_dai_sysclk()
1942 wm8995->sysclk[dai->id] = WM8995_SYSCLK_FLL2; in wm8995_set_dai_sysclk()
1959 struct wm8995_priv *wm8995; in wm8995_set_bias_level() local
1962 wm8995 = snd_soc_codec_get_drvdata(codec); in wm8995_set_bias_level()
1969 ret = regulator_bulk_enable(ARRAY_SIZE(wm8995->supplies), in wm8995_set_bias_level()
1970 wm8995->supplies); in wm8995_set_bias_level()
1974 ret = regcache_sync(wm8995->regmap); in wm8995_set_bias_level()
1988 regulator_bulk_disable(ARRAY_SIZE(wm8995->supplies), in wm8995_set_bias_level()
1989 wm8995->supplies); in wm8995_set_bias_level()
1999 struct wm8995_priv *wm8995; in wm8995_remove() local
2002 wm8995 = snd_soc_codec_get_drvdata(codec); in wm8995_remove()
2004 for (i = 0; i < ARRAY_SIZE(wm8995->supplies); ++i) in wm8995_remove()
2005 regulator_unregister_notifier(wm8995->supplies[i].consumer, in wm8995_remove()
2006 &wm8995->disable_nb[i]); in wm8995_remove()
2008 regulator_bulk_free(ARRAY_SIZE(wm8995->supplies), wm8995->supplies); in wm8995_remove()
2014 struct wm8995_priv *wm8995; in wm8995_probe() local
2018 wm8995 = snd_soc_codec_get_drvdata(codec); in wm8995_probe()
2019 wm8995->codec = codec; in wm8995_probe()
2021 for (i = 0; i < ARRAY_SIZE(wm8995->supplies); i++) in wm8995_probe()
2022 wm8995->supplies[i].supply = wm8995_supply_names[i]; in wm8995_probe()
2024 ret = regulator_bulk_get(codec->dev, ARRAY_SIZE(wm8995->supplies), in wm8995_probe()
2025 wm8995->supplies); in wm8995_probe()
2031 wm8995->disable_nb[0].notifier_call = wm8995_regulator_event_0; in wm8995_probe()
2032 wm8995->disable_nb[1].notifier_call = wm8995_regulator_event_1; in wm8995_probe()
2033 wm8995->disable_nb[2].notifier_call = wm8995_regulator_event_2; in wm8995_probe()
2034 wm8995->disable_nb[3].notifier_call = wm8995_regulator_event_3; in wm8995_probe()
2035 wm8995->disable_nb[4].notifier_call = wm8995_regulator_event_4; in wm8995_probe()
2036 wm8995->disable_nb[5].notifier_call = wm8995_regulator_event_5; in wm8995_probe()
2037 wm8995->disable_nb[6].notifier_call = wm8995_regulator_event_6; in wm8995_probe()
2038 wm8995->disable_nb[7].notifier_call = wm8995_regulator_event_7; in wm8995_probe()
2041 for (i = 0; i < ARRAY_SIZE(wm8995->supplies); i++) { in wm8995_probe()
2042 ret = regulator_register_notifier(wm8995->supplies[i].consumer, in wm8995_probe()
2043 &wm8995->disable_nb[i]); in wm8995_probe()
2051 ret = regulator_bulk_enable(ARRAY_SIZE(wm8995->supplies), in wm8995_probe()
2052 wm8995->supplies); in wm8995_probe()
2101 regulator_bulk_disable(ARRAY_SIZE(wm8995->supplies), wm8995->supplies); in wm8995_probe()
2103 regulator_bulk_free(ARRAY_SIZE(wm8995->supplies), wm8995->supplies); in wm8995_probe()
2218 struct wm8995_priv *wm8995; in wm8995_spi_probe() local
2221 wm8995 = devm_kzalloc(&spi->dev, sizeof(*wm8995), GFP_KERNEL); in wm8995_spi_probe()
2222 if (!wm8995) in wm8995_spi_probe()
2225 spi_set_drvdata(spi, wm8995); in wm8995_spi_probe()
2227 wm8995->regmap = devm_regmap_init_spi(spi, &wm8995_regmap); in wm8995_spi_probe()
2228 if (IS_ERR(wm8995->regmap)) { in wm8995_spi_probe()
2229 ret = PTR_ERR(wm8995->regmap); in wm8995_spi_probe()
2260 struct wm8995_priv *wm8995; in wm8995_i2c_probe() local
2263 wm8995 = devm_kzalloc(&i2c->dev, sizeof(*wm8995), GFP_KERNEL); in wm8995_i2c_probe()
2264 if (!wm8995) in wm8995_i2c_probe()
2267 i2c_set_clientdata(i2c, wm8995); in wm8995_i2c_probe()
2269 wm8995->regmap = devm_regmap_init_i2c(i2c, &wm8995_regmap); in wm8995_i2c_probe()
2270 if (IS_ERR(wm8995->regmap)) { in wm8995_i2c_probe()
2271 ret = PTR_ERR(wm8995->regmap); in wm8995_i2c_probe()