Lines Matching refs:sony_laptop_input
199 static struct sony_laptop_input_s sony_laptop_input = {
357 spin_lock_irqsave(&sony_laptop_input.fifo_lock, flags);
359 if (kfifo_out(&sony_laptop_input.fifo,
366 if (kfifo_len(&sony_laptop_input.fifo) != 0)
367 mod_timer(&sony_laptop_input.release_key_timer,
370 spin_unlock_irqrestore(&sony_laptop_input.fifo_lock, flags);
376 struct input_dev *jog_dev = sony_laptop_input.jog_dev;
377 struct input_dev *key_dev = sony_laptop_input.key_dev;
430 kfifo_in_locked(&sony_laptop_input.fifo,
432 &sony_laptop_input.fifo_lock);
433 mod_timer(&sony_laptop_input.release_key_timer,
447 if (atomic_add_return(1, &sony_laptop_input.users) > 1)
451 spin_lock_init(&sony_laptop_input.fifo_lock);
452 error = kfifo_alloc(&sony_laptop_input.fifo,
459 timer_setup(&sony_laptop_input.release_key_timer,
489 sony_laptop_input.key_dev = key_dev;
510 sony_laptop_input.jog_dev = jog_dev;
526 kfifo_free(&sony_laptop_input.fifo);
529 atomic_dec(&sony_laptop_input.users);
538 if (!atomic_dec_and_test(&sony_laptop_input.users))
541 del_timer_sync(&sony_laptop_input.release_key_timer);
547 while (kfifo_out(&sony_laptop_input.fifo,
554 input_unregister_device(sony_laptop_input.key_dev);
555 sony_laptop_input.key_dev = NULL;
557 if (sony_laptop_input.jog_dev) {
558 input_unregister_device(sony_laptop_input.jog_dev);
559 sony_laptop_input.jog_dev = NULL;
562 kfifo_free(&sony_laptop_input.fifo);