Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 354643
b: refs/heads/master
c: 48177cd
h: refs/heads/master
i:
  354641: 75570bb
  354639: e600ee8
v: v3
  • Loading branch information
Sebastian Andrzej Siewior authored and Felipe Balbi committed Jan 21, 2013
1 parent 0092caa commit 4417c37
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 05c062c571ee19f08deb1c12fc2dd14b92f89eb8
refs/heads/master: 48177cd83792d25a5bab7f887acc47c2c314810e
43 changes: 32 additions & 11 deletions trunk/drivers/usb/gadget/serial.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,19 +129,33 @@ MODULE_PARM_DESC(n_ports, "number of ports to create, default=1");

/*-------------------------------------------------------------------------*/

static int __init serial_bind_config(struct usb_configuration *c)
static int __init serial_bind_acm_config(struct usb_configuration *c)
{
unsigned i;
int status = 0;

for (i = 0; i < n_ports && status == 0; i++) {
if (use_acm)
status = acm_bind_config(c, i);
else if (use_obex)
status = obex_bind_config(c, i);
else
status = gser_bind_config(c, i);
}
for (i = 0; i < n_ports && status == 0; i++)
status = acm_bind_config(c, i);
return status;
}

static int __init serial_bind_obex_config(struct usb_configuration *c)
{
unsigned i;
int status = 0;

for (i = 0; i < n_ports && status == 0; i++)
status = obex_bind_config(c, i);
return status;
}

static int __init serial_bind_gser_config(struct usb_configuration *c)
{
unsigned i;
int status = 0;

for (i = 0; i < n_ports && status == 0; i++)
status = gser_bind_config(c, i);
return status;
}

Expand Down Expand Up @@ -178,8 +192,15 @@ static int __init gs_bind(struct usb_composite_dev *cdev)
}

/* register our configuration */
status = usb_add_config(cdev, &serial_config_driver,
serial_bind_config);
if (use_acm)
status = usb_add_config(cdev, &serial_config_driver,
serial_bind_acm_config);
else if (use_obex)
status = usb_add_config(cdev, &serial_config_driver,
serial_bind_obex_config);
else
status = usb_add_config(cdev, &serial_config_driver,
serial_bind_gser_config);
if (status < 0)
goto fail;

Expand Down

0 comments on commit 4417c37

Please sign in to comment.