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; }
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; }