[0/4] Add support for IIO devices in ASoC

Message ID 20230421124122.324820-1-herve.codina@bootlin.com
Headers
Series Add support for IIO devices in ASoC |

Message

Herve Codina April 21, 2023, 12:41 p.m. UTC
  Several weeks ago, I sent a series [1] for adding a potentiometer as an
auxiliary device in ASoC. The feedback was that the potentiometer should
be directly handled in IIO (as other potentiometers) and something more
generic should be present in ASoC in order to have a binding to import
some IIO devices into sound cards.

The series related to the IIO potentiometer device is already under
review [2].

This series introduces simple-iio-aux. Its goal is to offer the binding
between IIO and ASoC.
It exposes attached IIO devices as ASoC auxiliary devices and allows to
control them through mixer controls.

On my system, the IIO device is a potentiometer and it is present in an
amplifier design present in the audio path.

Best regards,
Hervé

[1] https://lore.kernel.org/linux-kernel/20230203111422.142479-1-herve.codina@bootlin.com/
[2] https://lore.kernel.org/linux-kernel/20230421085245.302169-1-herve.codina@bootlin.com/

Herve Codina (4):
  dt-bindings: sound: Add simple-iio-aux
  iio: inkern: Add a helper to query an available minimum raw value
  ASoC: soc-dapm.h: Add a helper to build a DAPM widget dynamically
  ASoC: codecs: Add support for the generic IIO auxiliary devices

 .../bindings/sound/simple-iio-aux.yaml        |  65 ++++
 drivers/iio/inkern.c                          |  67 ++++
 include/linux/iio/consumer.h                  |  11 +
 include/sound/soc-dapm.h                      |  12 +-
 sound/soc/codecs/Kconfig                      |  12 +
 sound/soc/codecs/Makefile                     |   2 +
 sound/soc/codecs/simple-iio-aux.c             | 307 ++++++++++++++++++
 7 files changed, 475 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/devicetree/bindings/sound/simple-iio-aux.yaml
 create mode 100644 sound/soc/codecs/simple-iio-aux.c