static int maemo_do_config(struct usb_configuration *c)
{
	int ret;

	ret = rndis_bind_config(c, hostaddr);
	if (ret < 0)
		return ret;

	ret = diag_function_add(c);
	if (ret < 0)
		return ret;

	ret = gser_bind_config(c, 0);
	if (ret < 0)
		return ret;

	ret = gser_bind_config(c, 1);
	if (ret < 0)
		return ret;

	ret = rmnet_function_add(c);
	if (ret < 0)
		return ret;

	ret = fsg_add(c->cdev, c, fsg_common);
	if (ret < 0)
		return ret;

	return 0;
}
static int __init serial_bind_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
			status = gser_bind_config(c, i);
	}
	return status;
}
Exemple #3
0
int fserial_modem_bind_config(struct usb_configuration *c)
{
	int ret;

	/* See if composite driver can allocate
	 * serial ports. But for now allocate
	 * two ports for modem and nmea.
	 */
	ret = gport_setup(c);

	if (ret)
		return ret;
	return gser_bind_config(c, 0);
}
Exemple #4
0
static int serial_bind_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);
#ifdef HAVE_OBEX
		else if (use_obex)
			status = obex_bind_config(c, i);
#endif
		else
			status = gser_bind_config(c, i);
	}
	return status;
}
static int diag_function_bind_config(struct android_usb_function *f, struct usb_configuration *c)
{
	pr_info("android_usb: enter %s\n", __func__);
	return gser_bind_config(c, PORT_NUM_DIAG);
}
Exemple #6
0
int fserial_nmea_bind_config(struct usb_configuration *c)
{
	return gser_bind_config(c, 1);
}
Exemple #7
0
int gser_function_add(struct usb_configuration *c, u8 port_num)
{
    return gser_bind_config(c, port_num);
}