[PATCH] dvb: usb: core: change dvb_usb_device_init() API
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>
This commit is contained in:
parent
62703b9d72
commit
47dc3d688d
@ -90,7 +90,7 @@ static struct dvb_usb_properties a800_properties;
|
|||||||
static int a800_probe(struct usb_interface *intf,
|
static int a800_probe(struct usb_interface *intf,
|
||||||
const struct usb_device_id *id)
|
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 */
|
/* do not change the order of the ID table */
|
||||||
|
@ -211,7 +211,7 @@ static struct dvb_usb_properties cxusb_properties;
|
|||||||
static int cxusb_probe(struct usb_interface *intf,
|
static int cxusb_probe(struct usb_interface *intf,
|
||||||
const struct usb_device_id *id)
|
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 [] = {
|
static struct usb_device_id cxusb_table [] = {
|
||||||
|
@ -86,9 +86,9 @@ static struct dvb_usb_properties dibusb2_0b_properties;
|
|||||||
static int dibusb_probe(struct usb_interface *intf,
|
static int dibusb_probe(struct usb_interface *intf,
|
||||||
const struct usb_device_id *id)
|
const struct usb_device_id *id)
|
||||||
{
|
{
|
||||||
if (dvb_usb_device_init(intf,&dibusb1_1_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) == 0 ||
|
dvb_usb_device_init(intf,&dibusb1_1_an2235_properties,THIS_MODULE,NULL) == 0 ||
|
||||||
dvb_usb_device_init(intf,&dibusb2_0b_properties,THIS_MODULE) == 0)
|
dvb_usb_device_init(intf,&dibusb2_0b_properties,THIS_MODULE,NULL) == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
@ -20,7 +20,7 @@ static struct dvb_usb_properties dibusb_mc_properties;
|
|||||||
static int dibusb_mc_probe(struct usb_interface *intf,
|
static int dibusb_mc_probe(struct usb_interface *intf,
|
||||||
const struct usb_device_id *id)
|
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 */
|
/* do not change the order of the ID table */
|
||||||
|
@ -173,7 +173,7 @@ static struct dvb_usb_properties digitv_properties;
|
|||||||
static int digitv_probe(struct usb_interface *intf,
|
static int digitv_probe(struct usb_interface *intf,
|
||||||
const struct usb_device_id *id)
|
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 [] = {
|
static struct usb_device_id digitv_table [] = {
|
||||||
|
@ -98,8 +98,8 @@ static struct dvb_usb_properties wt220u_properties;
|
|||||||
static int dtt200u_usb_probe(struct usb_interface *intf,
|
static int dtt200u_usb_probe(struct usb_interface *intf,
|
||||||
const struct usb_device_id *id)
|
const struct usb_device_id *id)
|
||||||
{
|
{
|
||||||
if (dvb_usb_device_init(intf,&dtt200u_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) == 0)
|
dvb_usb_device_init(intf,&wt220u_properties,THIS_MODULE,NULL) == 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
@ -27,6 +27,7 @@
|
|||||||
#define USB_VID_KWORLD 0xeb2a
|
#define USB_VID_KWORLD 0xeb2a
|
||||||
#define USB_VID_KYE 0x0458
|
#define USB_VID_KYE 0x0458
|
||||||
#define USB_VID_MEDION 0x1660
|
#define USB_VID_MEDION 0x1660
|
||||||
|
#define USB_VID_PINNACLE 0x2304
|
||||||
#define USB_VID_VISIONPLUS 0x13d3
|
#define USB_VID_VISIONPLUS 0x13d3
|
||||||
#define USB_VID_TWINHAN 0x1822
|
#define USB_VID_TWINHAN 0x1822
|
||||||
#define USB_VID_ULTIMA_ELECTRONIC 0x05d8
|
#define USB_VID_ULTIMA_ELECTRONIC 0x05d8
|
||||||
@ -88,5 +89,7 @@
|
|||||||
#define USB_PID_MEDION_MD95700 0x0932
|
#define USB_PID_MEDION_MD95700 0x0932
|
||||||
#define USB_PID_KYE_DVB_T_COLD 0x701e
|
#define USB_PID_KYE_DVB_T_COLD 0x701e
|
||||||
#define USB_PID_KYE_DVB_T_WARM 0x701f
|
#define USB_PID_KYE_DVB_T_WARM 0x701f
|
||||||
|
#define USB_PID_PCTV_200E 0x020e
|
||||||
|
#define USB_PID_PCTV_400E 0x020f
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -128,7 +128,9 @@ static struct dvb_usb_device_description * dvb_usb_find_device(struct usb_device
|
|||||||
/*
|
/*
|
||||||
* USB
|
* 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 usb_device *udev = interface_to_usbdev(intf);
|
||||||
struct dvb_usb_device *d = NULL;
|
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);
|
usb_set_intfdata(intf, d);
|
||||||
|
|
||||||
|
if (du != NULL)
|
||||||
|
*du = d;
|
||||||
|
|
||||||
ret = dvb_usb_init(d);
|
ret = dvb_usb_init(d);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -127,7 +127,7 @@ struct dvb_usb_device;
|
|||||||
* helper functions.
|
* helper functions.
|
||||||
*
|
*
|
||||||
* @urb: describes the kind of USB transfer used for MPEG2-TS-streaming.
|
* @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
|
* @num_device_descs: number of struct dvb_usb_device_description in @devices
|
||||||
* @devices: array of struct dvb_usb_device_description compatibles with these
|
* @devices: array of struct dvb_usb_device_description compatibles with these
|
||||||
@ -310,7 +310,7 @@ struct dvb_usb_device {
|
|||||||
void *priv;
|
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 *);
|
extern void dvb_usb_device_exit(struct usb_interface *);
|
||||||
|
|
||||||
/* the generic read/write method for device control */
|
/* the generic read/write method for device control */
|
||||||
|
@ -144,7 +144,7 @@ static struct dvb_usb_properties nova_t_properties;
|
|||||||
static int nova_t_probe(struct usb_interface *intf,
|
static int nova_t_probe(struct usb_interface *intf,
|
||||||
const struct usb_device_id *id)
|
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 */
|
/* do not change the order of the ID table */
|
||||||
|
@ -77,7 +77,7 @@ static struct dvb_usb_properties umt_properties;
|
|||||||
static int umt_probe(struct usb_interface *intf,
|
static int umt_probe(struct usb_interface *intf,
|
||||||
const struct usb_device_id *id)
|
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 0;
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
@ -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_sndctrlpipe(udev,0));
|
||||||
usb_clear_halt(udev,usb_rcvctrlpipe(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 [] = {
|
static struct usb_device_id vp702x_usb_table [] = {
|
||||||
|
@ -199,7 +199,7 @@ static struct dvb_usb_properties vp7045_properties;
|
|||||||
static int vp7045_usb_probe(struct usb_interface *intf,
|
static int vp7045_usb_probe(struct usb_interface *intf,
|
||||||
const struct usb_device_id *id)
|
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 [] = {
|
static struct usb_device_id vp7045_usb_table [] = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user