root/sound/soc/codecs/sigmadsp-regmap.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. sigmadsp_write_regmap
  2. sigmadsp_read_regmap
  3. devm_sigmadsp_init_regmap

   1 // SPDX-License-Identifier: GPL-2.0-or-later
   2 /*
   3  * Load Analog Devices SigmaStudio firmware files
   4  *
   5  * Copyright 2009-2011 Analog Devices Inc.
   6  */
   7 
   8 #include <linux/regmap.h>
   9 #include <linux/export.h>
  10 #include <linux/module.h>
  11 
  12 #include "sigmadsp.h"
  13 
  14 static int sigmadsp_write_regmap(void *control_data,
  15         unsigned int addr, const uint8_t data[], size_t len)
  16 {
  17         return regmap_raw_write(control_data, addr,
  18                 data, len);
  19 }
  20 
  21 static int sigmadsp_read_regmap(void *control_data,
  22         unsigned int addr, uint8_t data[], size_t len)
  23 {
  24         return regmap_raw_read(control_data, addr,
  25                 data, len);
  26 }
  27 
  28 /**
  29  * devm_sigmadsp_init_i2c() - Initialize SigmaDSP instance
  30  * @dev: The parent device
  31  * @regmap: Regmap instance to use
  32  * @ops: The sigmadsp_ops to use for this instance
  33  * @firmware_name: Name of the firmware file to load
  34  *
  35  * Allocates a SigmaDSP instance and loads the specified firmware file.
  36  *
  37  * Returns a pointer to a struct sigmadsp on success, or a PTR_ERR() on error.
  38  */
  39 struct sigmadsp *devm_sigmadsp_init_regmap(struct device *dev,
  40         struct regmap *regmap, const struct sigmadsp_ops *ops,
  41         const char *firmware_name)
  42 {
  43         struct sigmadsp *sigmadsp;
  44 
  45         sigmadsp = devm_sigmadsp_init(dev, ops, firmware_name);
  46         if (IS_ERR(sigmadsp))
  47                 return sigmadsp;
  48 
  49         sigmadsp->control_data = regmap;
  50         sigmadsp->write = sigmadsp_write_regmap;
  51         sigmadsp->read = sigmadsp_read_regmap;
  52 
  53         return sigmadsp;
  54 }
  55 EXPORT_SYMBOL_GPL(devm_sigmadsp_init_regmap);
  56 
  57 MODULE_AUTHOR("Lars-Peter Clausen <lars@metafoo.de>");
  58 MODULE_DESCRIPTION("SigmaDSP regmap firmware loader");
  59 MODULE_LICENSE("GPL");

/* [<][>][^][v][top][bottom][index][help] */