static int generic_probe(struct usb_device *udev)
{
    int err, c;

    /* Choose and set the configuration.  This registers the interfaces
     * with the driver core and lets interface drivers bind to them.
     */
    if (udev->authorized == 0)
        dev_err(&udev->dev, "Device is not authorized for usage\n");
    else {
        c = usb_choose_configuration(udev);
        if (c >= 0) {
            err = usb_set_configuration(udev, c);
            if (err) {
                dev_err(&udev->dev, "can't set config #%d, error %d\n",
                        c, err);
                /* This need not be fatal.  The user can try to
                 * set other configurations. */
            }
        }
    }
    /* USB device state == configured ... usable */
    usb_notify_add_device(udev);

    return 0;
}
Exemple #2
0
static int generic_probe(struct usb_device *udev)
{
	int err, c;

	/* Choose and set the configuration.  This registers the interfaces
	 * with the driver core and lets interface drivers bind to them.
	 */
	if (udev->authorized == 0)
		dev_err(&udev->dev, "Device is not authorized for usage\n");
	else {
		c = usb_choose_configuration(udev);
		if (c >= 0) {
			err = usb_set_configuration(udev, c);
			if (err) {
				dev_err(&udev->dev, "can't set config #%d, error %d\n",
					c, err);
				/* This need not be fatal.  The user can try to
				 * set other configurations. */
			}
		}
	}
	
//>> [CTFN-SYS-032-6] kewei lai : Support the second USB LED	
		if(udev->portnum == 2)
			usb2_status = kLedStateOn;
	
		if(udev->portnum == 1)
			usb1_status = kLedStateOn;
	
//<< [CTFN-SYS-032-6] End
	/* USB device state == configured ... usable */
	usb_notify_add_device(udev);

	return 0;
}
static int generic_probe(struct usb_device *udev)
{
	int err, c;

	/* put device-specific files into sysfs */
	usb_create_sysfs_dev_files(udev);

	/* Choose and set the configuration.  This registers the interfaces
	 * with the driver core and lets interface drivers bind to them.
	 */
	c = choose_configuration(udev);
	if (c >= 0) {
		err = usb_set_configuration(udev, c);
		if (err) {
			dev_err(&udev->dev, "can't set config #%d, error %d\n",
					c, err);
			/* This need not be fatal.  The user can try to
			 * set other configurations. */
		}
	}

	/* USB device state == configured ... usable */
	usb_notify_add_device(udev);

	return 0;
}
static int generic_probe(struct usb_device *udev)
{
	int err, c;

        printk("[K] generic probe:%d, %d, %d\n", g3_flag, probe_count, g3_plug_flag);      // tmp test

	/* probe_count: ignore first insmod */
        if((g3_flag == 1) && (probe_count > 0))
        {
        	if(g3_plug_flag == 0)
        	{
			printk("[K] send rc 3g on\n");	// tmp test
                	g3_plug_flag = 1;
                	usb_plug_flag = G3_PLUG_ON;        // ASUS PLUG
                	kill_proc(1, SIGTTIN, 1);
        	}
		else
			printk("[K] ignore send 3g on\n");	// tmp test
        }

	if(probe_count < 128)
		++probe_count;

	/* put device-specific files into sysfs */
	usb_create_sysfs_dev_files(udev);

	/* Choose and set the configuration.  This registers the interfaces
	 * with the driver core and lets interface drivers bind to them.
	 */
	c = choose_configuration(udev);
	if (c >= 0) {
		err = usb_set_configuration(udev, c);
		if (err) {
			dev_err(&udev->dev, "can't set config #%d, error %d\n",
					c, err);
			/* This need not be fatal.  The user can try to
			 * set other configurations. */
		}
	}

	/* USB device state == configured ... usable */
	usb_notify_add_device(udev);

	return 0;
}