| .. | .. |
|---|
| 29 | 29 | { |
|---|
| 30 | 30 | unsigned long flags; |
|---|
| 31 | 31 | |
|---|
| 32 | | - spin_lock_irqsave(&x->wait.lock, flags); |
|---|
| 32 | + raw_spin_lock_irqsave(&x->wait.lock, flags); |
|---|
| 33 | 33 | |
|---|
| 34 | 34 | if (x->done != UINT_MAX) |
|---|
| 35 | 35 | x->done++; |
|---|
| 36 | | - __wake_up_locked(&x->wait, TASK_NORMAL, 1); |
|---|
| 37 | | - spin_unlock_irqrestore(&x->wait.lock, flags); |
|---|
| 36 | + swake_up_locked(&x->wait); |
|---|
| 37 | + raw_spin_unlock_irqrestore(&x->wait.lock, flags); |
|---|
| 38 | 38 | } |
|---|
| 39 | 39 | EXPORT_SYMBOL(complete); |
|---|
| 40 | 40 | |
|---|
| .. | .. |
|---|
| 58 | 58 | { |
|---|
| 59 | 59 | unsigned long flags; |
|---|
| 60 | 60 | |
|---|
| 61 | | - spin_lock_irqsave(&x->wait.lock, flags); |
|---|
| 61 | + raw_spin_lock_irqsave(&x->wait.lock, flags); |
|---|
| 62 | 62 | x->done = UINT_MAX; |
|---|
| 63 | | - __wake_up_locked(&x->wait, TASK_NORMAL, 0); |
|---|
| 64 | | - spin_unlock_irqrestore(&x->wait.lock, flags); |
|---|
| 63 | + swake_up_all_locked(&x->wait); |
|---|
| 64 | + raw_spin_unlock_irqrestore(&x->wait.lock, flags); |
|---|
| 65 | 65 | } |
|---|
| 66 | 66 | EXPORT_SYMBOL(complete_all); |
|---|
| 67 | 67 | |
|---|
| .. | .. |
|---|
| 70 | 70 | long (*action)(long), long timeout, int state) |
|---|
| 71 | 71 | { |
|---|
| 72 | 72 | if (!x->done) { |
|---|
| 73 | | - DECLARE_WAITQUEUE(wait, current); |
|---|
| 73 | + DECLARE_SWAITQUEUE(wait); |
|---|
| 74 | 74 | |
|---|
| 75 | | - __add_wait_queue_entry_tail_exclusive(&x->wait, &wait); |
|---|
| 76 | 75 | do { |
|---|
| 77 | 76 | if (signal_pending_state(state, current)) { |
|---|
| 78 | 77 | timeout = -ERESTARTSYS; |
|---|
| 79 | 78 | break; |
|---|
| 80 | 79 | } |
|---|
| 80 | + __prepare_to_swait(&x->wait, &wait); |
|---|
| 81 | 81 | __set_current_state(state); |
|---|
| 82 | | - spin_unlock_irq(&x->wait.lock); |
|---|
| 82 | + raw_spin_unlock_irq(&x->wait.lock); |
|---|
| 83 | 83 | timeout = action(timeout); |
|---|
| 84 | | - spin_lock_irq(&x->wait.lock); |
|---|
| 84 | + raw_spin_lock_irq(&x->wait.lock); |
|---|
| 85 | 85 | } while (!x->done && timeout); |
|---|
| 86 | | - __remove_wait_queue(&x->wait, &wait); |
|---|
| 86 | + __finish_swait(&x->wait, &wait); |
|---|
| 87 | 87 | if (!x->done) |
|---|
| 88 | 88 | return timeout; |
|---|
| 89 | 89 | } |
|---|
| .. | .. |
|---|
| 100 | 100 | |
|---|
| 101 | 101 | complete_acquire(x); |
|---|
| 102 | 102 | |
|---|
| 103 | | - spin_lock_irq(&x->wait.lock); |
|---|
| 103 | + raw_spin_lock_irq(&x->wait.lock); |
|---|
| 104 | 104 | timeout = do_wait_for_common(x, action, timeout, state); |
|---|
| 105 | | - spin_unlock_irq(&x->wait.lock); |
|---|
| 105 | + raw_spin_unlock_irq(&x->wait.lock); |
|---|
| 106 | 106 | |
|---|
| 107 | 107 | complete_release(x); |
|---|
| 108 | 108 | |
|---|
| .. | .. |
|---|
| 291 | 291 | if (!READ_ONCE(x->done)) |
|---|
| 292 | 292 | return false; |
|---|
| 293 | 293 | |
|---|
| 294 | | - spin_lock_irqsave(&x->wait.lock, flags); |
|---|
| 294 | + raw_spin_lock_irqsave(&x->wait.lock, flags); |
|---|
| 295 | 295 | if (!x->done) |
|---|
| 296 | 296 | ret = false; |
|---|
| 297 | 297 | else if (x->done != UINT_MAX) |
|---|
| 298 | 298 | x->done--; |
|---|
| 299 | | - spin_unlock_irqrestore(&x->wait.lock, flags); |
|---|
| 299 | + raw_spin_unlock_irqrestore(&x->wait.lock, flags); |
|---|
| 300 | 300 | return ret; |
|---|
| 301 | 301 | } |
|---|
| 302 | 302 | EXPORT_SYMBOL(try_wait_for_completion); |
|---|
| .. | .. |
|---|
| 322 | 322 | * otherwise we can end up freeing the completion before complete() |
|---|
| 323 | 323 | * is done referencing it. |
|---|
| 324 | 324 | */ |
|---|
| 325 | | - spin_lock_irqsave(&x->wait.lock, flags); |
|---|
| 326 | | - spin_unlock_irqrestore(&x->wait.lock, flags); |
|---|
| 325 | + raw_spin_lock_irqsave(&x->wait.lock, flags); |
|---|
| 326 | + raw_spin_unlock_irqrestore(&x->wait.lock, flags); |
|---|
| 327 | 327 | return true; |
|---|
| 328 | 328 | } |
|---|
| 329 | 329 | EXPORT_SYMBOL(completion_done); |
|---|