* [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
@ 2023-01-18 16:10 Arnd Bergmann
2023-01-18 16:10 ` [PATCH 2/5] ASoC: pxa: remove snd_dmaengine_pcm_open_request_chan() Arnd Bergmann
` (6 more replies)
0 siblings, 7 replies; 14+ messages in thread
From: Arnd Bergmann @ 2023-01-18 16:10 UTC (permalink / raw)
To: Sylwester Nawrocki, Mark Brown
Cc: Arnd Bergmann, Krzysztof Kozlowski, Alim Akhtar, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Charles Keepax, linux-arm-kernel,
linux-samsung-soc, linux-kernel, alsa-devel
From: Arnd Bergmann <arnd@arndb.de>
This data is no longer passed by the platform code, so
there is no point passing it down at all.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
include/linux/platform_data/asoc-s3c.h | 6 ------
sound/soc/samsung/dma.h | 2 +-
sound/soc/samsung/dmaengine.c | 3 +--
sound/soc/samsung/i2s.c | 21 +++------------------
sound/soc/samsung/pcm.c | 11 +----------
sound/soc/samsung/spdif.c | 9 +--------
6 files changed, 7 insertions(+), 45 deletions(-)
diff --git a/include/linux/platform_data/asoc-s3c.h b/include/linux/platform_data/asoc-s3c.h
index f9c00f839e9f..84874433cf21 100644
--- a/include/linux/platform_data/asoc-s3c.h
+++ b/include/linux/platform_data/asoc-s3c.h
@@ -30,7 +30,6 @@ struct samsung_i2s_type {
#define QUIRK_SUPPORTS_IDMA (1 << 5)
/* Quirks of the I2S controller */
u32 quirks;
- dma_addr_t idma_addr;
};
/**
@@ -39,10 +38,5 @@ struct samsung_i2s_type {
*/
struct s3c_audio_pdata {
int (*cfg_gpio)(struct platform_device *);
- dma_filter_fn dma_filter;
- void *dma_playback;
- void *dma_capture;
- void *dma_play_sec;
- void *dma_capture_mic;
struct samsung_i2s_type type;
};
diff --git a/sound/soc/samsung/dma.h b/sound/soc/samsung/dma.h
index 7b5d4556e0fd..bd0faf84972e 100644
--- a/sound/soc/samsung/dma.h
+++ b/sound/soc/samsung/dma.h
@@ -12,7 +12,7 @@
* @tx, @rx arguments can be NULL if the DMA channel names are "tx", "rx",
* otherwise actual DMA channel names must be passed to this function.
*/
-int samsung_asoc_dma_platform_register(struct device *dev, dma_filter_fn filter,
+int samsung_asoc_dma_platform_register(struct device *dev,
const char *tx, const char *rx,
struct device *dma_dev);
#endif /* _SAMSUNG_DMA_H */
diff --git a/sound/soc/samsung/dmaengine.c b/sound/soc/samsung/dmaengine.c
index 2802789a323e..900953ee3786 100644
--- a/sound/soc/samsung/dmaengine.c
+++ b/sound/soc/samsung/dmaengine.c
@@ -14,7 +14,7 @@
#include "dma.h"
-int samsung_asoc_dma_platform_register(struct device *dev, dma_filter_fn filter,
+int samsung_asoc_dma_platform_register(struct device *dev,
const char *tx, const char *rx,
struct device *dma_dev)
{
@@ -25,7 +25,6 @@ int samsung_asoc_dma_platform_register(struct device *dev, dma_filter_fn filter,
return -ENOMEM;
pcm_conf->prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config;
- pcm_conf->compat_filter_fn = filter;
pcm_conf->dma_dev = dma_dev;
pcm_conf->chan_names[SNDRV_PCM_STREAM_PLAYBACK] = tx;
diff --git a/sound/soc/samsung/i2s.c b/sound/soc/samsung/i2s.c
index 9505200f3d11..052c263c126a 100644
--- a/sound/soc/samsung/i2s.c
+++ b/sound/soc/samsung/i2s.c
@@ -79,7 +79,6 @@ struct i2s_dai {
struct snd_dmaengine_dai_dma_data dma_playback;
struct snd_dmaengine_dai_dma_data dma_capture;
struct snd_dmaengine_dai_dma_data idma_playback;
- dma_filter_fn filter;
struct samsung_i2s_priv *priv;
};
@@ -1431,13 +1430,7 @@ static int samsung_i2s_probe(struct platform_device *pdev)
spin_lock_init(&priv->lock);
spin_lock_init(&priv->pcm_lock);
- if (!np) {
- pri_dai->dma_playback.filter_data = i2s_pdata->dma_playback;
- pri_dai->dma_capture.filter_data = i2s_pdata->dma_capture;
- pri_dai->filter = i2s_pdata->dma_filter;
-
- idma_addr = i2s_pdata->type.idma_addr;
- } else {
+ if (np) {
if (of_property_read_u32(np, "samsung,idma-addr",
&idma_addr)) {
if (priv->quirks & QUIRK_SUPPORTS_IDMA) {
@@ -1475,8 +1468,7 @@ static int samsung_i2s_probe(struct platform_device *pdev)
if (priv->quirks & QUIRK_PRI_6CHAN)
pri_dai->drv->playback.channels_max = 6;
- ret = samsung_asoc_dma_platform_register(&pdev->dev, pri_dai->filter,
- "tx", "rx", NULL);
+ ret = samsung_asoc_dma_platform_register(&pdev->dev, "tx", "rx", NULL);
if (ret < 0)
goto err_disable_clk;
@@ -1485,12 +1477,6 @@ static int samsung_i2s_probe(struct platform_device *pdev)
sec_dai->dma_playback.addr = regs_base + I2STXDS;
sec_dai->dma_playback.chan_name = "tx-sec";
-
- if (!np) {
- sec_dai->dma_playback.filter_data = i2s_pdata->dma_play_sec;
- sec_dai->filter = i2s_pdata->dma_filter;
- }
-
sec_dai->dma_playback.addr_width = 4;
sec_dai->idma_playback.addr = idma_addr;
sec_dai->pri_dai = pri_dai;
@@ -1502,8 +1488,7 @@ static int samsung_i2s_probe(struct platform_device *pdev)
goto err_disable_clk;
ret = samsung_asoc_dma_platform_register(&priv->pdev_sec->dev,
- sec_dai->filter, "tx-sec", NULL,
- &pdev->dev);
+ "tx-sec", NULL, &pdev->dev);
if (ret < 0)
goto err_del_sec;
diff --git a/sound/soc/samsung/pcm.c b/sound/soc/samsung/pcm.c
index e859252ae5e6..2f3a99de6434 100644
--- a/sound/soc/samsung/pcm.c
+++ b/sound/soc/samsung/pcm.c
@@ -489,7 +489,6 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
struct s3c_pcm_info *pcm;
struct resource *mem_res;
struct s3c_audio_pdata *pcm_pdata;
- dma_filter_fn filter;
int ret;
/* Check for valid device index */
@@ -542,18 +541,10 @@ static int s3c_pcm_dev_probe(struct platform_device *pdev)
s3c_pcm_stereo_in[pdev->id].addr = mem_res->start + S3C_PCM_RXFIFO;
s3c_pcm_stereo_out[pdev->id].addr = mem_res->start + S3C_PCM_TXFIFO;
- filter = NULL;
- if (pcm_pdata) {
- s3c_pcm_stereo_in[pdev->id].filter_data = pcm_pdata->dma_capture;
- s3c_pcm_stereo_out[pdev->id].filter_data = pcm_pdata->dma_playback;
- filter = pcm_pdata->dma_filter;
- }
-
pcm->dma_capture = &s3c_pcm_stereo_in[pdev->id];
pcm->dma_playback = &s3c_pcm_stereo_out[pdev->id];
- ret = samsung_asoc_dma_platform_register(&pdev->dev, filter,
- NULL, NULL, NULL);
+ ret = samsung_asoc_dma_platform_register(&pdev->dev, NULL, NULL, NULL);
if (ret) {
dev_err(&pdev->dev, "failed to get register DMA: %d\n", ret);
goto err_dis_pclk;
diff --git a/sound/soc/samsung/spdif.c b/sound/soc/samsung/spdif.c
index 7d815e237e5c..beabcadd7d1d 100644
--- a/sound/soc/samsung/spdif.c
+++ b/sound/soc/samsung/spdif.c
@@ -363,7 +363,6 @@ static int spdif_probe(struct platform_device *pdev)
struct s3c_audio_pdata *spdif_pdata;
struct resource *mem_res;
struct samsung_spdif_info *spdif;
- dma_filter_fn filter;
int ret;
spdif_pdata = pdev->dev.platform_data;
@@ -424,15 +423,9 @@ static int spdif_probe(struct platform_device *pdev)
spdif_stereo_out.addr_width = 2;
spdif_stereo_out.addr = mem_res->start + DATA_OUTBUF;
- filter = NULL;
- if (spdif_pdata) {
- spdif_stereo_out.filter_data = spdif_pdata->dma_playback;
- filter = spdif_pdata->dma_filter;
- }
spdif->dma_playback = &spdif_stereo_out;
- ret = samsung_asoc_dma_platform_register(&pdev->dev, filter,
- NULL, NULL, NULL);
+ ret = samsung_asoc_dma_platform_register(&pdev->dev, NULL, NULL, NULL);
if (ret) {
dev_err(&pdev->dev, "failed to register DMA: %d\n", ret);
goto err4;
--
2.39.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/5] ASoC: pxa: remove snd_dmaengine_pcm_open_request_chan()
2023-01-18 16:10 [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Arnd Bergmann
@ 2023-01-18 16:10 ` Arnd Bergmann
2023-01-19 16:56 ` Mark Brown
2023-01-18 16:10 ` [PATCH 3/5] ASoC: ux500: remove platform_data support Arnd Bergmann
` (5 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Arnd Bergmann @ 2023-01-18 16:10 UTC (permalink / raw)
To: Lars-Peter Clausen, Jaroslav Kysela, Takashi Iwai
Cc: Arnd Bergmann, Eugeniu Rosca, Andreas Pape, alsa-devel,
linux-kernel
From: Arnd Bergmann <arnd@arndb.de>
The last caller was removed, so there is no longer a need for
this function.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
include/sound/dmaengine_pcm.h | 2 --
sound/core/pcm_dmaengine.c | 21 ---------------------
2 files changed, 23 deletions(-)
diff --git a/include/sound/dmaengine_pcm.h b/include/sound/dmaengine_pcm.h
index 2df54cf02cb3..a497d1f81cab 100644
--- a/include/sound/dmaengine_pcm.h
+++ b/include/sound/dmaengine_pcm.h
@@ -37,8 +37,6 @@ int snd_dmaengine_pcm_open(struct snd_pcm_substream *substream,
struct dma_chan *chan);
int snd_dmaengine_pcm_close(struct snd_pcm_substream *substream);
-int snd_dmaengine_pcm_open_request_chan(struct snd_pcm_substream *substream,
- dma_filter_fn filter_fn, void *filter_data);
int snd_dmaengine_pcm_close_release_chan(struct snd_pcm_substream *substream);
struct dma_chan *snd_dmaengine_pcm_request_channel(dma_filter_fn filter_fn,
diff --git a/sound/core/pcm_dmaengine.c b/sound/core/pcm_dmaengine.c
index 494ec0c207fa..9f4120f020d8 100644
--- a/sound/core/pcm_dmaengine.c
+++ b/sound/core/pcm_dmaengine.c
@@ -328,27 +328,6 @@ int snd_dmaengine_pcm_open(struct snd_pcm_substream *substream,
}
EXPORT_SYMBOL_GPL(snd_dmaengine_pcm_open);
-/**
- * snd_dmaengine_pcm_open_request_chan - Open a dmaengine based PCM substream and request channel
- * @substream: PCM substream
- * @filter_fn: Filter function used to request the DMA channel
- * @filter_data: Data passed to the DMA filter function
- *
- * This function will request a DMA channel using the passed filter function and
- * data. The function should usually be called from the pcm open callback. Note
- * that this function will use private_data field of the substream's runtime. So
- * it is not available to your pcm driver implementation.
- *
- * Return: 0 on success, a negative error code otherwise
- */
-int snd_dmaengine_pcm_open_request_chan(struct snd_pcm_substream *substream,
- dma_filter_fn filter_fn, void *filter_data)
-{
- return snd_dmaengine_pcm_open(substream,
- snd_dmaengine_pcm_request_channel(filter_fn, filter_data));
-}
-EXPORT_SYMBOL_GPL(snd_dmaengine_pcm_open_request_chan);
-
/**
* snd_dmaengine_pcm_close - Close a dmaengine based PCM substream
* @substream: PCM substream
--
2.39.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 3/5] ASoC: ux500: remove platform_data support
2023-01-18 16:10 [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Arnd Bergmann
2023-01-18 16:10 ` [PATCH 2/5] ASoC: pxa: remove snd_dmaengine_pcm_open_request_chan() Arnd Bergmann
@ 2023-01-18 16:10 ` Arnd Bergmann
2023-01-18 22:32 ` Linus Walleij
2023-01-18 16:10 ` [PATCH 4/5] ASoC: ux500: remove stedma40 references Arnd Bergmann
` (4 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Arnd Bergmann @ 2023-01-18 16:10 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai
Cc: Arnd Bergmann, Christophe JAILLET, Charles Keepax, linux-kernel,
alsa-devel
From: Arnd Bergmann <arnd@arndb.de>
The platform data definition for ux500 sound devices was removed
six years ago after the DT conversion was completed, see commit
4b483ed0be8b ("ARM: ux500: cut some platform data").
Remove some leftover bits in the ASoC driver and just assume that
it always gets probed using DT.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
include/linux/platform_data/asoc-ux500-msp.h | 20 ----------
sound/soc/ux500/mop500.c | 8 ++--
sound/soc/ux500/ux500_msp_dai.c | 33 +--------------
sound/soc/ux500/ux500_msp_i2s.c | 33 +++------------
sound/soc/ux500/ux500_msp_i2s.h | 5 +--
sound/soc/ux500/ux500_pcm.c | 42 ++------------------
6 files changed, 15 insertions(+), 126 deletions(-)
delete mode 100644 include/linux/platform_data/asoc-ux500-msp.h
diff --git a/include/linux/platform_data/asoc-ux500-msp.h b/include/linux/platform_data/asoc-ux500-msp.h
deleted file mode 100644
index b8d0f730dda8..000000000000
--- a/include/linux/platform_data/asoc-ux500-msp.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * Copyright (C) ST-Ericsson SA 2010
- *
- * Author: Rabin Vincent <rabin.vincent@stericsson.com> for ST-Ericsson
- */
-
-#ifndef __MSP_H
-#define __MSP_H
-
-#include <linux/platform_data/dma-ste-dma40.h>
-
-/* Platform data structure for a MSP I2S-device */
-struct msp_i2s_platform_data {
- int id;
- struct stedma40_chan_cfg *msp_i2s_dma_rx;
- struct stedma40_chan_cfg *msp_i2s_dma_tx;
-};
-
-#endif
diff --git a/sound/soc/ux500/mop500.c b/sound/soc/ux500/mop500.c
index fdd55d772b8e..325e75e96136 100644
--- a/sound/soc/ux500/mop500.c
+++ b/sound/soc/ux500/mop500.c
@@ -109,11 +109,9 @@ static int mop500_probe(struct platform_device *pdev)
mop500_card.dev = &pdev->dev;
- if (np) {
- ret = mop500_of_probe(pdev, np);
- if (ret)
- return ret;
- }
+ ret = mop500_of_probe(pdev, np);
+ if (ret)
+ return ret;
dev_dbg(&pdev->dev, "%s: Card %s: Set platform drvdata.\n",
__func__, mop500_card.name);
diff --git a/sound/soc/ux500/ux500_msp_dai.c b/sound/soc/ux500/ux500_msp_dai.c
index 9d99ea6d7f30..6e86efd06ec1 100644
--- a/sound/soc/ux500/ux500_msp_dai.c
+++ b/sound/soc/ux500/ux500_msp_dai.c
@@ -15,7 +15,6 @@
#include <linux/of.h>
#include <linux/regulator/consumer.h>
#include <linux/mfd/dbx500-prcmu.h>
-#include <linux/platform_data/asoc-ux500-msp.h>
#include <sound/soc.h>
#include <sound/soc-dai.h>
@@ -682,26 +681,6 @@ static int ux500_msp_dai_of_probe(struct snd_soc_dai *dai)
return 0;
}
-static int ux500_msp_dai_probe(struct snd_soc_dai *dai)
-{
- struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
- struct msp_i2s_platform_data *pdata = dai->dev->platform_data;
- int ret;
-
- if (!pdata) {
- ret = ux500_msp_dai_of_probe(dai);
- return ret;
- }
-
- drvdata->msp->playback_dma_data.data_size = drvdata->slot_width;
- drvdata->msp->capture_dma_data.data_size = drvdata->slot_width;
-
- snd_soc_dai_init_dma_data(dai,
- &drvdata->msp->playback_dma_data,
- &drvdata->msp->capture_dma_data);
- return 0;
-}
-
static const struct snd_soc_dai_ops ux500_msp_dai_ops[] = {
{
.set_sysclk = ux500_msp_dai_set_dai_sysclk,
@@ -716,7 +695,7 @@ static const struct snd_soc_dai_ops ux500_msp_dai_ops[] = {
};
static struct snd_soc_dai_driver ux500_msp_dai_drv = {
- .probe = ux500_msp_dai_probe,
+ .probe = ux500_msp_dai_of_probe,
.playback.channels_min = UX500_MSP_MIN_CHANNELS,
.playback.channels_max = UX500_MSP_MAX_CHANNELS,
.playback.rates = UX500_I2S_RATES,
@@ -737,15 +716,8 @@ static const struct snd_soc_component_driver ux500_msp_component = {
static int ux500_msp_drv_probe(struct platform_device *pdev)
{
struct ux500_msp_i2s_drvdata *drvdata;
- struct msp_i2s_platform_data *pdata = pdev->dev.platform_data;
- struct device_node *np = pdev->dev.of_node;
int ret = 0;
- if (!pdata && !np) {
- dev_err(&pdev->dev, "No platform data or Device Tree found\n");
- return -ENODEV;
- }
-
drvdata = devm_kzalloc(&pdev->dev,
sizeof(struct ux500_msp_i2s_drvdata),
GFP_KERNEL);
@@ -787,8 +759,7 @@ static int ux500_msp_drv_probe(struct platform_device *pdev)
return ret;
}
- ret = ux500_msp_i2s_init_msp(pdev, &drvdata->msp,
- pdev->dev.platform_data);
+ ret = ux500_msp_i2s_init_msp(pdev, &drvdata->msp);
if (!drvdata->msp) {
dev_err(&pdev->dev,
"%s: ERROR: Failed to init MSP-struct (%d)!",
diff --git a/sound/soc/ux500/ux500_msp_i2s.c b/sound/soc/ux500/ux500_msp_i2s.c
index d113411a19f8..bfca5553381f 100644
--- a/sound/soc/ux500/ux500_msp_i2s.c
+++ b/sound/soc/ux500/ux500_msp_i2s.c
@@ -14,7 +14,6 @@
#include <linux/slab.h>
#include <linux/io.h>
#include <linux/of.h>
-#include <linux/platform_data/asoc-ux500-msp.h>
#include <sound/soc.h>
@@ -640,18 +639,8 @@ int ux500_msp_i2s_close(struct ux500_msp *msp, unsigned int dir)
}
static int ux500_msp_i2s_of_init_msp(struct platform_device *pdev,
- struct ux500_msp *msp,
- struct msp_i2s_platform_data **platform_data)
+ struct ux500_msp *msp);
{
- struct msp_i2s_platform_data *pdata;
-
- *platform_data = devm_kzalloc(&pdev->dev,
- sizeof(struct msp_i2s_platform_data),
- GFP_KERNEL);
- pdata = *platform_data;
- if (!pdata)
- return -ENOMEM;
-
msp->playback_dma_data.dma_cfg = devm_kzalloc(&pdev->dev,
sizeof(struct stedma40_chan_cfg),
GFP_KERNEL);
@@ -668,11 +657,9 @@ static int ux500_msp_i2s_of_init_msp(struct platform_device *pdev,
}
int ux500_msp_i2s_init_msp(struct platform_device *pdev,
- struct ux500_msp **msp_p,
- struct msp_i2s_platform_data *platform_data)
+ struct ux500_msp **msp_p)
{
struct resource *res = NULL;
- struct device_node *np = pdev->dev.of_node;
struct ux500_msp *msp;
int ret;
@@ -681,19 +668,9 @@ int ux500_msp_i2s_init_msp(struct platform_device *pdev,
if (!msp)
return -ENOMEM;
- if (!platform_data) {
- if (np) {
- ret = ux500_msp_i2s_of_init_msp(pdev, msp,
- &platform_data);
- if (ret)
- return ret;
- } else
- return -EINVAL;
- } else {
- msp->playback_dma_data.dma_cfg = platform_data->msp_i2s_dma_tx;
- msp->capture_dma_data.dma_cfg = platform_data->msp_i2s_dma_rx;
- msp->id = platform_data->id;
- }
+ ret = ux500_msp_i2s_of_init_msp(pdev, msp);
+ if (ret)
+ return ret;
msp->dev = &pdev->dev;
diff --git a/sound/soc/ux500/ux500_msp_i2s.h b/sound/soc/ux500/ux500_msp_i2s.h
index d45b5e2831cc..6b353423b75a 100644
--- a/sound/soc/ux500/ux500_msp_i2s.h
+++ b/sound/soc/ux500/ux500_msp_i2s.h
@@ -11,7 +11,6 @@
#define UX500_MSP_I2S_H
#include <linux/platform_device.h>
-#include <linux/platform_data/asoc-ux500-msp.h>
#define MSP_INPUT_FREQ_APB 48000000
@@ -482,10 +481,8 @@ struct ux500_msp {
unsigned int f_bitclk;
};
-struct msp_i2s_platform_data;
int ux500_msp_i2s_init_msp(struct platform_device *pdev,
- struct ux500_msp **msp_p,
- struct msp_i2s_platform_data *platform_data);
+ struct ux500_msp **msp_p);
void ux500_msp_i2s_cleanup_msp(struct platform_device *pdev,
struct ux500_msp *msp);
int ux500_msp_i2s_open(struct ux500_msp *msp, struct ux500_msp_config *config);
diff --git a/sound/soc/ux500/ux500_pcm.c b/sound/soc/ux500/ux500_pcm.c
index d3802e5ef196..ca87517d80c9 100644
--- a/sound/soc/ux500/ux500_pcm.c
+++ b/sound/soc/ux500/ux500_pcm.c
@@ -29,18 +29,6 @@
#define UX500_PLATFORM_PERIODS_MAX 48
#define UX500_PLATFORM_BUFFER_BYTES_MAX (2048 * PAGE_SIZE)
-static const struct snd_pcm_hardware ux500_pcm_hw = {
- .info = SNDRV_PCM_INFO_INTERLEAVED |
- SNDRV_PCM_INFO_MMAP |
- SNDRV_PCM_INFO_RESUME |
- SNDRV_PCM_INFO_PAUSE,
- .buffer_bytes_max = UX500_PLATFORM_BUFFER_BYTES_MAX,
- .period_bytes_min = UX500_PLATFORM_PERIODS_BYTES_MIN,
- .period_bytes_max = UX500_PLATFORM_PERIODS_BYTES_MAX,
- .periods_min = UX500_PLATFORM_PERIODS_MIN,
- .periods_max = UX500_PLATFORM_PERIODS_MAX,
-};
-
static struct dma_chan *ux500_pcm_request_chan(struct snd_soc_pcm_runtime *rtd,
struct snd_pcm_substream *substream)
{
@@ -84,21 +72,12 @@ static int ux500_pcm_prepare_slave_config(struct snd_pcm_substream *substream,
struct dma_slave_config *slave_config)
{
struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream);
- struct msp_i2s_platform_data *pdata = asoc_rtd_to_cpu(rtd, 0)->dev->platform_data;
struct snd_dmaengine_dai_dma_data *snd_dma_params;
- struct ux500_msp_dma_params *ste_dma_params;
dma_addr_t dma_addr;
int ret;
- if (pdata) {
- ste_dma_params =
- snd_soc_dai_get_dma_data(asoc_rtd_to_cpu(rtd, 0), substream);
- dma_addr = ste_dma_params->tx_rx_addr;
- } else {
- snd_dma_params =
- snd_soc_dai_get_dma_data(asoc_rtd_to_cpu(rtd, 0), substream);
- dma_addr = snd_dma_params->addr;
- }
+ snd_dma_params = snd_soc_dai_get_dma_data(asoc_rtd_to_cpu(rtd, 0), substream);
+ dma_addr = snd_dma_params->addr;
ret = snd_hwparams_to_dma_slave_config(substream, params, slave_config);
if (ret)
@@ -118,13 +97,6 @@ static int ux500_pcm_prepare_slave_config(struct snd_pcm_substream *substream,
return 0;
}
-static const struct snd_dmaengine_pcm_config ux500_dmaengine_pcm_config = {
- .pcm_hardware = &ux500_pcm_hw,
- .compat_request_channel = ux500_pcm_request_chan,
- .prealloc_buffer_size = 128 * 1024,
- .prepare_slave_config = ux500_pcm_prepare_slave_config,
-};
-
static const struct snd_dmaengine_pcm_config ux500_dmaengine_of_pcm_config = {
.compat_request_channel = ux500_pcm_request_chan,
.prepare_slave_config = ux500_pcm_prepare_slave_config,
@@ -132,16 +104,10 @@ static const struct snd_dmaengine_pcm_config ux500_dmaengine_of_pcm_config = {
int ux500_pcm_register_platform(struct platform_device *pdev)
{
- const struct snd_dmaengine_pcm_config *pcm_config;
- struct device_node *np = pdev->dev.of_node;
int ret;
- if (np)
- pcm_config = &ux500_dmaengine_of_pcm_config;
- else
- pcm_config = &ux500_dmaengine_pcm_config;
-
- ret = snd_dmaengine_pcm_register(&pdev->dev, pcm_config,
+ ret = snd_dmaengine_pcm_register(&pdev->dev,
+ &ux500_dmaengine_of_pcm_config,
SND_DMAENGINE_PCM_FLAG_COMPAT);
if (ret < 0) {
dev_err(&pdev->dev,
--
2.39.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 4/5] ASoC: ux500: remove stedma40 references
2023-01-18 16:10 [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Arnd Bergmann
2023-01-18 16:10 ` [PATCH 2/5] ASoC: pxa: remove snd_dmaengine_pcm_open_request_chan() Arnd Bergmann
2023-01-18 16:10 ` [PATCH 3/5] ASoC: ux500: remove platform_data support Arnd Bergmann
@ 2023-01-18 16:10 ` Arnd Bergmann
2023-01-18 22:34 ` Linus Walleij
2023-01-18 16:10 ` [PATCH 5/5] ASoC: remove snd_dmaengine_pcm_config->compat_request_channel Arnd Bergmann
` (3 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Arnd Bergmann @ 2023-01-18 16:10 UTC (permalink / raw)
To: Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai
Cc: Arnd Bergmann, Charles Keepax, Christophe JAILLET, alsa-devel,
linux-kernel
From: Arnd Bergmann <arnd@arndb.de>
ux500_pcm_request_chan() is never called because the dma channels
are already set up from DT. Remove this, along with the
ux500_msp_dma_params structure.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
sound/soc/ux500/ux500_msp_dai.c | 4 +--
sound/soc/ux500/ux500_msp_i2s.c | 41 +------------------------------
sound/soc/ux500/ux500_msp_i2s.h | 9 +------
sound/soc/ux500/ux500_pcm.c | 43 +--------------------------------
4 files changed, 5 insertions(+), 92 deletions(-)
diff --git a/sound/soc/ux500/ux500_msp_dai.c b/sound/soc/ux500/ux500_msp_dai.c
index 6e86efd06ec1..6fb1a5c207bc 100644
--- a/sound/soc/ux500/ux500_msp_dai.c
+++ b/sound/soc/ux500/ux500_msp_dai.c
@@ -670,8 +670,8 @@ static int ux500_msp_dai_of_probe(struct snd_soc_dai *dai)
if (!capture_dma_data)
return -ENOMEM;
- playback_dma_data->addr = drvdata->msp->playback_dma_data.tx_rx_addr;
- capture_dma_data->addr = drvdata->msp->capture_dma_data.tx_rx_addr;
+ playback_dma_data->addr = drvdata->msp->tx_rx_addr;
+ capture_dma_data->addr = drvdata->msp->tx_rx_addr;
playback_dma_data->maxburst = 4;
capture_dma_data->maxburst = 4;
diff --git a/sound/soc/ux500/ux500_msp_i2s.c b/sound/soc/ux500/ux500_msp_i2s.c
index bfca5553381f..fbfeefa418ca 100644
--- a/sound/soc/ux500/ux500_msp_i2s.c
+++ b/sound/soc/ux500/ux500_msp_i2s.c
@@ -360,20 +360,6 @@ static int enable_msp(struct ux500_msp *msp, struct ux500_msp_config *config)
__func__, status);
}
- /* Make sure the correct DMA-directions are configured */
- if ((config->direction & MSP_DIR_RX) &&
- !msp->capture_dma_data.dma_cfg) {
- dev_err(msp->dev, "%s: ERROR: MSP RX-mode is not configured!",
- __func__);
- return -EINVAL;
- }
- if ((config->direction == MSP_DIR_TX) &&
- !msp->playback_dma_data.dma_cfg) {
- dev_err(msp->dev, "%s: ERROR: MSP TX-mode is not configured!",
- __func__);
- return -EINVAL;
- }
-
reg_val_DMACR = readl(msp->registers + MSP_DMACR);
if (config->direction & MSP_DIR_RX)
reg_val_DMACR |= RX_DMA_ENABLE;
@@ -638,40 +624,17 @@ int ux500_msp_i2s_close(struct ux500_msp *msp, unsigned int dir)
}
-static int ux500_msp_i2s_of_init_msp(struct platform_device *pdev,
- struct ux500_msp *msp);
-{
- msp->playback_dma_data.dma_cfg = devm_kzalloc(&pdev->dev,
- sizeof(struct stedma40_chan_cfg),
- GFP_KERNEL);
- if (!msp->playback_dma_data.dma_cfg)
- return -ENOMEM;
-
- msp->capture_dma_data.dma_cfg = devm_kzalloc(&pdev->dev,
- sizeof(struct stedma40_chan_cfg),
- GFP_KERNEL);
- if (!msp->capture_dma_data.dma_cfg)
- return -ENOMEM;
-
- return 0;
-}
-
int ux500_msp_i2s_init_msp(struct platform_device *pdev,
struct ux500_msp **msp_p)
{
struct resource *res = NULL;
struct ux500_msp *msp;
- int ret;
*msp_p = devm_kzalloc(&pdev->dev, sizeof(struct ux500_msp), GFP_KERNEL);
msp = *msp_p;
if (!msp)
return -ENOMEM;
- ret = ux500_msp_i2s_of_init_msp(pdev, msp);
- if (ret)
- return ret;
-
msp->dev = &pdev->dev;
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
@@ -681,9 +644,7 @@ int ux500_msp_i2s_init_msp(struct platform_device *pdev,
return -ENOMEM;
}
- msp->playback_dma_data.tx_rx_addr = res->start + MSP_DR;
- msp->capture_dma_data.tx_rx_addr = res->start + MSP_DR;
-
+ msp->tx_rx_addr = res->start + MSP_DR;
msp->registers = devm_ioremap(&pdev->dev, res->start,
resource_size(res));
if (msp->registers == NULL) {
diff --git a/sound/soc/ux500/ux500_msp_i2s.h b/sound/soc/ux500/ux500_msp_i2s.h
index 6b353423b75a..69d4ebc409fc 100644
--- a/sound/soc/ux500/ux500_msp_i2s.h
+++ b/sound/soc/ux500/ux500_msp_i2s.h
@@ -462,18 +462,11 @@ struct ux500_msp_config {
unsigned int iodelay;
};
-struct ux500_msp_dma_params {
- unsigned int data_size;
- dma_addr_t tx_rx_addr;
- struct stedma40_chan_cfg *dma_cfg;
-};
-
struct ux500_msp {
int id;
void __iomem *registers;
struct device *dev;
- struct ux500_msp_dma_params playback_dma_data;
- struct ux500_msp_dma_params capture_dma_data;
+ dma_addr_t tx_rx_addr;
enum msp_state msp_state;
int def_elem_len;
unsigned int dir_busy;
diff --git a/sound/soc/ux500/ux500_pcm.c b/sound/soc/ux500/ux500_pcm.c
index ca87517d80c9..53b5649cfdda 100644
--- a/sound/soc/ux500/ux500_pcm.c
+++ b/sound/soc/ux500/ux500_pcm.c
@@ -13,7 +13,6 @@
#include <linux/dma-mapping.h>
#include <linux/dmaengine.h>
#include <linux/slab.h>
-#include <linux/platform_data/dma-ste-dma40.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
@@ -29,44 +28,6 @@
#define UX500_PLATFORM_PERIODS_MAX 48
#define UX500_PLATFORM_BUFFER_BYTES_MAX (2048 * PAGE_SIZE)
-static struct dma_chan *ux500_pcm_request_chan(struct snd_soc_pcm_runtime *rtd,
- struct snd_pcm_substream *substream)
-{
- struct snd_soc_dai *dai = asoc_rtd_to_cpu(rtd, 0);
- u16 per_data_width, mem_data_width;
- struct stedma40_chan_cfg *dma_cfg;
- struct ux500_msp_dma_params *dma_params;
-
- dma_params = snd_soc_dai_get_dma_data(dai, substream);
- dma_cfg = dma_params->dma_cfg;
-
- mem_data_width = DMA_SLAVE_BUSWIDTH_2_BYTES;
-
- switch (dma_params->data_size) {
- case 32:
- per_data_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
- break;
- case 16:
- per_data_width = DMA_SLAVE_BUSWIDTH_2_BYTES;
- break;
- case 8:
- per_data_width = DMA_SLAVE_BUSWIDTH_1_BYTE;
- break;
- default:
- per_data_width = DMA_SLAVE_BUSWIDTH_4_BYTES;
- }
-
- if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
- dma_cfg->src_info.data_width = mem_data_width;
- dma_cfg->dst_info.data_width = per_data_width;
- } else {
- dma_cfg->src_info.data_width = per_data_width;
- dma_cfg->dst_info.data_width = mem_data_width;
- }
-
- return snd_dmaengine_pcm_request_channel(stedma40_filter, dma_cfg);
-}
-
static int ux500_pcm_prepare_slave_config(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params,
struct dma_slave_config *slave_config)
@@ -98,7 +59,6 @@ static int ux500_pcm_prepare_slave_config(struct snd_pcm_substream *substream,
}
static const struct snd_dmaengine_pcm_config ux500_dmaengine_of_pcm_config = {
- .compat_request_channel = ux500_pcm_request_chan,
.prepare_slave_config = ux500_pcm_prepare_slave_config,
};
@@ -107,8 +67,7 @@ int ux500_pcm_register_platform(struct platform_device *pdev)
int ret;
ret = snd_dmaengine_pcm_register(&pdev->dev,
- &ux500_dmaengine_of_pcm_config,
- SND_DMAENGINE_PCM_FLAG_COMPAT);
+ &ux500_dmaengine_of_pcm_config, 0);
if (ret < 0) {
dev_err(&pdev->dev,
"%s: ERROR: Failed to register platform '%s' (%d)!\n",
--
2.39.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 5/5] ASoC: remove snd_dmaengine_pcm_config->compat_request_channel
2023-01-18 16:10 [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Arnd Bergmann
` (2 preceding siblings ...)
2023-01-18 16:10 ` [PATCH 4/5] ASoC: ux500: remove stedma40 references Arnd Bergmann
@ 2023-01-18 16:10 ` Arnd Bergmann
2023-01-19 15:39 ` [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Krzysztof Kozlowski
` (2 subsequent siblings)
6 siblings, 0 replies; 14+ messages in thread
From: Arnd Bergmann @ 2023-01-18 16:10 UTC (permalink / raw)
To: Lars-Peter Clausen, Jaroslav Kysela, Takashi Iwai, Liam Girdwood,
Mark Brown
Cc: Arnd Bergmann, alsa-devel, linux-kernel
From: Arnd Bergmann <arnd@arndb.de>
The last reference to this struct member is gone, so the caller
can be removed as well.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
include/sound/dmaengine_pcm.h | 13 ++-----------
sound/soc/soc-generic-dmaengine-pcm.c | 3 ---
2 files changed, 2 insertions(+), 14 deletions(-)
diff --git a/include/sound/dmaengine_pcm.h b/include/sound/dmaengine_pcm.h
index a497d1f81cab..9965d59ff8f0 100644
--- a/include/sound/dmaengine_pcm.h
+++ b/include/sound/dmaengine_pcm.h
@@ -93,8 +93,8 @@ int snd_dmaengine_pcm_refine_runtime_hwparams(
struct dma_chan *chan);
/*
- * Try to request the DMA channel using compat_request_channel or
- * compat_filter_fn if it couldn't be requested through devicetree.
+ * Try to request the DMA channel using compat_filter_fn if it
+ * couldn't be requested through devicetree.
*/
#define SND_DMAENGINE_PCM_FLAG_COMPAT BIT(0)
/*
@@ -112,8 +112,6 @@ int snd_dmaengine_pcm_refine_runtime_hwparams(
* struct snd_dmaengine_pcm_config - Configuration data for dmaengine based PCM
* @prepare_slave_config: Callback used to fill in the DMA slave_config for a
* PCM substream. Will be called from the PCM drivers hwparams callback.
- * @compat_request_channel: Callback to request a DMA channel for platforms
- * which do not use devicetree.
* @process: Callback used to apply processing on samples transferred from/to
* user space.
* @compat_filter_fn: Will be used as the filter function when requesting a
@@ -126,18 +124,11 @@ int snd_dmaengine_pcm_refine_runtime_hwparams(
* @pcm_hardware: snd_pcm_hardware struct to be used for the PCM.
* @prealloc_buffer_size: Size of the preallocated audio buffer.
*
- * Note: If both compat_request_channel and compat_filter_fn are set
- * compat_request_channel will be used to request the channel and
- * compat_filter_fn will be ignored. Otherwise the channel will be requested
- * using dma_request_channel with compat_filter_fn as the filter function.
*/
struct snd_dmaengine_pcm_config {
int (*prepare_slave_config)(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params,
struct dma_slave_config *slave_config);
- struct dma_chan *(*compat_request_channel)(
- struct snd_soc_pcm_runtime *rtd,
- struct snd_pcm_substream *substream);
int (*process)(struct snd_pcm_substream *substream,
int channel, unsigned long hwoff,
void *buf, unsigned long bytes);
diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc-generic-dmaengine-pcm.c
index 3b99f619e37e..a3d92eb645f2 100644
--- a/sound/soc/soc-generic-dmaengine-pcm.c
+++ b/sound/soc/soc-generic-dmaengine-pcm.c
@@ -190,9 +190,6 @@ static struct dma_chan *dmaengine_pcm_compat_request_channel(
if ((pcm->flags & SND_DMAENGINE_PCM_FLAG_HALF_DUPLEX) && pcm->chan[0])
return pcm->chan[0];
- if (pcm->config->compat_request_channel)
- return pcm->config->compat_request_channel(rtd, substream);
-
return snd_dmaengine_pcm_request_channel(pcm->config->compat_filter_fn,
dma_data->filter_data);
}
--
2.39.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 3/5] ASoC: ux500: remove platform_data support
2023-01-18 16:10 ` [PATCH 3/5] ASoC: ux500: remove platform_data support Arnd Bergmann
@ 2023-01-18 22:32 ` Linus Walleij
0 siblings, 0 replies; 14+ messages in thread
From: Linus Walleij @ 2023-01-18 22:32 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai,
Arnd Bergmann, Christophe JAILLET, Charles Keepax, linux-kernel,
alsa-devel
On Wed, Jan 18, 2023 at 5:17 PM Arnd Bergmann <arnd@kernel.org> wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> The platform data definition for ux500 sound devices was removed
> six years ago after the DT conversion was completed, see commit
> 4b483ed0be8b ("ARM: ux500: cut some platform data").
>
> Remove some leftover bits in the ASoC driver and just assume that
> it always gets probed using DT.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 4/5] ASoC: ux500: remove stedma40 references
2023-01-18 16:10 ` [PATCH 4/5] ASoC: ux500: remove stedma40 references Arnd Bergmann
@ 2023-01-18 22:34 ` Linus Walleij
0 siblings, 0 replies; 14+ messages in thread
From: Linus Walleij @ 2023-01-18 22:34 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Liam Girdwood, Mark Brown, Jaroslav Kysela, Takashi Iwai,
Arnd Bergmann, Charles Keepax, Christophe JAILLET, alsa-devel,
linux-kernel
On Wed, Jan 18, 2023 at 5:17 PM Arnd Bergmann <arnd@kernel.org> wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> ux500_pcm_request_chan() is never called because the dma channels
> are already set up from DT. Remove this, along with the
> ux500_msp_dma_params structure.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Now I will try to continue my work on refreshing the Ux500
audio support on top of these patches!
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
2023-01-18 16:10 [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Arnd Bergmann
` (3 preceding siblings ...)
2023-01-18 16:10 ` [PATCH 5/5] ASoC: remove snd_dmaengine_pcm_config->compat_request_channel Arnd Bergmann
@ 2023-01-19 15:39 ` Krzysztof Kozlowski
2023-01-19 16:59 ` Mark Brown
2023-01-20 22:22 ` Mark Brown
6 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2023-01-19 15:39 UTC (permalink / raw)
To: Arnd Bergmann, Sylwester Nawrocki, Mark Brown
Cc: Arnd Bergmann, Alim Akhtar, Liam Girdwood, Jaroslav Kysela,
Takashi Iwai, Charles Keepax, linux-arm-kernel, linux-samsung-soc,
linux-kernel, alsa-devel
On 18/01/2023 17:10, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> This data is no longer passed by the platform code, so
> there is no point passing it down at all.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> include/linux/platform_data/asoc-s3c.h | 6 ------
> sound/soc/samsung/dma.h | 2 +-
> sound/soc/samsung/dmaengine.c | 3 +--
> sound/soc/samsung/i2s.c | 21 +++------------------
> sound/soc/samsung/pcm.c | 11 +----------
> sound/soc/samsung/spdif.c | 9 +--------
> 6 files changed, 7 insertions(+), 45 deletions(-)
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/5] ASoC: pxa: remove snd_dmaengine_pcm_open_request_chan()
2023-01-18 16:10 ` [PATCH 2/5] ASoC: pxa: remove snd_dmaengine_pcm_open_request_chan() Arnd Bergmann
@ 2023-01-19 16:56 ` Mark Brown
0 siblings, 0 replies; 14+ messages in thread
From: Mark Brown @ 2023-01-19 16:56 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Lars-Peter Clausen, Jaroslav Kysela, Takashi Iwai, Arnd Bergmann,
Eugeniu Rosca, Andreas Pape, alsa-devel, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 239 bytes --]
On Wed, Jan 18, 2023 at 05:10:46PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> The last caller was removed, so there is no longer a need for
> this function.
Please remember to copy me on ASoC patches...
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
2023-01-18 16:10 [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Arnd Bergmann
` (4 preceding siblings ...)
2023-01-19 15:39 ` [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Krzysztof Kozlowski
@ 2023-01-19 16:59 ` Mark Brown
2023-01-20 9:05 ` Arnd Bergmann
2023-01-20 22:22 ` Mark Brown
6 siblings, 1 reply; 14+ messages in thread
From: Mark Brown @ 2023-01-19 16:59 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Sylwester Nawrocki, Arnd Bergmann, Krzysztof Kozlowski,
Alim Akhtar, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
Charles Keepax, linux-arm-kernel, linux-samsung-soc, linux-kernel,
alsa-devel
[-- Attachment #1: Type: text/plain, Size: 1635 bytes --]
On Wed, Jan 18, 2023 at 05:10:45PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@arndb.de>
>
> This data is no longer passed by the platform code, so
> there is no point passing it down at all.
This breaks an x86 allmodconfig build:
/build/stage/linux/sound/soc/samsung/s3c24xx-i2s.c: In function ‘s3c24xx_iis_dev_probe’:
/build/stage/linux/sound/soc/samsung/s3c24xx-i2s.c:436:56: error: passing argument 4 of ‘samsung_asoc_dma_platform_register’ from incompatible pointer type [-Werror=incompatible-pointer-types]
436 | "tx", "rx", NULL);
| ^~~~
| |
| char *
In file included from /build/stage/linux/sound/soc/samsung/s3c24xx-i2s.c:21:
/build/stage/linux/sound/soc/samsung/dma.h:17:55: note: expected ‘struct device *’ but argument is of type ‘char *’
17 | struct device *dma_dev);
| ~~~~~~~~~~~~~~~^~~~~~~
/build/stage/linux/sound/soc/samsung/s3c24xx-i2s.c:435:15: error: too many arguments to function ‘samsung_asoc_dma_platform_register’
435 | ret = samsung_asoc_dma_platform_register(&pdev->dev, NULL,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/build/stage/linux/sound/soc/samsung/dma.h:15:5: note: declared here
15 | int samsung_asoc_dma_platform_register(struct device *dev,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
2023-01-19 16:59 ` Mark Brown
@ 2023-01-20 9:05 ` Arnd Bergmann
2023-01-20 12:07 ` Mark Brown
0 siblings, 1 reply; 14+ messages in thread
From: Arnd Bergmann @ 2023-01-20 9:05 UTC (permalink / raw)
To: Mark Brown, Arnd Bergmann
Cc: Sylwester Nawrocki, Krzysztof Kozlowski, Alim Akhtar,
Liam Girdwood, Jaroslav Kysela, Takashi Iwai, Charles Keepax,
linux-arm-kernel, linux-samsung-soc, linux-kernel, alsa-devel
On Thu, Jan 19, 2023, at 17:59, Mark Brown wrote:
> On Wed, Jan 18, 2023 at 05:10:45PM +0100, Arnd Bergmann wrote:
>> From: Arnd Bergmann <arnd@arndb.de>
>>
>> This data is no longer passed by the platform code, so
>> there is no point passing it down at all.
>
> This breaks an x86 allmodconfig build:
I see, this patch still depends on the s3c24xx removal, which
is in soc/for-next and I used for testing. I see a similar
problem with the MMP platform in patch 2/5. The series here
is mostly older patches I did a while ago and rebased on top
of the boardfile removal, but it breaks when it gets applied
first.
Unless there is anything in here that you really want to apply
for 6.3, lets drop all five for now, and I'll resend it
after the dust has settled on the boardfile removal.
Arnd
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
2023-01-20 9:05 ` Arnd Bergmann
@ 2023-01-20 12:07 ` Mark Brown
2023-01-20 12:29 ` Arnd Bergmann
0 siblings, 1 reply; 14+ messages in thread
From: Mark Brown @ 2023-01-20 12:07 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Arnd Bergmann, Sylwester Nawrocki, Krzysztof Kozlowski,
Alim Akhtar, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
Charles Keepax, linux-arm-kernel, linux-samsung-soc, linux-kernel,
alsa-devel
[-- Attachment #1: Type: text/plain, Size: 735 bytes --]
On Fri, Jan 20, 2023 at 10:05:59AM +0100, Arnd Bergmann wrote:
> I see, this patch still depends on the s3c24xx removal, which
> is in soc/for-next and I used for testing. I see a similar
> problem with the MMP platform in patch 2/5. The series here
> is mostly older patches I did a while ago and rebased on top
> of the boardfile removal, but it breaks when it gets applied
> first.
> Unless there is anything in here that you really want to apply
> for 6.3, lets drop all five for now, and I'll resend it
> after the dust has settled on the boardfile removal.
I'd left the ux500 stuff running through my testing, no
particular urgency just it saves rereviewing anything. Assuming
it's fine (seems so thus far) I'll push it out.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
2023-01-20 12:07 ` Mark Brown
@ 2023-01-20 12:29 ` Arnd Bergmann
0 siblings, 0 replies; 14+ messages in thread
From: Arnd Bergmann @ 2023-01-20 12:29 UTC (permalink / raw)
To: Mark Brown
Cc: Arnd Bergmann, Sylwester Nawrocki, Krzysztof Kozlowski,
Alim Akhtar, Liam Girdwood, Jaroslav Kysela, Takashi Iwai,
Charles Keepax, linux-arm-kernel, linux-samsung-soc, linux-kernel,
alsa-devel
On Fri, Jan 20, 2023, at 13:07, Mark Brown wrote:
> On Fri, Jan 20, 2023 at 10:05:59AM +0100, Arnd Bergmann wrote:
>
>> I see, this patch still depends on the s3c24xx removal, which
>> is in soc/for-next and I used for testing. I see a similar
>> problem with the MMP platform in patch 2/5. The series here
>> is mostly older patches I did a while ago and rebased on top
>> of the boardfile removal, but it breaks when it gets applied
>> first.
>
>> Unless there is anything in here that you really want to apply
>> for 6.3, lets drop all five for now, and I'll resend it
>> after the dust has settled on the boardfile removal.
>
> I'd left the ux500 stuff running through my testing, no
> particular urgency just it saves rereviewing anything. Assuming
> it's fine (seems so thus far) I'll push it out.
Yes, sounds good to me, I don't see any risk of missed
dependencies for that.
Arnd
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/5] ASoC: samsung: remove DMA filter function and data
2023-01-18 16:10 [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Arnd Bergmann
` (5 preceding siblings ...)
2023-01-19 16:59 ` Mark Brown
@ 2023-01-20 22:22 ` Mark Brown
6 siblings, 0 replies; 14+ messages in thread
From: Mark Brown @ 2023-01-20 22:22 UTC (permalink / raw)
To: Sylwester Nawrocki, Arnd Bergmann
Cc: Arnd Bergmann, Krzysztof Kozlowski, Alim Akhtar, Liam Girdwood,
Jaroslav Kysela, Takashi Iwai, Charles Keepax, linux-arm-kernel,
linux-samsung-soc, linux-kernel, alsa-devel
On Wed, 18 Jan 2023 17:10:45 +0100, Arnd Bergmann wrote:
> This data is no longer passed by the platform code, so
> there is no point passing it down at all.
>
>
Applied to
broonie/sound.git for-next
Thanks!
[1/5] ASoC: samsung: remove DMA filter function and data
(no commit info)
[2/5] ASoC: pxa: remove snd_dmaengine_pcm_open_request_chan()
(no commit info)
[3/5] ASoC: ux500: remove platform_data support
commit: 1766ac5248063c25d1fe46e04bb936c46313ed89
[4/5] ASoC: ux500: remove stedma40 references
commit: aafe9375b386010e28614f58499d199250a16874
[5/5] ASoC: remove snd_dmaengine_pcm_config->compat_request_channel
(no commit info)
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
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2023-01-20 22:23 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-18 16:10 [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Arnd Bergmann
2023-01-18 16:10 ` [PATCH 2/5] ASoC: pxa: remove snd_dmaengine_pcm_open_request_chan() Arnd Bergmann
2023-01-19 16:56 ` Mark Brown
2023-01-18 16:10 ` [PATCH 3/5] ASoC: ux500: remove platform_data support Arnd Bergmann
2023-01-18 22:32 ` Linus Walleij
2023-01-18 16:10 ` [PATCH 4/5] ASoC: ux500: remove stedma40 references Arnd Bergmann
2023-01-18 22:34 ` Linus Walleij
2023-01-18 16:10 ` [PATCH 5/5] ASoC: remove snd_dmaengine_pcm_config->compat_request_channel Arnd Bergmann
2023-01-19 15:39 ` [PATCH 1/5] ASoC: samsung: remove DMA filter function and data Krzysztof Kozlowski
2023-01-19 16:59 ` Mark Brown
2023-01-20 9:05 ` Arnd Bergmann
2023-01-20 12:07 ` Mark Brown
2023-01-20 12:29 ` Arnd Bergmann
2023-01-20 22:22 ` Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox