Unverified Commit bb4ba744 authored by Kuninori Morimoto's avatar Kuninori Morimoto Committed by Mark Brown
Browse files

ASoC: meson: remove snd_pcm_ops



snd_pcm_ops is no longer needed.
Let's use component driver callback.

Signed-off-by: default avatarKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/87muej90e4.wl-kuninori.morimoto.gx@renesas.com


Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent f8772e17
Loading
Loading
Loading
Loading
+24 −32
Original line number Diff line number Diff line
@@ -70,7 +70,8 @@ static void __dma_enable(struct axg_fifo *fifo, bool enable)
			   enable ? CTRL0_DMA_EN : 0);
}

static int axg_fifo_pcm_trigger(struct snd_pcm_substream *ss, int cmd)
int axg_fifo_pcm_trigger(struct snd_soc_component *component,
			 struct snd_pcm_substream *ss, int cmd)
{
	struct axg_fifo *fifo = axg_fifo_data(ss);

@@ -91,8 +92,10 @@ static int axg_fifo_pcm_trigger(struct snd_pcm_substream *ss, int cmd)

	return 0;
}
EXPORT_SYMBOL_GPL(axg_fifo_pcm_trigger);

static snd_pcm_uframes_t axg_fifo_pcm_pointer(struct snd_pcm_substream *ss)
snd_pcm_uframes_t axg_fifo_pcm_pointer(struct snd_soc_component *component,
				       struct snd_pcm_substream *ss)
{
	struct axg_fifo *fifo = axg_fifo_data(ss);
	struct snd_pcm_runtime *runtime = ss->runtime;
@@ -102,8 +105,10 @@ static snd_pcm_uframes_t axg_fifo_pcm_pointer(struct snd_pcm_substream *ss)

	return bytes_to_frames(runtime, addr - (unsigned int)runtime->dma_addr);
}
EXPORT_SYMBOL_GPL(axg_fifo_pcm_pointer);

static int axg_fifo_pcm_hw_params(struct snd_pcm_substream *ss,
int axg_fifo_pcm_hw_params(struct snd_soc_component *component,
			   struct snd_pcm_substream *ss,
			   struct snd_pcm_hw_params *params)
{
	struct snd_pcm_runtime *runtime = ss->runtime;
@@ -132,15 +137,17 @@ static int axg_fifo_pcm_hw_params(struct snd_pcm_substream *ss,

	return 0;
}
EXPORT_SYMBOL_GPL(axg_fifo_pcm_hw_params);

static int g12a_fifo_pcm_hw_params(struct snd_pcm_substream *ss,
int g12a_fifo_pcm_hw_params(struct snd_soc_component *component,
			    struct snd_pcm_substream *ss,
			    struct snd_pcm_hw_params *params)
{
	struct axg_fifo *fifo = axg_fifo_data(ss);
	struct snd_pcm_runtime *runtime = ss->runtime;
	int ret;

	ret = axg_fifo_pcm_hw_params(ss, params);
	ret = axg_fifo_pcm_hw_params(component, ss, params);
	if (ret)
		return ret;

@@ -149,8 +156,10 @@ static int g12a_fifo_pcm_hw_params(struct snd_pcm_substream *ss,

	return 0;
}
EXPORT_SYMBOL_GPL(g12a_fifo_pcm_hw_params);

static int axg_fifo_pcm_hw_free(struct snd_pcm_substream *ss)
int axg_fifo_pcm_hw_free(struct snd_soc_component *component,
			 struct snd_pcm_substream *ss)
{
	struct axg_fifo *fifo = axg_fifo_data(ss);

@@ -160,6 +169,7 @@ static int axg_fifo_pcm_hw_free(struct snd_pcm_substream *ss)

	return snd_pcm_lib_free_pages(ss);
}
EXPORT_SYMBOL_GPL(axg_fifo_pcm_hw_free);

static void axg_fifo_ack_irq(struct axg_fifo *fifo, u8 mask)
{
@@ -194,7 +204,8 @@ static irqreturn_t axg_fifo_pcm_irq_block(int irq, void *dev_id)
	return IRQ_RETVAL(status);
}

static int axg_fifo_pcm_open(struct snd_pcm_substream *ss)
int axg_fifo_pcm_open(struct snd_soc_component *component,
		      struct snd_pcm_substream *ss)
{
	struct axg_fifo *fifo = axg_fifo_data(ss);
	struct device *dev = axg_fifo_dev(ss);
@@ -250,8 +261,10 @@ static int axg_fifo_pcm_open(struct snd_pcm_substream *ss)

	return ret;
}
EXPORT_SYMBOL_GPL(axg_fifo_pcm_open);

static int axg_fifo_pcm_close(struct snd_pcm_substream *ss)
int axg_fifo_pcm_close(struct snd_soc_component *component,
		       struct snd_pcm_substream *ss)
{
	struct axg_fifo *fifo = axg_fifo_data(ss);
	int ret;
@@ -267,28 +280,7 @@ static int axg_fifo_pcm_close(struct snd_pcm_substream *ss)

	return ret;
}

const struct snd_pcm_ops axg_fifo_pcm_ops = {
	.open =		axg_fifo_pcm_open,
	.close =        axg_fifo_pcm_close,
	.ioctl =	snd_pcm_lib_ioctl,
	.hw_params =	axg_fifo_pcm_hw_params,
	.hw_free =      axg_fifo_pcm_hw_free,
	.pointer =	axg_fifo_pcm_pointer,
	.trigger =	axg_fifo_pcm_trigger,
};
EXPORT_SYMBOL_GPL(axg_fifo_pcm_ops);

const struct snd_pcm_ops g12a_fifo_pcm_ops = {
	.open =		axg_fifo_pcm_open,
	.close =        axg_fifo_pcm_close,
	.ioctl =	snd_pcm_lib_ioctl,
	.hw_params =	g12a_fifo_pcm_hw_params,
	.hw_free =      axg_fifo_pcm_hw_free,
	.pointer =	axg_fifo_pcm_pointer,
	.trigger =	axg_fifo_pcm_trigger,
};
EXPORT_SYMBOL_GPL(g12a_fifo_pcm_ops);
EXPORT_SYMBOL_GPL(axg_fifo_pcm_close);

int axg_fifo_pcm_new(struct snd_soc_pcm_runtime *rtd, unsigned int type)
{
+17 −3
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@ struct reset_control;
struct snd_soc_component_driver;
struct snd_soc_dai;
struct snd_soc_dai_driver;
struct snd_pcm_ops;

struct snd_soc_pcm_runtime;

#define AXG_FIFO_CH_MAX			128
@@ -75,8 +75,22 @@ struct axg_fifo_match_data {
	struct snd_soc_dai_driver *dai_drv;
};

extern const struct snd_pcm_ops axg_fifo_pcm_ops;
extern const struct snd_pcm_ops g12a_fifo_pcm_ops;
int axg_fifo_pcm_open(struct snd_soc_component *component,
		      struct snd_pcm_substream *ss);
int axg_fifo_pcm_close(struct snd_soc_component *component,
		       struct snd_pcm_substream *ss);
int axg_fifo_pcm_hw_params(struct snd_soc_component *component,
			   struct snd_pcm_substream *ss,
			   struct snd_pcm_hw_params *params);
int g12a_fifo_pcm_hw_params(struct snd_soc_component *component,
			    struct snd_pcm_substream *ss,
			    struct snd_pcm_hw_params *params);
int axg_fifo_pcm_hw_free(struct snd_soc_component *component,
			 struct snd_pcm_substream *ss);
snd_pcm_uframes_t axg_fifo_pcm_pointer(struct snd_soc_component *component,
				       struct snd_pcm_substream *ss);
int axg_fifo_pcm_trigger(struct snd_soc_component *component,
			 struct snd_pcm_substream *ss, int cmd);

int axg_fifo_pcm_new(struct snd_soc_pcm_runtime *rtd, unsigned int type);
int axg_fifo_probe(struct platform_device *pdev);
+21 −3
Original line number Diff line number Diff line
@@ -149,7 +149,13 @@ static const struct snd_soc_component_driver axg_frddr_component_drv = {
	.num_dapm_widgets	= ARRAY_SIZE(axg_frddr_dapm_widgets),
	.dapm_routes		= axg_frddr_dapm_routes,
	.num_dapm_routes	= ARRAY_SIZE(axg_frddr_dapm_routes),
	.ops			= &axg_fifo_pcm_ops
	.open			= axg_fifo_pcm_open,
	.close			= axg_fifo_pcm_close,
	.ioctl			= snd_soc_pcm_lib_ioctl,
	.hw_params		= axg_fifo_pcm_hw_params,
	.hw_free		= axg_fifo_pcm_hw_free,
	.pointer		= axg_fifo_pcm_pointer,
	.trigger		= axg_fifo_pcm_trigger,
};

static const struct axg_fifo_match_data axg_frddr_match_data = {
@@ -267,7 +273,13 @@ static const struct snd_soc_component_driver g12a_frddr_component_drv = {
	.num_dapm_widgets	= ARRAY_SIZE(g12a_frddr_dapm_widgets),
	.dapm_routes		= g12a_frddr_dapm_routes,
	.num_dapm_routes	= ARRAY_SIZE(g12a_frddr_dapm_routes),
	.ops			= &g12a_fifo_pcm_ops
	.open			= axg_fifo_pcm_open,
	.close			= axg_fifo_pcm_close,
	.ioctl			= snd_soc_pcm_lib_ioctl,
	.hw_params		= g12a_fifo_pcm_hw_params,
	.hw_free		= axg_fifo_pcm_hw_free,
	.pointer		= axg_fifo_pcm_pointer,
	.trigger		= axg_fifo_pcm_trigger,
};

static const struct axg_fifo_match_data g12a_frddr_match_data = {
@@ -331,7 +343,13 @@ static const struct snd_soc_component_driver sm1_frddr_component_drv = {
	.num_dapm_widgets	= ARRAY_SIZE(sm1_frddr_dapm_widgets),
	.dapm_routes		= g12a_frddr_dapm_routes,
	.num_dapm_routes	= ARRAY_SIZE(g12a_frddr_dapm_routes),
	.ops			= &g12a_fifo_pcm_ops
	.open			= axg_fifo_pcm_open,
	.close			= axg_fifo_pcm_close,
	.ioctl			= snd_soc_pcm_lib_ioctl,
	.hw_params		= g12a_fifo_pcm_hw_params,
	.hw_free		= axg_fifo_pcm_hw_free,
	.pointer		= axg_fifo_pcm_pointer,
	.trigger		= axg_fifo_pcm_trigger,
};

static const struct axg_fifo_match_data sm1_frddr_match_data = {
+21 −3
Original line number Diff line number Diff line
@@ -181,7 +181,13 @@ static const struct snd_soc_component_driver axg_toddr_component_drv = {
	.num_dapm_widgets	= ARRAY_SIZE(axg_toddr_dapm_widgets),
	.dapm_routes		= axg_toddr_dapm_routes,
	.num_dapm_routes	= ARRAY_SIZE(axg_toddr_dapm_routes),
	.ops			= &axg_fifo_pcm_ops
	.open			= axg_fifo_pcm_open,
	.close			= axg_fifo_pcm_close,
	.ioctl			= snd_soc_pcm_lib_ioctl,
	.hw_params		= axg_fifo_pcm_hw_params,
	.hw_free		= axg_fifo_pcm_hw_free,
	.pointer		= axg_fifo_pcm_pointer,
	.trigger		= axg_fifo_pcm_trigger,
};

static const struct axg_fifo_match_data axg_toddr_match_data = {
@@ -214,7 +220,13 @@ static const struct snd_soc_component_driver g12a_toddr_component_drv = {
	.num_dapm_widgets	= ARRAY_SIZE(axg_toddr_dapm_widgets),
	.dapm_routes		= axg_toddr_dapm_routes,
	.num_dapm_routes	= ARRAY_SIZE(axg_toddr_dapm_routes),
	.ops			= &g12a_fifo_pcm_ops
	.open			= axg_fifo_pcm_open,
	.close			= axg_fifo_pcm_close,
	.ioctl			= snd_soc_pcm_lib_ioctl,
	.hw_params		= g12a_fifo_pcm_hw_params,
	.hw_free		= axg_fifo_pcm_hw_free,
	.pointer		= axg_fifo_pcm_pointer,
	.trigger		= axg_fifo_pcm_trigger,
};

static const struct axg_fifo_match_data g12a_toddr_match_data = {
@@ -278,7 +290,13 @@ static const struct snd_soc_component_driver sm1_toddr_component_drv = {
	.num_dapm_widgets	= ARRAY_SIZE(sm1_toddr_dapm_widgets),
	.dapm_routes		= sm1_toddr_dapm_routes,
	.num_dapm_routes	= ARRAY_SIZE(sm1_toddr_dapm_routes),
	.ops			= &g12a_fifo_pcm_ops
	.open			= axg_fifo_pcm_open,
	.close			= axg_fifo_pcm_close,
	.ioctl			= snd_soc_pcm_lib_ioctl,
	.hw_params		= g12a_fifo_pcm_hw_params,
	.hw_free		= axg_fifo_pcm_hw_free,
	.pointer		= axg_fifo_pcm_pointer,
	.trigger		= axg_fifo_pcm_trigger,
};

static const struct axg_fifo_match_data sm1_toddr_match_data = {