aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/radio
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2013-03-19 03:09:26 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-03-24 05:25:34 -0400
commitb530a447bb588fdf43fdf4eb909e4ee1921d47ac (patch)
tree8c9f6abb0f0c07ceea984a87fd80e9e65e7d483b /drivers/media/radio
parent69aa6f4ec669b9121057cc9e32cb10b5f744f6d6 (diff)
[media] v4l2: add const to argument of write-only s_frequency ioctl
This ioctl is defined as IOW, so pass the argument as const. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/radio')
-rw-r--r--drivers/media/radio/dsbr100.c2
-rw-r--r--drivers/media/radio/radio-cadet.c46
-rw-r--r--drivers/media/radio/radio-isa.c9
-rw-r--r--drivers/media/radio/radio-keene.c8
-rw-r--r--drivers/media/radio/radio-ma901.c2
-rw-r--r--drivers/media/radio/radio-miropcm20.c4
-rw-r--r--drivers/media/radio/radio-mr800.c2
-rw-r--r--drivers/media/radio/radio-sf16fmi.c2
-rw-r--r--drivers/media/radio/radio-si4713.c2
-rw-r--r--drivers/media/radio/radio-tea5764.c2
-rw-r--r--drivers/media/radio/radio-tea5777.c2
-rw-r--r--drivers/media/radio/radio-timb.c2
-rw-r--r--drivers/media/radio/radio-wl1273.c2
-rw-r--r--drivers/media/radio/si470x/radio-si470x-common.c2
-rw-r--r--drivers/media/radio/si4713-i2c.c5
-rw-r--r--drivers/media/radio/tef6862.c2
-rw-r--r--drivers/media/radio/wl128x/fmdrv_v4l2.c6
17 files changed, 49 insertions, 51 deletions
diff --git a/drivers/media/radio/dsbr100.c b/drivers/media/radio/dsbr100.c
index 63b112b555b2..e140a725820d 100644
--- a/drivers/media/radio/dsbr100.c
+++ b/drivers/media/radio/dsbr100.c
@@ -214,7 +214,7 @@ static int vidioc_s_tuner(struct file *file, void *priv,
214} 214}
215 215
216static int vidioc_s_frequency(struct file *file, void *priv, 216static int vidioc_s_frequency(struct file *file, void *priv,
217 struct v4l2_frequency *f) 217 const struct v4l2_frequency *f)
218{ 218{
219 struct dsbr100_device *radio = video_drvdata(file); 219 struct dsbr100_device *radio = video_drvdata(file);
220 220
diff --git a/drivers/media/radio/radio-cadet.c b/drivers/media/radio/radio-cadet.c
index 643d80ac28fb..59be293cbf42 100644
--- a/drivers/media/radio/radio-cadet.c
+++ b/drivers/media/radio/radio-cadet.c
@@ -90,6 +90,26 @@ static u16 sigtable[2][4] = {
90 { 2185, 4369, 13107, 65535 }, 90 { 2185, 4369, 13107, 65535 },
91}; 91};
92 92
93static const struct v4l2_frequency_band bands[] = {
94 {
95 .index = 0,
96 .type = V4L2_TUNER_RADIO,
97 .capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_FREQ_BANDS,
98 .rangelow = 8320, /* 520 kHz */
99 .rangehigh = 26400, /* 1650 kHz */
100 .modulation = V4L2_BAND_MODULATION_AM,
101 }, {
102 .index = 1,
103 .type = V4L2_TUNER_RADIO,
104 .capability = V4L2_TUNER_CAP_STEREO | V4L2_TUNER_CAP_RDS |
105 V4L2_TUNER_CAP_RDS_BLOCK_IO | V4L2_TUNER_CAP_LOW |
106 V4L2_TUNER_CAP_FREQ_BANDS,
107 .rangelow = 1400000, /* 87.5 MHz */
108 .rangehigh = 1728000, /* 108.0 MHz */
109 .modulation = V4L2_BAND_MODULATION_FM,
110 },
111};
112
93 113
94static int cadet_getstereo(struct cadet *dev) 114static int cadet_getstereo(struct cadet *dev)
95{ 115{
@@ -196,6 +216,8 @@ static void cadet_setfreq(struct cadet *dev, unsigned freq)
196 int i, j, test; 216 int i, j, test;
197 int curvol; 217 int curvol;
198 218
219 freq = clamp(freq, bands[dev->is_fm_band].rangelow,
220 bands[dev->is_fm_band].rangehigh);
199 dev->curfreq = freq; 221 dev->curfreq = freq;
200 /* 222 /*
201 * Formulate a fifo command 223 * Formulate a fifo command
@@ -337,26 +359,6 @@ static int vidioc_querycap(struct file *file, void *priv,
337 return 0; 359 return 0;
338} 360}
339 361
340static const struct v4l2_frequency_band bands[] = {
341 {
342 .index = 0,
343 .type = V4L2_TUNER_RADIO,
344 .capability = V4L2_TUNER_CAP_LOW | V4L2_TUNER_CAP_FREQ_BANDS,
345 .rangelow = 8320, /* 520 kHz */
346 .rangehigh = 26400, /* 1650 kHz */
347 .modulation = V4L2_BAND_MODULATION_AM,
348 }, {
349 .index = 1,
350 .type = V4L2_TUNER_RADIO,
351 .capability = V4L2_TUNER_CAP_STEREO | V4L2_TUNER_CAP_RDS |
352 V4L2_TUNER_CAP_RDS_BLOCK_IO | V4L2_TUNER_CAP_LOW |
353 V4L2_TUNER_CAP_FREQ_BANDS,
354 .rangelow = 1400000, /* 87.5 MHz */
355 .rangehigh = 1728000, /* 108.0 MHz */
356 .modulation = V4L2_BAND_MODULATION_FM,
357 },
358};
359
360static int vidioc_g_tuner(struct file *file, void *priv, 362static int vidioc_g_tuner(struct file *file, void *priv,
361 struct v4l2_tuner *v) 363 struct v4l2_tuner *v)
362{ 364{
@@ -418,7 +420,7 @@ static int vidioc_g_frequency(struct file *file, void *priv,
418 420
419 421
420static int vidioc_s_frequency(struct file *file, void *priv, 422static int vidioc_s_frequency(struct file *file, void *priv,
421 struct v4l2_frequency *f) 423 const struct v4l2_frequency *f)
422{ 424{
423 struct cadet *dev = video_drvdata(file); 425 struct cadet *dev = video_drvdata(file);
424 426
@@ -426,8 +428,6 @@ static int vidioc_s_frequency(struct file *file, void *priv,
426 return -EINVAL; 428 return -EINVAL;
427 dev->is_fm_band = 429 dev->is_fm_band =
428 f->frequency >= (bands[0].rangehigh + bands[1].rangelow) / 2; 430 f->frequency >= (bands[0].rangehigh + bands[1].rangelow) / 2;
429 clamp(f->frequency, bands[dev->is_fm_band].rangelow,
430 bands[dev->is_fm_band].rangehigh);
431 cadet_setfreq(dev, f->frequency); 431 cadet_setfreq(dev, f->frequency);
432 return 0; 432 return 0;
433} 433}
diff --git a/drivers/media/radio/radio-isa.c b/drivers/media/radio/radio-isa.c
index fe0a4f85c422..0c1e27b13e69 100644
--- a/drivers/media/radio/radio-isa.c
+++ b/drivers/media/radio/radio-isa.c
@@ -102,17 +102,18 @@ static int radio_isa_s_tuner(struct file *file, void *priv,
102} 102}
103 103
104static int radio_isa_s_frequency(struct file *file, void *priv, 104static int radio_isa_s_frequency(struct file *file, void *priv,
105 struct v4l2_frequency *f) 105 const struct v4l2_frequency *f)
106{ 106{
107 struct radio_isa_card *isa = video_drvdata(file); 107 struct radio_isa_card *isa = video_drvdata(file);
108 u32 freq = f->frequency;
108 int res; 109 int res;
109 110
110 if (f->tuner != 0 || f->type != V4L2_TUNER_RADIO) 111 if (f->tuner != 0 || f->type != V4L2_TUNER_RADIO)
111 return -EINVAL; 112 return -EINVAL;
112 f->frequency = clamp(f->frequency, FREQ_LOW, FREQ_HIGH); 113 freq = clamp(freq, FREQ_LOW, FREQ_HIGH);
113 res = isa->drv->ops->s_frequency(isa, f->frequency); 114 res = isa->drv->ops->s_frequency(isa, freq);
114 if (res == 0) 115 if (res == 0)
115 isa->freq = f->frequency; 116 isa->freq = freq;
116 return res; 117 return res;
117} 118}
118 119
diff --git a/drivers/media/radio/radio-keene.c b/drivers/media/radio/radio-keene.c
index 296941a9ae25..4c9ae767fb31 100644
--- a/drivers/media/radio/radio-keene.c
+++ b/drivers/media/radio/radio-keene.c
@@ -215,15 +215,15 @@ static int vidioc_s_modulator(struct file *file, void *priv,
215} 215}
216 216
217static int vidioc_s_frequency(struct file *file, void *priv, 217static int vidioc_s_frequency(struct file *file, void *priv,
218 struct v4l2_frequency *f) 218 const struct v4l2_frequency *f)
219{ 219{
220 struct keene_device *radio = video_drvdata(file); 220 struct keene_device *radio = video_drvdata(file);
221 unsigned freq = f->frequency;
221 222
222 if (f->tuner != 0 || f->type != V4L2_TUNER_RADIO) 223 if (f->tuner != 0 || f->type != V4L2_TUNER_RADIO)
223 return -EINVAL; 224 return -EINVAL;
224 f->frequency = clamp(f->frequency, 225 freq = clamp(freq, FREQ_MIN * FREQ_MUL, FREQ_MAX * FREQ_MUL);
225 FREQ_MIN * FREQ_MUL, FREQ_MAX * FREQ_MUL); 226 return keene_cmd_main(radio, freq, true);
226 return keene_cmd_main(radio, f->frequency, true);
227} 227}
228 228
229static int vidioc_g_frequency(struct file *file, void *priv, 229static int vidioc_g_frequency(struct file *file, void *priv,
diff --git a/drivers/media/radio/radio-ma901.c b/drivers/media/radio/radio-ma901.c
index c61f590029ad..7f85c6f98009 100644
--- a/drivers/media/radio/radio-ma901.c
+++ b/drivers/media/radio/radio-ma901.c
@@ -257,7 +257,7 @@ static int vidioc_s_tuner(struct file *file, void *priv,
257 257
258/* vidioc_s_frequency - set tuner radio frequency */ 258/* vidioc_s_frequency - set tuner radio frequency */
259static int vidioc_s_frequency(struct file *file, void *priv, 259static int vidioc_s_frequency(struct file *file, void *priv,
260 struct v4l2_frequency *f) 260 const struct v4l2_frequency *f)
261{ 261{
262 struct ma901radio_device *radio = video_drvdata(file); 262 struct ma901radio_device *radio = video_drvdata(file);
263 263
diff --git a/drivers/media/radio/radio-miropcm20.c b/drivers/media/radio/radio-miropcm20.c
index 3d0ff4404d12..2b8d31d8330b 100644
--- a/drivers/media/radio/radio-miropcm20.c
+++ b/drivers/media/radio/radio-miropcm20.c
@@ -131,14 +131,14 @@ static int vidioc_g_frequency(struct file *file, void *priv,
131 131
132 132
133static int vidioc_s_frequency(struct file *file, void *priv, 133static int vidioc_s_frequency(struct file *file, void *priv,
134 struct v4l2_frequency *f) 134 const struct v4l2_frequency *f)
135{ 135{
136 struct pcm20 *dev = video_drvdata(file); 136 struct pcm20 *dev = video_drvdata(file);
137 137
138 if (f->tuner != 0 || f->type != V4L2_TUNER_RADIO) 138 if (f->tuner != 0 || f->type != V4L2_TUNER_RADIO)
139 return -EINVAL; 139 return -EINVAL;
140 140
141 dev->freq = clamp(f->frequency, 87 * 16000U, 108 * 16000U); 141 dev->freq = clamp_t(u32, f->frequency, 87 * 16000U, 108 * 16000U);
142 pcm20_setfreq(dev, dev->freq); 142 pcm20_setfreq(dev, dev->freq);
143 return 0; 143 return 0;
144} 144}
diff --git a/drivers/media/radio/radio-mr800.c b/drivers/media/radio/radio-mr800.c
index 9c5a267b60b4..f9cdd8b96add 100644
--- a/drivers/media/radio/radio-mr800.c
+++ b/drivers/media/radio/radio-mr800.c
@@ -323,7 +323,7 @@ static int vidioc_s_tuner(struct file *file, void *priv,
323 323
324/* vidioc_s_frequency - set tuner radio frequency */ 324/* vidioc_s_frequency - set tuner radio frequency */
325static int vidioc_s_frequency(struct file *file, void *priv, 325static int vidioc_s_frequency(struct file *file, void *priv,
326 struct v4l2_frequency *f) 326 const struct v4l2_frequency *f)
327{ 327{
328 struct amradio_device *radio = video_drvdata(file); 328 struct amradio_device *radio = video_drvdata(file);
329 329
diff --git a/drivers/media/radio/radio-sf16fmi.c b/drivers/media/radio/radio-sf16fmi.c
index 637a55564958..6142b5b3e81b 100644
--- a/drivers/media/radio/radio-sf16fmi.c
+++ b/drivers/media/radio/radio-sf16fmi.c
@@ -151,7 +151,7 @@ static int vidioc_s_tuner(struct file *file, void *priv,
151} 151}
152 152
153static int vidioc_s_frequency(struct file *file, void *priv, 153static int vidioc_s_frequency(struct file *file, void *priv,
154 struct v4l2_frequency *f) 154 const struct v4l2_frequency *f)
155{ 155{
156 struct fmi *fmi = video_drvdata(file); 156 struct fmi *fmi = video_drvdata(file);
157 157
diff --git a/drivers/media/radio/radio-si4713.c b/drivers/media/radio/radio-si4713.c
index 3df4339460d2..2a2d21ed9133 100644
--- a/drivers/media/radio/radio-si4713.c
+++ b/drivers/media/radio/radio-si4713.c
@@ -215,7 +215,7 @@ static int radio_si4713_g_frequency(struct file *file, void *p,
215} 215}
216 216
217static int radio_si4713_s_frequency(struct file *file, void *p, 217static int radio_si4713_s_frequency(struct file *file, void *p,
218 struct v4l2_frequency *vf) 218 const struct v4l2_frequency *vf)
219{ 219{
220 return v4l2_device_call_until_err(get_v4l2_dev(file), 0, tuner, 220 return v4l2_device_call_until_err(get_v4l2_dev(file), 0, tuner,
221 s_frequency, vf); 221 s_frequency, vf);
diff --git a/drivers/media/radio/radio-tea5764.c b/drivers/media/radio/radio-tea5764.c
index 1978516af67e..893842874d89 100644
--- a/drivers/media/radio/radio-tea5764.c
+++ b/drivers/media/radio/radio-tea5764.c
@@ -351,7 +351,7 @@ static int vidioc_s_tuner(struct file *file, void *priv,
351} 351}
352 352
353static int vidioc_s_frequency(struct file *file, void *priv, 353static int vidioc_s_frequency(struct file *file, void *priv,
354 struct v4l2_frequency *f) 354 const struct v4l2_frequency *f)
355{ 355{
356 struct tea5764_device *radio = video_drvdata(file); 356 struct tea5764_device *radio = video_drvdata(file);
357 357
diff --git a/drivers/media/radio/radio-tea5777.c b/drivers/media/radio/radio-tea5777.c
index 4b5190d4fea5..fcd7c195e0c5 100644
--- a/drivers/media/radio/radio-tea5777.c
+++ b/drivers/media/radio/radio-tea5777.c
@@ -368,7 +368,7 @@ static int vidioc_g_frequency(struct file *file, void *priv,
368} 368}
369 369
370static int vidioc_s_frequency(struct file *file, void *priv, 370static int vidioc_s_frequency(struct file *file, void *priv,
371 struct v4l2_frequency *f) 371 const struct v4l2_frequency *f)
372{ 372{
373 struct radio_tea5777 *tea = video_drvdata(file); 373 struct radio_tea5777 *tea = video_drvdata(file);
374 374
diff --git a/drivers/media/radio/radio-timb.c b/drivers/media/radio/radio-timb.c
index b87effeb5dc6..1712c05c113d 100644
--- a/drivers/media/radio/radio-timb.c
+++ b/drivers/media/radio/radio-timb.c
@@ -91,7 +91,7 @@ static int timbradio_vidioc_s_audio(struct file *file, void *priv,
91} 91}
92 92
93static int timbradio_vidioc_s_frequency(struct file *file, void *priv, 93static int timbradio_vidioc_s_frequency(struct file *file, void *priv,
94 struct v4l2_frequency *f) 94 const struct v4l2_frequency *f)
95{ 95{
96 struct timbradio *tr = video_drvdata(file); 96 struct timbradio *tr = video_drvdata(file);
97 return v4l2_subdev_call(tr->sd_tuner, tuner, s_frequency, f); 97 return v4l2_subdev_call(tr->sd_tuner, tuner, s_frequency, f);
diff --git a/drivers/media/radio/radio-wl1273.c b/drivers/media/radio/radio-wl1273.c
index 02151e0e6e63..9a02fee904bf 100644
--- a/drivers/media/radio/radio-wl1273.c
+++ b/drivers/media/radio/radio-wl1273.c
@@ -1640,7 +1640,7 @@ static int wl1273_fm_vidioc_g_frequency(struct file *file, void *priv,
1640} 1640}
1641 1641
1642static int wl1273_fm_vidioc_s_frequency(struct file *file, void *priv, 1642static int wl1273_fm_vidioc_s_frequency(struct file *file, void *priv,
1643 struct v4l2_frequency *freq) 1643 const struct v4l2_frequency *freq)
1644{ 1644{
1645 struct wl1273_device *radio = video_get_drvdata(video_devdata(file)); 1645 struct wl1273_device *radio = video_get_drvdata(video_devdata(file));
1646 struct wl1273_core *core = radio->core; 1646 struct wl1273_core *core = radio->core;
diff --git a/drivers/media/radio/si470x/radio-si470x-common.c b/drivers/media/radio/si470x/radio-si470x-common.c
index 18989388ddc1..5708633a3d78 100644
--- a/drivers/media/radio/si470x/radio-si470x-common.c
+++ b/drivers/media/radio/si470x/radio-si470x-common.c
@@ -678,7 +678,7 @@ static int si470x_vidioc_g_frequency(struct file *file, void *priv,
678 * si470x_vidioc_s_frequency - set tuner or modulator radio frequency 678 * si470x_vidioc_s_frequency - set tuner or modulator radio frequency
679 */ 679 */
680static int si470x_vidioc_s_frequency(struct file *file, void *priv, 680static int si470x_vidioc_s_frequency(struct file *file, void *priv,
681 struct v4l2_frequency *freq) 681 const struct v4l2_frequency *freq)
682{ 682{
683 struct si470x_device *radio = video_drvdata(file); 683 struct si470x_device *radio = video_drvdata(file);
684 int retval; 684 int retval;
diff --git a/drivers/media/radio/si4713-i2c.c b/drivers/media/radio/si4713-i2c.c
index bd61b3bd0ca3..e305c14272b5 100644
--- a/drivers/media/radio/si4713-i2c.c
+++ b/drivers/media/radio/si4713-i2c.c
@@ -1212,7 +1212,7 @@ exit:
1212 return rval; 1212 return rval;
1213} 1213}
1214 1214
1215static int si4713_s_frequency(struct v4l2_subdev *sd, struct v4l2_frequency *f); 1215static int si4713_s_frequency(struct v4l2_subdev *sd, const struct v4l2_frequency *f);
1216static int si4713_s_modulator(struct v4l2_subdev *sd, const struct v4l2_modulator *); 1216static int si4713_s_modulator(struct v4l2_subdev *sd, const struct v4l2_modulator *);
1217/* 1217/*
1218 * si4713_setup - Sets the device up with current configuration. 1218 * si4713_setup - Sets the device up with current configuration.
@@ -1950,7 +1950,7 @@ unlock:
1950} 1950}
1951 1951
1952/* si4713_s_frequency - set tuner or modulator radio frequency */ 1952/* si4713_s_frequency - set tuner or modulator radio frequency */
1953static int si4713_s_frequency(struct v4l2_subdev *sd, struct v4l2_frequency *f) 1953static int si4713_s_frequency(struct v4l2_subdev *sd, const struct v4l2_frequency *f)
1954{ 1954{
1955 struct si4713_device *sdev = to_si4713_device(sd); 1955 struct si4713_device *sdev = to_si4713_device(sd);
1956 int rval = 0; 1956 int rval = 0;
@@ -1970,7 +1970,6 @@ static int si4713_s_frequency(struct v4l2_subdev *sd, struct v4l2_frequency *f)
1970 rval = 0; 1970 rval = 0;
1971 } 1971 }
1972 sdev->frequency = frequency; 1972 sdev->frequency = frequency;
1973 f->frequency = si4713_to_v4l2(frequency);
1974 1973
1975unlock: 1974unlock:
1976 mutex_unlock(&sdev->mutex); 1975 mutex_unlock(&sdev->mutex);
diff --git a/drivers/media/radio/tef6862.c b/drivers/media/radio/tef6862.c
index b18c2dc268ba..867395568f92 100644
--- a/drivers/media/radio/tef6862.c
+++ b/drivers/media/radio/tef6862.c
@@ -101,7 +101,7 @@ static int tef6862_s_tuner(struct v4l2_subdev *sd, struct v4l2_tuner *v)
101 return v->index ? -EINVAL : 0; 101 return v->index ? -EINVAL : 0;
102} 102}
103 103
104static int tef6862_s_frequency(struct v4l2_subdev *sd, struct v4l2_frequency *f) 104static int tef6862_s_frequency(struct v4l2_subdev *sd, const struct v4l2_frequency *f)
105{ 105{
106 struct tef6862_state *state = to_state(sd); 106 struct tef6862_state *state = to_state(sd);
107 struct i2c_client *client = v4l2_get_subdevdata(sd); 107 struct i2c_client *client = v4l2_get_subdevdata(sd);
diff --git a/drivers/media/radio/wl128x/fmdrv_v4l2.c b/drivers/media/radio/wl128x/fmdrv_v4l2.c
index 0a8ee8fab924..0183956d9b02 100644
--- a/drivers/media/radio/wl128x/fmdrv_v4l2.c
+++ b/drivers/media/radio/wl128x/fmdrv_v4l2.c
@@ -388,7 +388,7 @@ static int fm_v4l2_vidioc_g_freq(struct file *file, void *priv,
388 388
389/* Set tuner or modulator radio frequency */ 389/* Set tuner or modulator radio frequency */
390static int fm_v4l2_vidioc_s_freq(struct file *file, void *priv, 390static int fm_v4l2_vidioc_s_freq(struct file *file, void *priv,
391 struct v4l2_frequency *freq) 391 const struct v4l2_frequency *freq)
392{ 392{
393 struct fmdev *fmdev = video_drvdata(file); 393 struct fmdev *fmdev = video_drvdata(file);
394 394
@@ -396,9 +396,7 @@ static int fm_v4l2_vidioc_s_freq(struct file *file, void *priv,
396 * As V4L2_TUNER_CAP_LOW is set 1 user sends the frequency 396 * As V4L2_TUNER_CAP_LOW is set 1 user sends the frequency
397 * in units of 62.5 Hz. 397 * in units of 62.5 Hz.
398 */ 398 */
399 freq->frequency = (u32)(freq->frequency / 16); 399 return fmc_set_freq(fmdev, freq->frequency / 16);
400
401 return fmc_set_freq(fmdev, freq->frequency);
402} 400}
403 401
404/* Set hardware frequency seek. If current mode is NOT RX, set it RX. */ 402/* Set hardware frequency seek. If current mode is NOT RX, set it RX. */