From patchwork Fri Jun 29 11:07:27 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mark Brown X-Patchwork-Id: 140549 Delivered-To: patch@linaro.org Received: by 2002:a2e:9754:0:0:0:0:0 with SMTP id f20-v6csp699084ljj; Fri, 29 Jun 2018 04:08:07 -0700 (PDT) X-Google-Smtp-Source: AAOMgpdtsJBiJO+QvSV2AEMJqYWxB4OrT01k7E4LVefcO2hjuJ+4rJj18E5ZP2UPRAh14tjQpove X-Received: by 2002:adf:abf7:: with SMTP id s110-v6mr12447986wrc.101.1530270487199; Fri, 29 Jun 2018 04:08:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530270487; cv=none; d=google.com; s=arc-20160816; b=wzWlMs3BIqujV1E5qJf4dVc3wfzpBf4ds+28Wv9q41e2pFu7OtM8KzlkAfSNd5Zh0X p8tv4XXE5Plzmkvo7okecXLz6ddNMC1CCYjYhlFXBC653IPRJ4YrX7I7OHriNACq5uSz A7Ajjg5wmAdNAr08vT17MFnGyzdqrQGRTC6XHy5OZ+4qq/4dp74YXxWwRPGVemzha5ZH IrpRQ38r50BKpKY0pRzDJVRXVfJ8b9Iga1GXyYobvQXz7B92aPgXy1OUo1lamo9rwUfW 36lCLnqAsUTiOPV5ma5o4gTB30cpZfjaobos9HHt57r9iT+FTDTs1oMEE6Xe5IrRqdaG nOJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:cc:date:message-id:in-reply-to:to:from :dkim-signature:delivered-to:arc-authentication-results; bh=uxayyX5TFclkHHe7Q+G+Jhu+AE7xMW2ClPnm4QasLMM=; b=aFmwPFCyr1alqnZ2qEWwupNU4tzsszlvh8wOz0jecwGdONvvPcdMMSqAWt4dCzSwmA TjurHHEbLMqLFEmmvdPrB7g3sz/ETmcGCnaOTaa/irpInVX9dy5DZHDMCrT5LCJDKTHq cLH3yFZyWS8goiOWVYIY4qgl/ahIXqkuqfu2S0OCkAGwauT3pRi6qE2PiR9sDO5JvD5u qfDB/FWPwLr92hTM/UZLxKxJ5mxtxlEIcJB5vZ9C4fgV98UeJXZOFiViD8qaocHF+A2Y HSkKK98dTNZ4YKpQr1iw/JrIRRwbBHDTyeTQvnnvqQdeenZtHonFwVbLLzo1cJcAoXd/ M/5g== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=Nw3GhkOJ; spf=pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) smtp.mailfrom=alsa-devel-bounces@alsa-project.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from alsa0.perex.cz (alsa0.perex.cz. [77.48.224.243]) by mx.google.com with ESMTP id w8-v6si6081851wrs.451.2018.06.29.04.08.06; Fri, 29 Jun 2018 04:08:07 -0700 (PDT) Received-SPF: pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) client-ip=77.48.224.243; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@sirena.org.uk header.s=20170815-heliosphere header.b=Nw3GhkOJ; spf=pass (google.com: domain of alsa-devel-bounces@alsa-project.org designates 77.48.224.243 as permitted sender) smtp.mailfrom=alsa-devel-bounces@alsa-project.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from alsa0.perex.cz (localhost [127.0.0.1]) by alsa0.perex.cz (Postfix) with ESMTP id C7071267A55; Fri, 29 Jun 2018 13:07:33 +0200 (CEST) X-Original-To: alsa-devel@alsa-project.org Delivered-To: alsa-devel@alsa-project.org Received: by alsa0.perex.cz (Postfix, from userid 1000) id 4E13A267A53; Fri, 29 Jun 2018 13:07:31 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail1.perex.cz X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=disabled version=3.4.0 Received: from heliosphere.sirena.org.uk (heliosphere.sirena.org.uk [172.104.155.198]) by alsa0.perex.cz (Postfix) with ESMTP id 99B04267A46 for ; Fri, 29 Jun 2018 13:07:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sirena.org.uk; s=20170815-heliosphere; h=Date:Message-Id:In-Reply-To: Subject:Cc:To:From:Sender:Reply-To:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:References: List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner: List-Archive; bh=+QAhA4dFNXgqMH38L4aEQun+BpiNJs/Me2FnaiX/KrA=; b=Nw3GhkOJXinO tFiHbr3go83la4BjEhfBgGVRBaGIGaRSN4dYMOmyRgNi4a2G53oYGzJpLKBk8NHDist514keVwqUL +haR9yBs7jVAhXTYcU5VB6pa3w5/Uc4R4MvAIdFeJO7QXFIO+7uJZhS62DV6M4WFCGXSwoz8CF429 o9UdM=; Received: from debutante.sirena.org.uk ([2001:470:1f1d:6b5::3] helo=debutante) by heliosphere.sirena.org.uk with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1fYrFQ-0007lH-1B; Fri, 29 Jun 2018 11:07:28 +0000 Received: from broonie by debutante with local (Exim 4.91) (envelope-from ) id 1fYrFP-0002fG-Jr; Fri, 29 Jun 2018 12:07:27 +0100 From: Mark Brown To: Daniel Mack In-Reply-To: <20180627193359.26631-2-daniel@zonque.org> Message-Id: Date: Fri, 29 Jun 2018 12:07:27 +0100 Cc: alsa-devel@alsa-project.org, broonie@kernel.org, robert.jarzmik@free.fr, lgirdwood@gmail.com, haojian.zhuang@gmail.com Subject: [alsa-devel] Applied "ASoC: fold pxa2xx-pcm into its only user, pxa2xx-ac97" to the asoc tree X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org The patch ASoC: fold pxa2xx-pcm into its only user, pxa2xx-ac97 has been applied to the asoc tree at https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git All being well this means that it will be integrated into the linux-next tree (usually sometime in the next 24 hours) and sent to Linus during the next merge window (or sooner if it is a bug fix), however if problems are discovered then the patch may be dropped or reverted. You may get further e-mails resulting from automated or manual testing and review of the tree, please engage with people reporting problems and send followup patches addressing any issues that are reported if needed. If any updates are required or you are submitting further changes they should be sent as incremental updates against current git, existing patches will not be replaced. Please add any relevant lists and maintainers to the CCs when replying to this mail. Thanks, Mark >From 95acb005fef2aeaeb63c20de98aca0ed5bd0efa2 Mon Sep 17 00:00:00 2001 From: Daniel Mack Date: Wed, 27 Jun 2018 21:33:53 +0200 Subject: [PATCH] ASoC: fold pxa2xx-pcm into its only user, pxa2xx-ac97 Now that the PXA SSP bits are ported over to generic DMA, the pxa2xx-pcm code only has a single user left. This patch folds the remaining bits into its only user and removes the unnecessary glue layer along with its header file. The include dependency to linux/dma/pxa-dma.h is also gone now. Signed-off-by: Daniel Mack Signed-off-by: Mark Brown --- sound/arm/Kconfig | 5 -- sound/arm/Makefile | 3 - sound/arm/pxa2xx-ac97.c | 114 +++++++++++++++++++++----------- sound/arm/pxa2xx-pcm-lib.c | 2 - sound/arm/pxa2xx-pcm.c | 129 ------------------------------------- sound/arm/pxa2xx-pcm.h | 27 -------- sound/soc/pxa/pxa-ssp.c | 1 - sound/soc/pxa/pxa2xx-pcm.c | 2 - 8 files changed, 76 insertions(+), 207 deletions(-) delete mode 100644 sound/arm/pxa2xx-pcm.c delete mode 100644 sound/arm/pxa2xx-pcm.h -- 2.18.0.rc2 _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel diff --git a/sound/arm/Kconfig b/sound/arm/Kconfig index 65171f6657a2..5fbd47a9177e 100644 --- a/sound/arm/Kconfig +++ b/sound/arm/Kconfig @@ -17,14 +17,9 @@ config SND_ARMAACI select SND_PCM select SND_AC97_CODEC -config SND_PXA2XX_PCM - tristate - select SND_PCM - config SND_PXA2XX_AC97 tristate "AC97 driver for the Intel PXA2xx chip" depends on ARCH_PXA - select SND_PXA2XX_PCM select SND_AC97_CODEC select SND_PXA2XX_LIB select SND_PXA2XX_LIB_AC97 diff --git a/sound/arm/Makefile b/sound/arm/Makefile index e10d5b169565..34c769489877 100644 --- a/sound/arm/Makefile +++ b/sound/arm/Makefile @@ -6,9 +6,6 @@ obj-$(CONFIG_SND_ARMAACI) += snd-aaci.o snd-aaci-objs := aaci.o -obj-$(CONFIG_SND_PXA2XX_PCM) += snd-pxa2xx-pcm.o -snd-pxa2xx-pcm-objs := pxa2xx-pcm.o - obj-$(CONFIG_SND_PXA2XX_LIB) += snd-pxa2xx-lib.o snd-pxa2xx-lib-y := pxa2xx-pcm-lib.o snd-pxa2xx-lib-$(CONFIG_SND_PXA2XX_LIB_AC97) += pxa2xx-ac97-lib.o diff --git a/sound/arm/pxa2xx-ac97.c b/sound/arm/pxa2xx-ac97.c index 236a63cdaf9f..7d8d7b7199dc 100644 --- a/sound/arm/pxa2xx-ac97.c +++ b/sound/arm/pxa2xx-ac97.c @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include @@ -27,8 +27,6 @@ #include #include -#include "pxa2xx-pcm.h" - static void pxa2xx_ac97_legacy_reset(struct snd_ac97 *ac97) { if (!pxa2xx_ac97_try_cold_reset()) @@ -63,51 +61,46 @@ static struct snd_ac97_bus_ops pxa2xx_ac97_ops = { .reset = pxa2xx_ac97_legacy_reset, }; -static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_out = { - .addr = __PREG(PCDR), - .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, - .chan_name = "pcm_pcm_stereo_out", - .maxburst = 32, -}; - -static struct snd_dmaengine_dai_dma_data pxa2xx_ac97_pcm_in = { - .addr = __PREG(PCDR), - .addr_width = DMA_SLAVE_BUSWIDTH_4_BYTES, - .chan_name = "pcm_pcm_stereo_in", - .maxburst = 32, -}; - static struct snd_pcm *pxa2xx_ac97_pcm; static struct snd_ac97 *pxa2xx_ac97_ac97; -static int pxa2xx_ac97_pcm_startup(struct snd_pcm_substream *substream) +static int pxa2xx_ac97_pcm_open(struct snd_pcm_substream *substream) { struct snd_pcm_runtime *runtime = substream->runtime; pxa2xx_audio_ops_t *platform_ops; - int r; + int ret, i; + + ret = __pxa2xx_pcm_open(substream); + if (ret) + return ret; runtime->hw.channels_min = 2; runtime->hw.channels_max = 2; - r = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ? - AC97_RATES_FRONT_DAC : AC97_RATES_ADC; - runtime->hw.rates = pxa2xx_ac97_ac97->rates[r]; + i = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ? + AC97_RATES_FRONT_DAC : AC97_RATES_ADC; + runtime->hw.rates = pxa2xx_ac97_ac97->rates[i]; snd_pcm_limit_hw_rates(runtime); - platform_ops = substream->pcm->card->dev->platform_data; - if (platform_ops && platform_ops->startup) - return platform_ops->startup(substream, platform_ops->priv); - else - return 0; + platform_ops = substream->pcm->card->dev->platform_data; + if (platform_ops && platform_ops->startup) { + ret = platform_ops->startup(substream, platform_ops->priv); + if (ret < 0) + __pxa2xx_pcm_close(substream); + } + + return ret; } -static void pxa2xx_ac97_pcm_shutdown(struct snd_pcm_substream *substream) +static int pxa2xx_ac97_pcm_close(struct snd_pcm_substream *substream) { pxa2xx_audio_ops_t *platform_ops; - platform_ops = substream->pcm->card->dev->platform_data; + platform_ops = substream->pcm->card->dev->platform_data; if (platform_ops && platform_ops->shutdown) platform_ops->shutdown(substream, platform_ops->priv); + + return 0; } static int pxa2xx_ac97_pcm_prepare(struct snd_pcm_substream *substream) @@ -115,17 +108,15 @@ static int pxa2xx_ac97_pcm_prepare(struct snd_pcm_substream *substream) struct snd_pcm_runtime *runtime = substream->runtime; int reg = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ? AC97_PCM_FRONT_DAC_RATE : AC97_PCM_LR_ADC_RATE; + int ret; + + ret = __pxa2xx_pcm_prepare(substream); + if (ret < 0) + return ret; + return snd_ac97_set_rate(pxa2xx_ac97_ac97, reg, runtime->rate); } -static struct pxa2xx_pcm_client pxa2xx_ac97_pcm_client = { - .playback_params = &pxa2xx_ac97_pcm_out, - .capture_params = &pxa2xx_ac97_pcm_in, - .startup = pxa2xx_ac97_pcm_startup, - .shutdown = pxa2xx_ac97_pcm_shutdown, - .prepare = pxa2xx_ac97_pcm_prepare, -}; - #ifdef CONFIG_PM_SLEEP static int pxa2xx_ac97_do_suspend(struct snd_card *card) @@ -183,6 +174,53 @@ static int pxa2xx_ac97_resume(struct device *dev) static SIMPLE_DEV_PM_OPS(pxa2xx_ac97_pm_ops, pxa2xx_ac97_suspend, pxa2xx_ac97_resume); #endif +static const struct snd_pcm_ops pxa2xx_pcm_ops = { + .open = pxa2xx_ac97_pcm_open, + .close = pxa2xx_ac97_pcm_close, + .ioctl = snd_pcm_lib_ioctl, + .hw_params = __pxa2xx_pcm_hw_params, + .hw_free = __pxa2xx_pcm_hw_free, + .prepare = pxa2xx_ac97_pcm_prepare, + .trigger = pxa2xx_pcm_trigger, + .pointer = pxa2xx_pcm_pointer, + .mmap = pxa2xx_pcm_mmap, +}; + + +static int pxa2xx_ac97_pcm_new(struct snd_card *card) +{ + struct snd_pcm *pcm; + int stream, ret; + + ret = snd_pcm_new(card, "PXA2xx-PCM", 0, 1, 1, &pcm); + if (ret) + goto out; + + pcm->private_free = pxa2xx_pcm_free_dma_buffers; + + ret = dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(32)); + if (ret) + goto out; + + stream = SNDRV_PCM_STREAM_PLAYBACK; + snd_pcm_set_ops(pcm, stream, &pxa2xx_pcm_ops); + ret = pxa2xx_pcm_preallocate_dma_buffer(pcm, stream); + if (ret) + goto out; + + stream = SNDRV_PCM_STREAM_CAPTURE; + snd_pcm_set_ops(pcm, stream, &pxa2xx_pcm_ops); + ret = pxa2xx_pcm_preallocate_dma_buffer(pcm, stream); + if (ret) + goto out; + + pxa2xx_ac97_pcm = pcm; + ret = 0; + + out: + return ret; +} + static int pxa2xx_ac97_probe(struct platform_device *dev) { struct snd_card *card; @@ -204,7 +242,7 @@ static int pxa2xx_ac97_probe(struct platform_device *dev) strlcpy(card->driver, dev->dev.driver->name, sizeof(card->driver)); - ret = pxa2xx_pcm_new(card, &pxa2xx_ac97_pcm_client, &pxa2xx_ac97_pcm); + ret = pxa2xx_ac97_pcm_new(card); if (ret) goto err; diff --git a/sound/arm/pxa2xx-pcm-lib.c b/sound/arm/pxa2xx-pcm-lib.c index dcbe7ecc1835..b927fa5ddbc0 100644 --- a/sound/arm/pxa2xx-pcm-lib.c +++ b/sound/arm/pxa2xx-pcm-lib.c @@ -16,8 +16,6 @@ #include #include -#include "pxa2xx-pcm.h" - static const struct snd_pcm_hardware pxa2xx_pcm_hardware = { .info = SNDRV_PCM_INFO_MMAP | SNDRV_PCM_INFO_MMAP_VALID | diff --git a/sound/arm/pxa2xx-pcm.c b/sound/arm/pxa2xx-pcm.c deleted file mode 100644 index 1c6f4b436de3..000000000000 --- a/sound/arm/pxa2xx-pcm.c +++ /dev/null @@ -1,129 +0,0 @@ -/* - * linux/sound/arm/pxa2xx-pcm.c -- ALSA PCM interface for the Intel PXA2xx chip - * - * Author: Nicolas Pitre - * Created: Nov 30, 2004 - * Copyright: (C) 2004 MontaVista Software, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -#include -#include -#include - -#include - -#include -#include -#include - -#include "pxa2xx-pcm.h" - -static int pxa2xx_pcm_prepare(struct snd_pcm_substream *substream) -{ - struct pxa2xx_pcm_client *client = substream->private_data; - - __pxa2xx_pcm_prepare(substream); - - return client->prepare(substream); -} - -static int pxa2xx_pcm_open(struct snd_pcm_substream *substream) -{ - struct pxa2xx_pcm_client *client = substream->private_data; - struct snd_pcm_runtime *runtime = substream->runtime; - struct pxa2xx_runtime_data *rtd; - int ret; - - ret = __pxa2xx_pcm_open(substream); - if (ret) - goto out; - - rtd = runtime->private_data; - - rtd->params = (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) ? - client->playback_params : client->capture_params; - - ret = client->startup(substream); - if (!ret) - goto err2; - - return 0; - - err2: - __pxa2xx_pcm_close(substream); - out: - return ret; -} - -static int pxa2xx_pcm_close(struct snd_pcm_substream *substream) -{ - struct pxa2xx_pcm_client *client = substream->private_data; - - client->shutdown(substream); - - return __pxa2xx_pcm_close(substream); -} - -static const struct snd_pcm_ops pxa2xx_pcm_ops = { - .open = pxa2xx_pcm_open, - .close = pxa2xx_pcm_close, - .ioctl = snd_pcm_lib_ioctl, - .hw_params = __pxa2xx_pcm_hw_params, - .hw_free = __pxa2xx_pcm_hw_free, - .prepare = pxa2xx_pcm_prepare, - .trigger = pxa2xx_pcm_trigger, - .pointer = pxa2xx_pcm_pointer, - .mmap = pxa2xx_pcm_mmap, -}; - -int pxa2xx_pcm_new(struct snd_card *card, struct pxa2xx_pcm_client *client, - struct snd_pcm **rpcm) -{ - struct snd_pcm *pcm; - int play = client->playback_params ? 1 : 0; - int capt = client->capture_params ? 1 : 0; - int ret; - - ret = snd_pcm_new(card, "PXA2xx-PCM", 0, play, capt, &pcm); - if (ret) - goto out; - - pcm->private_data = client; - pcm->private_free = pxa2xx_pcm_free_dma_buffers; - - ret = dma_coerce_mask_and_coherent(card->dev, DMA_BIT_MASK(32)); - if (ret) - goto out; - - if (play) { - int stream = SNDRV_PCM_STREAM_PLAYBACK; - snd_pcm_set_ops(pcm, stream, &pxa2xx_pcm_ops); - ret = pxa2xx_pcm_preallocate_dma_buffer(pcm, stream); - if (ret) - goto out; - } - if (capt) { - int stream = SNDRV_PCM_STREAM_CAPTURE; - snd_pcm_set_ops(pcm, stream, &pxa2xx_pcm_ops); - ret = pxa2xx_pcm_preallocate_dma_buffer(pcm, stream); - if (ret) - goto out; - } - - if (rpcm) - *rpcm = pcm; - ret = 0; - - out: - return ret; -} - -EXPORT_SYMBOL(pxa2xx_pcm_new); - -MODULE_AUTHOR("Nicolas Pitre"); -MODULE_DESCRIPTION("Intel PXA2xx PCM DMA module"); -MODULE_LICENSE("GPL"); diff --git a/sound/arm/pxa2xx-pcm.h b/sound/arm/pxa2xx-pcm.h deleted file mode 100644 index 8fa2b7c9e6b8..000000000000 --- a/sound/arm/pxa2xx-pcm.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - * linux/sound/arm/pxa2xx-pcm.h -- ALSA PCM interface for the Intel PXA2xx chip - * - * Author: Nicolas Pitre - * Created: Nov 30, 2004 - * Copyright: MontaVista Software, Inc. - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 2 as - * published by the Free Software Foundation. - */ - -struct pxa2xx_runtime_data { - int dma_ch; - struct snd_dmaengine_dai_dma_data *params; -}; - -struct pxa2xx_pcm_client { - struct snd_dmaengine_dai_dma_data *playback_params; - struct snd_dmaengine_dai_dma_data *capture_params; - int (*startup)(struct snd_pcm_substream *); - void (*shutdown)(struct snd_pcm_substream *); - int (*prepare)(struct snd_pcm_substream *); -}; - -extern int pxa2xx_pcm_new(struct snd_card *, struct pxa2xx_pcm_client *, struct snd_pcm **); - diff --git a/sound/soc/pxa/pxa-ssp.c b/sound/soc/pxa/pxa-ssp.c index 0b441338bdd4..c1f4af869289 100644 --- a/sound/soc/pxa/pxa-ssp.c +++ b/sound/soc/pxa/pxa-ssp.c @@ -34,7 +34,6 @@ #include #include -#include "../../arm/pxa2xx-pcm.h" #include "pxa-ssp.h" /* diff --git a/sound/soc/pxa/pxa2xx-pcm.c b/sound/soc/pxa/pxa2xx-pcm.c index 8b6a70e94c01..445e691126e5 100644 --- a/sound/soc/pxa/pxa2xx-pcm.c +++ b/sound/soc/pxa/pxa2xx-pcm.c @@ -20,8 +20,6 @@ #include #include -#include "../../arm/pxa2xx-pcm.h" - static int pxa2xx_pcm_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params) {