Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Daniel Walker
Date: Friday, May 7, 2010 - 2:43 pm

On Fri, 2010-05-07 at 14:35 -0700, Arve Hjønnevåg wrote:

+- The Keypad driver gets an interrupt. It then calls suspend_block on the
+  keypad-scan suspend_blocker and starts scanning the keypad matrix.
+- The keypad-scan code detects a key change and reports it to the input-event
+  driver.
+- The input-event driver sees the key change, enqueues an event, and calls
+  suspend_block on the input-event-queue suspend_blocker.
+- The keypad-scan code detects that no keys are held and calls suspend_unblock
+  on the keypad-scan suspend_blocker.
+- The user-space input-event thread returns from select/poll, calls
+  suspend_block on the process-input-events suspend_blocker and then calls read
+  on the input-event device.
+- The input-event driver dequeues the key-event and, since the queue is now
+  empty, it calls suspend_unblock on the input-event-queue suspend_blocker.
+- The user-space input-event thread returns from read. If it determines that
+  the key should leave the screen off, it calls suspend_unblock on the
+  process_input_events suspend_blocker and then calls select or poll. The
+  system will automatically suspend again, since now no suspend blockers are
+  active.

This? Isn't this asynchronous on the input-event-queue since it's taken
in the interrupt , and release in the userspace thread?

Daniel

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Brian Swetland, (Wed May 5, 2:37 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Wed May 5, 4:47 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Brian Swetland, (Wed May 5, 4:56 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Wed May 5, 5:05 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Arve Hjønnevåg, (Wed May 5, 9:16 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Thu May 6, 6:40 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Thu May 6, 10:01 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Thu May 6, 10:04 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Thu May 6, 10:09 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Thu May 6, 10:14 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Thu May 6, 10:22 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Daniel Walker, (Thu May 6, 10:35 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Thu May 6, 10:38 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Thu May 6, 10:43 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Thu May 6, 11:33 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Thu May 6, 11:36 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Thu May 6, 11:44 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Daniel Walker, (Thu May 6, 12:11 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Arve Hjønnevåg, (Thu May 6, 5:10 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Thu May 6, 7:00 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Thu May 6, 7:05 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Arve Hjønnevåg, (Thu May 6, 9:10 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Fri May 7, 8:54 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Fri May 7, 10:12 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Daniel Walker, (Fri May 7, 10:20 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Fri May 7, 10:35 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Fri May 7, 10:36 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Daniel Walker, (Fri May 7, 10:40 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Fri May 7, 10:50 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Fri May 7, 10:50 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Fri May 7, 10:51 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Daniel Walker, (Fri May 7, 11:00 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Fri May 7, 11:01 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Fri May 7, 11:17 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Fri May 7, 11:28 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Fri May 7, 11:43 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Fri May 7, 11:46 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Daniel Walker, (Fri May 7, 12:06 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Fri May 7, 12:28 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Fri May 7, 12:33 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Fri May 7, 12:55 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Fri May 7, 1:28 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Fri May 7, 1:53 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Fri May 7, 2:03 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Fri May 7, 2:25 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Daniel Walker, (Fri May 7, 2:30 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Arve Hjønnevåg, (Fri May 7, 2:32 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Arve Hjønnevåg, (Fri May 7, 2:35 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Fri May 7, 2:38 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Fri May 7, 2:39 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Fri May 7, 2:42 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Daniel Walker, (Fri May 7, 2:43 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Fri May 7, 2:48 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Tony Lindgren, (Fri May 7, 3:00 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Matthew Garrett, (Fri May 7, 3:28 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Pavel Machek, (Thu May 27, 11:43 pm)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Arve Hjønnevåg, (Fri May 28, 12:01 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Pavel Machek, (Fri May 28, 6:29 am)
Re: [linux-pm] [PATCH 1/8] PM: Add suspend block api., Brian Swetland, (Fri May 28, 6:42 am)