diff options
Diffstat (limited to 'sound/pci/hda/cirrus_scodec.c')
-rw-r--r-- | sound/pci/hda/cirrus_scodec.c | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/sound/pci/hda/cirrus_scodec.c b/sound/pci/hda/cirrus_scodec.c deleted file mode 100644 index 3c670207ba30..000000000000 --- a/sound/pci/hda/cirrus_scodec.c +++ /dev/null @@ -1,73 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only -// -// Common code for Cirrus side-codecs. -// -// Copyright (C) 2021, 2023 Cirrus Logic, Inc. and -// Cirrus Logic International Semiconductor Ltd. - -#include <linux/dev_printk.h> -#include <linux/gpio/consumer.h> -#include <linux/module.h> - -#include "cirrus_scodec.h" - -int cirrus_scodec_get_speaker_id(struct device *dev, int amp_index, - int num_amps, int fixed_gpio_id) -{ - struct gpio_desc *speaker_id_desc; - int speaker_id = -ENOENT; - - if (fixed_gpio_id >= 0) { - dev_dbg(dev, "Found Fixed Speaker ID GPIO (index = %d)\n", fixed_gpio_id); - speaker_id_desc = gpiod_get_index(dev, NULL, fixed_gpio_id, GPIOD_IN); - if (IS_ERR(speaker_id_desc)) { - speaker_id = PTR_ERR(speaker_id_desc); - return speaker_id; - } - speaker_id = gpiod_get_value_cansleep(speaker_id_desc); - gpiod_put(speaker_id_desc); - } else { - int base_index; - int gpios_per_amp; - int count; - int tmp; - int i; - - count = gpiod_count(dev, "spk-id"); - if (count > 0) { - speaker_id = 0; - gpios_per_amp = count / num_amps; - base_index = gpios_per_amp * amp_index; - - if (count % num_amps) - return -EINVAL; - - dev_dbg(dev, "Found %d Speaker ID GPIOs per Amp\n", gpios_per_amp); - - for (i = 0; i < gpios_per_amp; i++) { - speaker_id_desc = gpiod_get_index(dev, "spk-id", i + base_index, - GPIOD_IN); - if (IS_ERR(speaker_id_desc)) { - speaker_id = PTR_ERR(speaker_id_desc); - break; - } - tmp = gpiod_get_value_cansleep(speaker_id_desc); - gpiod_put(speaker_id_desc); - if (tmp < 0) { - speaker_id = tmp; - break; - } - speaker_id |= tmp << i; - } - } - } - - dev_dbg(dev, "Speaker ID = %d\n", speaker_id); - - return speaker_id; -} -EXPORT_SYMBOL_NS_GPL(cirrus_scodec_get_speaker_id, "SND_HDA_CIRRUS_SCODEC"); - -MODULE_DESCRIPTION("HDA Cirrus side-codec library"); -MODULE_AUTHOR("Richard Fitzgerald <rf@opensource.cirrus.com>"); -MODULE_LICENSE("GPL"); |