es8316            367 sound/soc/codecs/es8316.c 	struct es8316_priv *es8316 = snd_soc_component_get_drvdata(component);
es8316            371 sound/soc/codecs/es8316.c 	es8316->sysclk = freq;
es8316            374 sound/soc/codecs/es8316.c 		es8316->sysclk_constraints.list = NULL;
es8316            375 sound/soc/codecs/es8316.c 		es8316->sysclk_constraints.count = 0;
es8316            380 sound/soc/codecs/es8316.c 	ret = clk_set_rate(es8316->mclk, freq);
es8316            391 sound/soc/codecs/es8316.c 			es8316->allowed_rates[count++] = freq / ratio;
es8316            394 sound/soc/codecs/es8316.c 	es8316->sysclk_constraints.list = es8316->allowed_rates;
es8316            395 sound/soc/codecs/es8316.c 	es8316->sysclk_constraints.count = count;
es8316            455 sound/soc/codecs/es8316.c 	struct es8316_priv *es8316 = snd_soc_component_get_drvdata(component);
es8316            457 sound/soc/codecs/es8316.c 	if (es8316->sysclk_constraints.list)
es8316            460 sound/soc/codecs/es8316.c 					   &es8316->sysclk_constraints);
es8316            470 sound/soc/codecs/es8316.c 	struct es8316_priv *es8316 = snd_soc_component_get_drvdata(component);
es8316            478 sound/soc/codecs/es8316.c 		if (es8316->sysclk % ratio != 0)
es8316            480 sound/soc/codecs/es8316.c 		if (es8316->sysclk / ratio == params_rate(params))
es8316            578 sound/soc/codecs/es8316.c 	struct es8316_priv *es8316 = data;
es8316            579 sound/soc/codecs/es8316.c 	struct snd_soc_component *comp = es8316->component;
es8316            582 sound/soc/codecs/es8316.c 	mutex_lock(&es8316->lock);
es8316            584 sound/soc/codecs/es8316.c 	regmap_read(es8316->regmap, ES8316_GPIO_FLAG, &flags);
es8316            589 sound/soc/codecs/es8316.c 	if (!es8316->jack)
es8316            592 sound/soc/codecs/es8316.c 	if (es8316->jd_inverted)
es8316            598 sound/soc/codecs/es8316.c 		if (es8316->jack->status & SND_JACK_MICROPHONE)
es8316            601 sound/soc/codecs/es8316.c 		if (es8316->jack->status & SND_JACK_HEADPHONE) {
es8316            602 sound/soc/codecs/es8316.c 			snd_soc_jack_report(es8316->jack, 0,
es8316            606 sound/soc/codecs/es8316.c 	} else if (!(es8316->jack->status & SND_JACK_HEADPHONE)) {
es8316            609 sound/soc/codecs/es8316.c 		regmap_read(es8316->regmap, ES8316_GPIO_FLAG, &flags);
es8316            610 sound/soc/codecs/es8316.c 		if (es8316->jd_inverted)
es8316            618 sound/soc/codecs/es8316.c 			snd_soc_jack_report(es8316->jack,
es8316            624 sound/soc/codecs/es8316.c 			snd_soc_jack_report(es8316->jack,
es8316            630 sound/soc/codecs/es8316.c 	} else if (es8316->jack->status & SND_JACK_MICROPHONE) {
es8316            634 sound/soc/codecs/es8316.c 			snd_soc_jack_report(es8316->jack, 0, SND_JACK_BTN_0);
es8316            637 sound/soc/codecs/es8316.c 			snd_soc_jack_report(es8316->jack,
es8316            644 sound/soc/codecs/es8316.c 	mutex_unlock(&es8316->lock);
es8316            651 sound/soc/codecs/es8316.c 	struct es8316_priv *es8316 = snd_soc_component_get_drvdata(component);
es8316            658 sound/soc/codecs/es8316.c 	es8316->jd_inverted = device_property_read_bool(component->dev,
es8316            661 sound/soc/codecs/es8316.c 	mutex_lock(&es8316->lock);
es8316            663 sound/soc/codecs/es8316.c 	es8316->jack = jack;
es8316            665 sound/soc/codecs/es8316.c 	if (es8316->jack->status & SND_JACK_MICROPHONE)
es8316            672 sound/soc/codecs/es8316.c 	mutex_unlock(&es8316->lock);
es8316            675 sound/soc/codecs/es8316.c 	enable_irq(es8316->irq);
es8316            676 sound/soc/codecs/es8316.c 	es8316_irq(es8316->irq, es8316);
es8316            681 sound/soc/codecs/es8316.c 	struct es8316_priv *es8316 = snd_soc_component_get_drvdata(component);
es8316            683 sound/soc/codecs/es8316.c 	disable_irq(es8316->irq);
es8316            685 sound/soc/codecs/es8316.c 	mutex_lock(&es8316->lock);
es8316            690 sound/soc/codecs/es8316.c 	if (es8316->jack->status & SND_JACK_MICROPHONE) {
es8316            692 sound/soc/codecs/es8316.c 		snd_soc_jack_report(es8316->jack, 0, SND_JACK_BTN_0);
es8316            695 sound/soc/codecs/es8316.c 	es8316->jack = NULL;
es8316            697 sound/soc/codecs/es8316.c 	mutex_unlock(&es8316->lock);
es8316            713 sound/soc/codecs/es8316.c 	struct es8316_priv *es8316 = snd_soc_component_get_drvdata(component);
es8316            716 sound/soc/codecs/es8316.c 	es8316->component = component;
es8316            718 sound/soc/codecs/es8316.c 	es8316->mclk = devm_clk_get_optional(component->dev, "mclk");
es8316            719 sound/soc/codecs/es8316.c 	if (IS_ERR(es8316->mclk)) {
es8316            721 sound/soc/codecs/es8316.c 		return PTR_ERR(es8316->mclk);
es8316            723 sound/soc/codecs/es8316.c 	if (!es8316->mclk)
es8316            726 sound/soc/codecs/es8316.c 	ret = clk_prepare_enable(es8316->mclk);
es8316            756 sound/soc/codecs/es8316.c 	struct es8316_priv *es8316 = snd_soc_component_get_drvdata(component);
es8316            758 sound/soc/codecs/es8316.c 	clk_disable_unprepare(es8316->mclk);
es8316            797 sound/soc/codecs/es8316.c 	struct es8316_priv *es8316;
es8316            800 sound/soc/codecs/es8316.c 	es8316 = devm_kzalloc(&i2c_client->dev, sizeof(struct es8316_priv),
es8316            802 sound/soc/codecs/es8316.c 	if (es8316 == NULL)
es8316            805 sound/soc/codecs/es8316.c 	i2c_set_clientdata(i2c_client, es8316);
es8316            807 sound/soc/codecs/es8316.c 	es8316->regmap = devm_regmap_init_i2c(i2c_client, &es8316_regmap);
es8316            808 sound/soc/codecs/es8316.c 	if (IS_ERR(es8316->regmap))
es8316            809 sound/soc/codecs/es8316.c 		return PTR_ERR(es8316->regmap);
es8316            811 sound/soc/codecs/es8316.c 	es8316->irq = i2c_client->irq;
es8316            812 sound/soc/codecs/es8316.c 	mutex_init(&es8316->lock);
es8316            814 sound/soc/codecs/es8316.c 	ret = devm_request_threaded_irq(dev, es8316->irq, NULL, es8316_irq,
es8316            816 sound/soc/codecs/es8316.c 					"es8316", es8316);
es8316            819 sound/soc/codecs/es8316.c 		disable_irq(es8316->irq);
es8316            821 sound/soc/codecs/es8316.c 		dev_warn(dev, "Failed to get IRQ %d: %d\n", es8316->irq, ret);
es8316            822 sound/soc/codecs/es8316.c 		es8316->irq = -ENXIO;