Lines Matching refs:dev

58 #define ftip_command(dev, command, value, index) \  argument
59 usb_control_msg(dev->udev, usb_sndctrlpipe(dev->udev, 0), command, \
123 static int idmouse_create_image(struct usb_idmouse *dev) in idmouse_create_image() argument
129 memcpy(dev->bulk_in_buffer, HEADER, sizeof(HEADER)-1); in idmouse_create_image()
133 result = ftip_command(dev, FTIP_RELEASE, 0, 0); in idmouse_create_image()
136 result = ftip_command(dev, FTIP_BLINK, 1, 0); in idmouse_create_image()
142 result = ftip_command(dev, FTIP_ACQUIRE, 0, 0); in idmouse_create_image()
145 result = ftip_command(dev, FTIP_ACQUIRE, 0, 0); in idmouse_create_image()
151 result = ftip_command(dev, FTIP_RESET, 0, 0); in idmouse_create_image()
154 result = ftip_command(dev, FTIP_RESET, 0, 0); in idmouse_create_image()
160 result = usb_bulk_msg(dev->udev, in idmouse_create_image()
161 usb_rcvbulkpipe(dev->udev, dev->bulk_in_endpointAddr), in idmouse_create_image()
162 dev->bulk_in_buffer + bytes_read, in idmouse_create_image()
163 dev->bulk_in_size, &bulk_read, 5000); in idmouse_create_image()
167 if (dev->bulk_in_size != dev->orig_bi_size) { in idmouse_create_image()
168 dev->bulk_in_size = dev->orig_bi_size; in idmouse_create_image()
183 if (dev->bulk_in_buffer[bytes_read] != 0x00) in idmouse_create_image()
188 if (dev->bulk_in_buffer[bytes_read] != 0xFF) in idmouse_create_image()
193 ftip_command(dev, FTIP_RELEASE, 0, 0); in idmouse_create_image()
196 dev_dbg(&dev->interface->dev, "read %d bytes fingerprint data\n", in idmouse_create_image()
212 static inline void idmouse_delete(struct usb_idmouse *dev) in idmouse_delete() argument
214 kfree(dev->bulk_in_buffer); in idmouse_delete()
215 kfree(dev); in idmouse_delete()
220 struct usb_idmouse *dev; in idmouse_open() local
230 dev = usb_get_intfdata(interface); in idmouse_open()
231 if (!dev) in idmouse_open()
235 mutex_lock(&dev->lock); in idmouse_open()
238 if (dev->open) { in idmouse_open()
249 result = idmouse_create_image(dev); in idmouse_open()
255 ++dev->open; in idmouse_open()
258 file->private_data = dev; in idmouse_open()
265 mutex_unlock(&dev->lock); in idmouse_open()
271 struct usb_idmouse *dev; in idmouse_release() local
273 dev = file->private_data; in idmouse_release()
275 if (dev == NULL) in idmouse_release()
279 mutex_lock(&dev->lock); in idmouse_release()
281 --dev->open; in idmouse_release()
283 if (!dev->present) { in idmouse_release()
285 mutex_unlock(&dev->lock); in idmouse_release()
286 idmouse_delete(dev); in idmouse_release()
288 mutex_unlock(&dev->lock); in idmouse_release()
296 struct usb_idmouse *dev = file->private_data; in idmouse_read() local
300 mutex_lock(&dev->lock); in idmouse_read()
303 if (!dev->present) { in idmouse_read()
304 mutex_unlock(&dev->lock); in idmouse_read()
309 dev->bulk_in_buffer, IMGSIZE); in idmouse_read()
311 mutex_unlock(&dev->lock); in idmouse_read()
319 struct usb_idmouse *dev; in idmouse_probe() local
333 dev = kzalloc(sizeof(*dev), GFP_KERNEL); in idmouse_probe()
334 if (dev == NULL) in idmouse_probe()
337 mutex_init(&dev->lock); in idmouse_probe()
338 dev->udev = udev; in idmouse_probe()
339 dev->interface = interface; in idmouse_probe()
344 dev_err(&interface->dev, "Unable to find bulk-in endpoint.\n"); in idmouse_probe()
345 idmouse_delete(dev); in idmouse_probe()
349 dev->orig_bi_size = usb_endpoint_maxp(endpoint); in idmouse_probe()
350 dev->bulk_in_size = 0x200; /* works _much_ faster */ in idmouse_probe()
351 dev->bulk_in_endpointAddr = endpoint->bEndpointAddress; in idmouse_probe()
352 dev->bulk_in_buffer = kmalloc(IMGSIZE + dev->bulk_in_size, GFP_KERNEL); in idmouse_probe()
353 if (!dev->bulk_in_buffer) { in idmouse_probe()
354 idmouse_delete(dev); in idmouse_probe()
359 dev->present = 1; in idmouse_probe()
362 usb_set_intfdata(interface, dev); in idmouse_probe()
366 dev_err(&interface->dev, "Unable to allocate minor number.\n"); in idmouse_probe()
367 idmouse_delete(dev); in idmouse_probe()
372 dev_info(&interface->dev,"%s now attached\n",DRIVER_DESC); in idmouse_probe()
379 struct usb_idmouse *dev = usb_get_intfdata(interface); in idmouse_disconnect() local
385 mutex_lock(&dev->lock); in idmouse_disconnect()
388 dev->present = 0; in idmouse_disconnect()
391 if (!dev->open) { in idmouse_disconnect()
392 mutex_unlock(&dev->lock); in idmouse_disconnect()
393 idmouse_delete(dev); in idmouse_disconnect()
396 mutex_unlock(&dev->lock); in idmouse_disconnect()
399 dev_info(&interface->dev, "disconnected\n"); in idmouse_disconnect()