static int dev_open(struct fp_img_dev *dev, unsigned long driver_data) { vfs301_dev_t *vdev = NULL; int r; /* Claim usb interface */ r = libusb_claim_interface(dev->udev, 0); if (r < 0) { /* Interface not claimed, return error */ fp_err("could not claim interface 0"); return r; } /* Set enroll stage number */ dev->dev->nr_enroll_stages = 1; /* Initialize private structure */ vdev = g_malloc0(sizeof(vfs301_dev_t)); dev->priv = vdev; vdev->scanline_buf = malloc(0); vdev->scanline_count = 0; /* Notify open complete */ fpi_imgdev_open_complete(dev, 0); return 0; }
static int dev_init(struct fp_img_dev *dev, unsigned long driver_data) { /* TODO check that device has endpoints we're using */ int r; struct aesX660_dev *aesdev; r = libusb_claim_interface(dev->udev, 0); if (r < 0) { fp_err("could not claim interface 0"); return r; } dev->priv = aesdev = g_malloc0(sizeof(struct aesX660_dev)); aesdev->buffer = g_malloc0(AES1660_FRAME_SIZE + AESX660_HEADER_SIZE); aesdev->init_seqs[0] = aes1660_init_1; aesdev->init_seqs_len[0] = array_n_elements(aes1660_init_1); aesdev->init_seqs[1] = aes1660_init_2; aesdev->init_seqs_len[1] = array_n_elements(aes1660_init_2); aesdev->start_imaging_cmd = (unsigned char *)aes1660_start_imaging_cmd; aesdev->start_imaging_cmd_len = sizeof(aes1660_start_imaging_cmd); aesdev->frame_width = FRAME_WIDTH; aesdev->extra_img_flags = FP_IMG_PARTIAL; fpi_imgdev_open_complete(dev, 0); return 0; }
static int dev_init(struct fp_img_dev *dev, unsigned long driver_data) { int r; struct aes3k_dev *aesdev; r = libusb_claim_interface(dev->udev, 0); if (r < 0) fp_err("could not claim interface 0"); aesdev = dev->priv = g_malloc0(sizeof(struct aes3k_dev)); if (!aesdev) return -ENOMEM; if (r == 0) aesdev->data_buflen = DATA_BUFLEN; aesdev->frame_width = FRAME_WIDTH; aesdev->frame_size = FRAME_SIZE; aesdev->frame_number = FRAME_NUMBER; aesdev->enlarge_factor = ENLARGE_FACTOR; aesdev->init_reqs = init_reqs; aesdev->init_reqs_len = G_N_ELEMENTS(init_reqs); fpi_imgdev_open_complete(dev, 0); return r; }
static int dev_init(struct fp_img_dev *dev, unsigned long driver_data) { int r; dev->priv = g_malloc0(sizeof(struct v5s_dev)); r = libusb_claim_interface(dev->udev, 0); if (r < 0) fp_err("could not claim interface 0: %s", libusb_error_name(r)); if (r == 0) fpi_imgdev_open_complete(dev, 0); return r; }
static int dev_init(struct fp_img_dev *dev, unsigned long driver_data) { int r; r = libusb_claim_interface(dev->udev, 0); if (r < 0) { fp_err("could not claim interface 0"); return r; } //dev->dev->nr_enroll_stages=3; dev->priv = g_malloc0(sizeof(struct etss801u_dev)); fpi_imgdev_open_complete(dev, 0); return 0; }
static int dev_init(struct fp_img_dev *dev, unsigned long driver_data) { /* TODO check that device has endpoints we're using */ int r; struct upektc_dev *upekdev; r = libusb_claim_interface(dev->udev, 0); if (r < 0) { fp_err("could not claim interface 0: %s", libusb_error_name(r)); return r; } dev->priv = upekdev = g_malloc0(sizeof(struct upektc_dev)); switch (driver_data) { case UPEKTC_2015: upekdev->ep_in = UPEKTC_EP_IN; upekdev->ep_out = UPEKTC_EP_OUT; upekdev->setup_commands = upektc_setup_commands; upekdev->setup_commands_len = array_n_elements(upektc_setup_commands); upekdev->sum_threshold = UPEKTC_SUM_THRESHOLD; break; case UPEKTC_3001: upekdev->ep_in = UPEKET_EP_IN; upekdev->ep_out = UPEKET_EP_OUT; upekdev->setup_commands = upeket_setup_commands; upekdev->setup_commands_len = array_n_elements(upeket_setup_commands); upekdev->sum_threshold = UPEKET_SUM_THRESHOLD; break; default: fp_err("Device variant %d is not known\n", driver_data); g_free(upekdev); dev->priv = NULL; return -ENODEV; break; } fpi_imgdev_open_complete(dev, 0); return 0; }
static int dev_init(struct fp_img_dev *dev, unsigned long driver_data) { /* TODO check that device has endpoints we're using */ int r; struct aesX660_dev *aesdev; r = libusb_claim_interface(dev->udev, 0); if (r < 0) { fp_err("could not claim interface 0"); return r; } dev->priv = aesdev = g_malloc0(sizeof(struct aesX660_dev)); if (!aesdev) return -ENOMEM; aesdev->buffer = g_malloc0(AES2660_FRAME_SIZE + AESX660_HEADER_SIZE); if (!aesdev->buffer) { g_free(aesdev); dev->priv = NULL; return -ENOMEM; } /* No scaling for AES2660 */ aesdev->h_scale_factor = 1; aesdev->init_seqs[0] = aes2660_init_1; aesdev->init_seqs_len[0] = array_n_elements(aes2660_init_1); aesdev->init_seqs[1] = aes2660_init_2; aesdev->init_seqs_len[1] = array_n_elements(aes2660_init_2); aesdev->start_imaging_cmd = (unsigned char *)aes2660_start_imaging_cmd; aesdev->start_imaging_cmd_len = sizeof(aes2660_start_imaging_cmd); aesdev->frame_width = FRAME_WIDTH; fpi_imgdev_open_complete(dev, 0); return 0; }
static void state_init_complete(struct fpi_ssm *ssm) { struct fp_img_dev *dev = ssm->priv; fpi_imgdev_open_complete(dev, 0); fpi_ssm_free(ssm); }