Commit 50e06dee authored by Jean-Francois Moine's avatar Jean-Francois Moine Committed by Mauro Carvalho Chehab

V4L/DVB (10333): gspca - main and many subdrivers: Remove the epaddr variable.

The transfer endpoint address is now automatically chosen.
Signed-off-by: default avatarJean-Francois Moine <moinejf@free.fr>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent afd46291
...@@ -815,7 +815,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -815,7 +815,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
struct cam *cam; struct cam *cam;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
cam->cam_mode = vga_mode; cam->cam_mode = vga_mode;
cam->nmodes = sizeof vga_mode / sizeof vga_mode[0]; cam->nmodes = sizeof vga_mode / sizeof vga_mode[0];
......
...@@ -658,7 +658,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -658,7 +658,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
struct cam *cam; struct cam *cam;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 1;
sd->sensor = id->driver_info; sd->sensor = id->driver_info;
if (sd->sensor == SENSOR_PAS106) { if (sd->sensor == SENSOR_PAS106) {
cam->cam_mode = sif_mode; cam->cam_mode = sif_mode;
......
...@@ -259,7 +259,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -259,7 +259,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
cam->cam_mode = fpix_mode; cam->cam_mode = fpix_mode;
cam->nmodes = 1; cam->nmodes = 1;
cam->epaddr = 0x01; /* todo: correct for all cams? */
cam->bulk_size = FPIX_MAX_TRANSFER; cam->bulk_size = FPIX_MAX_TRANSFER;
/* gspca_dev->nbalt = 1; * use bulk transfer */ /* gspca_dev->nbalt = 1; * use bulk transfer */
...@@ -335,8 +334,7 @@ static int sd_start(struct gspca_dev *gspca_dev) ...@@ -335,8 +334,7 @@ static int sd_start(struct gspca_dev *gspca_dev)
/* Read the result of the command. Ignore the result, for it /* Read the result of the command. Ignore the result, for it
* varies with the device. */ * varies with the device. */
ret = usb_bulk_msg(gspca_dev->dev, ret = usb_bulk_msg(gspca_dev->dev,
usb_rcvbulkpipe(gspca_dev->dev, gspca_dev->urb[0]->pipe,
gspca_dev->cam.epaddr),
gspca_dev->usb_buf, FPIX_MAX_TRANSFER, &size_ret, gspca_dev->usb_buf, FPIX_MAX_TRANSFER, &size_ret,
FPIX_TIMEOUT); FPIX_TIMEOUT);
if (ret != 0) { if (ret != 0) {
...@@ -363,7 +361,7 @@ static int sd_start(struct gspca_dev *gspca_dev) ...@@ -363,7 +361,7 @@ static int sd_start(struct gspca_dev *gspca_dev)
} }
/* Again, reset bulk in endpoint */ /* Again, reset bulk in endpoint */
usb_clear_halt(gspca_dev->dev, gspca_dev->cam.epaddr); usb_clear_halt(gspca_dev->dev, gspca_dev->urb[0]->pipe);
/* Allocate a control URB */ /* Allocate a control URB */
dev->control_urb = usb_alloc_urb(0, GFP_KERNEL); dev->control_urb = usb_alloc_urb(0, GFP_KERNEL);
......
...@@ -439,22 +439,16 @@ static void destroy_urbs(struct gspca_dev *gspca_dev) ...@@ -439,22 +439,16 @@ static void destroy_urbs(struct gspca_dev *gspca_dev)
* look for an input transfer endpoint in an alternate setting * look for an input transfer endpoint in an alternate setting
*/ */
static struct usb_host_endpoint *alt_xfer(struct usb_host_interface *alt, static struct usb_host_endpoint *alt_xfer(struct usb_host_interface *alt,
__u8 epaddr,
__u8 xfer) __u8 xfer)
{ {
struct usb_host_endpoint *ep; struct usb_host_endpoint *ep;
int i, attr; int i, attr;
epaddr |= USB_DIR_IN;
for (i = 0; i < alt->desc.bNumEndpoints; i++) { for (i = 0; i < alt->desc.bNumEndpoints; i++) {
ep = &alt->endpoint[i]; ep = &alt->endpoint[i];
if (ep->desc.bEndpointAddress == epaddr) { attr = ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
attr = ep->desc.bmAttributes if (attr == xfer)
& USB_ENDPOINT_XFERTYPE_MASK; return ep;
if (attr == xfer)
return ep;
break;
}
} }
return NULL; return NULL;
} }
...@@ -480,7 +474,6 @@ static struct usb_host_endpoint *get_ep(struct gspca_dev *gspca_dev) ...@@ -480,7 +474,6 @@ static struct usb_host_endpoint *get_ep(struct gspca_dev *gspca_dev)
/* try isoc */ /* try isoc */
while (--i > 0) { /* alt 0 is unusable */ while (--i > 0) { /* alt 0 is unusable */
ep = alt_xfer(&intf->altsetting[i], ep = alt_xfer(&intf->altsetting[i],
gspca_dev->cam.epaddr,
USB_ENDPOINT_XFER_ISOC); USB_ENDPOINT_XFER_ISOC);
if (ep) if (ep)
break; break;
...@@ -489,7 +482,6 @@ static struct usb_host_endpoint *get_ep(struct gspca_dev *gspca_dev) ...@@ -489,7 +482,6 @@ static struct usb_host_endpoint *get_ep(struct gspca_dev *gspca_dev)
/* if no isoc, try bulk */ /* if no isoc, try bulk */
if (ep == NULL) { if (ep == NULL) {
ep = alt_xfer(&intf->altsetting[0], ep = alt_xfer(&intf->altsetting[0],
gspca_dev->cam.epaddr,
USB_ENDPOINT_XFER_BULK); USB_ENDPOINT_XFER_BULK);
if (ep == NULL) { if (ep == NULL) {
err("no transfer endpoint found"); err("no transfer endpoint found");
...@@ -618,8 +610,7 @@ static int gspca_init_transfer(struct gspca_dev *gspca_dev) ...@@ -618,8 +610,7 @@ static int gspca_init_transfer(struct gspca_dev *gspca_dev)
/* clear the bulk endpoint */ /* clear the bulk endpoint */
if (gspca_dev->alt == 0) /* if bulk transfer */ if (gspca_dev->alt == 0) /* if bulk transfer */
usb_clear_halt(gspca_dev->dev, usb_clear_halt(gspca_dev->dev,
usb_rcvintpipe(gspca_dev->dev, gspca_dev->urb[0]->pipe);
gspca_dev->cam.epaddr));
/* start the cam */ /* start the cam */
ret = gspca_dev->sd_desc->start(gspca_dev); ret = gspca_dev->sd_desc->start(gspca_dev);
......
...@@ -62,7 +62,6 @@ struct cam { ...@@ -62,7 +62,6 @@ struct cam {
* - cannot be > MAX_NURBS * - cannot be > MAX_NURBS
* - when 0 and bulk_size != 0 means * - when 0 and bulk_size != 0 means
* 1 URB and submit done by subdriver */ * 1 URB and submit done by subdriver */
__u8 epaddr;
}; };
struct gspca_dev; struct gspca_dev;
......
...@@ -332,7 +332,6 @@ static int m5602_configure(struct gspca_dev *gspca_dev, ...@@ -332,7 +332,6 @@ static int m5602_configure(struct gspca_dev *gspca_dev,
int err; int err;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = M5602_ISOC_ENDPOINT_ADDR;
sd->desc = &sd_desc; sd->desc = &sd_desc;
if (dump_bridge) if (dump_bridge)
......
...@@ -121,7 +121,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -121,7 +121,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
struct cam *cam; struct cam *cam;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
cam->cam_mode = vga_mode; cam->cam_mode = vga_mode;
cam->nmodes = ARRAY_SIZE(vga_mode); cam->nmodes = ARRAY_SIZE(vga_mode);
sd->qindex = 1; /* set the quantization table */ sd->qindex = 1; /* set the quantization table */
......
...@@ -1360,7 +1360,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -1360,7 +1360,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
} }
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = OV511_ENDPOINT_ADDRESS;
if (!sd->sif) { if (!sd->sif) {
cam->cam_mode = vga_mode; cam->cam_mode = vga_mode;
cam->nmodes = ARRAY_SIZE(vga_mode); cam->nmodes = ARRAY_SIZE(vga_mode);
......
...@@ -379,7 +379,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -379,7 +379,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
cam->cam_mode = vga_mode; cam->cam_mode = vga_mode;
cam->nmodes = ARRAY_SIZE(vga_mode); cam->nmodes = ARRAY_SIZE(vga_mode);
......
...@@ -256,7 +256,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -256,7 +256,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
" (vid/pid 0x%04X:0x%04X)", id->idVendor, id->idProduct); " (vid/pid 0x%04X:0x%04X)", id->idVendor, id->idProduct);
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x05;
cam->cam_mode = sif_mode; cam->cam_mode = sif_mode;
cam->nmodes = ARRAY_SIZE(sif_mode); cam->nmodes = ARRAY_SIZE(sif_mode);
sd->brightness = PAC207_BRIGHTNESS_DEFAULT; sd->brightness = PAC207_BRIGHTNESS_DEFAULT;
......
...@@ -498,7 +498,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -498,7 +498,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
struct cam *cam; struct cam *cam;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x05;
sd->sensor = id->driver_info; sd->sensor = id->driver_info;
if (sd->sensor == SENSOR_PAC7302) { if (sd->sensor == SENSOR_PAC7302) {
......
...@@ -870,7 +870,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -870,7 +870,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
gspca_dev->ctrl_dis = sensor_data[sd->sensor].ctrl_dis; gspca_dev->ctrl_dis = sensor_data[sd->sensor].ctrl_dis;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
if (!(sensor_data[sd->sensor].flags & F_SIF)) { if (!(sensor_data[sd->sensor].flags & F_SIF)) {
cam->cam_mode = vga_mode; cam->cam_mode = vga_mode;
cam->nmodes = ARRAY_SIZE(vga_mode); cam->nmodes = ARRAY_SIZE(vga_mode);
......
...@@ -1018,7 +1018,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -1018,7 +1018,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
struct cam *cam; struct cam *cam;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
cam->cam_mode = vga_mode; cam->cam_mode = vga_mode;
cam->nmodes = ARRAY_SIZE(vga_mode); cam->nmodes = ARRAY_SIZE(vga_mode);
......
...@@ -629,7 +629,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -629,7 +629,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
struct cam *cam; struct cam *cam;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
sd->subtype = id->driver_info; sd->subtype = id->driver_info;
if (sd->subtype != LogitechClickSmart310) { if (sd->subtype != LogitechClickSmart310) {
cam->cam_mode = vga_mode; cam->cam_mode = vga_mode;
......
...@@ -1934,7 +1934,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -1934,7 +1934,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
struct cam *cam; struct cam *cam;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
cam->cam_mode = vga_mode; cam->cam_mode = vga_mode;
cam->nmodes = sizeof vga_mode / sizeof vga_mode[0]; cam->nmodes = sizeof vga_mode / sizeof vga_mode[0];
sd->subtype = id->driver_info; sd->subtype = id->driver_info;
......
...@@ -636,7 +636,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -636,7 +636,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
struct cam *cam; struct cam *cam;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
cam->cam_mode = vga_mode; cam->cam_mode = vga_mode;
sd->subtype = id->driver_info; sd->subtype = id->driver_info;
if (sd->subtype != IntelPCCameraPro) if (sd->subtype != IntelPCCameraPro)
......
...@@ -303,7 +303,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -303,7 +303,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
struct cam *cam; struct cam *cam;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
cam->cam_mode = vga_mode; cam->cam_mode = vga_mode;
cam->nmodes = sizeof vga_mode / sizeof vga_mode[0]; cam->nmodes = sizeof vga_mode / sizeof vga_mode[0];
sd->brightness = sd_ctrls[SD_BRIGHTNESS].qctrl.default_value; sd->brightness = sd_ctrls[SD_BRIGHTNESS].qctrl.default_value;
......
...@@ -1487,7 +1487,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -1487,7 +1487,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
PDEBUG(D_PROBE, "Window 1 average luminance: %d", data1); PDEBUG(D_PROBE, "Window 1 average luminance: %d", data1);
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
cam->cam_mode = sif_mode; cam->cam_mode = sif_mode;
cam->nmodes = ARRAY_SIZE(sif_mode); cam->nmodes = ARRAY_SIZE(sif_mode);
......
...@@ -541,7 +541,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -541,7 +541,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
} }
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
gspca_dev->nbalt = 7 + 1; /* choose alternate 7 first */ gspca_dev->nbalt = 7 + 1; /* choose alternate 7 first */
sd->chip_revision = id->driver_info; sd->chip_revision = id->driver_info;
......
...@@ -180,7 +180,7 @@ static int rcv_val(struct gspca_dev *gspca_dev, ...@@ -180,7 +180,7 @@ static int rcv_val(struct gspca_dev *gspca_dev,
reg_w(gspca_dev, 0x63b, 0); reg_w(gspca_dev, 0x63b, 0);
reg_w(gspca_dev, 0x630, 5); reg_w(gspca_dev, 0x630, 5);
ret = usb_bulk_msg(dev, ret = usb_bulk_msg(dev,
usb_rcvbulkpipe(dev, 5), usb_rcvbulkpipe(dev, 0x05),
gspca_dev->usb_buf, gspca_dev->usb_buf,
4, /* length */ 4, /* length */
&alen, &alen,
...@@ -294,9 +294,7 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -294,9 +294,7 @@ static int sd_config(struct gspca_dev *gspca_dev,
const struct usb_device_id *id) const struct usb_device_id *id)
{ {
struct sd *sd = (struct sd *) gspca_dev; struct sd *sd = (struct sd *) gspca_dev;
struct cam *cam = &gspca_dev->cam;
cam->epaddr = 0x02;
gspca_dev->cam.cam_mode = vga_mode; gspca_dev->cam.cam_mode = vga_mode;
gspca_dev->cam.nmodes = ARRAY_SIZE(vga_mode); gspca_dev->cam.nmodes = ARRAY_SIZE(vga_mode);
sd->brightness = BRIGHTNESS_DEF; sd->brightness = BRIGHTNESS_DEF;
......
...@@ -429,7 +429,6 @@ static int stv06xx_config(struct gspca_dev *gspca_dev, ...@@ -429,7 +429,6 @@ static int stv06xx_config(struct gspca_dev *gspca_dev,
PDEBUG(D_PROBE, "Configuring camera"); PDEBUG(D_PROBE, "Configuring camera");
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = STV_ISOC_ENDPOINT_ADDR;
sd->desc = sd_desc; sd->desc = sd_desc;
gspca_dev->sd_desc = &sd->desc; gspca_dev->sd_desc = &sd->desc;
......
...@@ -812,7 +812,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -812,7 +812,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
struct cam *cam; struct cam *cam;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
sd->bridge = id->driver_info >> 8; sd->bridge = id->driver_info >> 8;
sd->subtype = id->driver_info; sd->subtype = id->driver_info;
......
...@@ -538,7 +538,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -538,7 +538,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
struct cam *cam; struct cam *cam;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
cam->cam_mode = vga_mode_t16; cam->cam_mode = vga_mode_t16;
cam->nmodes = ARRAY_SIZE(vga_mode_t16); cam->nmodes = ARRAY_SIZE(vga_mode_t16);
......
...@@ -241,7 +241,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -241,7 +241,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
tv_8532WriteEEprom(gspca_dev); tv_8532WriteEEprom(gspca_dev);
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 1;
cam->cam_mode = sif_mode; cam->cam_mode = sif_mode;
cam->nmodes = sizeof sif_mode / sizeof sif_mode[0]; cam->nmodes = sizeof sif_mode / sizeof sif_mode[0];
......
...@@ -1979,7 +1979,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -1979,7 +1979,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
int sensor; int sensor;
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x02;
sd->bridge = id->driver_info; sd->bridge = id->driver_info;
vc0321_reset(gspca_dev); vc0321_reset(gspca_dev);
......
...@@ -7147,7 +7147,6 @@ static int sd_config(struct gspca_dev *gspca_dev, ...@@ -7147,7 +7147,6 @@ static int sd_config(struct gspca_dev *gspca_dev,
} }
cam = &gspca_dev->cam; cam = &gspca_dev->cam;
cam->epaddr = 0x01;
/*fixme:test*/ /*fixme:test*/
gspca_dev->nbalt--; gspca_dev->nbalt--;
if (vga) { if (vga) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment