mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
ASoC: Drop snd_soc_*_get_kcontrol_locked()
The recent cleanup in ALSA control core made no difference between snd_ctl_find_id_mixer() and snd_ctl_find_id_mixer_locked(), and the latter is to be dropped. The only user of the left API was ASoC, and that's snd_soc_card_get_kcontrol_locked() and snd_soc_component_get_kcontrol_locked(). This patch drops those functions and rewrites those users to call the variant without locked instead. The test of the API became superfluous, hence dropped as well. As all callers of snd_ctl_find_id_mixer_locked() are gone, snd_ctl_find_id_mixer_locked() is finally dropped, too. Reviewed-by: Mark Brown <broonie@kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de> Link: https://patch.msgid.link/20240809104234.8488-4-tiwai@suse.de
This commit is contained in:
parent
38ea4c3dc3
commit
9cacb32a0b
@ -165,13 +165,6 @@ snd_ctl_find_id_mixer(struct snd_card *card, const char *name)
|
||||
return snd_ctl_find_id(card, &id);
|
||||
}
|
||||
|
||||
/* to be removed */
|
||||
static inline struct snd_kcontrol *
|
||||
snd_ctl_find_id_mixer_locked(struct snd_card *card, const char *name)
|
||||
{
|
||||
return snd_ctl_find_id_mixer(card, name);
|
||||
}
|
||||
|
||||
int snd_ctl_create(struct snd_card *card);
|
||||
|
||||
int snd_ctl_register_ioctl(snd_kctl_ioctl_func_t fcn);
|
||||
|
@ -30,8 +30,6 @@ static inline void snd_soc_card_mutex_unlock(struct snd_soc_card *card)
|
||||
|
||||
struct snd_kcontrol *snd_soc_card_get_kcontrol(struct snd_soc_card *soc_card,
|
||||
const char *name);
|
||||
struct snd_kcontrol *snd_soc_card_get_kcontrol_locked(struct snd_soc_card *soc_card,
|
||||
const char *name);
|
||||
int snd_soc_card_jack_new(struct snd_soc_card *card, const char *id, int type,
|
||||
struct snd_soc_jack *jack);
|
||||
int snd_soc_card_jack_new_pins(struct snd_soc_card *card, const char *id,
|
||||
|
@ -464,9 +464,6 @@ int snd_soc_component_force_enable_pin_unlocked(
|
||||
/* component controls */
|
||||
struct snd_kcontrol *snd_soc_component_get_kcontrol(struct snd_soc_component *component,
|
||||
const char * const ctl);
|
||||
struct snd_kcontrol *
|
||||
snd_soc_component_get_kcontrol_locked(struct snd_soc_component *component,
|
||||
const char * const ctl);
|
||||
int snd_soc_component_notify_control(struct snd_soc_component *component,
|
||||
const char * const ctl);
|
||||
|
||||
|
@ -177,7 +177,7 @@ static int cs35l45_activate_ctl(struct snd_soc_component *component,
|
||||
struct snd_kcontrol_volatile *vd;
|
||||
unsigned int index_offset;
|
||||
|
||||
kcontrol = snd_soc_component_get_kcontrol_locked(component, ctl_name);
|
||||
kcontrol = snd_soc_component_get_kcontrol(component, ctl_name);
|
||||
if (!kcontrol) {
|
||||
dev_err(component->dev, "Can't find kcontrol %s\n", ctl_name);
|
||||
return -EINVAL;
|
||||
|
@ -186,7 +186,7 @@ static int fsl_xcvr_activate_ctl(struct snd_soc_dai *dai, const char *name,
|
||||
|
||||
lockdep_assert_held(&card->snd_card->controls_rwsem);
|
||||
|
||||
kctl = snd_soc_card_get_kcontrol_locked(card, name);
|
||||
kctl = snd_soc_card_get_kcontrol(card, name);
|
||||
if (kctl == NULL)
|
||||
return -ENOENT;
|
||||
|
||||
|
@ -67,62 +67,6 @@ static void test_snd_soc_card_get_kcontrol(struct kunit *test)
|
||||
KUNIT_EXPECT_NULL(test, kc);
|
||||
}
|
||||
|
||||
static void test_snd_soc_card_get_kcontrol_locked(struct kunit *test)
|
||||
{
|
||||
struct soc_card_test_priv *priv = test->priv;
|
||||
struct snd_soc_card *card = priv->card;
|
||||
struct snd_kcontrol *kc, *kcw;
|
||||
struct soc_mixer_control *mc;
|
||||
int i, ret;
|
||||
|
||||
ret = snd_soc_add_card_controls(card, test_card_controls, ARRAY_SIZE(test_card_controls));
|
||||
KUNIT_ASSERT_EQ(test, ret, 0);
|
||||
|
||||
/* Look up every control */
|
||||
for (i = 0; i < ARRAY_SIZE(test_card_controls); ++i) {
|
||||
down_read(&card->snd_card->controls_rwsem);
|
||||
kc = snd_soc_card_get_kcontrol_locked(card, test_card_controls[i].name);
|
||||
up_read(&card->snd_card->controls_rwsem);
|
||||
KUNIT_EXPECT_NOT_ERR_OR_NULL_MSG(test, kc, "Failed to find '%s'\n",
|
||||
test_card_controls[i].name);
|
||||
if (!kc)
|
||||
continue;
|
||||
|
||||
/* Test that it is the correct control */
|
||||
mc = (struct soc_mixer_control *)kc->private_value;
|
||||
KUNIT_EXPECT_EQ_MSG(test, mc->shift, i, "For '%s'\n", test_card_controls[i].name);
|
||||
|
||||
down_write(&card->snd_card->controls_rwsem);
|
||||
kcw = snd_soc_card_get_kcontrol_locked(card, test_card_controls[i].name);
|
||||
up_write(&card->snd_card->controls_rwsem);
|
||||
KUNIT_EXPECT_NOT_ERR_OR_NULL_MSG(test, kcw, "Failed to find '%s'\n",
|
||||
test_card_controls[i].name);
|
||||
|
||||
KUNIT_EXPECT_PTR_EQ(test, kc, kcw);
|
||||
}
|
||||
|
||||
/* Test some names that should not be found */
|
||||
down_read(&card->snd_card->controls_rwsem);
|
||||
kc = snd_soc_card_get_kcontrol_locked(card, "None");
|
||||
up_read(&card->snd_card->controls_rwsem);
|
||||
KUNIT_EXPECT_NULL(test, kc);
|
||||
|
||||
down_read(&card->snd_card->controls_rwsem);
|
||||
kc = snd_soc_card_get_kcontrol_locked(card, "Left None");
|
||||
up_read(&card->snd_card->controls_rwsem);
|
||||
KUNIT_EXPECT_NULL(test, kc);
|
||||
|
||||
down_read(&card->snd_card->controls_rwsem);
|
||||
kc = snd_soc_card_get_kcontrol_locked(card, "Left");
|
||||
up_read(&card->snd_card->controls_rwsem);
|
||||
KUNIT_EXPECT_NULL(test, kc);
|
||||
|
||||
down_read(&card->snd_card->controls_rwsem);
|
||||
kc = snd_soc_card_get_kcontrol_locked(card, NULL);
|
||||
up_read(&card->snd_card->controls_rwsem);
|
||||
KUNIT_EXPECT_NULL(test, kc);
|
||||
}
|
||||
|
||||
static int soc_card_test_case_init(struct kunit *test)
|
||||
{
|
||||
struct soc_card_test_priv *priv;
|
||||
@ -169,7 +113,6 @@ static void soc_card_test_case_exit(struct kunit *test)
|
||||
|
||||
static struct kunit_case soc_card_test_cases[] = {
|
||||
KUNIT_CASE(test_snd_soc_card_get_kcontrol),
|
||||
KUNIT_CASE(test_snd_soc_card_get_kcontrol_locked),
|
||||
{}
|
||||
};
|
||||
|
||||
|
@ -29,16 +29,6 @@ static inline int _soc_card_ret(struct snd_soc_card *card,
|
||||
return ret;
|
||||
}
|
||||
|
||||
struct snd_kcontrol *snd_soc_card_get_kcontrol_locked(struct snd_soc_card *soc_card,
|
||||
const char *name)
|
||||
{
|
||||
if (unlikely(!name))
|
||||
return NULL;
|
||||
|
||||
return snd_ctl_find_id_mixer_locked(soc_card->snd_card, name);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_card_get_kcontrol_locked);
|
||||
|
||||
struct snd_kcontrol *snd_soc_card_get_kcontrol(struct snd_soc_card *soc_card,
|
||||
const char *name)
|
||||
{
|
||||
|
@ -257,18 +257,6 @@ struct snd_kcontrol *snd_soc_component_get_kcontrol(struct snd_soc_component *co
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_component_get_kcontrol);
|
||||
|
||||
struct snd_kcontrol *
|
||||
snd_soc_component_get_kcontrol_locked(struct snd_soc_component *component,
|
||||
const char * const ctl)
|
||||
{
|
||||
char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN];
|
||||
|
||||
soc_get_kcontrol_name(component, name, ARRAY_SIZE(name), ctl);
|
||||
|
||||
return snd_soc_card_get_kcontrol_locked(component->card, name);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(snd_soc_component_get_kcontrol_locked);
|
||||
|
||||
int snd_soc_component_notify_control(struct snd_soc_component *component,
|
||||
const char * const ctl)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user