ADHD: Finish making FIFO generic

Details

  This change finishes up making the FIFO into a generic system.

    o 'fifo_t' is now a FIFO handle.  The mutex is directly associated
      with the FIFO.

    o 'fifo_t' now used for all FIFO-related functions.

    o Expanded comments in fifo.h

    o Introduced a 'workfifo' for generic processing.

Testing

  Built for x86-mario
  Built for tegra2_aebl

  Verified gavd still deals with headphone switching on Arm machines.
  gavd is still a nop on x86 machines, and needs no further testing.

BUG=chromium-os:19558
TEST=See above.

Change-Id: I76bbc7d39896aeabb1b2007c90a51c1dc298d11d
Signed-off-by: Taylor Hutt <thutt@chromium.org>
7 files changed