Complete Plugin Keymaps for Creative Zen X-Fi3

This patch completes the plugin keymaps for the Zen X-Fi3 and enables those plugins for compilation.
One key was changed in "button-target.h" for compatibility with Rockboy.
This also caused the changes to "keymap-zenxfi3.c", to keep the stock functionality (no further changes in here).

Change-Id: Ic222faf89e9a9a2332a49d6e532cedb6eb16d3d7
Reviewed-on: http://gerrit.rockbox.org/762
Reviewed-by: Amaury Pouly <amaury.pouly@gmail.com>
Fix red

Change-Id: Ibfc5e559f619820d6c3f7de76353e54d27e9b160
Add new tool to upload code on e200/c200/view in manufacturer mode

This is actually the trivial part of e200tool from MrH: it simply writes the
code on the bulk endpoint. Code was mostly copied from imxtools/sbloader.

Change-Id: I6c208840d23553aaf3bd8b9374e6b0337e54f3b0
Add hwstub support for portal player (manufacturer mode)

It is very similar to how e200tool from MrH works but uses the framework
of hwstub which is makes it completely trivial since we already have the
USB driver written.

Change-Id: I61cdc245d3f828c2682bcd6ecfed5a1cc0094139
Added Avi Eisenberg to CREDITS file

Change-Id: I4dd29f9440c8b61e6a295c47e63584c5d0093d14
Reviewed-on: http://gerrit.rockbox.org/777
Reviewed-by: Jonathan Gordon <rockbox@jdgordon.info>
plugins: Add plugin_release_audio_buffer().

Some plugins grab the whole audio buffer and still want to start playback
somehow (e.g. random_folder_advance_config). Since 22e802e the plugin buffer
is allocated via buflib and has to be released explicitely. For these plugins
the automatic free on exit is not sufficient and they need an API function for
that.

Fixes OOM panic on random_folder_advance_config when using start
shuffled playback.

Change-Id: I0d351daa782cb829f4ff80d34c05f40a2e0c142f
hwstub: fix error in config descriptor, cleanup some code

Change-Id: I853340ed2c187a044726ca03ec52aed655707e27
hwstub: add proper PP support

- drop support for PP500x: it's very different from other PP and although
  it would be possible to support them, I don't have one to test the code
- make sure only the CPU is started
- add PP descriptor to report chip ID and revision
- add code in shell and lua to support pp (no register description yet)
- compile for ARMv4 because PP502x is an ARM7TDMI

Change-Id: I36c4e465dfc2cfdfe7433b2f65cc8f6f0720fe62
manual: Add missing Frequency setting description

Change-Id: Ic552fd1e4df83a9c3889a700512d6e7a18a600d5
Reviewed-on: http://gerrit.rockbox.org/784
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
MPIO HD300: Fix occasional scrollstrip hang

Scrollstrip works as quadrature encoder. We set pin change
interrupt for both edges of signal both lines and sample the state
in ISR. From time to time the sequence is out-of-sync which was
properly detected but erroneously handled leaving scrollstip
interrupts disabled.

Change-Id: I08e4f99c6c27df0f8180aa16e6e1d9e4203bafa7
Reviewed-on: http://gerrit.rockbox.org/782
Reviewed-by: Marcin Bukat <marcin.bukat@gmail.com>
Tested: Marcin Bukat <marcin.bukat@gmail.com>
libmad: Use 32bit unsigned for requantize table.

Implicit promotion of integer literals to unsigned long introduced a subtle bug
on 64-bit systems due to weird sign extensions (leads to audible glitches in a
few files). The table is originally designed for unsigned 32bit integers, and
it works with those so use them. As a consequence the lookup table size is
halved as well.

Change-Id: I35d878d6df03300387f0e403e0f3c3bdc73eea00
playlist: Get rid of plugin buffer use in playlist_save().

The plugin buffer was used only to avoid reparsing the playlist, so non-essential.
But when it was used it conflicted with the playlist viewer which already uses
the plugin buffer for playlist purposes simultaneously. It only works by
accident.

Since the reparse avoidance is non-essential don't do it for now. A temp buffer
can be passed to playlist_save() to enable it but the only caller (as of now)
does not do that.

Change-Id: I3f75f89d8551e1ec38800268b273105faba0efbf
root_menu: Remove previous_music_is_wps() and change previous_music via event callback.

Change-Id: I0f3b85a8fe8010a2480ef44a72a90dc7904bc777
skin_engine: Make %Vs affect the whole line.

Previously %Vs styles only took effect upon the first character of text, i.e.
on the right if the line is %arXXX. Now the style is applied for the whole
line width.

Fixes FS#12973.

Change-Id: I95f2cc76a90bfc0779e5a667d5bfa54c33896c89
imx233: fix sdmmc driver bug when sector count is 0

Since the driver will read count-1 sectors, this will stuck the card.

Change-Id: Ib80484044acd1fad2914d3ffeb3940a13d2480c4
imx233: fix typos and sdmmc bug regarding write buffer

The write buffer should not be modified but the current code does and then
forget to restore it to its original content. I'm not sure if any code relies
to the write buffer to not be modifies by the write function but this seems like
a reasonable assumption in general so it's better not to break it.

Change-Id: I449a01db2ec51d2273e59b69c59db0e7d2eed3db