mbox series

[v1,0/3] ASoC: jz4740-i2s: Remove .set_sysclk() & friends

Message ID 20221028103418.17578-1-aidanmacdonald.0x0@gmail.com
Headers show
Series ASoC: jz4740-i2s: Remove .set_sysclk() & friends | expand

Message

Aidan MacDonald Oct. 28, 2022, 10:34 a.m. UTC
A quick series to get rid of .set_sysclk() from jz4740-i2s.
It wasn't used in practice so this shouldn't be troublesome for anyone,
and fortunately there aren't any backward compatibility concerns.

The actual rationale for removing it, as opposed to fixing the
issues of the current DT bindings and implementation, is provided
in the dt-bindings patch.

Note the last patch only applies cleanly on top of my earlier
jz4740-i2s cleanup series, but doesn't strictly depend on it.

Link: https://lore.kernel.org/alsa-devel/20221023143328.160866-1-aidanmacdonald.0x0@gmail.com/

Aidan MacDonald (3):
  dt-bindings: ingenic,aic: Remove unnecessary clocks from schema
  mips: dts: ingenic: Remove unnecessary AIC clocks
  ASoC: jz4740-i2s: Remove .set_sysclk()

 .../bindings/sound/ingenic,aic.yaml           | 10 ++----
 arch/mips/boot/dts/ingenic/jz4725b.dtsi       |  7 ++--
 arch/mips/boot/dts/ingenic/jz4740.dtsi        |  7 ++--
 arch/mips/boot/dts/ingenic/jz4770.dtsi        |  5 ++-
 sound/soc/jz4740/jz4740-i2s.c                 | 32 -------------------
 sound/soc/jz4740/jz4740-i2s.h                 | 10 ------
 6 files changed, 8 insertions(+), 63 deletions(-)
 delete mode 100644 sound/soc/jz4740/jz4740-i2s.h

Comments

Paul Cercueil Oct. 30, 2022, 11:58 a.m. UTC | #1
Hi Aidan,

Le ven. 28 oct. 2022 à 11:34:18 +0100, Aidan MacDonald 
<aidanmacdonald.0x0@gmail.com> a écrit :
> .set_sysclk() is effectively unused here. No machine drivers use
> jz4740-i2s; and JZ4740_I2S_CLKSRC_EXT is the only selectable clock
> source with simple-card, but that is also the default source and
> has a fixed frequency, so configuring it would be redundant.
> 
> simple-card ignores -ENOTSUPP error codes when setting the sysclock,
> so any device trees that do set the sysclock for some reason should
> still work.
> 
> It's still possible to configure the clock parent manually in the
> device tree and control frequency using other simple-card options,
> so at the end of the day there's no real loss in functionality.
> 
> Signed-off-by: Aidan MacDonald <aidanmacdonald.0x0@gmail.com>

Reviewed-by: Paul Cercueil <paul@crapouillou.net>

Cheers,
-Paul

> ---
> Meant to be applied on top of jz4740-i2s cleanups series already
> in linux-next.
> Link: 
> https://lore.kernel.org/alsa-devel/20221023143328.160866-1-aidanmacdonald.0x0@gmail.com/
> 
>  sound/soc/jz4740/jz4740-i2s.c | 32 --------------------------------
>  sound/soc/jz4740/jz4740-i2s.h | 10 ----------
>  2 files changed, 42 deletions(-)
>  delete mode 100644 sound/soc/jz4740/jz4740-i2s.h
> 
> diff --git a/sound/soc/jz4740/jz4740-i2s.c 
> b/sound/soc/jz4740/jz4740-i2s.c
> index b620d4462d90..6d9cfe0a5041 100644
> --- a/sound/soc/jz4740/jz4740-i2s.c
> +++ b/sound/soc/jz4740/jz4740-i2s.c
> @@ -23,8 +23,6 @@
>  #include <sound/initval.h>
>  #include <sound/dmaengine_pcm.h>
> 
> -#include "jz4740-i2s.h"
> -
>  #define JZ_REG_AIC_CONF		0x00
>  #define JZ_REG_AIC_CTRL		0x04
>  #define JZ_REG_AIC_I2S_FMT	0x10
> @@ -273,35 +271,6 @@ static int jz4740_i2s_hw_params(struct 
> snd_pcm_substream *substream,
>  	return 0;
>  }
> 
> -static int jz4740_i2s_set_sysclk(struct snd_soc_dai *dai, int clk_id,
> -	unsigned int freq, int dir)
> -{
> -	struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai);
> -	struct clk *parent;
> -	int ret = 0;
> -
> -	switch (clk_id) {
> -	case JZ4740_I2S_CLKSRC_EXT:
> -		parent = clk_get(NULL, "ext");
> -		if (IS_ERR(parent))
> -			return PTR_ERR(parent);
> -		clk_set_parent(i2s->clk_i2s, parent);
> -		break;
> -	case JZ4740_I2S_CLKSRC_PLL:
> -		parent = clk_get(NULL, "pll half");
> -		if (IS_ERR(parent))
> -			return PTR_ERR(parent);
> -		clk_set_parent(i2s->clk_i2s, parent);
> -		ret = clk_set_rate(i2s->clk_i2s, freq);
> -		break;
> -	default:
> -		return -EINVAL;
> -	}
> -	clk_put(parent);
> -
> -	return ret;
> -}
> -
>  static int jz4740_i2s_dai_probe(struct snd_soc_dai *dai)
>  {
>  	struct jz4740_i2s *i2s = snd_soc_dai_get_drvdata(dai);
> @@ -318,7 +287,6 @@ static const struct snd_soc_dai_ops 
> jz4740_i2s_dai_ops = {
>  	.trigger = jz4740_i2s_trigger,
>  	.hw_params = jz4740_i2s_hw_params,
>  	.set_fmt = jz4740_i2s_set_fmt,
> -	.set_sysclk = jz4740_i2s_set_sysclk,
>  };
> 
>  #define JZ4740_I2S_FMTS (SNDRV_PCM_FMTBIT_S8 | \
> diff --git a/sound/soc/jz4740/jz4740-i2s.h 
> b/sound/soc/jz4740/jz4740-i2s.h
> deleted file mode 100644
> index 4da14eac1145..000000000000
> --- a/sound/soc/jz4740/jz4740-i2s.h
> +++ /dev/null
> @@ -1,10 +0,0 @@
> -/* SPDX-License-Identifier: GPL-2.0-only */
> -
> -#ifndef _JZ4740_I2S_H
> -#define _JZ4740_I2S_H
> -
> -/* I2S clock source */
> -#define JZ4740_I2S_CLKSRC_EXT 0
> -#define JZ4740_I2S_CLKSRC_PLL 1
> -
> -#endif
> --
> 2.38.1
>