mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-29 17:22:07 +00:00
[media] v4l2: make vidioc_s_freq_hw_seek const
Write-only ioctls should have a const argument in the ioctl op. Do this conversion for vidioc_s_freq_hw_seek. Adding const for write-only ioctls was decided during the 2012 Media Workshop. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
d88aab53bd
commit
ec6f432810
@ -348,7 +348,7 @@ static int vidioc_g_frequency(struct file *file, void *priv,
|
||||
}
|
||||
|
||||
static int vidioc_s_hw_freq_seek(struct file *file, void *priv,
|
||||
struct v4l2_hw_freq_seek *seek)
|
||||
const struct v4l2_hw_freq_seek *seek)
|
||||
{
|
||||
static u8 buf[8] = {
|
||||
0x3d, 0x32, 0x0f, 0x08, 0x3d, 0x32, 0x0f, 0x08
|
||||
|
@ -385,59 +385,61 @@ static int vidioc_s_frequency(struct file *file, void *priv,
|
||||
}
|
||||
|
||||
static int vidioc_s_hw_freq_seek(struct file *file, void *fh,
|
||||
struct v4l2_hw_freq_seek *a)
|
||||
const struct v4l2_hw_freq_seek *a)
|
||||
{
|
||||
struct radio_tea5777 *tea = video_drvdata(file);
|
||||
unsigned long timeout;
|
||||
u32 rangelow = a->rangelow;
|
||||
u32 rangehigh = a->rangehigh;
|
||||
int i, res, spacing;
|
||||
u32 orig_freq;
|
||||
|
||||
if (a->tuner || a->wrap_around)
|
||||
return -EINVAL;
|
||||
|
||||
if (a->rangelow || a->rangehigh) {
|
||||
if (rangelow || rangehigh) {
|
||||
for (i = 0; i < ARRAY_SIZE(bands); i++) {
|
||||
if (i == BAND_AM && !tea->has_am)
|
||||
continue;
|
||||
if (bands[i].rangelow >= a->rangelow &&
|
||||
bands[i].rangehigh <= a->rangehigh)
|
||||
if (bands[i].rangelow >= rangelow &&
|
||||
bands[i].rangehigh <= rangehigh)
|
||||
break;
|
||||
}
|
||||
if (i == ARRAY_SIZE(bands))
|
||||
return -EINVAL; /* No matching band found */
|
||||
|
||||
tea->band = i;
|
||||
if (tea->freq < a->rangelow || tea->freq > a->rangehigh) {
|
||||
tea->freq = clamp(tea->freq, a->rangelow,
|
||||
a->rangehigh);
|
||||
if (tea->freq < rangelow || tea->freq > rangehigh) {
|
||||
tea->freq = clamp(tea->freq, rangelow,
|
||||
rangehigh);
|
||||
res = radio_tea5777_set_freq(tea);
|
||||
if (res)
|
||||
return res;
|
||||
}
|
||||
} else {
|
||||
a->rangelow = bands[tea->band].rangelow;
|
||||
a->rangehigh = bands[tea->band].rangehigh;
|
||||
rangelow = bands[tea->band].rangelow;
|
||||
rangehigh = bands[tea->band].rangehigh;
|
||||
}
|
||||
|
||||
spacing = (tea->band == BAND_AM) ? (5 * 16) : (200 * 16); /* kHz */
|
||||
orig_freq = tea->freq;
|
||||
|
||||
tea->write_reg |= TEA5777_W_PROGBLIM_MASK;
|
||||
if (tea->seek_rangelow != a->rangelow) {
|
||||
if (tea->seek_rangelow != rangelow) {
|
||||
tea->write_reg &= ~TEA5777_W_UPDWN_MASK;
|
||||
tea->freq = a->rangelow;
|
||||
tea->freq = rangelow;
|
||||
res = radio_tea5777_set_freq(tea);
|
||||
if (res)
|
||||
goto leave;
|
||||
tea->seek_rangelow = a->rangelow;
|
||||
tea->seek_rangelow = rangelow;
|
||||
}
|
||||
if (tea->seek_rangehigh != a->rangehigh) {
|
||||
if (tea->seek_rangehigh != rangehigh) {
|
||||
tea->write_reg |= TEA5777_W_UPDWN_MASK;
|
||||
tea->freq = a->rangehigh;
|
||||
tea->freq = rangehigh;
|
||||
res = radio_tea5777_set_freq(tea);
|
||||
if (res)
|
||||
goto leave;
|
||||
tea->seek_rangehigh = a->rangehigh;
|
||||
tea->seek_rangehigh = rangehigh;
|
||||
}
|
||||
tea->write_reg &= ~TEA5777_W_PROGBLIM_MASK;
|
||||
|
||||
|
@ -1682,7 +1682,7 @@ static int wl1273_fm_vidioc_s_frequency(struct file *file, void *priv,
|
||||
#define WL1273_DEFAULT_SEEK_LEVEL 7
|
||||
|
||||
static int wl1273_fm_vidioc_s_hw_freq_seek(struct file *file, void *priv,
|
||||
struct v4l2_hw_freq_seek *seek)
|
||||
const struct v4l2_hw_freq_seek *seek)
|
||||
{
|
||||
struct wl1273_device *radio = video_get_drvdata(video_devdata(file));
|
||||
struct wl1273_core *core = radio->core;
|
||||
|
@ -296,7 +296,7 @@ int si470x_set_freq(struct si470x_device *radio, unsigned int freq)
|
||||
* si470x_set_seek - set seek
|
||||
*/
|
||||
static int si470x_set_seek(struct si470x_device *radio,
|
||||
struct v4l2_hw_freq_seek *seek)
|
||||
const struct v4l2_hw_freq_seek *seek)
|
||||
{
|
||||
int band, retval;
|
||||
unsigned int freq;
|
||||
@ -701,7 +701,7 @@ static int si470x_vidioc_s_frequency(struct file *file, void *priv,
|
||||
* si470x_vidioc_s_hw_freq_seek - set hardware frequency seek
|
||||
*/
|
||||
static int si470x_vidioc_s_hw_freq_seek(struct file *file, void *priv,
|
||||
struct v4l2_hw_freq_seek *seek)
|
||||
const struct v4l2_hw_freq_seek *seek)
|
||||
{
|
||||
struct si470x_device *radio = video_drvdata(file);
|
||||
|
||||
|
@ -403,7 +403,7 @@ static int fm_v4l2_vidioc_s_freq(struct file *file, void *priv,
|
||||
|
||||
/* Set hardware frequency seek. If current mode is NOT RX, set it RX. */
|
||||
static int fm_v4l2_vidioc_s_hw_freq_seek(struct file *file, void *priv,
|
||||
struct v4l2_hw_freq_seek *seek)
|
||||
const struct v4l2_hw_freq_seek *seek)
|
||||
{
|
||||
struct fmdev *fmdev = video_drvdata(file);
|
||||
int ret;
|
||||
|
@ -233,7 +233,7 @@ struct v4l2_ioctl_ops {
|
||||
int (*vidioc_log_status) (struct file *file, void *fh);
|
||||
|
||||
int (*vidioc_s_hw_freq_seek) (struct file *file, void *fh,
|
||||
struct v4l2_hw_freq_seek *a);
|
||||
const struct v4l2_hw_freq_seek *a);
|
||||
|
||||
/* Debugging ioctls */
|
||||
#ifdef CONFIG_VIDEO_ADV_DEBUG
|
||||
|
@ -357,7 +357,7 @@ static int vidioc_s_frequency(struct file *file, void *priv,
|
||||
}
|
||||
|
||||
static int vidioc_s_hw_freq_seek(struct file *file, void *fh,
|
||||
struct v4l2_hw_freq_seek *a)
|
||||
const struct v4l2_hw_freq_seek *a)
|
||||
{
|
||||
struct snd_tea575x *tea = video_drvdata(file);
|
||||
unsigned long timeout;
|
||||
|
Loading…
Reference in New Issue
Block a user