Commit ec6f4328 authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab

[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: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent d88aab53
...@@ -348,7 +348,7 @@ static int vidioc_g_frequency(struct file *file, void *priv, ...@@ -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, 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] = { static u8 buf[8] = {
0x3d, 0x32, 0x0f, 0x08, 0x3d, 0x32, 0x0f, 0x08 0x3d, 0x32, 0x0f, 0x08, 0x3d, 0x32, 0x0f, 0x08
......
...@@ -385,59 +385,61 @@ static int vidioc_s_frequency(struct file *file, void *priv, ...@@ -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, 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); struct radio_tea5777 *tea = video_drvdata(file);
unsigned long timeout; unsigned long timeout;
u32 rangelow = a->rangelow;
u32 rangehigh = a->rangehigh;
int i, res, spacing; int i, res, spacing;
u32 orig_freq; u32 orig_freq;
if (a->tuner || a->wrap_around) if (a->tuner || a->wrap_around)
return -EINVAL; return -EINVAL;
if (a->rangelow || a->rangehigh) { if (rangelow || rangehigh) {
for (i = 0; i < ARRAY_SIZE(bands); i++) { for (i = 0; i < ARRAY_SIZE(bands); i++) {
if (i == BAND_AM && !tea->has_am) if (i == BAND_AM && !tea->has_am)
continue; continue;
if (bands[i].rangelow >= a->rangelow && if (bands[i].rangelow >= rangelow &&
bands[i].rangehigh <= a->rangehigh) bands[i].rangehigh <= rangehigh)
break; break;
} }
if (i == ARRAY_SIZE(bands)) if (i == ARRAY_SIZE(bands))
return -EINVAL; /* No matching band found */ return -EINVAL; /* No matching band found */
tea->band = i; tea->band = i;
if (tea->freq < a->rangelow || tea->freq > a->rangehigh) { if (tea->freq < rangelow || tea->freq > rangehigh) {
tea->freq = clamp(tea->freq, a->rangelow, tea->freq = clamp(tea->freq, rangelow,
a->rangehigh); rangehigh);
res = radio_tea5777_set_freq(tea); res = radio_tea5777_set_freq(tea);
if (res) if (res)
return res; return res;
} }
} else { } else {
a->rangelow = bands[tea->band].rangelow; rangelow = bands[tea->band].rangelow;
a->rangehigh = bands[tea->band].rangehigh; rangehigh = bands[tea->band].rangehigh;
} }
spacing = (tea->band == BAND_AM) ? (5 * 16) : (200 * 16); /* kHz */ spacing = (tea->band == BAND_AM) ? (5 * 16) : (200 * 16); /* kHz */
orig_freq = tea->freq; orig_freq = tea->freq;
tea->write_reg |= TEA5777_W_PROGBLIM_MASK; 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->write_reg &= ~TEA5777_W_UPDWN_MASK;
tea->freq = a->rangelow; tea->freq = rangelow;
res = radio_tea5777_set_freq(tea); res = radio_tea5777_set_freq(tea);
if (res) if (res)
goto leave; 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->write_reg |= TEA5777_W_UPDWN_MASK;
tea->freq = a->rangehigh; tea->freq = rangehigh;
res = radio_tea5777_set_freq(tea); res = radio_tea5777_set_freq(tea);
if (res) if (res)
goto leave; goto leave;
tea->seek_rangehigh = a->rangehigh; tea->seek_rangehigh = rangehigh;
} }
tea->write_reg &= ~TEA5777_W_PROGBLIM_MASK; tea->write_reg &= ~TEA5777_W_PROGBLIM_MASK;
......
...@@ -1682,7 +1682,7 @@ static int wl1273_fm_vidioc_s_frequency(struct file *file, void *priv, ...@@ -1682,7 +1682,7 @@ static int wl1273_fm_vidioc_s_frequency(struct file *file, void *priv,
#define WL1273_DEFAULT_SEEK_LEVEL 7 #define WL1273_DEFAULT_SEEK_LEVEL 7
static int wl1273_fm_vidioc_s_hw_freq_seek(struct file *file, void *priv, 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_device *radio = video_get_drvdata(video_devdata(file));
struct wl1273_core *core = radio->core; struct wl1273_core *core = radio->core;
......
...@@ -296,7 +296,7 @@ int si470x_set_freq(struct si470x_device *radio, unsigned int freq) ...@@ -296,7 +296,7 @@ int si470x_set_freq(struct si470x_device *radio, unsigned int freq)
* si470x_set_seek - set seek * si470x_set_seek - set seek
*/ */
static int si470x_set_seek(struct si470x_device *radio, 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; int band, retval;
unsigned int freq; unsigned int freq;
...@@ -701,7 +701,7 @@ static int si470x_vidioc_s_frequency(struct file *file, void *priv, ...@@ -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 * si470x_vidioc_s_hw_freq_seek - set hardware frequency seek
*/ */
static int si470x_vidioc_s_hw_freq_seek(struct file *file, void *priv, 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); struct si470x_device *radio = video_drvdata(file);
......
...@@ -403,7 +403,7 @@ static int fm_v4l2_vidioc_s_freq(struct file *file, void *priv, ...@@ -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. */ /* 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, 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); struct fmdev *fmdev = video_drvdata(file);
int ret; int ret;
......
...@@ -233,7 +233,7 @@ struct v4l2_ioctl_ops { ...@@ -233,7 +233,7 @@ struct v4l2_ioctl_ops {
int (*vidioc_log_status) (struct file *file, void *fh); int (*vidioc_log_status) (struct file *file, void *fh);
int (*vidioc_s_hw_freq_seek) (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 */ /* Debugging ioctls */
#ifdef CONFIG_VIDEO_ADV_DEBUG #ifdef CONFIG_VIDEO_ADV_DEBUG
......
...@@ -357,7 +357,7 @@ static int vidioc_s_frequency(struct file *file, void *priv, ...@@ -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, 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); struct snd_tea575x *tea = video_drvdata(file);
unsigned long timeout; unsigned long timeout;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment