ASoC: Add ssm4567 driver

This patch adds support for the ssm4567. The ssm4567 is a class D audio
amplifier with an I2S interface for audio in.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
ASoC: Add ssm4329 driver
ASoC: dapm: Power up vmid/siggen widgets only when on an active path

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
regmap: add reg_read/reg_write callbacks to regmap_bus struct

Some busses do not support sending/receiving multiple registers in one go.
Such kind of busses just unpack the registers that have been previously
packed by the regmap core or pack registers that will be later unpacked by
the core code.

Add reg_write and reg_read callbacks in order to optimize access through
this kind of busses.

Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
Register RPI ssm4329

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
ASoC: dapm: Add support for virtual mixer controls

This patch adds support for virtual DAPM mixer controls. They are similar to
virtual DAPM enums. There is no hardware register backing the control, so
changing the control's value wont have any direct effect on the hardware. But it
still influences the DAPM graph by causing the path it sits on to be connected
or disconnected. This in turn can cause power changes for some of the widgets on
the DAPM graph, which will then modify the hardware state.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Tested-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
ALSA: Add params_width() helpers

Add helpers for obtaining the width of a format directly from params
since this is expected to become a common operation in ASoC.

Signed-off-by: Mark Brown <broonie@linaro.org>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Update defconfig

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>