[PATCH 00/14] ARM: remove unused davinci board & drivers
From: Arnd Bergmann arnd@arndb.de
As part of removing all board files that were previously marked as unused, I looked through the davinci platform and recursively removed everything that has now become unused.
In particular, this is for all dm3xx support, in addition to the dm64xx support removed previously. The remaining support is now for da8xx using devicetree only, which means a lot of the da8xx specific device support can also go away.
As with the previous series, I can keep patches together in the soc tree, or subsystem maintainers can pick them up individually through their subsystems, whichever they prefer.
Arnd Bergmann (14): ARM: davinci: remove unused board support ARM: davinci: drop DAVINCI_DMxxx references ARM: davinci: clean up platform support clk: remove davinci dm3xx drivers usb: musb: remove unused davinci support mfd: remove dm355evm_msp driver input: remove davinci keyboard driver rtc: remove davinci rtc driver ASoC: remove unused davinci support mfd: remove davinci voicecodec driver pata: remove palmchip bk3710 driver irqchip: remove davinci aintc driver staging: media: remove davinci vpfe_capture driver media: davinci: remove vpbe support
Cc: Sekhar Nori nsekhar@ti.com Cc: Bartosz Golaszewski brgl@bgdev.pl Cc: Russell King linux@armlinux.org.uk Cc: Mauro Carvalho Chehab mchehab@kernel.org Cc: Damien Le Moal damien.lemoal@opensource.wdc.com Cc: Sergey Shtylyov s.shtylyov@omp.ru Cc: David Lechner david@lechnology.com Cc: Michael Turquette mturquette@baylibre.com Cc: Stephen Boyd sboyd@kernel.org Cc: Dmitry Torokhov dmitry.torokhov@gmail.com Cc: Thomas Gleixner tglx@linutronix.de Cc: Marc Zyngier maz@kernel.org Cc: "Lad, Prabhakar" prabhakar.csengg@gmail.com Cc: Lee Jones lee@kernel.org Cc: Alessandro Zummo a.zummo@towertech.it Cc: Alexandre Belloni alexandre.belloni@bootlin.com Cc: Greg Kroah-Hartman gregkh@linuxfoundation.org Cc: Bin Liu b-liu@ti.com Cc: Peter Ujfalusi peter.ujfalusi@gmail.com Cc: Liam Girdwood lgirdwood@gmail.com Cc: Mark Brown broonie@kernel.org Cc: Jaroslav Kysela perex@perex.cz Cc: Takashi Iwai tiwai@suse.com Cc: Laurent Pinchart laurent.pinchart@ideasonboard.com Cc: Hans Verkuil hverkuil-cisco@xs4all.nl Cc: Yang Yingliang yangyingliang@huawei.com Cc: linux-media@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-ide@vger.kernel.org Cc: linux-clk@vger.kernel.org Cc: linux-input@vger.kernel.org Cc: linux-rtc@vger.kernel.org Cc: linux-staging@lists.linux.dev Cc: linux-usb@vger.kernel.org Cc: alsa-devel@alsa-project.org
.../admin-guide/media/davinci-vpbe.rst | 65 - .../admin-guide/media/platform-cardlist.rst | 1 - .../admin-guide/media/v4l-drivers.rst | 1 - .../media/drivers/davinci-vpbe-devel.rst | 39 - .../driver-api/media/drivers/index.rst | 1 - MAINTAINERS | 1 - arch/arm/Kconfig.debug | 16 +- arch/arm/mach-davinci/Kconfig | 142 -- arch/arm/mach-davinci/Makefile | 18 +- arch/arm/mach-davinci/board-da830-evm.c | 690 ------ arch/arm/mach-davinci/board-da850-evm.c | 1550 -------------- arch/arm/mach-davinci/board-dm355-evm.c | 444 ---- arch/arm/mach-davinci/board-dm355-leopard.c | 278 --- arch/arm/mach-davinci/board-dm365-evm.c | 855 -------- arch/arm/mach-davinci/board-mityomapl138.c | 638 ------ arch/arm/mach-davinci/board-omapl138-hawk.c | 451 ---- arch/arm/mach-davinci/common.h | 7 +- arch/arm/mach-davinci/cputype.h | 53 - arch/arm/mach-davinci/da830.c | 274 --- arch/arm/mach-davinci/da850.c | 400 +--- arch/arm/mach-davinci/da8xx.h | 95 +- arch/arm/mach-davinci/davinci.h | 136 -- arch/arm/mach-davinci/devices-da8xx.c | 1094 ---------- arch/arm/mach-davinci/devices.c | 303 --- arch/arm/mach-davinci/dm355.c | 832 ------- arch/arm/mach-davinci/dm365.c | 1094 ---------- arch/arm/mach-davinci/mux.c | 15 - arch/arm/mach-davinci/serial.c | 92 - arch/arm/mach-davinci/serial.h | 15 - arch/arm/mach-davinci/usb-da8xx.c | 146 -- arch/arm/mach-davinci/usb.c | 87 - drivers/ata/Kconfig | 10 - drivers/ata/Makefile | 1 - drivers/ata/pata_bk3710.c | 380 ---- drivers/clk/davinci/Makefile | 4 - drivers/clk/davinci/pll-dm355.c | 77 - drivers/clk/davinci/pll-dm365.c | 146 -- drivers/clk/davinci/pll.c | 8 - drivers/clk/davinci/pll.h | 5 - drivers/clk/davinci/psc-dm355.c | 89 - drivers/clk/davinci/psc-dm365.c | 111 - drivers/clk/davinci/psc.c | 6 - drivers/clk/davinci/psc.h | 7 - drivers/input/keyboard/Kconfig | 10 - drivers/input/keyboard/Makefile | 1 - drivers/input/keyboard/davinci_keyscan.c | 315 --- drivers/input/misc/Kconfig | 11 - drivers/input/misc/Makefile | 1 - drivers/input/misc/dm355evm_keys.c | 238 --- drivers/irqchip/Kconfig | 5 - drivers/irqchip/Makefile | 1 - drivers/irqchip/irq-davinci-aintc.c | 163 -- drivers/media/platform/ti/davinci/Kconfig | 16 - drivers/media/platform/ti/davinci/Makefile | 3 - drivers/media/platform/ti/davinci/vpbe.c | 840 -------- .../media/platform/ti/davinci/vpbe_display.c | 1510 ------------- drivers/media/platform/ti/davinci/vpbe_osd.c | 1582 -------------- .../media/platform/ti/davinci/vpbe_osd_regs.h | 352 --- drivers/media/platform/ti/davinci/vpbe_venc.c | 676 ------ .../platform/ti/davinci/vpbe_venc_regs.h | 165 -- drivers/media/platform/ti/davinci/vpss.c | 529 ----- drivers/mfd/Kconfig | 13 - drivers/mfd/Makefile | 3 - drivers/mfd/davinci_voicecodec.c | 136 -- drivers/mfd/dm355evm_msp.c | 454 ---- drivers/rtc/Kconfig | 16 - drivers/rtc/Makefile | 2 - drivers/rtc/rtc-davinci.c | 512 ----- drivers/rtc/rtc-dm355evm.c | 151 -- drivers/staging/media/Kconfig | 1 - drivers/staging/media/Makefile | 1 - .../media/deprecated/vpfe_capture/Kconfig | 58 - .../media/deprecated/vpfe_capture/Makefile | 4 - .../media/deprecated/vpfe_capture/TODO | 7 - .../deprecated/vpfe_capture/ccdc_hw_device.h | 80 - .../deprecated/vpfe_capture/dm355_ccdc.c | 934 -------- .../deprecated/vpfe_capture/dm355_ccdc.h | 308 --- .../deprecated/vpfe_capture/dm355_ccdc_regs.h | 297 --- .../deprecated/vpfe_capture/dm644x_ccdc.c | 879 -------- .../deprecated/vpfe_capture/dm644x_ccdc.h | 171 -- .../vpfe_capture/dm644x_ccdc_regs.h | 140 -- .../media/deprecated/vpfe_capture/isif.c | 1127 ---------- .../media/deprecated/vpfe_capture/isif.h | 518 ----- .../media/deprecated/vpfe_capture/isif_regs.h | 256 --- .../deprecated/vpfe_capture/vpfe_capture.c | 1902 ----------------- drivers/usb/musb/Kconfig | 12 - drivers/usb/musb/Makefile | 2 - drivers/usb/musb/cppi_dma.c | 1547 -------------- drivers/usb/musb/davinci.c | 606 ------ drivers/usb/musb/davinci.h | 103 - include/linux/clk/davinci.h | 9 - include/linux/mfd/dm355evm_msp.h | 79 - include/media/davinci/vpbe.h | 184 -- include/media/davinci/vpbe_display.h | 122 -- include/media/davinci/vpbe_osd.h | 382 ---- include/media/davinci/vpbe_types.h | 74 - include/media/davinci/vpbe_venc.h | 37 - include/media/davinci/vpfe_capture.h | 177 -- include/media/davinci/vpss.h | 111 - sound/soc/ti/Kconfig | 40 - sound/soc/ti/Makefile | 2 - sound/soc/ti/davinci-evm.c | 267 +-- sound/soc/ti/davinci-vcif.c | 247 --- 103 files changed, 17 insertions(+), 29049 deletions(-) delete mode 100644 Documentation/admin-guide/media/davinci-vpbe.rst delete mode 100644 Documentation/driver-api/media/drivers/davinci-vpbe-devel.rst delete mode 100644 arch/arm/mach-davinci/board-da830-evm.c delete mode 100644 arch/arm/mach-davinci/board-da850-evm.c delete mode 100644 arch/arm/mach-davinci/board-dm355-evm.c delete mode 100644 arch/arm/mach-davinci/board-dm355-leopard.c delete mode 100644 arch/arm/mach-davinci/board-dm365-evm.c delete mode 100644 arch/arm/mach-davinci/board-mityomapl138.c delete mode 100644 arch/arm/mach-davinci/board-omapl138-hawk.c delete mode 100644 arch/arm/mach-davinci/davinci.h delete mode 100644 arch/arm/mach-davinci/devices.c delete mode 100644 arch/arm/mach-davinci/dm355.c delete mode 100644 arch/arm/mach-davinci/dm365.c delete mode 100644 arch/arm/mach-davinci/serial.c delete mode 100644 arch/arm/mach-davinci/usb-da8xx.c delete mode 100644 arch/arm/mach-davinci/usb.c delete mode 100644 drivers/ata/pata_bk3710.c delete mode 100644 drivers/clk/davinci/pll-dm355.c delete mode 100644 drivers/clk/davinci/pll-dm365.c delete mode 100644 drivers/clk/davinci/psc-dm355.c delete mode 100644 drivers/clk/davinci/psc-dm365.c delete mode 100644 drivers/input/keyboard/davinci_keyscan.c delete mode 100644 drivers/input/misc/dm355evm_keys.c delete mode 100644 drivers/irqchip/irq-davinci-aintc.c delete mode 100644 drivers/media/platform/ti/davinci/vpbe.c delete mode 100644 drivers/media/platform/ti/davinci/vpbe_display.c delete mode 100644 drivers/media/platform/ti/davinci/vpbe_osd.c delete mode 100644 drivers/media/platform/ti/davinci/vpbe_osd_regs.h delete mode 100644 drivers/media/platform/ti/davinci/vpbe_venc.c delete mode 100644 drivers/media/platform/ti/davinci/vpbe_venc_regs.h delete mode 100644 drivers/media/platform/ti/davinci/vpss.c delete mode 100644 drivers/mfd/davinci_voicecodec.c delete mode 100644 drivers/mfd/dm355evm_msp.c delete mode 100644 drivers/rtc/rtc-davinci.c delete mode 100644 drivers/rtc/rtc-dm355evm.c delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/Kconfig delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/Makefile delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/TODO delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/ccdc_hw_device.h delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/dm355_ccdc.c delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/dm355_ccdc.h delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/dm355_ccdc_regs.h delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/dm644x_ccdc.c delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/dm644x_ccdc.h delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/dm644x_ccdc_regs.h delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/isif.c delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/isif.h delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/isif_regs.h delete mode 100644 drivers/staging/media/deprecated/vpfe_capture/vpfe_capture.c delete mode 100644 drivers/usb/musb/cppi_dma.c delete mode 100644 drivers/usb/musb/davinci.c delete mode 100644 drivers/usb/musb/davinci.h delete mode 100644 include/linux/mfd/dm355evm_msp.h delete mode 100644 include/media/davinci/vpbe.h delete mode 100644 include/media/davinci/vpbe_display.h delete mode 100644 include/media/davinci/vpbe_osd.h delete mode 100644 include/media/davinci/vpbe_types.h delete mode 100644 include/media/davinci/vpbe_venc.h delete mode 100644 include/media/davinci/vpfe_capture.h delete mode 100644 include/media/davinci/vpss.h delete mode 100644 sound/soc/ti/davinci-vcif.c
From: Arnd Bergmann arnd@arndb.de
The dm644x and dm3xx SoCs have been removed, as have the da850_evm/da830_evm machines, the remaining machines all use the DT based probing and do not use the vcif driver.
Signed-off-by: Arnd Bergmann arnd@arndb.de --- sound/soc/ti/Kconfig | 40 ------ sound/soc/ti/Makefile | 2 - sound/soc/ti/davinci-evm.c | 267 +----------------------------------- sound/soc/ti/davinci-vcif.c | 247 --------------------------------- 4 files changed, 3 insertions(+), 553 deletions(-) delete mode 100644 sound/soc/ti/davinci-vcif.c
diff --git a/sound/soc/ti/Kconfig b/sound/soc/ti/Kconfig index 40110e9a9e8a..593be22503b5 100644 --- a/sound/soc/ti/Kconfig +++ b/sound/soc/ti/Kconfig @@ -40,13 +40,6 @@ config SND_SOC_DAVINCI_MCASP - Keystone devices - K3 devices (am654, j721e)
-config SND_SOC_DAVINCI_VCIF - tristate "daVinci Voice Interface (VCIF) support" - depends on ARCH_DAVINCI || COMPILE_TEST - select SND_SOC_TI_EDMA_PCM - help - Say Y or M here if you want audio support via daVinci VCIF. - config SND_SOC_OMAP_DMIC tristate "Digital Microphone Module (DMIC) support" depends on ARCH_OMAP4 || SOC_OMAP5 || COMPILE_TEST && COMMON_CLK @@ -177,14 +170,6 @@ config SND_SOC_OMAP_OSK5912 config SND_SOC_DAVINCI_EVM tristate "SoC Audio support for DaVinci EVMs" depends on ARCH_DAVINCI && I2C - select SND_SOC_DAVINCI_ASP if MACH_DAVINCI_DM355_EVM - select SND_SOC_DAVINCI_ASP if SND_SOC_DM365_AIC3X_CODEC - select SND_SOC_DAVINCI_VCIF if SND_SOC_DM365_VOICE_CODEC - select SND_SOC_DAVINCI_ASP if MACH_DAVINCI_EVM # DM6446 - select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DM6467_EVM - select SND_SOC_SPDIF if MACH_DAVINCI_DM6467_EVM - select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DA830_EVM - select SND_SOC_DAVINCI_MCASP if MACH_DAVINCI_DA850_EVM select SND_SOC_TLV320AIC3X help Say Y if you want to add support for SoC audio on the following TI @@ -196,31 +181,6 @@ config SND_SOC_DAVINCI_EVM - DM830 - DM850
-choice - prompt "DM365 codec select" - depends on SND_SOC_DAVINCI_EVM - depends on MACH_DAVINCI_DM365_EVM - -config SND_SOC_DM365_AIC3X_CODEC - bool "Audio Codec - AIC3101" - help - Say Y if you want to add support for AIC3101 audio codec - -config SND_SOC_DM365_VOICE_CODEC - bool "Voice Codec - CQ93VC" - help - Say Y if you want to add support for SoC On-chip voice codec -endchoice - -config SND_SOC_DM365_SELECT_VOICE_CODECS - def_tristate y - depends on SND_SOC_DM365_VOICE_CODEC && SND_SOC - select MFD_DAVINCI_VOICECODEC - select SND_SOC_CQ0093VC - help - The is an internal symbol needed to ensure that the codec - and MFD driver can be built as loadable modules if necessary. - config SND_SOC_J721E_EVM tristate "SoC Audio support for j721e EVM" depends on ARCH_K3 || COMPILE_TEST && COMMON_CLK diff --git a/sound/soc/ti/Makefile b/sound/soc/ti/Makefile index a21e5b0061de..41cdcaec770d 100644 --- a/sound/soc/ti/Makefile +++ b/sound/soc/ti/Makefile @@ -12,14 +12,12 @@ obj-$(CONFIG_SND_SOC_TI_UDMA_PCM) += snd-soc-ti-udma.o # CPU DAI drivers snd-soc-davinci-asp-objs := davinci-i2s.o snd-soc-davinci-mcasp-objs := davinci-mcasp.o -snd-soc-davinci-vcif-objs := davinci-vcif.o snd-soc-omap-dmic-objs := omap-dmic.o snd-soc-omap-mcbsp-objs := omap-mcbsp.o omap-mcbsp-st.o snd-soc-omap-mcpdm-objs := omap-mcpdm.o
obj-$(CONFIG_SND_SOC_DAVINCI_ASP) += snd-soc-davinci-asp.o obj-$(CONFIG_SND_SOC_DAVINCI_MCASP) += snd-soc-davinci-mcasp.o -obj-$(CONFIG_SND_SOC_DAVINCI_VCIF) += snd-soc-davinci-vcif.o obj-$(CONFIG_SND_SOC_OMAP_DMIC) += snd-soc-omap-dmic.o obj-$(CONFIG_SND_SOC_OMAP_MCBSP) += snd-soc-omap-mcbsp.o obj-$(CONFIG_SND_SOC_OMAP_MCPDM) += snd-soc-omap-mcpdm.o diff --git a/sound/soc/ti/davinci-evm.c b/sound/soc/ti/davinci-evm.c index 68d69e32681a..983d69b951b0 100644 --- a/sound/soc/ti/davinci-evm.c +++ b/sound/soc/ti/davinci-evm.c @@ -138,214 +138,6 @@ static int evm_aic3x_init(struct snd_soc_pcm_runtime *rtd) return 0; }
-/* davinci-evm digital audio interface glue - connects codec <--> CPU */ -SND_SOC_DAILINK_DEFS(dm6446, - DAILINK_COMP_ARRAY(COMP_CPU("davinci-mcbsp")), - DAILINK_COMP_ARRAY(COMP_CODEC("tlv320aic3x-codec.1-001b", - "tlv320aic3x-hifi")), - DAILINK_COMP_ARRAY(COMP_PLATFORM("davinci-mcbsp"))); - -static struct snd_soc_dai_link dm6446_evm_dai = { - .name = "TLV320AIC3X", - .stream_name = "AIC3X", - .init = evm_aic3x_init, - .ops = &evm_ops, - .dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM | - SND_SOC_DAIFMT_IB_NF, - SND_SOC_DAILINK_REG(dm6446), -}; - -SND_SOC_DAILINK_DEFS(dm355, - DAILINK_COMP_ARRAY(COMP_CPU("davinci-mcbsp.1")), - DAILINK_COMP_ARRAY(COMP_CODEC("tlv320aic3x-codec.1-001b", - "tlv320aic3x-hifi")), - DAILINK_COMP_ARRAY(COMP_PLATFORM("davinci-mcbsp.1"))); - -static struct snd_soc_dai_link dm355_evm_dai = { - .name = "TLV320AIC3X", - .stream_name = "AIC3X", - .init = evm_aic3x_init, - .ops = &evm_ops, - .dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM | - SND_SOC_DAIFMT_IB_NF, - SND_SOC_DAILINK_REG(dm355), -}; - -#ifdef CONFIG_SND_SOC_DM365_AIC3X_CODEC -SND_SOC_DAILINK_DEFS(dm365, - DAILINK_COMP_ARRAY(COMP_CPU("davinci-mcbsp")), - DAILINK_COMP_ARRAY(COMP_CODEC("tlv320aic3x-codec.1-0018", - "tlv320aic3x-hifi")), - DAILINK_COMP_ARRAY(COMP_PLATFORM("davinci-mcbsp"))); -#elif defined(CONFIG_SND_SOC_DM365_VOICE_CODEC) -SND_SOC_DAILINK_DEFS(dm365, - DAILINK_COMP_ARRAY(COMP_CPU("davinci-vcif")), - DAILINK_COMP_ARRAY(COMP_CODEC("cq93vc-codec", "cq93vc-hifi")), - DAILINK_COMP_ARRAY(COMP_PLATFORM("davinci-vcif"))); -#endif - -static struct snd_soc_dai_link dm365_evm_dai = { -#ifdef CONFIG_SND_SOC_DM365_AIC3X_CODEC - .name = "TLV320AIC3X", - .stream_name = "AIC3X", - .init = evm_aic3x_init, - .ops = &evm_ops, - .dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM | - SND_SOC_DAIFMT_IB_NF, - SND_SOC_DAILINK_REG(dm365), -#elif defined(CONFIG_SND_SOC_DM365_VOICE_CODEC) - .name = "Voice Codec - CQ93VC", - .stream_name = "CQ93", - SND_SOC_DAILINK_REG(dm365), -#endif -}; - -SND_SOC_DAILINK_DEFS(dm6467_aic3x, - DAILINK_COMP_ARRAY(COMP_CPU("davinci-mcasp.0")), - DAILINK_COMP_ARRAY(COMP_CODEC("tlv320aic3x-codec.0-001a", - "tlv320aic3x-hifi")), - DAILINK_COMP_ARRAY(COMP_PLATFORM("davinci-mcasp.0"))); - -SND_SOC_DAILINK_DEFS(dm6467_spdif, - DAILINK_COMP_ARRAY(COMP_CPU("davinci-mcasp.1")), - DAILINK_COMP_ARRAY(COMP_CODEC("spdif_dit", "dit-hifi")), - DAILINK_COMP_ARRAY(COMP_PLATFORM("davinci-mcasp.1"))); - -static struct snd_soc_dai_link dm6467_evm_dai[] = { - { - .name = "TLV320AIC3X", - .stream_name = "AIC3X", - .init = evm_aic3x_init, - .ops = &evm_ops, - .dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM | - SND_SOC_DAIFMT_IB_NF, - SND_SOC_DAILINK_REG(dm6467_aic3x), - }, - { - .name = "McASP", - .stream_name = "spdif", - .dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM | - SND_SOC_DAIFMT_IB_NF, - SND_SOC_DAILINK_REG(dm6467_spdif), - }, -}; - -SND_SOC_DAILINK_DEFS(da830, - DAILINK_COMP_ARRAY(COMP_CPU("davinci-mcasp.1")), - DAILINK_COMP_ARRAY(COMP_CODEC("tlv320aic3x-codec.1-0018", - "tlv320aic3x-hifi")), - DAILINK_COMP_ARRAY(COMP_PLATFORM("davinci-mcasp.1"))); - -static struct snd_soc_dai_link da830_evm_dai = { - .name = "TLV320AIC3X", - .stream_name = "AIC3X", - .init = evm_aic3x_init, - .ops = &evm_ops, - .dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM | - SND_SOC_DAIFMT_IB_NF, - SND_SOC_DAILINK_REG(da830), -}; - -SND_SOC_DAILINK_DEFS(da850, - DAILINK_COMP_ARRAY(COMP_CPU("davinci-mcasp.0")), - DAILINK_COMP_ARRAY(COMP_CODEC("tlv320aic3x-codec.1-0018", - "tlv320aic3x-hifi")), - DAILINK_COMP_ARRAY(COMP_PLATFORM("davinci-mcasp.0"))); - -static struct snd_soc_dai_link da850_evm_dai = { - .name = "TLV320AIC3X", - .stream_name = "AIC3X", - .init = evm_aic3x_init, - .ops = &evm_ops, - .dai_fmt = SND_SOC_DAIFMT_DSP_B | SND_SOC_DAIFMT_CBM_CFM | - SND_SOC_DAIFMT_IB_NF, - SND_SOC_DAILINK_REG(da850), -}; - -/* davinci dm6446 evm audio machine driver */ -/* - * ASP0 in DM6446 EVM is clocked by U55, as configured by - * board-dm644x-evm.c using GPIOs from U18. There are six - * options; here we "know" we use a 48 KHz sample rate. - */ -static struct snd_soc_card_drvdata_davinci dm6446_snd_soc_card_drvdata = { - .sysclk = 12288000, -}; - -static struct snd_soc_card dm6446_snd_soc_card_evm = { - .name = "DaVinci DM6446 EVM", - .owner = THIS_MODULE, - .dai_link = &dm6446_evm_dai, - .num_links = 1, - .drvdata = &dm6446_snd_soc_card_drvdata, -}; - -/* davinci dm355 evm audio machine driver */ -/* ASP1 on DM355 EVM is clocked by an external oscillator */ -static struct snd_soc_card_drvdata_davinci dm355_snd_soc_card_drvdata = { - .sysclk = 27000000, -}; - -static struct snd_soc_card dm355_snd_soc_card_evm = { - .name = "DaVinci DM355 EVM", - .owner = THIS_MODULE, - .dai_link = &dm355_evm_dai, - .num_links = 1, - .drvdata = &dm355_snd_soc_card_drvdata, -}; - -/* davinci dm365 evm audio machine driver */ -static struct snd_soc_card_drvdata_davinci dm365_snd_soc_card_drvdata = { - .sysclk = 27000000, -}; - -static struct snd_soc_card dm365_snd_soc_card_evm = { - .name = "DaVinci DM365 EVM", - .owner = THIS_MODULE, - .dai_link = &dm365_evm_dai, - .num_links = 1, - .drvdata = &dm365_snd_soc_card_drvdata, -}; - -/* davinci dm6467 evm audio machine driver */ -static struct snd_soc_card_drvdata_davinci dm6467_snd_soc_card_drvdata = { - .sysclk = 27000000, -}; - -static struct snd_soc_card dm6467_snd_soc_card_evm = { - .name = "DaVinci DM6467 EVM", - .owner = THIS_MODULE, - .dai_link = dm6467_evm_dai, - .num_links = ARRAY_SIZE(dm6467_evm_dai), - .drvdata = &dm6467_snd_soc_card_drvdata, -}; - -static struct snd_soc_card_drvdata_davinci da830_snd_soc_card_drvdata = { - .sysclk = 24576000, -}; - -static struct snd_soc_card da830_snd_soc_card = { - .name = "DA830/OMAP-L137 EVM", - .owner = THIS_MODULE, - .dai_link = &da830_evm_dai, - .num_links = 1, - .drvdata = &da830_snd_soc_card_drvdata, -}; - -static struct snd_soc_card_drvdata_davinci da850_snd_soc_card_drvdata = { - .sysclk = 24576000, -}; - -static struct snd_soc_card da850_snd_soc_card = { - .name = "DA850/OMAP-L138 EVM", - .owner = THIS_MODULE, - .dai_link = &da850_evm_dai, - .num_links = 1, - .drvdata = &da850_snd_soc_card_drvdata, -}; - -#if defined(CONFIG_OF) - /* * The struct is used as place holder. It will be completely * filled with data from dt node. @@ -461,71 +253,18 @@ static struct platform_driver davinci_evm_driver = { .driver = { .name = "davinci_evm", .pm = &snd_soc_pm_ops, - .of_match_table = of_match_ptr(davinci_evm_dt_ids), + .of_match_table = davinci_evm_dt_ids, }, }; -#endif - -static struct platform_device *evm_snd_device;
static int __init evm_init(void) { - struct snd_soc_card *evm_snd_dev_data; - int index; - int ret; - - /* - * If dtb is there, the devices will be created dynamically. - * Only register platfrom driver structure. - */ -#if defined(CONFIG_OF) - if (of_have_populated_dt()) - return platform_driver_register(&davinci_evm_driver); -#endif - - if (machine_is_davinci_evm()) { - evm_snd_dev_data = &dm6446_snd_soc_card_evm; - index = 0; - } else if (machine_is_davinci_dm355_evm()) { - evm_snd_dev_data = &dm355_snd_soc_card_evm; - index = 1; - } else if (machine_is_davinci_dm365_evm()) { - evm_snd_dev_data = &dm365_snd_soc_card_evm; - index = 0; - } else if (machine_is_davinci_dm6467_evm()) { - evm_snd_dev_data = &dm6467_snd_soc_card_evm; - index = 0; - } else if (machine_is_davinci_da830_evm()) { - evm_snd_dev_data = &da830_snd_soc_card; - index = 1; - } else if (machine_is_davinci_da850_evm()) { - evm_snd_dev_data = &da850_snd_soc_card; - index = 0; - } else - return -EINVAL; - - evm_snd_device = platform_device_alloc("soc-audio", index); - if (!evm_snd_device) - return -ENOMEM; - - platform_set_drvdata(evm_snd_device, evm_snd_dev_data); - ret = platform_device_add(evm_snd_device); - if (ret) - platform_device_put(evm_snd_device); - - return ret; + return platform_driver_register(&davinci_evm_driver); }
static void __exit evm_exit(void) { -#if defined(CONFIG_OF) - if (of_have_populated_dt()) { - platform_driver_unregister(&davinci_evm_driver); - return; - } -#endif - - platform_device_unregister(evm_snd_device); + platform_driver_unregister(&davinci_evm_driver); }
module_init(evm_init); diff --git a/sound/soc/ti/davinci-vcif.c b/sound/soc/ti/davinci-vcif.c deleted file mode 100644 index 36fa97e2b9e2..000000000000 --- a/sound/soc/ti/davinci-vcif.c +++ /dev/null @@ -1,247 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0-or-later -/* - * ALSA SoC Voice Codec Interface for TI DAVINCI processor - * - * Copyright (C) 2010 Texas Instruments. - * - * Author: Miguel Aguilar miguel.aguilar@ridgerun.com - */ - -#include <linux/init.h> -#include <linux/module.h> -#include <linux/device.h> -#include <linux/delay.h> -#include <linux/slab.h> -#include <linux/io.h> -#include <linux/mfd/davinci_voicecodec.h> - -#include <sound/core.h> -#include <sound/pcm.h> -#include <sound/pcm_params.h> -#include <sound/initval.h> -#include <sound/soc.h> -#include <sound/dmaengine_pcm.h> - -#include "edma-pcm.h" -#include "davinci-i2s.h" - -#define MOD_REG_BIT(val, mask, set) do { \ - if (set) { \ - val |= mask; \ - } else { \ - val &= ~mask; \ - } \ -} while (0) - -struct davinci_vcif_dev { - struct davinci_vc *davinci_vc; - struct snd_dmaengine_dai_dma_data dma_data[2]; - int dma_request[2]; -}; - -static void davinci_vcif_start(struct snd_pcm_substream *substream) -{ - struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream); - struct davinci_vcif_dev *davinci_vcif_dev = - snd_soc_dai_get_drvdata(asoc_rtd_to_cpu(rtd, 0)); - struct davinci_vc *davinci_vc = davinci_vcif_dev->davinci_vc; - u32 w; - - /* Start the sample generator and enable transmitter/receiver */ - w = readl(davinci_vc->base + DAVINCI_VC_CTRL); - - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) - MOD_REG_BIT(w, DAVINCI_VC_CTRL_RSTDAC, 0); - else - MOD_REG_BIT(w, DAVINCI_VC_CTRL_RSTADC, 0); - - writel(w, davinci_vc->base + DAVINCI_VC_CTRL); -} - -static void davinci_vcif_stop(struct snd_pcm_substream *substream) -{ - struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream); - struct davinci_vcif_dev *davinci_vcif_dev = - snd_soc_dai_get_drvdata(asoc_rtd_to_cpu(rtd, 0)); - struct davinci_vc *davinci_vc = davinci_vcif_dev->davinci_vc; - u32 w; - - /* Reset transmitter/receiver and sample rate/frame sync generators */ - w = readl(davinci_vc->base + DAVINCI_VC_CTRL); - if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) - MOD_REG_BIT(w, DAVINCI_VC_CTRL_RSTDAC, 1); - else - MOD_REG_BIT(w, DAVINCI_VC_CTRL_RSTADC, 1); - - writel(w, davinci_vc->base + DAVINCI_VC_CTRL); -} - -static int davinci_vcif_hw_params(struct snd_pcm_substream *substream, - struct snd_pcm_hw_params *params, - struct snd_soc_dai *dai) -{ - struct davinci_vcif_dev *davinci_vcif_dev = snd_soc_dai_get_drvdata(dai); - struct davinci_vc *davinci_vc = davinci_vcif_dev->davinci_vc; - u32 w; - - /* Restart the codec before setup */ - davinci_vcif_stop(substream); - davinci_vcif_start(substream); - - /* General line settings */ - writel(DAVINCI_VC_CTRL_MASK, davinci_vc->base + DAVINCI_VC_CTRL); - - writel(DAVINCI_VC_INT_MASK, davinci_vc->base + DAVINCI_VC_INTCLR); - - writel(DAVINCI_VC_INT_MASK, davinci_vc->base + DAVINCI_VC_INTEN); - - w = readl(davinci_vc->base + DAVINCI_VC_CTRL); - - /* Determine xfer data type */ - switch (params_format(params)) { - case SNDRV_PCM_FORMAT_U8: - MOD_REG_BIT(w, DAVINCI_VC_CTRL_RD_BITS_8 | - DAVINCI_VC_CTRL_RD_UNSIGNED | - DAVINCI_VC_CTRL_WD_BITS_8 | - DAVINCI_VC_CTRL_WD_UNSIGNED, 1); - break; - case SNDRV_PCM_FORMAT_S8: - MOD_REG_BIT(w, DAVINCI_VC_CTRL_RD_BITS_8 | - DAVINCI_VC_CTRL_WD_BITS_8, 1); - - MOD_REG_BIT(w, DAVINCI_VC_CTRL_RD_UNSIGNED | - DAVINCI_VC_CTRL_WD_UNSIGNED, 0); - break; - case SNDRV_PCM_FORMAT_S16_LE: - MOD_REG_BIT(w, DAVINCI_VC_CTRL_RD_BITS_8 | - DAVINCI_VC_CTRL_RD_UNSIGNED | - DAVINCI_VC_CTRL_WD_BITS_8 | - DAVINCI_VC_CTRL_WD_UNSIGNED, 0); - break; - default: - printk(KERN_WARNING "davinci-vcif: unsupported PCM format"); - return -EINVAL; - } - - writel(w, davinci_vc->base + DAVINCI_VC_CTRL); - - return 0; -} - -static int davinci_vcif_trigger(struct snd_pcm_substream *substream, int cmd, - struct snd_soc_dai *dai) -{ - int ret = 0; - - switch (cmd) { - case SNDRV_PCM_TRIGGER_START: - case SNDRV_PCM_TRIGGER_RESUME: - case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: - davinci_vcif_start(substream); - break; - case SNDRV_PCM_TRIGGER_STOP: - case SNDRV_PCM_TRIGGER_SUSPEND: - case SNDRV_PCM_TRIGGER_PAUSE_PUSH: - davinci_vcif_stop(substream); - break; - default: - ret = -EINVAL; - } - - return ret; -} - -#define DAVINCI_VCIF_RATES SNDRV_PCM_RATE_8000_48000 - -static const struct snd_soc_dai_ops davinci_vcif_dai_ops = { - .trigger = davinci_vcif_trigger, - .hw_params = davinci_vcif_hw_params, -}; - -static int davinci_vcif_dai_probe(struct snd_soc_dai *dai) -{ - struct davinci_vcif_dev *dev = snd_soc_dai_get_drvdata(dai); - - dai->playback_dma_data = &dev->dma_data[SNDRV_PCM_STREAM_PLAYBACK]; - dai->capture_dma_data = &dev->dma_data[SNDRV_PCM_STREAM_CAPTURE]; - - return 0; -} - -static struct snd_soc_dai_driver davinci_vcif_dai = { - .probe = davinci_vcif_dai_probe, - .playback = { - .channels_min = 1, - .channels_max = 2, - .rates = DAVINCI_VCIF_RATES, - .formats = SNDRV_PCM_FMTBIT_S16_LE,}, - .capture = { - .channels_min = 1, - .channels_max = 2, - .rates = DAVINCI_VCIF_RATES, - .formats = SNDRV_PCM_FMTBIT_S16_LE,}, - .ops = &davinci_vcif_dai_ops, - -}; - -static const struct snd_soc_component_driver davinci_vcif_component = { - .name = "davinci-vcif", - .legacy_dai_naming = 1, -}; - -static int davinci_vcif_probe(struct platform_device *pdev) -{ - struct davinci_vc *davinci_vc = pdev->dev.platform_data; - struct davinci_vcif_dev *davinci_vcif_dev; - int ret; - - davinci_vcif_dev = devm_kzalloc(&pdev->dev, - sizeof(struct davinci_vcif_dev), - GFP_KERNEL); - if (!davinci_vcif_dev) - return -ENOMEM; - - /* DMA tx params */ - davinci_vcif_dev->davinci_vc = davinci_vc; - davinci_vcif_dev->dma_data[SNDRV_PCM_STREAM_PLAYBACK].filter_data = - &davinci_vc->davinci_vcif.dma_tx_channel; - davinci_vcif_dev->dma_data[SNDRV_PCM_STREAM_PLAYBACK].addr = - davinci_vc->davinci_vcif.dma_tx_addr; - - /* DMA rx params */ - davinci_vcif_dev->dma_data[SNDRV_PCM_STREAM_CAPTURE].filter_data = - &davinci_vc->davinci_vcif.dma_rx_channel; - davinci_vcif_dev->dma_data[SNDRV_PCM_STREAM_CAPTURE].addr = - davinci_vc->davinci_vcif.dma_rx_addr; - - dev_set_drvdata(&pdev->dev, davinci_vcif_dev); - - ret = devm_snd_soc_register_component(&pdev->dev, - &davinci_vcif_component, - &davinci_vcif_dai, 1); - if (ret != 0) { - dev_err(&pdev->dev, "could not register dai\n"); - return ret; - } - - ret = edma_pcm_platform_register(&pdev->dev); - if (ret) { - dev_err(&pdev->dev, "register PCM failed: %d\n", ret); - return ret; - } - - return 0; -} - -static struct platform_driver davinci_vcif_driver = { - .probe = davinci_vcif_probe, - .driver = { - .name = "davinci-vcif", - }, -}; - -module_platform_driver(davinci_vcif_driver); - -MODULE_AUTHOR("Miguel Aguilar"); -MODULE_DESCRIPTION("Texas Instruments DaVinci ASoC Voice Codec Interface"); -MODULE_LICENSE("GPL");
On Wed, Oct 19, 2022 at 05:29:35PM +0200, Arnd Bergmann wrote:
From: Arnd Bergmann arnd@arndb.de
The dm644x and dm3xx SoCs have been removed, as have the da850_evm/da830_evm machines, the remaining machines all use the DT based probing and do not use the vcif driver.
Acked-by: Mark Brown broonie@kernel.org
On Wed, 19 Oct 2022 16:29:26 +0100, Arnd Bergmann arnd@kernel.org wrote:
From: Arnd Bergmann arnd@arndb.de
As part of removing all board files that were previously marked as unused, I looked through the davinci platform and recursively removed everything that has now become unused.
In particular, this is for all dm3xx support, in addition to the dm64xx support removed previously. The remaining support is now for da8xx using devicetree only, which means a lot of the da8xx specific device support can also go away.
As with the previous series, I can keep patches together in the soc tree, or subsystem maintainers can pick them up individually through their subsystems, whichever they prefer.
Arnd Bergmann (14):
[...]
irqchip: remove davinci aintc driver
Acked-by: Marc Zyngier maz@kernel.org
M.
Arnd Bergmann arnd@kernel.org writes:
From: Arnd Bergmann arnd@arndb.de
As part of removing all board files that were previously marked as unused, I looked through the davinci platform and recursively removed everything that has now become unused.
In particular, this is for all dm3xx support, in addition to the dm64xx support removed previously. The remaining support is now for da8xx using devicetree only, which means a lot of the da8xx specific device support can also go away.
Acked-by: Kevin Hilman khilman@baylibre.com
Kevin
On Wed, 19 Oct 2022 17:29:26 +0200, Arnd Bergmann wrote:
From: Arnd Bergmann arnd@arndb.de
As part of removing all board files that were previously marked as unused, I looked through the davinci platform and recursively removed everything that has now become unused.
In particular, this is for all dm3xx support, in addition to the dm64xx support removed previously. The remaining support is now for da8xx using devicetree only, which means a lot of the da8xx specific device support can also go away.
[...]
Applied, thanks!
[08/14] rtc: remove davinci rtc driver commit: 6274ef3c7eb5e9792a708c23757e16b444e4267f
Best regards,
participants (5)
-
Alexandre Belloni
-
Arnd Bergmann
-
Kevin Hilman
-
Marc Zyngier
-
Mark Brown