patch-2.4.0-test8 linux/drivers/usb/dsbr100.c
Next file: linux/drivers/usb/hub.c
Previous file: linux/drivers/usb/devio.c
Back to the patch index
Back to the overall index
- Lines: 80
- Date:
Thu Sep 7 08:36:04 2000
- Orig file:
v2.4.0-test7/linux/drivers/usb/dsbr100.c
- Orig date:
Wed Aug 9 19:19:51 2000
diff -u --recursive --new-file v2.4.0-test7/linux/drivers/usb/dsbr100.c linux/drivers/usb/dsbr100.c
@@ -33,6 +33,10 @@
History:
+ Version 0.24:
+ Markus: Hope I got these silly VIDEO_TUNER_LOW issues finally
+ right. Some minor cleanup, improved standalone compilation
+
Version 0.23:
Markus: Sign extension bug fixed by declaring transfer_buffer unsigned
@@ -135,11 +139,11 @@
static int dsbr100_setfreq(usb_dsbr100 *radio, int freq)
{
- freq = (freq*80)/16+856;
+ freq = (freq/16*80)/1000+856;
if (usb_control_msg(radio->dev, usb_rcvctrlpipe(radio->dev, 0),
- 0x01, 0xC0, (freq&0xff00)>>8, freq&0xff,
- radio->transfer_buffer, 8, 300)<0
- || usb_control_msg(radio->dev, usb_rcvctrlpipe(radio->dev, 0),
+ 0x01, 0xC0, (freq>>8)&0x00ff, freq&0xff,
+ radio->transfer_buffer, 8, 300)<0 ||
+ usb_control_msg(radio->dev, usb_rcvctrlpipe(radio->dev, 0),
0x00, 0xC0, 0x96, 0xB7, radio->transfer_buffer, 8, 300)<0 ||
usb_control_msg(radio->dev, usb_rcvctrlpipe(radio->dev, 0),
0x00, 0xC0, 0x00, 0x24, radio->transfer_buffer, 8, 300)<0) {
@@ -172,7 +176,7 @@
usb_dsbr100_radio.priv = radio;
radio->dev = dev;
radio->ifnum = ifnum;
- radio->curfreq = 1454;
+ radio->curfreq = 1454000;
return (void*)radio;
}
@@ -218,8 +222,8 @@
return -EFAULT;
if(v.tuner) /* Only 1 tuner */
return -EINVAL;
- v.rangelow = 87*16;
- v.rangehigh = 108*16;
+ v.rangelow = 87*16000;
+ v.rangehigh = 108*16000;
v.flags = VIDEO_TUNER_LOW;
v.mode = VIDEO_MODE_AUTO;
v.signal = radio->stereo*0x7000;
@@ -321,7 +325,7 @@
MOD_DEC_USE_COUNT;
}
-int __init dsbr100_init(void)
+static int __init dsbr100_init(void)
{
usb_dsbr100_radio.priv = NULL;
usb_register(&usb_dsbr100_driver);
@@ -332,12 +336,7 @@
return 0;
}
-int __init init_module(void)
-{
- return dsbr100_init();
-}
-
-void cleanup_module(void)
+static void __exit dsbr100_exit(void)
{
usb_dsbr100 *radio=usb_dsbr100_radio.priv;
@@ -346,6 +345,9 @@
video_unregister_device(&usb_dsbr100_radio);
usb_deregister(&usb_dsbr100_driver);
}
+
+module_init (dsbr100_init);
+module_exit (dsbr100_exit);
MODULE_AUTHOR("Markus Demleitner <msdemlei@tucana.harvard.edu>");
MODULE_DESCRIPTION("D-Link DSB-R100 USB radio driver");
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)