Lines Matching refs:freezer
797 sdiodev->freezer = kzalloc(sizeof(*sdiodev->freezer), GFP_KERNEL);
798 if (!sdiodev->freezer)
800 atomic_set(&sdiodev->freezer->thread_count, 0);
801 atomic_set(&sdiodev->freezer->freezing, 0);
802 init_waitqueue_head(&sdiodev->freezer->thread_freeze);
803 init_completion(&sdiodev->freezer->resumed);
809 if (sdiodev->freezer) {
810 WARN_ON(atomic_read(&sdiodev->freezer->freezing));
811 kfree(sdiodev->freezer);
812 sdiodev->freezer = NULL;
818 atomic_t *expect = &sdiodev->freezer->thread_count;
821 sdiodev->freezer->frozen_count = 0;
822 reinit_completion(&sdiodev->freezer->resumed);
823 atomic_set(&sdiodev->freezer->freezing, 1);
825 wait_event(sdiodev->freezer->thread_freeze,
826 atomic_read(expect) == sdiodev->freezer->frozen_count);
838 atomic_set(&sdiodev->freezer->freezing, 0);
839 complete_all(&sdiodev->freezer->resumed);
845 atomic_read(&sdiodev->freezer->freezing);
852 sdiodev->freezer->frozen_count++;
853 wake_up(&sdiodev->freezer->thread_freeze);
854 wait_for_completion(&sdiodev->freezer->resumed);
860 atomic_inc(&sdiodev->freezer->thread_count);
866 atomic_dec(&sdiodev->freezer->thread_count);