[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251015092619.52952-3-vitalyr@opensource.cirrus.com>
Date: Wed, 15 Oct 2025 10:26:05 +0100
From: Vitaly Rodionov <vitalyr@...nsource.cirrus.com>
To: Mark Brown <broonie@...nel.org>
Cc: Liam Girdwood <lgirdwood@...il.com>, Takashi Iwai <tiwai@...e.com>,
Jaroslav Kysela <perex@...ex.cz>, linux-sound@...r.kernel.org,
linux-kernel@...r.kernel.org, patches@...nsource.cirrus.com,
Simon Trimmer <simont@...nsource.cirrus.com>
Subject: [PATCH 2/8] ASoC: cs530x: Tidy up driver before adding more features
From: Simon Trimmer <simont@...nsource.cirrus.com>
The copyright headers, #include sorting, whitespace, remove unused
structure members, constants and constant naming (Update CLK_CFG_1
definitions to follow similar naming convention to other frequencies)
Signed-off-by: Simon Trimmer <simont@...nsource.cirrus.com>
---
sound/soc/codecs/cs530x-i2c.c | 6 +--
sound/soc/codecs/cs530x.c | 69 +++++++++++++++--------------------
sound/soc/codecs/cs530x.h | 41 ++++-----------------
sound/soc/codecs/cs53l30.c | 4 +-
4 files changed, 41 insertions(+), 79 deletions(-)
diff --git a/sound/soc/codecs/cs530x-i2c.c b/sound/soc/codecs/cs530x-i2c.c
index 22b1a4d6b61c..d6b7883ba7b9 100644
--- a/sound/soc/codecs/cs530x-i2c.c
+++ b/sound/soc/codecs/cs530x-i2c.c
@@ -2,8 +2,8 @@
//
// CS530x CODEC driver
//
-// Copyright (C) 2024 Cirrus Logic, Inc. and
-// Cirrus Logic International Semiconductor Ltd.
+// Copyright (C) 2024-2025 Cirrus Logic, Inc. and
+// Cirrus Logic International Semiconductor Ltd.
#include <linux/device.h>
#include <linux/module.h>
@@ -48,7 +48,7 @@ static int cs530x_i2c_probe(struct i2c_client *client)
cs530x->regmap = devm_regmap_init_i2c(client, &cs530x_regmap);
if (IS_ERR(cs530x->regmap))
return dev_err_probe(&client->dev, PTR_ERR(cs530x->regmap),
- "Failed to allocate register map\n");
+ "Failed to allocate register map\n");
cs530x->devtype = (uintptr_t)i2c_get_match_data(client);
cs530x->dev = &client->dev;
diff --git a/sound/soc/codecs/cs530x.c b/sound/soc/codecs/cs530x.c
index 535387cd7aa3..336ed5f225ea 100644
--- a/sound/soc/codecs/cs530x.c
+++ b/sound/soc/codecs/cs530x.c
@@ -2,28 +2,25 @@
//
// CS530x CODEC driver
//
-// Copyright (C) 2024 Cirrus Logic, Inc. and
-// Cirrus Logic International Semiconductor Ltd.
+// Copyright (C) 2024-2025 Cirrus Logic, Inc. and
+// Cirrus Logic International Semiconductor Ltd.
-#include <sound/core.h>
#include <linux/delay.h>
#include <linux/i2c.h>
#include <linux/init.h>
-#include <sound/initval.h>
#include <linux/module.h>
-#include <sound/pcm.h>
-#include <sound/pcm_params.h>
#include <linux/pm.h>
#include <linux/property.h>
#include <linux/slab.h>
+#include <sound/core.h>
+#include <sound/initval.h>
+#include <sound/pcm.h>
+#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/tlv.h>
#include "cs530x.h"
-#define CS530X_MAX_ADC_CH 8
-#define CS530X_MIN_ADC_CH 2
-
static const char *cs530x_supply_names[CS530X_NUM_SUPPLIES] = {
"vdd-a",
"vdd-io",
@@ -104,7 +101,7 @@ static bool cs530x_writeable_register(struct device *dev, unsigned int reg)
}
static int cs530x_put_volsw_vu(struct snd_kcontrol *kcontrol,
- struct snd_ctl_elem_value *ucontrol)
+ struct snd_ctl_elem_value *ucontrol)
{
struct snd_soc_component *component = snd_soc_kcontrol_component(kcontrol);
struct snd_soc_dapm_context *dapm = snd_soc_component_get_dapm(component);
@@ -224,7 +221,7 @@ SOC_SINGLE("ADC8 Invert Switch", CS530X_IN_INV, CS530X_IN8_INV_SHIFT, 1, 0),
};
static int cs530x_adc_event(struct snd_soc_dapm_widget *w,
- struct snd_kcontrol *kcontrol, int event)
+ struct snd_kcontrol *kcontrol, int event)
{
struct snd_soc_component *component = snd_soc_dapm_to_component(w->dapm);
struct cs530x_priv *cs530x = snd_soc_component_get_drvdata(component);
@@ -236,9 +233,9 @@ static int cs530x_adc_event(struct snd_soc_dapm_widget *w,
break;
case SND_SOC_DAPM_POST_PMU:
regmap_clear_bits(regmap, CS530X_IN_VOL_CTRL1_0 +
- (w->shift * 2), CS530X_IN_MUTE);
+ (w->shift * 2), CS530X_IN_MUTE);
regmap_clear_bits(regmap, CS530X_IN_VOL_CTRL1_0 +
- ((w->shift+1) * 2), CS530X_IN_MUTE);
+ ((w->shift + 1) * 2), CS530X_IN_MUTE);
cs530x->adc_pairs_count--;
if (!cs530x->adc_pairs_count) {
@@ -249,9 +246,9 @@ static int cs530x_adc_event(struct snd_soc_dapm_widget *w,
break;
case SND_SOC_DAPM_PRE_PMD:
regmap_set_bits(regmap, CS530X_IN_VOL_CTRL1_0 +
- (w->shift * 2), CS530X_IN_MUTE);
+ (w->shift * 2), CS530X_IN_MUTE);
regmap_set_bits(regmap, CS530X_IN_VOL_CTRL1_0 +
- ((w->shift+1) * 2), CS530X_IN_MUTE);
+ ((w->shift + 1) * 2), CS530X_IN_MUTE);
return regmap_write(regmap, CS530X_IN_VOL_CTRL5,
CS530X_IN_VU);
default:
@@ -263,16 +260,12 @@ static int cs530x_adc_event(struct snd_soc_dapm_widget *w,
static const struct snd_kcontrol_new adc12_ctrl =
SOC_DAPM_SINGLE_VIRT("Switch", 1);
-
static const struct snd_kcontrol_new adc34_ctrl =
SOC_DAPM_SINGLE_VIRT("Switch", 1);
-
static const struct snd_kcontrol_new adc56_ctrl =
SOC_DAPM_SINGLE_VIRT("Switch", 1);
-
static const struct snd_kcontrol_new adc78_ctrl =
SOC_DAPM_SINGLE_VIRT("Switch", 1);
-
static const struct snd_kcontrol_new in_hpf_ctrl =
SOC_DAPM_SINGLE_VIRT("Switch", 1);
@@ -450,7 +443,7 @@ static int cs530x_set_bclk(struct snd_soc_component *component, const int freq)
}
static int cs530x_set_pll_refclk(struct snd_soc_component *component,
- const unsigned int freq)
+ const unsigned int freq)
{
struct cs530x_priv *priv = snd_soc_component_get_drvdata(component);
struct regmap *regmap = priv->regmap;
@@ -492,37 +485,35 @@ static int cs530x_hw_params(struct snd_pcm_substream *substream,
int ret = 0, fs = params_rate(params), bclk;
unsigned int fs_val;
-
switch (fs) {
case 32000:
fs_val = CS530X_FS_32K;
break;
case 44100:
case 48000:
- fs_val = CS530X_FS_48K_44P1K;
+ fs_val = CS530X_FS_44P1K_48K;
break;
case 88200:
case 96000:
- fs_val = CS530X_FS_96K_88P2K;
+ fs_val = CS530X_FS_88P2K_96K;
break;
case 176400:
case 192000:
- fs_val = CS530X_FS_192K_176P4K;
+ fs_val = CS530X_FS_176P4K_192K;
break;
case 356800:
case 384000:
- fs_val = CS530X_FS_384K_356P8K;
+ fs_val = CS530X_FS_356P8K_384K;
break;
case 705600:
case 768000:
- fs_val = CS530X_FS_768K_705P6K;
+ fs_val = CS530X_FS_705P6K_768K;
break;
default:
dev_err(component->dev, "Invalid sample rate %d\n", fs);
return -EINVAL;
}
- cs530x->fs = fs;
regmap_update_bits(regmap, CS530X_CLK_CFG_1,
CS530X_SAMPLE_RATE_MASK, fs_val);
@@ -540,7 +531,7 @@ static int cs530x_hw_params(struct snd_pcm_substream *substream,
}
if (!regmap_test_bits(regmap, CS530X_CLK_CFG_0,
- CS530X_PLL_REFCLK_SRC_MASK)) {
+ CS530X_PLL_REFCLK_SRC_MASK)) {
ret = cs530x_set_pll_refclk(component, bclk);
if (ret)
return ret;
@@ -614,7 +605,7 @@ static bool cs530x_check_mclk_freq(struct snd_soc_component *component,
}
static int cs530x_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask,
- unsigned int rx_mask, int slots, int slot_width)
+ unsigned int rx_mask, int slots, int slot_width)
{
struct snd_soc_component *component = dai->component;
struct cs530x_priv *cs530x = snd_soc_component_get_drvdata(component);
@@ -686,8 +677,8 @@ static const struct snd_soc_dai_driver cs530x_dai = {
};
static int cs530x_set_pll(struct snd_soc_component *component, int pll_id,
- int source, unsigned int freq_in,
- unsigned int freq_out)
+ int source, unsigned int freq_in,
+ unsigned int freq_out)
{
struct cs530x_priv *cs530x = snd_soc_component_get_drvdata(component);
struct regmap *regmap = cs530x->regmap;
@@ -743,7 +734,6 @@ static int cs530x_component_probe(struct snd_soc_component *component)
cs530x_in_sum_4ch_controls,
num_widgets);
break;
-
case CS5308:
cs530x_add_12_adc_widgets(component);
cs530x_add_34_adc_widgets(component);
@@ -775,7 +765,7 @@ static int cs530x_component_probe(struct snd_soc_component *component)
}
static int cs530x_set_sysclk(struct snd_soc_component *component, int clk_id,
- int source, unsigned int freq, int dir)
+ int source, unsigned int freq, int dir)
{
struct cs530x_priv *cs530x = snd_soc_component_get_drvdata(component);
struct regmap *regmap = cs530x->regmap;
@@ -787,8 +777,6 @@ static int cs530x_set_sysclk(struct snd_soc_component *component, int clk_id,
freq);
return -EINVAL;
}
-
- cs530x->mclk_rate = freq;
break;
case CS530X_SYSCLK_SRC_PLL:
break;
@@ -895,8 +883,8 @@ int cs530x_probe(struct cs530x_priv *cs530x)
int ret, i;
cs530x->dev_dai = devm_kmemdup(dev, &cs530x_dai,
- sizeof(*(cs530x->dev_dai)),
- GFP_KERNEL);
+ sizeof(*(cs530x->dev_dai)),
+ GFP_KERNEL);
if (!cs530x->dev_dai)
return -ENOMEM;
@@ -914,10 +902,10 @@ int cs530x_probe(struct cs530x_priv *cs530x)
return dev_err_probe(dev, ret, "Failed to enable supplies");
cs530x->reset_gpio = devm_gpiod_get_optional(dev, "reset",
- GPIOD_OUT_HIGH);
+ GPIOD_OUT_HIGH);
if (IS_ERR(cs530x->reset_gpio)) {
ret = dev_err_probe(dev, PTR_ERR(cs530x->reset_gpio),
- "Reset gpio not available\n");
+ "Reset gpio not available\n");
goto err_regulator;
}
@@ -947,7 +935,8 @@ int cs530x_probe(struct cs530x_priv *cs530x)
cs530x->dev_dai->capture.channels_max = cs530x->num_adcs;
ret = devm_snd_soc_register_component(dev,
- &soc_component_dev_cs530x, cs530x->dev_dai, 1);
+ &soc_component_dev_cs530x,
+ cs530x->dev_dai, 1);
if (ret) {
dev_err_probe(dev, ret, "Can't register cs530x component\n");
goto err_reset;
diff --git a/sound/soc/codecs/cs530x.h b/sound/soc/codecs/cs530x.h
index f473e33eb835..cdd54bfa259f 100644
--- a/sound/soc/codecs/cs530x.h
+++ b/sound/soc/codecs/cs530x.h
@@ -2,7 +2,7 @@
/*
* CS530x CODEC driver internal data
*
- * Copyright (C) 2023-2024 Cirrus Logic, Inc. and
+ * Copyright (C) 2023-2025 Cirrus Logic, Inc. and
* Cirrus Logic International Semiconductor Ltd.
*/
@@ -52,10 +52,6 @@
/* Register Fields */
-/* REVID */
-#define CS530X_MTLREVID GENMASK(3, 0)
-#define CS530X_AREVID GENMASK(7, 4)
-
/* SW_RESET */
#define CS530X_SW_RST_SHIFT 8
#define CS530X_SW_RST_VAL (0x5A << CS530X_SW_RST_SHIFT)
@@ -73,14 +69,11 @@
/* CLK_CFG_1 */
#define CS530X_SAMPLE_RATE_MASK GENMASK(2, 0)
#define CS530X_FS_32K 0
-#define CS530X_FS_48K_44P1K 1
-#define CS530X_FS_96K_88P2K 2
-#define CS530X_FS_192K_176P4K 3
-#define CS530X_FS_384K_356P8K 4
-#define CS530X_FS_768K_705P6K 5
-
-/* CHIP_ENABLE */
-#define CS530X_GLOBAL_EN BIT(0)
+#define CS530X_FS_44P1K_48K 1
+#define CS530X_FS_88P2K_96K 2
+#define CS530X_FS_176P4K_192K 3
+#define CS530X_FS_356P8K_384K 4
+#define CS530X_FS_705P6K_768K 5
/* ASP_CFG */
#define CS530X_ASP_BCLK_FREQ_MASK GENMASK(1, 0)
@@ -95,11 +88,10 @@
#define CS530X_ASP_FMT_MASK GENMASK(2, 0)
#define CS530X_ASP_TDM_SLOT_MASK GENMASK(5, 3)
#define CS530X_ASP_TDM_SLOT_SHIFT 3
-#define CS530X_ASP_CH_REVERSE BIT(9)
#define CS530X_TDM_EN_MASK BIT(2)
#define CS530X_ASP_FMT_I2S 0
#define CS530X_ASP_FMT_LJ 1
-#define CS530X_ASP_FMT_DSP_A 0x6
+#define CS530X_ASP_FMT_DSP_A 6
/* TDM Slots */
#define CS530X_0_1_TDM_SLOT_MASK GENMASK(1, 0)
@@ -163,22 +155,6 @@
/* IN_VOL_CTL5 */
#define CS530X_IN_VU BIT(0)
-/* PAD_FN */
-#define CS530X_DOUT2_FN BIT(0)
-#define CS530X_DOUT3_FN BIT(1)
-#define CS530X_DOUT4_FN BIT(2)
-#define CS530X_SPI_CS_FN BIT(3)
-#define CS530X_CONFIG2_FN BIT(6)
-#define CS530X_CONFIG3_FN BIT(7)
-#define CS530X_CONFIG4_FN BIT(8)
-#define CS530X_CONFIG5_FN BIT(9)
-
-/* PAD_LVL */
-#define CS530X_CONFIG2_LVL BIT(6)
-#define CS530X_CONFIG3_LVL BIT(7)
-#define CS530X_CONFIG4_LVL BIT(8)
-#define CS530X_CONFIG5_LVL BIT(9)
-
/* System Clock Source */
#define CS530X_SYSCLK_SRC_MCLK 0
#define CS530X_SYSCLK_SRC_PLL 1
@@ -207,11 +183,8 @@ struct cs530x_priv {
struct regulator_bulk_data supplies[CS530X_NUM_SUPPLIES];
- unsigned int mclk_rate;
-
int tdm_width;
int tdm_slots;
- int fs;
int adc_pairs_count;
struct gpio_desc *reset_gpio;
diff --git a/sound/soc/codecs/cs53l30.c b/sound/soc/codecs/cs53l30.c
index 61bf72681674..191c1cb80118 100644
--- a/sound/soc/codecs/cs53l30.c
+++ b/sound/soc/codecs/cs53l30.c
@@ -177,7 +177,7 @@ static const char * const input1_sel_text[] = {
"DMIC1 Off ADC1 Off",
};
-static unsigned int const input1_sel_values[] = {
+static const unsigned int input1_sel_values[] = {
CS53L30_CH_TYPE,
CS53L30_ADCxB_PDN | CS53L30_CH_TYPE,
CS53L30_ADCxA_PDN | CS53L30_CH_TYPE,
@@ -197,7 +197,7 @@ static const char * const input2_sel_text[] = {
"DMIC2 Off ADC2 Off",
};
-static unsigned int const input2_sel_values[] = {
+static const unsigned int input2_sel_values[] = {
0x0,
CS53L30_ADCxB_PDN,
CS53L30_ADCxA_PDN,
--
2.43.0
Powered by blists - more mailing lists