add mmap support and some cleanups to bcm2835 ALSA driver

Hello,

This series contains the following improvements to the ALSA bcm2835 driver:

- Use the kernel provided facility to wait for completion instead of an
   ad-hoc implementation using semaphores.
- Add defined constants to specify the deferred action to be processed by the
   driver workqueue instead of using magic numbers.
- Include PCM samples write in the deferred operations handled by the workqueue
- Add mmap support to allow Direct Read/Write transfers.
- Remove unnecessary log when the driver probe function is called if debug is
   not enabled. Also replace printk() usage by more suitable functions.

and fixes these open issues:

raspberrypi/linux#158 "bcm2835 ALSA driver hardware mixing or mmap?"
raspberrypi/firmware#173 "ALSA is not supporting 16 bits signed audio"
raspberrypi/linux#282 "ALSA boot messages"

The following changes since commit 07b8b7dbc2d698114a59c328c5e24681a12da6ca:

  Merge pull request #279 from P33M/rpi-3.6.y (2013-04-22 08:08:49 -0700)

are available in the git repository at:

  git://github.com/martinezjavier/linux-rpi.git rpi-3.6.y-dev

Javier Martinez Canillas (5):
      ALSA: bcm2835: show card and subdev creation msg only on debug
      ALSA: bcm2835: use a completion instead of a semaphore for sync
      ALSA: bcm2835: don't use magic numbers on audio start/stop workqueue
      ALSA: bcm2835: defer bcm2835 PCM write using the workqueue
      ALSA: bcm2835: add memory-mapped I/O mode for audio stream

 sound/arm/bcm2835-pcm.c   |   69 ++++++++++++++++++++++-------------
 sound/arm/bcm2835-vchiq.c |   89 +++++++++++++++++++++++++++++++--------------
 sound/arm/bcm2835.c       |   34 +++++++++---------
 sound/arm/bcm2835.h       |    2 +
 4 files changed, 124 insertions(+), 70 deletions(-)

Thanks a lot and best regards,
Javier