Lines Matching refs:dev

63 #define ftip_command(dev, command, value, index) \  argument
64 usb_control_msg (dev->udev, usb_sndctrlpipe (dev->udev, 0), command, \
129 static int idmouse_create_image(struct usb_idmouse *dev) in idmouse_create_image() argument
135 memcpy(dev->bulk_in_buffer, HEADER, sizeof(HEADER)-1); in idmouse_create_image()
139 result = ftip_command(dev, FTIP_RELEASE, 0, 0); in idmouse_create_image()
142 result = ftip_command(dev, FTIP_BLINK, 1, 0); in idmouse_create_image()
148 result = ftip_command(dev, FTIP_ACQUIRE, 0, 0); in idmouse_create_image()
151 result = ftip_command(dev, FTIP_ACQUIRE, 0, 0); in idmouse_create_image()
157 result = ftip_command(dev, FTIP_RESET, 0, 0); in idmouse_create_image()
160 result = ftip_command(dev, FTIP_RESET, 0, 0); in idmouse_create_image()
166 result = usb_bulk_msg (dev->udev, in idmouse_create_image()
167 usb_rcvbulkpipe (dev->udev, dev->bulk_in_endpointAddr), in idmouse_create_image()
168 dev->bulk_in_buffer + bytes_read, in idmouse_create_image()
169 dev->bulk_in_size, &bulk_read, 5000); in idmouse_create_image()
173 if (dev->bulk_in_size != dev->orig_bi_size) { in idmouse_create_image()
174 dev->bulk_in_size = dev->orig_bi_size; in idmouse_create_image()
188 ftip_command(dev, FTIP_RELEASE, 0, 0); in idmouse_create_image()
193 if (dev->bulk_in_buffer[bytes_read] != 0x00) in idmouse_create_image()
198 if (dev->bulk_in_buffer[bytes_read] != 0xFF) in idmouse_create_image()
202 dev_dbg(&dev->interface->dev, "read %d bytes fingerprint data\n", in idmouse_create_image()
218 static inline void idmouse_delete(struct usb_idmouse *dev) in idmouse_delete() argument
220 kfree(dev->bulk_in_buffer); in idmouse_delete()
221 kfree(dev); in idmouse_delete()
226 struct usb_idmouse *dev; in idmouse_open() local
237 dev = usb_get_intfdata(interface); in idmouse_open()
238 if (!dev) { in idmouse_open()
244 mutex_lock(&dev->lock); in idmouse_open()
248 if (dev->open) { in idmouse_open()
259 result = idmouse_create_image (dev); in idmouse_open()
265 ++dev->open; in idmouse_open()
268 file->private_data = dev; in idmouse_open()
275 mutex_unlock(&dev->lock); in idmouse_open()
281 struct usb_idmouse *dev; in idmouse_release() local
283 dev = file->private_data; in idmouse_release()
285 if (dev == NULL) in idmouse_release()
290 mutex_lock(&dev->lock); in idmouse_release()
293 if (dev->open <= 0) { in idmouse_release()
294 mutex_unlock(&dev->lock); in idmouse_release()
299 --dev->open; in idmouse_release()
301 if (!dev->present) { in idmouse_release()
303 mutex_unlock(&dev->lock); in idmouse_release()
305 idmouse_delete(dev); in idmouse_release()
307 mutex_unlock(&dev->lock); in idmouse_release()
316 struct usb_idmouse *dev = file->private_data; in idmouse_read() local
320 mutex_lock(&dev->lock); in idmouse_read()
323 if (!dev->present) { in idmouse_read()
324 mutex_unlock(&dev->lock); in idmouse_read()
329 dev->bulk_in_buffer, IMGSIZE); in idmouse_read()
331 mutex_unlock(&dev->lock); in idmouse_read()
339 struct usb_idmouse *dev; in idmouse_probe() local
350 dev = kzalloc(sizeof(*dev), GFP_KERNEL); in idmouse_probe()
351 if (dev == NULL) in idmouse_probe()
354 mutex_init(&dev->lock); in idmouse_probe()
355 dev->udev = udev; in idmouse_probe()
356 dev->interface = interface; in idmouse_probe()
360 if (!dev->bulk_in_endpointAddr && usb_endpoint_is_bulk_in(endpoint)) { in idmouse_probe()
362 dev->orig_bi_size = usb_endpoint_maxp(endpoint); in idmouse_probe()
363 dev->bulk_in_size = 0x200; /* works _much_ faster */ in idmouse_probe()
364 dev->bulk_in_endpointAddr = endpoint->bEndpointAddress; in idmouse_probe()
365 dev->bulk_in_buffer = in idmouse_probe()
366 kmalloc(IMGSIZE + dev->bulk_in_size, GFP_KERNEL); in idmouse_probe()
368 if (!dev->bulk_in_buffer) { in idmouse_probe()
369 dev_err(&interface->dev, "Unable to allocate input buffer.\n"); in idmouse_probe()
370 idmouse_delete(dev); in idmouse_probe()
375 if (!(dev->bulk_in_endpointAddr)) { in idmouse_probe()
376 dev_err(&interface->dev, "Unable to find bulk-in endpoint.\n"); in idmouse_probe()
377 idmouse_delete(dev); in idmouse_probe()
381 dev->present = 1; in idmouse_probe()
384 usb_set_intfdata(interface, dev); in idmouse_probe()
388 dev_err(&interface->dev, "Unable to allocate minor number.\n"); in idmouse_probe()
390 idmouse_delete(dev); in idmouse_probe()
395 dev_info(&interface->dev,"%s now attached\n",DRIVER_DESC); in idmouse_probe()
402 struct usb_idmouse *dev; in idmouse_disconnect() local
405 dev = usb_get_intfdata(interface); in idmouse_disconnect()
413 mutex_lock(&dev->lock); in idmouse_disconnect()
417 dev->present = 0; in idmouse_disconnect()
420 if (!dev->open) { in idmouse_disconnect()
421 mutex_unlock(&dev->lock); in idmouse_disconnect()
422 idmouse_delete(dev); in idmouse_disconnect()
425 mutex_unlock(&dev->lock); in idmouse_disconnect()
428 dev_info(&interface->dev, "disconnected\n"); in idmouse_disconnect()