pcm3168a          274 sound/soc/codecs/pcm3168a.c static int pcm3168a_reset(struct pcm3168a_priv *pcm3168a)
pcm3168a          278 sound/soc/codecs/pcm3168a.c 	ret = regmap_write(pcm3168a->regmap, PCM3168A_RST_SMODE, 0);
pcm3168a          283 sound/soc/codecs/pcm3168a.c 	msleep(DIV_ROUND_UP(3846 * 1000, pcm3168a->sysclk));
pcm3168a          285 sound/soc/codecs/pcm3168a.c 	return regmap_write(pcm3168a->regmap, PCM3168A_RST_SMODE,
pcm3168a          292 sound/soc/codecs/pcm3168a.c 	struct pcm3168a_priv *pcm3168a = snd_soc_component_get_drvdata(component);
pcm3168a          294 sound/soc/codecs/pcm3168a.c 	regmap_write(pcm3168a->regmap, PCM3168A_DAC_MUTE, mute ? 0xff : 0);
pcm3168a          302 sound/soc/codecs/pcm3168a.c 	struct pcm3168a_priv *pcm3168a = snd_soc_component_get_drvdata(dai->component);
pcm3168a          308 sound/soc/codecs/pcm3168a.c 	ret = clk_set_rate(pcm3168a->scki, freq);
pcm3168a          312 sound/soc/codecs/pcm3168a.c 	pcm3168a->sysclk = freq;
pcm3168a          320 sound/soc/codecs/pcm3168a.c 	struct pcm3168a_priv *pcm3168a = snd_soc_component_get_drvdata(component);
pcm3168a          374 sound/soc/codecs/pcm3168a.c 	pcm3168a->io_params[dai->id].master_mode = master_mode;
pcm3168a          375 sound/soc/codecs/pcm3168a.c 	pcm3168a->io_params[dai->id].fmt = fmt;
pcm3168a          377 sound/soc/codecs/pcm3168a.c 	regmap_update_bits(pcm3168a->regmap, reg, mask, fmt << shift);
pcm3168a          387 sound/soc/codecs/pcm3168a.c 	struct pcm3168a_priv *pcm3168a = snd_soc_component_get_drvdata(component);
pcm3168a          388 sound/soc/codecs/pcm3168a.c 	struct pcm3168a_io_params *io_params = &pcm3168a->io_params[dai->id];
pcm3168a          420 sound/soc/codecs/pcm3168a.c 	struct pcm3168a_priv *pcm3168a = snd_soc_component_get_drvdata(component);
pcm3168a          421 sound/soc/codecs/pcm3168a.c 	struct pcm3168a_io_params *io_params = &pcm3168a->io_params[dai->id];
pcm3168a          430 sound/soc/codecs/pcm3168a.c 	ratio = pcm3168a->sysclk / rate;
pcm3168a          518 sound/soc/codecs/pcm3168a.c 	regmap_update_bits(pcm3168a->regmap, reg, mask, val);
pcm3168a          528 sound/soc/codecs/pcm3168a.c 	regmap_update_bits(pcm3168a->regmap, reg, mask, fmt << shift);
pcm3168a          537 sound/soc/codecs/pcm3168a.c 	struct pcm3168a_priv *pcm3168a = snd_soc_component_get_drvdata(component);
pcm3168a          557 sound/soc/codecs/pcm3168a.c 	switch (pcm3168a->io_params[dai->id].fmt) {
pcm3168a          579 sound/soc/codecs/pcm3168a.c 	if (pcm3168a->io_params[dai->id].tdm_slots == 2)
pcm3168a          719 sound/soc/codecs/pcm3168a.c 	struct pcm3168a_priv *pcm3168a;
pcm3168a          722 sound/soc/codecs/pcm3168a.c 	pcm3168a = devm_kzalloc(dev, sizeof(*pcm3168a), GFP_KERNEL);
pcm3168a          723 sound/soc/codecs/pcm3168a.c 	if (pcm3168a == NULL)
pcm3168a          726 sound/soc/codecs/pcm3168a.c 	dev_set_drvdata(dev, pcm3168a);
pcm3168a          728 sound/soc/codecs/pcm3168a.c 	pcm3168a->scki = devm_clk_get(dev, "scki");
pcm3168a          729 sound/soc/codecs/pcm3168a.c 	if (IS_ERR(pcm3168a->scki)) {
pcm3168a          730 sound/soc/codecs/pcm3168a.c 		ret = PTR_ERR(pcm3168a->scki);
pcm3168a          736 sound/soc/codecs/pcm3168a.c 	ret = clk_prepare_enable(pcm3168a->scki);
pcm3168a          742 sound/soc/codecs/pcm3168a.c 	pcm3168a->sysclk = clk_get_rate(pcm3168a->scki);
pcm3168a          744 sound/soc/codecs/pcm3168a.c 	for (i = 0; i < ARRAY_SIZE(pcm3168a->supplies); i++)
pcm3168a          745 sound/soc/codecs/pcm3168a.c 		pcm3168a->supplies[i].supply = pcm3168a_supply_names[i];
pcm3168a          748 sound/soc/codecs/pcm3168a.c 			ARRAY_SIZE(pcm3168a->supplies), pcm3168a->supplies);
pcm3168a          755 sound/soc/codecs/pcm3168a.c 	ret = regulator_bulk_enable(ARRAY_SIZE(pcm3168a->supplies),
pcm3168a          756 sound/soc/codecs/pcm3168a.c 				    pcm3168a->supplies);
pcm3168a          762 sound/soc/codecs/pcm3168a.c 	pcm3168a->regmap = regmap;
pcm3168a          763 sound/soc/codecs/pcm3168a.c 	if (IS_ERR(pcm3168a->regmap)) {
pcm3168a          764 sound/soc/codecs/pcm3168a.c 		ret = PTR_ERR(pcm3168a->regmap);
pcm3168a          769 sound/soc/codecs/pcm3168a.c 	ret = pcm3168a_reset(pcm3168a);
pcm3168a          789 sound/soc/codecs/pcm3168a.c 	regulator_bulk_disable(ARRAY_SIZE(pcm3168a->supplies),
pcm3168a          790 sound/soc/codecs/pcm3168a.c 			pcm3168a->supplies);
pcm3168a          792 sound/soc/codecs/pcm3168a.c 	clk_disable_unprepare(pcm3168a->scki);
pcm3168a          800 sound/soc/codecs/pcm3168a.c 	struct pcm3168a_priv *pcm3168a = dev_get_drvdata(dev);
pcm3168a          802 sound/soc/codecs/pcm3168a.c 	regulator_bulk_disable(ARRAY_SIZE(pcm3168a->supplies),
pcm3168a          803 sound/soc/codecs/pcm3168a.c 			       pcm3168a->supplies);
pcm3168a          804 sound/soc/codecs/pcm3168a.c 	clk_disable_unprepare(pcm3168a->scki);
pcm3168a          819 sound/soc/codecs/pcm3168a.c 	struct pcm3168a_priv *pcm3168a = dev_get_drvdata(dev);
pcm3168a          822 sound/soc/codecs/pcm3168a.c 	ret = clk_prepare_enable(pcm3168a->scki);
pcm3168a          828 sound/soc/codecs/pcm3168a.c 	ret = regulator_bulk_enable(ARRAY_SIZE(pcm3168a->supplies),
pcm3168a          829 sound/soc/codecs/pcm3168a.c 				    pcm3168a->supplies);
pcm3168a          835 sound/soc/codecs/pcm3168a.c 	ret = pcm3168a_reset(pcm3168a);
pcm3168a          841 sound/soc/codecs/pcm3168a.c 	regcache_cache_only(pcm3168a->regmap, false);
pcm3168a          843 sound/soc/codecs/pcm3168a.c 	regcache_mark_dirty(pcm3168a->regmap);
pcm3168a          845 sound/soc/codecs/pcm3168a.c 	ret = regcache_sync(pcm3168a->regmap);
pcm3168a          854 sound/soc/codecs/pcm3168a.c 	regulator_bulk_disable(ARRAY_SIZE(pcm3168a->supplies),
pcm3168a          855 sound/soc/codecs/pcm3168a.c 			       pcm3168a->supplies);
pcm3168a          857 sound/soc/codecs/pcm3168a.c 	clk_disable_unprepare(pcm3168a->scki);
pcm3168a          864 sound/soc/codecs/pcm3168a.c 	struct pcm3168a_priv *pcm3168a = dev_get_drvdata(dev);
pcm3168a          866 sound/soc/codecs/pcm3168a.c 	regcache_cache_only(pcm3168a->regmap, true);