Lines Matching refs:freezer
792 sdiodev->freezer = kzalloc(sizeof(*sdiodev->freezer), GFP_KERNEL);
793 if (!sdiodev->freezer)
795 atomic_set(&sdiodev->freezer->thread_count, 0);
796 atomic_set(&sdiodev->freezer->freezing, 0);
797 init_waitqueue_head(&sdiodev->freezer->thread_freeze);
798 init_completion(&sdiodev->freezer->resumed);
804 if (sdiodev->freezer) {
805 WARN_ON(atomic_read(&sdiodev->freezer->freezing));
806 kfree(sdiodev->freezer);
807 sdiodev->freezer = NULL;
813 atomic_t *expect = &sdiodev->freezer->thread_count;
816 sdiodev->freezer->frozen_count = 0;
817 reinit_completion(&sdiodev->freezer->resumed);
818 atomic_set(&sdiodev->freezer->freezing, 1);
820 wait_event(sdiodev->freezer->thread_freeze,
821 atomic_read(expect) == sdiodev->freezer->frozen_count);
833 atomic_set(&sdiodev->freezer->freezing, 0);
834 complete_all(&sdiodev->freezer->resumed);
840 atomic_read(&sdiodev->freezer->freezing);
847 sdiodev->freezer->frozen_count++;
848 wake_up(&sdiodev->freezer->thread_freeze);
849 wait_for_completion(&sdiodev->freezer->resumed);
855 atomic_inc(&sdiodev->freezer->thread_count);
861 atomic_dec(&sdiodev->freezer->thread_count);