提交 83695009 编写于 作者: A Andy Walls 提交者: Mauro Carvalho Chehab

V4L/DVB: cx18: Rename snd_cx18_mixer_lock to snd_cx18_lock and increase visibility

Rename snd_cx18_mixer_lock() to snd_cx18_lock() in anticpation of using it
in the cx18-alsa-pcm.c file routines.
Signed-off-by: NAndy Walls <awalls@radix.net>
Signed-off-by: NMauro Carvalho Chehab <mchehab@redhat.com>
上级 10e43d90
......@@ -35,22 +35,6 @@
#include "cx18-alsa.h"
#include "cx18-driver.h"
/*
* Mixer manipulations are like v4l2 ioctl() calls to manipulate controls,
* just use the same lock we use for ioctl()s for now
*/
static inline void snd_cx18_mixer_lock(struct snd_cx18_card *cxsc)
{
struct cx18 *cx = to_cx18(cxsc->v4l2_dev);
mutex_lock(&cx->serialize_lock);
}
static inline void snd_cx18_mixer_unlock(struct snd_cx18_card *cxsc)
{
struct cx18 *cx = to_cx18(cxsc->v4l2_dev);
mutex_unlock(&cx->serialize_lock);
}
/*
* Note the cx18-av-core volume scale is funny, due to the alignment of the
* scale with another chip's range:
......@@ -108,9 +92,9 @@ static int snd_cx18_mixer_tv_vol_get(struct snd_kcontrol *kctl,
vctrl.id = V4L2_CID_AUDIO_VOLUME;
vctrl.value = dB_to_cx18_av_vol(uctl->value.integer.value[0]);
snd_cx18_mixer_lock(cxsc);
snd_cx18_lock(cxsc);
ret = v4l2_subdev_call(cx->sd_av, core, g_ctrl, &vctrl);
snd_cx18_mixer_unlock(cxsc);
snd_cx18_unlock(cxsc);
if (!ret)
uctl->value.integer.value[0] = cx18_av_vol_to_dB(vctrl.value);
......@@ -128,7 +112,7 @@ static int snd_cx18_mixer_tv_vol_put(struct snd_kcontrol *kctl,
vctrl.id = V4L2_CID_AUDIO_VOLUME;
vctrl.value = dB_to_cx18_av_vol(uctl->value.integer.value[0]);
snd_cx18_mixer_lock(cxsc);
snd_cx18_lock(cxsc);
/* Fetch current state */
ret = v4l2_subdev_call(cx->sd_av, core, g_ctrl, &vctrl);
......@@ -142,7 +126,7 @@ static int snd_cx18_mixer_tv_vol_put(struct snd_kcontrol *kctl,
if (!ret)
ret = 1; /* Indicate control was changed w/o error */
}
snd_cx18_mixer_unlock(cxsc);
snd_cx18_unlock(cxsc);
return ret;
}
......
......@@ -32,6 +32,22 @@ struct snd_cx18_card {
extern int cx18_alsa_debug;
/*
* File operations that manipulate the encoder or video or audio subdevices
* need to be serialized. Use the same lock we use for v4l2 file ops.
*/
static inline void snd_cx18_lock(struct snd_cx18_card *cxsc)
{
struct cx18 *cx = to_cx18(cxsc->v4l2_dev);
mutex_lock(&cx->serialize_lock);
}
static inline void snd_cx18_unlock(struct snd_cx18_card *cxsc)
{
struct cx18 *cx = to_cx18(cxsc->v4l2_dev);
mutex_unlock(&cx->serialize_lock);
}
#define CX18_ALSA_DBGFLG_WARN (1 << 0)
#define CX18_ALSA_DBGFLG_WARN (1 << 0)
#define CX18_ALSA_DBGFLG_INFO (1 << 1)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册