wm8962             95 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = container_of(nb, struct wm8962_priv, \
wm8962             98 sound/soc/codecs/wm8962.c 		regcache_mark_dirty(wm8962->regmap);	\
wm8962           1441 sound/soc/codecs/wm8962.c static int wm8962_reset(struct wm8962_priv *wm8962)
wm8962           1445 sound/soc/codecs/wm8962.c 	ret = regmap_write(wm8962->regmap, WM8962_SOFTWARE_RESET, 0x6243);
wm8962           1449 sound/soc/codecs/wm8962.c 	return regmap_write(wm8962->regmap, WM8962_PLL_SOFTWARE_RESET, 0);
wm8962           1476 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           1478 sound/soc/codecs/wm8962.c 	return regcache_sync_region(wm8962->regmap,
wm8962           1507 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           1513 sound/soc/codecs/wm8962.c 	wm8962_dsp2_set_enable(component, wm8962->dsp2_ena);
wm8962           1550 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           1552 sound/soc/codecs/wm8962.c 	ucontrol->value.integer.value[0] = !!(wm8962->dsp2_ena & 1 << shift);
wm8962           1562 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           1563 sound/soc/codecs/wm8962.c 	int old = wm8962->dsp2_ena;
wm8962           1568 sound/soc/codecs/wm8962.c 	mutex_lock(&wm8962->dsp2_ena_lock);
wm8962           1571 sound/soc/codecs/wm8962.c 		wm8962->dsp2_ena |= 1 << shift;
wm8962           1573 sound/soc/codecs/wm8962.c 		wm8962->dsp2_ena &= ~(1 << shift);
wm8962           1575 sound/soc/codecs/wm8962.c 	if (wm8962->dsp2_ena == old)
wm8962           1581 sound/soc/codecs/wm8962.c 		if (wm8962->dsp2_ena)
wm8962           1582 sound/soc/codecs/wm8962.c 			wm8962_dsp2_set_enable(component, wm8962->dsp2_ena);
wm8962           1588 sound/soc/codecs/wm8962.c 	mutex_unlock(&wm8962->dsp2_ena_lock);
wm8962           1990 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           1994 sound/soc/codecs/wm8962.c 		if (wm8962->dsp2_ena)
wm8962           1999 sound/soc/codecs/wm8962.c 		if (wm8962->dsp2_ena)
wm8962           2355 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           2356 sound/soc/codecs/wm8962.c 	struct wm8962_pdata *pdata = &wm8962->pdata;
wm8962           2404 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           2410 sound/soc/codecs/wm8962.c 	if (!wm8962->sysclk_rate) {
wm8962           2415 sound/soc/codecs/wm8962.c 	if (!wm8962->bclk || !wm8962->lrclk) {
wm8962           2421 sound/soc/codecs/wm8962.c 		if (sysclk_rates[i] == wm8962->sysclk_rate / wm8962->lrclk) {
wm8962           2429 sound/soc/codecs/wm8962.c 			wm8962->sysclk_rate / wm8962->lrclk);
wm8962           2460 sound/soc/codecs/wm8962.c 		dspclk = wm8962->sysclk_rate;
wm8962           2463 sound/soc/codecs/wm8962.c 		dspclk = wm8962->sysclk_rate / 2;
wm8962           2466 sound/soc/codecs/wm8962.c 		dspclk = wm8962->sysclk_rate / 4;
wm8962           2470 sound/soc/codecs/wm8962.c 		dspclk = wm8962->sysclk_rate;
wm8962           2473 sound/soc/codecs/wm8962.c 	dev_dbg(component->dev, "DSPCLK is %dHz, BCLK %d\n", dspclk, wm8962->bclk);
wm8962           2480 sound/soc/codecs/wm8962.c 		if (dspclk / bclk_divs[i] == wm8962->bclk) {
wm8962           2482 sound/soc/codecs/wm8962.c 				bclk_divs[i], wm8962->bclk);
wm8962           2489 sound/soc/codecs/wm8962.c 			dspclk / wm8962->bclk);
wm8962           2493 sound/soc/codecs/wm8962.c 	aif2 |= wm8962->bclk / wm8962->lrclk;
wm8962           2495 sound/soc/codecs/wm8962.c 		wm8962->bclk / wm8962->lrclk, wm8962->lrclk);
wm8962           2556 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           2561 sound/soc/codecs/wm8962.c 	wm8962->bclk = snd_soc_params_to_bclk(params);
wm8962           2563 sound/soc/codecs/wm8962.c 		wm8962->bclk *= 2;
wm8962           2565 sound/soc/codecs/wm8962.c 	wm8962->lrclk = params_rate(params);
wm8962           2568 sound/soc/codecs/wm8962.c 		if (sr_vals[i].rate == wm8962->lrclk) {
wm8962           2574 sound/soc/codecs/wm8962.c 		dev_err(component->dev, "Unsupported rate %dHz\n", wm8962->lrclk);
wm8962           2578 sound/soc/codecs/wm8962.c 	if (wm8962->lrclk % 8000 == 0)
wm8962           2604 sound/soc/codecs/wm8962.c 		wm8962->bclk, wm8962->lrclk);
wm8962           2616 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           2621 sound/soc/codecs/wm8962.c 		wm8962->sysclk = WM8962_SYSCLK_MCLK;
wm8962           2625 sound/soc/codecs/wm8962.c 		wm8962->sysclk = WM8962_SYSCLK_FLL;
wm8962           2635 sound/soc/codecs/wm8962.c 	wm8962->sysclk_rate = freq;
wm8962           2812 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           2819 sound/soc/codecs/wm8962.c 	if (source == wm8962->fll_src && Fref == wm8962->fll_fref &&
wm8962           2820 sound/soc/codecs/wm8962.c 	    Fout == wm8962->fll_fout)
wm8962           2826 sound/soc/codecs/wm8962.c 		wm8962->fll_fref = 0;
wm8962           2827 sound/soc/codecs/wm8962.c 		wm8962->fll_fout = 0;
wm8962           2880 sound/soc/codecs/wm8962.c 	reinit_completion(&wm8962->fll_lock);
wm8962           2897 sound/soc/codecs/wm8962.c 	if (wm8962->irq)
wm8962           2902 sound/soc/codecs/wm8962.c 	timeout = wait_for_completion_timeout(&wm8962->fll_lock,
wm8962           2905 sound/soc/codecs/wm8962.c 	if (timeout == 0 && wm8962->irq) {
wm8962           2913 sound/soc/codecs/wm8962.c 	wm8962->fll_fref = Fref;
wm8962           2914 sound/soc/codecs/wm8962.c 	wm8962->fll_fout = Fout;
wm8962           2915 sound/soc/codecs/wm8962.c 	wm8962->fll_src = source;
wm8962           2978 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = container_of(work,
wm8962           2981 sound/soc/codecs/wm8962.c 	struct snd_soc_component *component = wm8962->component;
wm8962           2998 sound/soc/codecs/wm8962.c 	snd_soc_jack_report(wm8962->jack, status,
wm8962           3009 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = dev_get_drvdata(dev);
wm8962           3020 sound/soc/codecs/wm8962.c 	ret = regmap_read(wm8962->regmap, WM8962_INTERRUPT_STATUS_2_MASK,
wm8962           3029 sound/soc/codecs/wm8962.c 	ret = regmap_read(wm8962->regmap, WM8962_INTERRUPT_STATUS_2, &active);
wm8962           3044 sound/soc/codecs/wm8962.c 	ret = regmap_write(wm8962->regmap, WM8962_INTERRUPT_STATUS_2, active);
wm8962           3050 sound/soc/codecs/wm8962.c 		complete(&wm8962->fll_lock);
wm8962           3059 sound/soc/codecs/wm8962.c 		ret = regmap_read(wm8962->regmap,
wm8962           3087 sound/soc/codecs/wm8962.c 				   &wm8962->mic_work,
wm8962           3111 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           3115 sound/soc/codecs/wm8962.c 	wm8962->jack = jack;
wm8962           3130 sound/soc/codecs/wm8962.c 	snd_soc_jack_report(wm8962->jack, 0,
wm8962           3155 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 =
wm8962           3157 sound/soc/codecs/wm8962.c 	struct snd_soc_component *component = wm8962->component;
wm8962           3163 sound/soc/codecs/wm8962.c 	if (wm8962->beep_rate) {
wm8962           3165 sound/soc/codecs/wm8962.c 			if (abs(wm8962->beep_rate - beep_rates[i]) <
wm8962           3166 sound/soc/codecs/wm8962.c 			    abs(wm8962->beep_rate - beep_rates[best]))
wm8962           3171 sound/soc/codecs/wm8962.c 			beep_rates[best], wm8962->beep_rate);
wm8962           3194 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           3209 sound/soc/codecs/wm8962.c 	wm8962->beep_rate = hz;
wm8962           3210 sound/soc/codecs/wm8962.c 	schedule_work(&wm8962->beep_work);
wm8962           3218 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = dev_get_drvdata(dev);
wm8962           3226 sound/soc/codecs/wm8962.c 	input_event(wm8962->beep, EV_SND, SND_TONE, time);
wm8962           3235 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           3238 sound/soc/codecs/wm8962.c 	wm8962->beep = devm_input_allocate_device(component->dev);
wm8962           3239 sound/soc/codecs/wm8962.c 	if (!wm8962->beep) {
wm8962           3244 sound/soc/codecs/wm8962.c 	INIT_WORK(&wm8962->beep_work, wm8962_beep_work);
wm8962           3245 sound/soc/codecs/wm8962.c 	wm8962->beep_rate = 0;
wm8962           3247 sound/soc/codecs/wm8962.c 	wm8962->beep->name = "WM8962 Beep Generator";
wm8962           3248 sound/soc/codecs/wm8962.c 	wm8962->beep->phys = dev_name(component->dev);
wm8962           3249 sound/soc/codecs/wm8962.c 	wm8962->beep->id.bustype = BUS_I2C;
wm8962           3251 sound/soc/codecs/wm8962.c 	wm8962->beep->evbit[0] = BIT_MASK(EV_SND);
wm8962           3252 sound/soc/codecs/wm8962.c 	wm8962->beep->sndbit[0] = BIT_MASK(SND_BELL) | BIT_MASK(SND_TONE);
wm8962           3253 sound/soc/codecs/wm8962.c 	wm8962->beep->event = wm8962_beep_event;
wm8962           3254 sound/soc/codecs/wm8962.c 	wm8962->beep->dev.parent = component->dev;
wm8962           3255 sound/soc/codecs/wm8962.c 	input_set_drvdata(wm8962->beep, component);
wm8962           3257 sound/soc/codecs/wm8962.c 	ret = input_register_device(wm8962->beep);
wm8962           3259 sound/soc/codecs/wm8962.c 		wm8962->beep = NULL;
wm8962           3272 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           3275 sound/soc/codecs/wm8962.c 	cancel_work_sync(&wm8962->beep_work);
wm8962           3276 sound/soc/codecs/wm8962.c 	wm8962->beep = NULL;
wm8962           3281 sound/soc/codecs/wm8962.c static void wm8962_set_gpio_mode(struct wm8962_priv *wm8962, int gpio)
wm8962           3302 sound/soc/codecs/wm8962.c 		regmap_update_bits(wm8962->regmap, WM8962_ANALOGUE_CLOCKING1,
wm8962           3309 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = gpiochip_get_data(chip);
wm8962           3325 sound/soc/codecs/wm8962.c 	wm8962_set_gpio_mode(wm8962, offset + 1);
wm8962           3332 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = gpiochip_get_data(chip);
wm8962           3333 sound/soc/codecs/wm8962.c 	struct snd_soc_component *component = wm8962->component;
wm8962           3342 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = gpiochip_get_data(chip);
wm8962           3343 sound/soc/codecs/wm8962.c 	struct snd_soc_component *component = wm8962->component;
wm8962           3368 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           3369 sound/soc/codecs/wm8962.c 	struct wm8962_pdata *pdata = &wm8962->pdata;
wm8962           3372 sound/soc/codecs/wm8962.c 	wm8962->gpio_chip = wm8962_template_chip;
wm8962           3373 sound/soc/codecs/wm8962.c 	wm8962->gpio_chip.ngpio = WM8962_MAX_GPIO;
wm8962           3374 sound/soc/codecs/wm8962.c 	wm8962->gpio_chip.parent = component->dev;
wm8962           3377 sound/soc/codecs/wm8962.c 		wm8962->gpio_chip.base = pdata->gpio_base;
wm8962           3379 sound/soc/codecs/wm8962.c 		wm8962->gpio_chip.base = -1;
wm8962           3381 sound/soc/codecs/wm8962.c 	ret = gpiochip_add_data(&wm8962->gpio_chip, wm8962);
wm8962           3388 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           3390 sound/soc/codecs/wm8962.c 	gpiochip_remove(&wm8962->gpio_chip);
wm8962           3406 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           3410 sound/soc/codecs/wm8962.c 	wm8962->component = component;
wm8962           3412 sound/soc/codecs/wm8962.c 	wm8962->disable_nb[0].notifier_call = wm8962_regulator_event_0;
wm8962           3413 sound/soc/codecs/wm8962.c 	wm8962->disable_nb[1].notifier_call = wm8962_regulator_event_1;
wm8962           3414 sound/soc/codecs/wm8962.c 	wm8962->disable_nb[2].notifier_call = wm8962_regulator_event_2;
wm8962           3415 sound/soc/codecs/wm8962.c 	wm8962->disable_nb[3].notifier_call = wm8962_regulator_event_3;
wm8962           3416 sound/soc/codecs/wm8962.c 	wm8962->disable_nb[4].notifier_call = wm8962_regulator_event_4;
wm8962           3417 sound/soc/codecs/wm8962.c 	wm8962->disable_nb[5].notifier_call = wm8962_regulator_event_5;
wm8962           3418 sound/soc/codecs/wm8962.c 	wm8962->disable_nb[6].notifier_call = wm8962_regulator_event_6;
wm8962           3419 sound/soc/codecs/wm8962.c 	wm8962->disable_nb[7].notifier_call = wm8962_regulator_event_7;
wm8962           3422 sound/soc/codecs/wm8962.c 	for (i = 0; i < ARRAY_SIZE(wm8962->supplies); i++) {
wm8962           3424 sound/soc/codecs/wm8962.c 						wm8962->supplies[i].consumer,
wm8962           3425 sound/soc/codecs/wm8962.c 						&wm8962->disable_nb[i]);
wm8962           3466 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = snd_soc_component_get_drvdata(component);
wm8962           3468 sound/soc/codecs/wm8962.c 	cancel_delayed_work_sync(&wm8962->mic_work);
wm8962           3537 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962;
wm8962           3541 sound/soc/codecs/wm8962.c 	wm8962 = devm_kzalloc(&i2c->dev, sizeof(*wm8962), GFP_KERNEL);
wm8962           3542 sound/soc/codecs/wm8962.c 	if (wm8962 == NULL)
wm8962           3545 sound/soc/codecs/wm8962.c 	mutex_init(&wm8962->dsp2_ena_lock);
wm8962           3547 sound/soc/codecs/wm8962.c 	i2c_set_clientdata(i2c, wm8962);
wm8962           3549 sound/soc/codecs/wm8962.c 	INIT_DELAYED_WORK(&wm8962->mic_work, wm8962_mic_work);
wm8962           3550 sound/soc/codecs/wm8962.c 	init_completion(&wm8962->fll_lock);
wm8962           3551 sound/soc/codecs/wm8962.c 	wm8962->irq = i2c->irq;
wm8962           3555 sound/soc/codecs/wm8962.c 		memcpy(&wm8962->pdata, pdata, sizeof(struct wm8962_pdata));
wm8962           3557 sound/soc/codecs/wm8962.c 		ret = wm8962_set_pdata_from_of(i2c, &wm8962->pdata);
wm8962           3563 sound/soc/codecs/wm8962.c 	if (IS_ERR(wm8962->pdata.mclk)) {
wm8962           3565 sound/soc/codecs/wm8962.c 		if (PTR_ERR(wm8962->pdata.mclk) == -EPROBE_DEFER)
wm8962           3567 sound/soc/codecs/wm8962.c 		wm8962->pdata.mclk = NULL;
wm8962           3570 sound/soc/codecs/wm8962.c 	for (i = 0; i < ARRAY_SIZE(wm8962->supplies); i++)
wm8962           3571 sound/soc/codecs/wm8962.c 		wm8962->supplies[i].supply = wm8962_supply_names[i];
wm8962           3573 sound/soc/codecs/wm8962.c 	ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8962->supplies),
wm8962           3574 sound/soc/codecs/wm8962.c 				 wm8962->supplies);
wm8962           3580 sound/soc/codecs/wm8962.c 	ret = regulator_bulk_enable(ARRAY_SIZE(wm8962->supplies),
wm8962           3581 sound/soc/codecs/wm8962.c 				    wm8962->supplies);
wm8962           3587 sound/soc/codecs/wm8962.c 	wm8962->regmap = devm_regmap_init_i2c(i2c, &wm8962_regmap);
wm8962           3588 sound/soc/codecs/wm8962.c 	if (IS_ERR(wm8962->regmap)) {
wm8962           3589 sound/soc/codecs/wm8962.c 		ret = PTR_ERR(wm8962->regmap);
wm8962           3599 sound/soc/codecs/wm8962.c 	regcache_cache_bypass(wm8962->regmap, true);
wm8962           3601 sound/soc/codecs/wm8962.c 	ret = regmap_read(wm8962->regmap, WM8962_SOFTWARE_RESET, &reg);
wm8962           3613 sound/soc/codecs/wm8962.c 	ret = regmap_read(wm8962->regmap, WM8962_RIGHT_INPUT_VOLUME, &reg);
wm8962           3625 sound/soc/codecs/wm8962.c 	regcache_cache_bypass(wm8962->regmap, false);
wm8962           3627 sound/soc/codecs/wm8962.c 	ret = wm8962_reset(wm8962);
wm8962           3636 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_CLOCKING2,
wm8962           3640 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_CLOCKING2,
wm8962           3644 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_PLL2,
wm8962           3649 sound/soc/codecs/wm8962.c 	for (i = 0; i < ARRAY_SIZE(wm8962->pdata.gpio_init); i++)
wm8962           3650 sound/soc/codecs/wm8962.c 		if (wm8962->pdata.gpio_init[i]) {
wm8962           3651 sound/soc/codecs/wm8962.c 			wm8962_set_gpio_mode(wm8962, i + 1);
wm8962           3652 sound/soc/codecs/wm8962.c 			regmap_write(wm8962->regmap, 0x200 + i,
wm8962           3653 sound/soc/codecs/wm8962.c 				     wm8962->pdata.gpio_init[i] & 0xffff);
wm8962           3658 sound/soc/codecs/wm8962.c 	if (wm8962->pdata.spk_mono)
wm8962           3659 sound/soc/codecs/wm8962.c 		regmap_update_bits(wm8962->regmap, WM8962_CLASS_D_CONTROL_2,
wm8962           3664 sound/soc/codecs/wm8962.c 	if (wm8962->pdata.mic_cfg)
wm8962           3665 sound/soc/codecs/wm8962.c 		regmap_update_bits(wm8962->regmap, WM8962_ADDITIONAL_CONTROL_4,
wm8962           3670 sound/soc/codecs/wm8962.c 				   wm8962->pdata.mic_cfg);
wm8962           3673 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_LEFT_INPUT_VOLUME,
wm8962           3675 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_RIGHT_INPUT_VOLUME,
wm8962           3677 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_LEFT_ADC_VOLUME,
wm8962           3679 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_RIGHT_ADC_VOLUME,
wm8962           3681 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_LEFT_DAC_VOLUME,
wm8962           3683 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_RIGHT_DAC_VOLUME,
wm8962           3685 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_SPKOUTL_VOLUME,
wm8962           3687 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_SPKOUTR_VOLUME,
wm8962           3689 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_HPOUTL_VOLUME,
wm8962           3691 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_HPOUTR_VOLUME,
wm8962           3695 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_EQ1,
wm8962           3699 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_IRQ_DEBOUNCE,
wm8962           3704 sound/soc/codecs/wm8962.c 	if (wm8962->pdata.in4_dc_measure) {
wm8962           3705 sound/soc/codecs/wm8962.c 		ret = regmap_register_patch(wm8962->regmap,
wm8962           3714 sound/soc/codecs/wm8962.c 	if (wm8962->irq) {
wm8962           3715 sound/soc/codecs/wm8962.c 		if (wm8962->pdata.irq_active_low) {
wm8962           3723 sound/soc/codecs/wm8962.c 		regmap_update_bits(wm8962->regmap, WM8962_INTERRUPT_CONTROL,
wm8962           3726 sound/soc/codecs/wm8962.c 		ret = devm_request_threaded_irq(&i2c->dev, wm8962->irq, NULL,
wm8962           3732 sound/soc/codecs/wm8962.c 				wm8962->irq, ret);
wm8962           3733 sound/soc/codecs/wm8962.c 			wm8962->irq = 0;
wm8962           3737 sound/soc/codecs/wm8962.c 			regmap_update_bits(wm8962->regmap,
wm8962           3753 sound/soc/codecs/wm8962.c 	regcache_cache_only(wm8962->regmap, true);
wm8962           3756 sound/soc/codecs/wm8962.c 	regulator_bulk_disable(ARRAY_SIZE(wm8962->supplies), wm8962->supplies);
wm8962           3763 sound/soc/codecs/wm8962.c 	regulator_bulk_disable(ARRAY_SIZE(wm8962->supplies), wm8962->supplies);
wm8962           3777 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = dev_get_drvdata(dev);
wm8962           3780 sound/soc/codecs/wm8962.c 	ret = clk_prepare_enable(wm8962->pdata.mclk);
wm8962           3786 sound/soc/codecs/wm8962.c 	ret = regulator_bulk_enable(ARRAY_SIZE(wm8962->supplies),
wm8962           3787 sound/soc/codecs/wm8962.c 				    wm8962->supplies);
wm8962           3793 sound/soc/codecs/wm8962.c 	regcache_cache_only(wm8962->regmap, false);
wm8962           3795 sound/soc/codecs/wm8962.c 	wm8962_reset(wm8962);
wm8962           3797 sound/soc/codecs/wm8962.c 	regcache_mark_dirty(wm8962->regmap);
wm8962           3802 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_CLOCKING2,
wm8962           3806 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_CLOCKING2,
wm8962           3810 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_PLL2,
wm8962           3814 sound/soc/codecs/wm8962.c 	regcache_sync(wm8962->regmap);
wm8962           3816 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_ANTI_POP,
wm8962           3821 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_PWR_MGMT_1,
wm8962           3830 sound/soc/codecs/wm8962.c 	clk_disable_unprepare(wm8962->pdata.mclk);
wm8962           3836 sound/soc/codecs/wm8962.c 	struct wm8962_priv *wm8962 = dev_get_drvdata(dev);
wm8962           3838 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_PWR_MGMT_1,
wm8962           3841 sound/soc/codecs/wm8962.c 	regmap_update_bits(wm8962->regmap, WM8962_ANTI_POP,
wm8962           3845 sound/soc/codecs/wm8962.c 	regcache_cache_only(wm8962->regmap, true);
wm8962           3847 sound/soc/codecs/wm8962.c 	regulator_bulk_disable(ARRAY_SIZE(wm8962->supplies),
wm8962           3848 sound/soc/codecs/wm8962.c 			       wm8962->supplies);
wm8962           3850 sound/soc/codecs/wm8962.c 	clk_disable_unprepare(wm8962->pdata.mclk);