diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-06-22 12:33:51 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-06-22 12:33:51 -0400 |
commit | ef7994fa2aecd8d1fb0d75034caa050ff908d26a (patch) | |
tree | aa7bbe9499256ced149dce70891de5eedf33c283 /sound/soc/codecs/sigmadsp-regmap.c | |
parent | ad8686bc05adc2b8301d749f5958bd904f3a46ee (diff) | |
parent | a497c3ba1d97fc69c1e78e7b96435ba8c2cb42ee (diff) | |
download | blackbird-obmc-linux-ef7994fa2aecd8d1fb0d75034caa050ff908d26a.tar.gz blackbird-obmc-linux-ef7994fa2aecd8d1fb0d75034caa050ff908d26a.zip |
Merge 3.16-rc2 into staging-next
We want the staging fixes here as well.
Diffstat (limited to 'sound/soc/codecs/sigmadsp-regmap.c')
-rw-r--r-- | sound/soc/codecs/sigmadsp-regmap.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/sound/soc/codecs/sigmadsp-regmap.c b/sound/soc/codecs/sigmadsp-regmap.c new file mode 100644 index 000000000000..f78ed8d2cfb2 --- /dev/null +++ b/sound/soc/codecs/sigmadsp-regmap.c @@ -0,0 +1,36 @@ +/* + * Load Analog Devices SigmaStudio firmware files + * + * Copyright 2009-2011 Analog Devices Inc. + * + * Licensed under the GPL-2 or later. + */ + +#include <linux/regmap.h> +#include <linux/export.h> +#include <linux/module.h> + +#include "sigmadsp.h" + +static int sigma_action_write_regmap(void *control_data, + const struct sigma_action *sa, size_t len) +{ + return regmap_raw_write(control_data, be16_to_cpu(sa->addr), + sa->payload, len - 2); +} + +int process_sigma_firmware_regmap(struct device *dev, struct regmap *regmap, + const char *name) +{ + struct sigma_firmware ssfw; + + ssfw.control_data = regmap; + ssfw.write = sigma_action_write_regmap; + + return _process_sigma_firmware(dev, &ssfw, name); +} +EXPORT_SYMBOL(process_sigma_firmware_regmap); + +MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>"); +MODULE_DESCRIPTION("SigmaDSP regmap firmware loader"); +MODULE_LICENSE("GPL"); |