diff options
Diffstat (limited to 'sound')
-rw-r--r-- | sound/core/pcm_native.c | 13 | ||||
-rw-r--r-- | sound/soc/codecs/Kconfig | 4 | ||||
-rw-r--r-- | sound/soc/codecs/cros_ec_codec.c | 4 | ||||
-rw-r--r-- | sound/soc/intel/boards/bytcht_cx2072x.c | 1 | ||||
-rw-r--r-- | sound/soc/intel/boards/cht_bsw_max98090_ti.c | 1 | ||||
-rw-r--r-- | sound/soc/intel/boards/cht_bsw_rt5672.c | 1 | ||||
-rw-r--r-- | sound/soc/intel/common/soc-intel-quirks.h | 2 | ||||
-rw-r--r-- | sound/soc/jz4740/Kconfig | 25 | ||||
-rw-r--r-- | sound/soc/jz4740/Makefile | 5 | ||||
-rw-r--r-- | sound/soc/jz4740/qi_lb60.c | 106 | ||||
-rw-r--r-- | sound/soc/qcom/Kconfig | 2 | ||||
-rw-r--r-- | sound/soc/rockchip/rk3399_gru_sound.c | 9 |
12 files changed, 19 insertions, 154 deletions
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c index 11e653c8aa0e..91c6ad58729f 100644 --- a/sound/core/pcm_native.c +++ b/sound/core/pcm_native.c @@ -220,13 +220,12 @@ static bool hw_support_mmap(struct snd_pcm_substream *substream) { if (!(substream->runtime->hw.info & SNDRV_PCM_INFO_MMAP)) return false; - /* architecture supports dma_mmap_coherent()? */ -#if defined(CONFIG_ARCH_NO_COHERENT_DMA_MMAP) || !defined(CONFIG_HAS_DMA) - if (!substream->ops->mmap && - substream->dma_buffer.dev.type == SNDRV_DMA_TYPE_DEV) - return false; -#endif - return true; + + if (substream->ops->mmap || + substream->dma_buffer.dev.type != SNDRV_DMA_TYPE_DEV) + return true; + + return dma_can_mmap(substream->dma_buffer.dev.dev); } static int constrain_mask_params(struct snd_pcm_substream *substream, diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 89238343e34d..229cc89f8c5a 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig @@ -51,7 +51,7 @@ config SND_SOC_ALL_CODECS select SND_SOC_BT_SCO select SND_SOC_BD28623 select SND_SOC_CQ0093VC - select SND_SOC_CROS_EC_CODEC if MFD_CROS_EC + select SND_SOC_CROS_EC_CODEC if CROS_EC select SND_SOC_CS35L32 if I2C select SND_SOC_CS35L33 if I2C select SND_SOC_CS35L34 if I2C @@ -477,7 +477,7 @@ config SND_SOC_CQ0093VC config SND_SOC_CROS_EC_CODEC tristate "codec driver for ChromeOS EC" - depends on MFD_CROS_EC + depends on CROS_EC help If you say yes here you will get support for the ChromeOS Embedded Controller's Audio Codec. diff --git a/sound/soc/codecs/cros_ec_codec.c b/sound/soc/codecs/cros_ec_codec.c index 85beef265cc8..3c1bd24a1057 100644 --- a/sound/soc/codecs/cros_ec_codec.c +++ b/sound/soc/codecs/cros_ec_codec.c @@ -9,9 +9,9 @@ #include <linux/delay.h> #include <linux/device.h> #include <linux/kernel.h> -#include <linux/mfd/cros_ec.h> -#include <linux/mfd/cros_ec_commands.h> #include <linux/module.h> +#include <linux/platform_data/cros_ec_commands.h> +#include <linux/platform_data/cros_ec_proto.h> #include <linux/platform_device.h> #include <sound/pcm.h> #include <sound/pcm_params.h> diff --git a/sound/soc/intel/boards/bytcht_cx2072x.c b/sound/soc/intel/boards/bytcht_cx2072x.c index 54ac2fd41925..67f06c95eec5 100644 --- a/sound/soc/intel/boards/bytcht_cx2072x.c +++ b/sound/soc/intel/boards/bytcht_cx2072x.c @@ -6,6 +6,7 @@ #include <linux/acpi.h> #include <linux/device.h> +#include <linux/gpio/consumer.h> #include <linux/module.h> #include <linux/platform_device.h> #include <linux/slab.h> diff --git a/sound/soc/intel/boards/cht_bsw_max98090_ti.c b/sound/soc/intel/boards/cht_bsw_max98090_ti.c index eaf3e2208a06..70bb86f3342f 100644 --- a/sound/soc/intel/boards/cht_bsw_max98090_ti.c +++ b/sound/soc/intel/boards/cht_bsw_max98090_ti.c @@ -12,6 +12,7 @@ */ #include <linux/dmi.h> +#include <linux/gpio/consumer.h> #include <linux/module.h> #include <linux/platform_device.h> #include <linux/slab.h> diff --git a/sound/soc/intel/boards/cht_bsw_rt5672.c b/sound/soc/intel/boards/cht_bsw_rt5672.c index 4977b5a65eb8..9d657421730a 100644 --- a/sound/soc/intel/boards/cht_bsw_rt5672.c +++ b/sound/soc/intel/boards/cht_bsw_rt5672.c @@ -8,6 +8,7 @@ * Mengdong Lin <mengdong.lin@intel.com> */ +#include <linux/gpio/consumer.h> #include <linux/input.h> #include <linux/module.h> #include <linux/platform_device.h> diff --git a/sound/soc/intel/common/soc-intel-quirks.h b/sound/soc/intel/common/soc-intel-quirks.h index e6357d306cb8..863a477d3405 100644 --- a/sound/soc/intel/common/soc-intel-quirks.h +++ b/sound/soc/intel/common/soc-intel-quirks.h @@ -36,7 +36,7 @@ SOC_INTEL_IS_CPU(byt, INTEL_FAM6_ATOM_SILVERMONT); SOC_INTEL_IS_CPU(cht, INTEL_FAM6_ATOM_AIRMONT); SOC_INTEL_IS_CPU(apl, INTEL_FAM6_ATOM_GOLDMONT); SOC_INTEL_IS_CPU(glk, INTEL_FAM6_ATOM_GOLDMONT_PLUS); -SOC_INTEL_IS_CPU(cml, INTEL_FAM6_KABYLAKE_MOBILE); +SOC_INTEL_IS_CPU(cml, INTEL_FAM6_KABYLAKE_L); static inline bool soc_intel_is_byt_cr(struct platform_device *pdev) { diff --git a/sound/soc/jz4740/Kconfig b/sound/soc/jz4740/Kconfig index 6b757168693e..e72f826062e9 100644 --- a/sound/soc/jz4740/Kconfig +++ b/sound/soc/jz4740/Kconfig @@ -1,30 +1,9 @@ # SPDX-License-Identifier: GPL-2.0-only -config SND_JZ4740_SOC - tristate "SoC Audio for Ingenic JZ4740 SoC" - depends on MIPS || COMPILE_TEST - select SND_SOC_GENERIC_DMAENGINE_PCM - help - Say Y or M if you want to add support for codecs attached to - the JZ4740 I2S interface. You will also need to select the audio - interfaces to support below. - -if SND_JZ4740_SOC - config SND_JZ4740_SOC_I2S tristate "SoC Audio (I2S protocol) for Ingenic JZ4740 SoC" + depends on MIPS || COMPILE_TEST depends on HAS_IOMEM + select SND_SOC_GENERIC_DMAENGINE_PCM help Say Y if you want to use I2S protocol and I2S codec on Ingenic JZ4740 based boards. - -config SND_JZ4740_SOC_QI_LB60 - tristate "SoC Audio support for Qi LB60" - depends on HAS_IOMEM - depends on JZ4740_QI_LB60 || COMPILE_TEST - select SND_JZ4740_SOC_I2S - select SND_SOC_JZ4740_CODEC - help - Say Y if you want to add support for ASoC audio on the Qi LB60 board - a.k.a Qi Ben NanoNote. - -endif diff --git a/sound/soc/jz4740/Makefile b/sound/soc/jz4740/Makefile index fb10e9ad9ff7..f8701c9b09fe 100644 --- a/sound/soc/jz4740/Makefile +++ b/sound/soc/jz4740/Makefile @@ -5,8 +5,3 @@ snd-soc-jz4740-i2s-objs := jz4740-i2s.o obj-$(CONFIG_SND_JZ4740_SOC_I2S) += snd-soc-jz4740-i2s.o - -# Jz4740 Machine Support -snd-soc-qi-lb60-objs := qi_lb60.o - -obj-$(CONFIG_SND_JZ4740_SOC_QI_LB60) += snd-soc-qi-lb60.o diff --git a/sound/soc/jz4740/qi_lb60.c b/sound/soc/jz4740/qi_lb60.c deleted file mode 100644 index 8ef6f41dcfbe..000000000000 --- a/sound/soc/jz4740/qi_lb60.c +++ /dev/null @@ -1,106 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-only -/* - * Copyright (C) 2009, Lars-Peter Clausen <lars@metafoo.de> - */ - -#include <linux/module.h> -#include <linux/moduleparam.h> -#include <linux/timer.h> -#include <linux/interrupt.h> -#include <linux/platform_device.h> -#include <sound/core.h> -#include <sound/pcm.h> -#include <sound/soc.h> -#include <linux/gpio/consumer.h> - -struct qi_lb60 { - struct gpio_desc *snd_gpio; - struct gpio_desc *amp_gpio; -}; - -static int qi_lb60_spk_event(struct snd_soc_dapm_widget *widget, - struct snd_kcontrol *ctrl, int event) -{ - struct qi_lb60 *qi_lb60 = snd_soc_card_get_drvdata(widget->dapm->card); - int on = !SND_SOC_DAPM_EVENT_OFF(event); - - gpiod_set_value_cansleep(qi_lb60->snd_gpio, on); - gpiod_set_value_cansleep(qi_lb60->amp_gpio, on); - - return 0; -} - -static const struct snd_soc_dapm_widget qi_lb60_widgets[] = { - SND_SOC_DAPM_SPK("Speaker", qi_lb60_spk_event), - SND_SOC_DAPM_MIC("Mic", NULL), -}; - -static const struct snd_soc_dapm_route qi_lb60_routes[] = { - {"Mic", NULL, "MIC"}, - {"Speaker", NULL, "LOUT"}, - {"Speaker", NULL, "ROUT"}, -}; - -SND_SOC_DAILINK_DEFS(hifi, - DAILINK_COMP_ARRAY(COMP_CPU("jz4740-i2s")), - DAILINK_COMP_ARRAY(COMP_CODEC("jz4740-codec", "jz4740-hifi")), - DAILINK_COMP_ARRAY(COMP_PLATFORM("jz4740-i2s"))); - -static struct snd_soc_dai_link qi_lb60_dai = { - .name = "jz4740", - .stream_name = "jz4740", - .dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF | - SND_SOC_DAIFMT_CBM_CFM, - SND_SOC_DAILINK_REG(hifi), -}; - -static struct snd_soc_card qi_lb60_card = { - .name = "QI LB60", - .owner = THIS_MODULE, - .dai_link = &qi_lb60_dai, - .num_links = 1, - - .dapm_widgets = qi_lb60_widgets, - .num_dapm_widgets = ARRAY_SIZE(qi_lb60_widgets), - .dapm_routes = qi_lb60_routes, - .num_dapm_routes = ARRAY_SIZE(qi_lb60_routes), - .fully_routed = true, -}; - -static int qi_lb60_probe(struct platform_device *pdev) -{ - struct qi_lb60 *qi_lb60; - struct snd_soc_card *card = &qi_lb60_card; - - qi_lb60 = devm_kzalloc(&pdev->dev, sizeof(*qi_lb60), GFP_KERNEL); - if (!qi_lb60) - return -ENOMEM; - - qi_lb60->snd_gpio = devm_gpiod_get(&pdev->dev, "snd", GPIOD_OUT_LOW); - if (IS_ERR(qi_lb60->snd_gpio)) - return PTR_ERR(qi_lb60->snd_gpio); - - qi_lb60->amp_gpio = devm_gpiod_get(&pdev->dev, "amp", GPIOD_OUT_LOW); - if (IS_ERR(qi_lb60->amp_gpio)) - return PTR_ERR(qi_lb60->amp_gpio); - - card->dev = &pdev->dev; - - snd_soc_card_set_drvdata(card, qi_lb60); - - return devm_snd_soc_register_card(&pdev->dev, card); -} - -static struct platform_driver qi_lb60_driver = { - .driver = { - .name = "qi-lb60-audio", - }, - .probe = qi_lb60_probe, -}; - -module_platform_driver(qi_lb60_driver); - -MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>"); -MODULE_DESCRIPTION("ALSA SoC QI LB60 Audio support"); -MODULE_LICENSE("GPL v2"); -MODULE_ALIAS("platform:qi-lb60-audio"); diff --git a/sound/soc/qcom/Kconfig b/sound/soc/qcom/Kconfig index 8e3e86619b35..60086858e920 100644 --- a/sound/soc/qcom/Kconfig +++ b/sound/soc/qcom/Kconfig @@ -99,7 +99,7 @@ config SND_SOC_MSM8996 config SND_SOC_SDM845 tristate "SoC Machine driver for SDM845 boards" - depends on QCOM_APR && MFD_CROS_EC && I2C + depends on QCOM_APR && CROS_EC && I2C select SND_SOC_QDSP6 select SND_SOC_QCOM_COMMON select SND_SOC_RT5663 diff --git a/sound/soc/rockchip/rk3399_gru_sound.c b/sound/soc/rockchip/rk3399_gru_sound.c index c16b0ffe8cfc..d951100bf770 100644 --- a/sound/soc/rockchip/rk3399_gru_sound.c +++ b/sound/soc/rockchip/rk3399_gru_sound.c @@ -422,11 +422,6 @@ static const struct dailink_match_data dailink_match[] = { }, }; -static int of_dev_node_match(struct device *dev, const void *data) -{ - return dev->of_node == data; -} - static int rockchip_sound_codec_node_match(struct device_node *np_codec) { struct device *dev; @@ -438,8 +433,8 @@ static int rockchip_sound_codec_node_match(struct device_node *np_codec) continue; if (dailink_match[i].bus_type) { - dev = bus_find_device(dailink_match[i].bus_type, NULL, - np_codec, of_dev_node_match); + dev = bus_find_device_by_of_node(dailink_match[i].bus_type, + np_codec); if (!dev) continue; put_device(dev); |