[PATCH] dvb: usb: core: change dvb_usb_device_init() API
authorPatrick Boettcher <pb@linuxtv.org>
Fri, 9 Sep 2005 20:02:47 +0000 (13:02 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 9 Sep 2005 20:57:41 +0000 (13:57 -0700)
Change the init call to optionally return the new dvb_usb_device directly.

Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Johannes Stezenbach <js@linuxtv.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
13 files changed:
drivers/media/dvb/dvb-usb/a800.c
drivers/media/dvb/dvb-usb/cxusb.c
drivers/media/dvb/dvb-usb/dibusb-mb.c
drivers/media/dvb/dvb-usb/dibusb-mc.c
drivers/media/dvb/dvb-usb/digitv.c
drivers/media/dvb/dvb-usb/dtt200u.c
drivers/media/dvb/dvb-usb/dvb-usb-ids.h
drivers/media/dvb/dvb-usb/dvb-usb-init.c
drivers/media/dvb/dvb-usb/dvb-usb.h
drivers/media/dvb/dvb-usb/nova-t-usb2.c
drivers/media/dvb/dvb-usb/umt-010.c
drivers/media/dvb/dvb-usb/vp702x.c
drivers/media/dvb/dvb-usb/vp7045.c

index f2fcc2f1f846114391ae66ddffebd89dec5027d8..e55322ef76b393280d39ed542a959bc71debdb0f 100644 (file)
@@ -90,7 +90,7 @@ static struct dvb_usb_properties a800_properties;
 static int a800_probe(struct usb_interface *intf,
                const struct usb_device_id *id)
 {
-       return dvb_usb_device_init(intf,&a800_properties,THIS_MODULE);
+       return dvb_usb_device_init(intf,&a800_properties,THIS_MODULE,NULL);
 }
 
 /* do not change the order of the ID table */
index 9e96a188f1e9a7b0996c44d64eb6d90aa10cdc54..d2be035140127336ac3534d2fb928279a9143991 100644 (file)
@@ -211,7 +211,7 @@ static struct dvb_usb_properties cxusb_properties;
 static int cxusb_probe(struct usb_interface *intf,
                const struct usb_device_id *id)
 {
-       return dvb_usb_device_init(intf,&cxusb_properties,THIS_MODULE);
+       return dvb_usb_device_init(intf,&cxusb_properties,THIS_MODULE,NULL);
 }
 
 static struct usb_device_id cxusb_table [] = {
index c9f3e90ee25fdfa97c50355345ab2e20cc6fd057..0058505634a0be54a8209dea0fcf01945abba2ad 100644 (file)
@@ -86,9 +86,9 @@ static struct dvb_usb_properties dibusb2_0b_properties;
 static int dibusb_probe(struct usb_interface *intf,
                const struct usb_device_id *id)
 {
-       if (dvb_usb_device_init(intf,&dibusb1_1_properties,THIS_MODULE) == 0 ||
-               dvb_usb_device_init(intf,&dibusb1_1_an2235_properties,THIS_MODULE) == 0 ||
-               dvb_usb_device_init(intf,&dibusb2_0b_properties,THIS_MODULE) == 0)
+       if (dvb_usb_device_init(intf,&dibusb1_1_properties,THIS_MODULE,NULL) == 0 ||
+               dvb_usb_device_init(intf,&dibusb1_1_an2235_properties,THIS_MODULE,NULL) == 0 ||
+               dvb_usb_device_init(intf,&dibusb2_0b_properties,THIS_MODULE,NULL) == 0)
                return 0;
 
        return -EINVAL;
index e9dac430f37da036079d2ea50a77ae8113ad63eb..6a0912eab396085cd99b30064d949362fca6b2b8 100644 (file)
@@ -20,7 +20,7 @@ static struct dvb_usb_properties dibusb_mc_properties;
 static int dibusb_mc_probe(struct usb_interface *intf,
                const struct usb_device_id *id)
 {
-       return dvb_usb_device_init(intf,&dibusb_mc_properties,THIS_MODULE);
+       return dvb_usb_device_init(intf,&dibusb_mc_properties,THIS_MODULE,NULL);
 }
 
 /* do not change the order of the ID table */
index f70e0be0920aee35ef9b1cdc075a4331fc3e7511..24d2bc6ca97bceab8303461b542d8873fe6003ac 100644 (file)
@@ -173,7 +173,7 @@ static struct dvb_usb_properties digitv_properties;
 static int digitv_probe(struct usb_interface *intf,
                const struct usb_device_id *id)
 {
-       return dvb_usb_device_init(intf,&digitv_properties,THIS_MODULE);
+       return dvb_usb_device_init(intf,&digitv_properties,THIS_MODULE,NULL);
 }
 
 static struct usb_device_id digitv_table [] = {
index 9d74f48284faf286797a4a7db573218da5c412dc..5aa12ebab34f1cbfffee444ace0a89a4d547734e 100644 (file)
@@ -98,8 +98,8 @@ static struct dvb_usb_properties wt220u_properties;
 static int dtt200u_usb_probe(struct usb_interface *intf,
                const struct usb_device_id *id)
 {
-       if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE) == 0 ||
-               dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE) == 0)
+       if (dvb_usb_device_init(intf,&dtt200u_properties,THIS_MODULE,NULL) == 0 ||
+               dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0)
                return 0;
 
        return -ENODEV;
index 1b978389e4ecbfa0a0f6245f2143fc51d14652f5..0818996bf1507cc032fb5e9e76ec11f72fda5d93 100644 (file)
@@ -27,6 +27,7 @@
 #define USB_VID_KWORLD                                         0xeb2a
 #define USB_VID_KYE                                                    0x0458
 #define USB_VID_MEDION                                         0x1660
+#define USB_VID_PINNACLE                                       0x2304
 #define USB_VID_VISIONPLUS                                     0x13d3
 #define USB_VID_TWINHAN                                                0x1822
 #define USB_VID_ULTIMA_ELECTRONIC                      0x05d8
@@ -88,5 +89,7 @@
 #define USB_PID_MEDION_MD95700                         0x0932
 #define USB_PID_KYE_DVB_T_COLD                         0x701e
 #define USB_PID_KYE_DVB_T_WARM                         0x701f
+#define USB_PID_PCTV_200E                                      0x020e
+#define USB_PID_PCTV_400E                                      0x020f
 
 #endif
index ea1098a6c7a869666bb01650465d44a425af5245..a902059812a2fdc7baf6a8a1de6bc9888fb7253f 100644 (file)
@@ -128,7 +128,9 @@ static struct dvb_usb_device_description * dvb_usb_find_device(struct usb_device
 /*
  * USB
  */
-int dvb_usb_device_init(struct usb_interface *intf, struct dvb_usb_properties *props, struct module *owner)
+
+int dvb_usb_device_init(struct usb_interface *intf, struct dvb_usb_properties
+               *props, struct module *owner,struct dvb_usb_device **du)
 {
        struct usb_device *udev = interface_to_usbdev(intf);
        struct dvb_usb_device *d = NULL;
@@ -170,6 +172,9 @@ int dvb_usb_device_init(struct usb_interface *intf, struct dvb_usb_properties *p
 
                usb_set_intfdata(intf, d);
 
+               if (du != NULL)
+                       *du = d;
+
                ret = dvb_usb_init(d);
        }
 
index a80567caf508aab80da113d31cfb495dc9d72997..0e4f1035b0dd56535407e20417e738fd3162983b 100644 (file)
@@ -127,7 +127,7 @@ struct dvb_usb_device;
  *  helper functions.
  *
  * @urb: describes the kind of USB transfer used for MPEG2-TS-streaming.
- *  Currently only BULK is implemented
+ *  (BULK or ISOC)
  *
  * @num_device_descs: number of struct dvb_usb_device_description in @devices
  * @devices: array of struct dvb_usb_device_description compatibles with these
@@ -310,7 +310,7 @@ struct dvb_usb_device {
        void *priv;
 };
 
-extern int dvb_usb_device_init(struct usb_interface *, struct dvb_usb_properties *, struct module *);
+extern int dvb_usb_device_init(struct usb_interface *, struct dvb_usb_properties *, struct module *, struct dvb_usb_device **);
 extern void dvb_usb_device_exit(struct usb_interface *);
 
 /* the generic read/write method for device control */
index 258a92bfbcc79d354a6ffaaeb8e09be826890c2f..1841a66427bfe550c7ef7d3646b487e24f2c01ce 100644 (file)
@@ -144,7 +144,7 @@ static struct dvb_usb_properties nova_t_properties;
 static int nova_t_probe(struct usb_interface *intf,
                const struct usb_device_id *id)
 {
-       return dvb_usb_device_init(intf,&nova_t_properties,THIS_MODULE);
+       return dvb_usb_device_init(intf,&nova_t_properties,THIS_MODULE,NULL);
 }
 
 /* do not change the order of the ID table */
index 2112ac3cf5e2c35a7059d4fa00594ff397795aba..6fd67657c2693a277567aa95cdd9fee70514b26a 100644 (file)
@@ -77,7 +77,7 @@ static struct dvb_usb_properties umt_properties;
 static int umt_probe(struct usb_interface *intf,
                const struct usb_device_id *id)
 {
-       if (dvb_usb_device_init(intf,&umt_properties,THIS_MODULE) == 0)
+       if (dvb_usb_device_init(intf,&umt_properties,THIS_MODULE,NULL) == 0)
                return 0;
        return -EINVAL;
 }
index 1f5034ca1152cf9aee4723bc36c04556c81c441a..de13c04e8e64ce66b7806e7872fb85da31bfff5b 100644 (file)
@@ -197,7 +197,7 @@ static int vp702x_usb_probe(struct usb_interface *intf,
        usb_clear_halt(udev,usb_sndctrlpipe(udev,0));
        usb_clear_halt(udev,usb_rcvctrlpipe(udev,0));
 
-       return dvb_usb_device_init(intf,&vp702x_properties,THIS_MODULE);
+       return dvb_usb_device_init(intf,&vp702x_properties,THIS_MODULE,NULL);
 }
 
 static struct usb_device_id vp702x_usb_table [] = {
index 9ac95f54f9fc4e45c0e5184332b1896c8857ace3..13406a8da24707eb91f2984d202408058d4f74f2 100644 (file)
@@ -199,7 +199,7 @@ static struct dvb_usb_properties vp7045_properties;
 static int vp7045_usb_probe(struct usb_interface *intf,
                const struct usb_device_id *id)
 {
-       return dvb_usb_device_init(intf,&vp7045_properties,THIS_MODULE);
+       return dvb_usb_device_init(intf,&vp7045_properties,THIS_MODULE,NULL);
 }
 
 static struct usb_device_id vp7045_usb_table [] = {