diff options
Diffstat (limited to 'sound/soc/codecs/ics43432.c')
| -rw-r--r-- | sound/soc/codecs/ics43432.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/sound/soc/codecs/ics43432.c b/sound/soc/codecs/ics43432.c index dd850b93938d..58a382254718 100644 --- a/sound/soc/codecs/ics43432.c +++ b/sound/soc/codecs/ics43432.c @@ -1,12 +1,12 @@ +// SPDX-License-Identifier: GPL-2.0-only /* - * I2S MEMS microphone driver for InvenSense ICS-43432 + * I2S MEMS microphone driver for InvenSense ICS-43432 and similar + * MEMS-based microphones. * * - Non configurable. * - I2S interface, 64 BCLs per frame, 32 bits per channel, 24 bit data * * Copyright (c) 2015 Axis Communications AB - * - * Licensed under GPL v2. */ #include <linux/module.h> @@ -37,24 +37,23 @@ static struct snd_soc_dai_driver ics43432_dai = { }, }; -static struct snd_soc_codec_driver ics43432_codec_driver = { +static const struct snd_soc_component_driver ics43432_component_driver = { + .idle_bias_on = 1, + .use_pmdown_time = 1, + .endianness = 1, }; static int ics43432_probe(struct platform_device *pdev) { - return snd_soc_register_codec(&pdev->dev, &ics43432_codec_driver, + return devm_snd_soc_register_component(&pdev->dev, + &ics43432_component_driver, &ics43432_dai, 1); } -static int ics43432_remove(struct platform_device *pdev) -{ - snd_soc_unregister_codec(&pdev->dev); - return 0; -} - #ifdef CONFIG_OF static const struct of_device_id ics43432_ids[] = { { .compatible = "invensense,ics43432", }, + { .compatible = "cui,cmm-4030d-261", }, { } }; MODULE_DEVICE_TABLE(of, ics43432_ids); @@ -66,7 +65,6 @@ static struct platform_driver ics43432_driver = { .of_match_table = of_match_ptr(ics43432_ids), }, .probe = ics43432_probe, - .remove = ics43432_remove, }; module_platform_driver(ics43432_driver); |
