aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/radio
diff options
context:
space:
mode:
authorOndrej Zary <linux@rainbow-software.org>2012-05-19 12:18:26 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-05-20 15:10:05 -0400
commitabed623ca59a7d1abed6c4e7459be03e25a90a1e (patch)
treee66b20d77f7407ed4545edd9da2ec8398db7af2c /drivers/media/radio
parente243c3c4f7305310a283cd2f762f889a48dad90a (diff)
[media] radio-sf16fmi: add support for SF16-FMD
Add support for SF16-FMD card to radio-sf16fmi driver. Only new PnP ID is added and texts changed. Signed-off-by: Ondrej Zary <linux@rainbow-software.org> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/radio')
-rw-r--r--drivers/media/radio/Kconfig2
-rw-r--r--drivers/media/radio/radio-sf16fmi.c14
2 files changed, 10 insertions, 6 deletions
diff --git a/drivers/media/radio/Kconfig b/drivers/media/radio/Kconfig
index 270f7b7e813b..c257da13d766 100644
--- a/drivers/media/radio/Kconfig
+++ b/drivers/media/radio/Kconfig
@@ -320,7 +320,7 @@ config RADIO_MIROPCM20
320 module will be called radio-miropcm20. 320 module will be called radio-miropcm20.
321 321
322config RADIO_SF16FMI 322config RADIO_SF16FMI
323 tristate "SF16-FMI/SF16-FMP Radio" 323 tristate "SF16-FMI/SF16-FMP/SF16-FMD Radio"
324 depends on ISA && VIDEO_V4L2 324 depends on ISA && VIDEO_V4L2
325 ---help--- 325 ---help---
326 Choose Y here if you have one of these FM radio cards. 326 Choose Y here if you have one of these FM radio cards.
diff --git a/drivers/media/radio/radio-sf16fmi.c b/drivers/media/radio/radio-sf16fmi.c
index 22c5743bf9db..a81d723b8c77 100644
--- a/drivers/media/radio/radio-sf16fmi.c
+++ b/drivers/media/radio/radio-sf16fmi.c
@@ -1,4 +1,4 @@
1/* SF16-FMI and SF16-FMP radio driver for Linux radio support 1/* SF16-FMI, SF16-FMP and SF16-FMD radio driver for Linux radio support
2 * heavily based on rtrack driver... 2 * heavily based on rtrack driver...
3 * (c) 1997 M. Kirkwood 3 * (c) 1997 M. Kirkwood
4 * (c) 1998 Petr Vandrovec, vandrove@vc.cvut.cz 4 * (c) 1998 Petr Vandrovec, vandrove@vc.cvut.cz
@@ -11,7 +11,7 @@
11 * 11 *
12 * Frequency control is done digitally -- ie out(port,encodefreq(95.8)); 12 * Frequency control is done digitally -- ie out(port,encodefreq(95.8));
13 * No volume control - only mute/unmute - you have to use line volume 13 * No volume control - only mute/unmute - you have to use line volume
14 * control on SB-part of SF16-FMI/SF16-FMP 14 * control on SB-part of SF16-FMI/SF16-FMP/SF16-FMD
15 * 15 *
16 * Converted to V4L2 API by Mauro Carvalho Chehab <mchehab@infradead.org> 16 * Converted to V4L2 API by Mauro Carvalho Chehab <mchehab@infradead.org>
17 */ 17 */
@@ -29,7 +29,7 @@
29#include <media/v4l2-ioctl.h> 29#include <media/v4l2-ioctl.h>
30 30
31MODULE_AUTHOR("Petr Vandrovec, vandrove@vc.cvut.cz and M. Kirkwood"); 31MODULE_AUTHOR("Petr Vandrovec, vandrove@vc.cvut.cz and M. Kirkwood");
32MODULE_DESCRIPTION("A driver for the SF16-FMI and SF16-FMP radio."); 32MODULE_DESCRIPTION("A driver for the SF16-FMI, SF16-FMP and SF16-FMD radio.");
33MODULE_LICENSE("GPL"); 33MODULE_LICENSE("GPL");
34MODULE_VERSION("0.0.3"); 34MODULE_VERSION("0.0.3");
35 35
@@ -37,7 +37,7 @@ static int io = -1;
37static int radio_nr = -1; 37static int radio_nr = -1;
38 38
39module_param(io, int, 0); 39module_param(io, int, 0);
40MODULE_PARM_DESC(io, "I/O address of the SF16-FMI or SF16-FMP card (0x284 or 0x384)"); 40MODULE_PARM_DESC(io, "I/O address of the SF16-FMI/SF16-FMP/SF16-FMD card (0x284 or 0x384)");
41module_param(radio_nr, int, 0); 41module_param(radio_nr, int, 0);
42 42
43struct fmi 43struct fmi
@@ -130,7 +130,7 @@ static int vidioc_querycap(struct file *file, void *priv,
130 struct v4l2_capability *v) 130 struct v4l2_capability *v)
131{ 131{
132 strlcpy(v->driver, "radio-sf16fmi", sizeof(v->driver)); 132 strlcpy(v->driver, "radio-sf16fmi", sizeof(v->driver));
133 strlcpy(v->card, "SF16-FMx radio", sizeof(v->card)); 133 strlcpy(v->card, "SF16-FMI/FMP/FMD radio", sizeof(v->card));
134 strlcpy(v->bus_info, "ISA", sizeof(v->bus_info)); 134 strlcpy(v->bus_info, "ISA", sizeof(v->bus_info));
135 v->capabilities = V4L2_CAP_TUNER | V4L2_CAP_RADIO; 135 v->capabilities = V4L2_CAP_TUNER | V4L2_CAP_RADIO;
136 return 0; 136 return 0;
@@ -277,8 +277,12 @@ static const struct v4l2_ioctl_ops fmi_ioctl_ops = {
277 277
278/* ladis: this is my card. does any other types exist? */ 278/* ladis: this is my card. does any other types exist? */
279static struct isapnp_device_id id_table[] __devinitdata = { 279static struct isapnp_device_id id_table[] __devinitdata = {
280 /* SF16-FMI */
280 { ISAPNP_ANY_ID, ISAPNP_ANY_ID, 281 { ISAPNP_ANY_ID, ISAPNP_ANY_ID,
281 ISAPNP_VENDOR('M','F','R'), ISAPNP_FUNCTION(0xad10), 0}, 282 ISAPNP_VENDOR('M','F','R'), ISAPNP_FUNCTION(0xad10), 0},
283 /* SF16-FMD */
284 { ISAPNP_ANY_ID, ISAPNP_ANY_ID,
285 ISAPNP_VENDOR('M','F','R'), ISAPNP_FUNCTION(0xad12), 0},
282 { ISAPNP_CARD_END, }, 286 { ISAPNP_CARD_END, },
283}; 287};
284 288