Lines Matching +full:sdmode +full:- +full:delay

1 // SPDX-License-Identifier: GPL-2.0-only
2 /* Copyright (c) 2010-2011,2013-2015 The Linux Foundation. All rights reserved.
4 * max98357a.c -- MAX98357A ALSA SoC Codec driver
8 #include <linux/delay.h>
19 #include <sound/soc-dai.h>
20 #include <sound/soc-dapm.h>
23 struct gpio_desc *sdmode; member
31 struct snd_soc_component *component = dai->component; in max98357a_daiops_trigger()
35 if (!max98357a->sdmode) in max98357a_daiops_trigger()
42 mdelay(max98357a->sdmode_delay); in max98357a_daiops_trigger()
43 if (max98357a->sdmode_switch) { in max98357a_daiops_trigger()
44 gpiod_set_value(max98357a->sdmode, 1); in max98357a_daiops_trigger()
45 dev_dbg(component->dev, "set sdmode to 1"); in max98357a_daiops_trigger()
51 gpiod_set_value(max98357a->sdmode, 0); in max98357a_daiops_trigger()
52 dev_dbg(component->dev, "set sdmode to 0"); in max98357a_daiops_trigger()
63 snd_soc_dapm_to_component(w->dapm); in max98357a_sdmode_event()
68 max98357a->sdmode_switch = 1; in max98357a_sdmode_event()
70 max98357a->sdmode_switch = 0; in max98357a_sdmode_event()
128 max98357a = devm_kzalloc(&pdev->dev, sizeof(*max98357a), GFP_KERNEL); in max98357a_platform_probe()
130 return -ENOMEM; in max98357a_platform_probe()
132 max98357a->sdmode = devm_gpiod_get_optional(&pdev->dev, in max98357a_platform_probe()
133 "sdmode", GPIOD_OUT_LOW); in max98357a_platform_probe()
134 if (IS_ERR(max98357a->sdmode)) in max98357a_platform_probe()
135 return PTR_ERR(max98357a->sdmode); in max98357a_platform_probe()
137 ret = device_property_read_u32(&pdev->dev, "sdmode-delay", in max98357a_platform_probe()
138 &max98357a->sdmode_delay); in max98357a_platform_probe()
140 max98357a->sdmode_delay = 0; in max98357a_platform_probe()
141 dev_dbg(&pdev->dev, in max98357a_platform_probe()
142 "no optional property 'sdmode-delay' found, " in max98357a_platform_probe()
143 "default: no delay\n"); in max98357a_platform_probe()
146 dev_set_drvdata(&pdev->dev, max98357a); in max98357a_platform_probe()
148 return devm_snd_soc_register_component(&pdev->dev, in max98357a_platform_probe()