wl1251: use ELP wakeup interrupt instead of polling
The chip can generate an interrupt on ELP wakeup, make use of it instead
of polling the status register. This reduces wakeup time to ~7ms from
~8-20ms (the wait loop was sleeping, so could take up to 20ms depending
on how system timer is configured). Note that DEBUG_PSM does not report
this accurately as it only measures jiffies.
This patch also moves atomic portion of interrupt processing to main.c
to avoid code duplication.
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>