Introduce driver for Cirrus Logic Device CS40L26: A boosted haptics driver with integrated DSP and waveform memory with advanced closed loop algorithms and LRA protection. The core CS40L26 driver is in MFD and touches the Input Force Feedback subsystem for haptics and the ASoC subsystem for audio to haptics streaming. This patchset includes changes to the CS DSP firmware driver which fixes two bugs and introduces support for multiple coefficient files. Fred Treven (7): firmware: cs_dsp: Fix error checking in wseq_write() firmware: cs_dsp: Check for valid num_regs in cs_dsp_wseq_multi_write() firmware: cs_dsp: Add ability to load multiple coefficient files dt-bindings: mfd: cirrus,cs40l26: Support for CS40L26 mfd: cs40l26: Add support for CS40L26 core driver ASoC: cs40l26: Support I2S streaming to CS40L26 Input: cs40l26 - Add support for CS40L26 haptic driver .../bindings/mfd/cirrus,cs40l26.yaml | 81 + MAINTAINERS | 4 +- drivers/firmware/cirrus/cs_dsp.c | 70 +- drivers/input/misc/Kconfig | 10 + drivers/input/misc/Makefile | 1 + drivers/input/misc/cs40l26-vibra.c | 669 ++++++++ drivers/mfd/Kconfig | 29 + drivers/mfd/Makefile | 4 + drivers/mfd/cs40l26-core.c | 1412 +++++++++++++++++ drivers/mfd/cs40l26-i2c.c | 63 + drivers/mfd/cs40l26-spi.c | 63 + include/linux/firmware/cirrus/cs_dsp.h | 14 + include/linux/mfd/cs40l26.h | 341 ++++ sound/soc/codecs/Kconfig | 12 + sound/soc/codecs/Makefile | 2 + sound/soc/codecs/cs40l26-codec.c | 523 ++++++ 16 files changed, 3281 insertions(+), 17 deletions(-) create mode 100644 Documentation/devicetree/bindings/mfd/cirrus,cs40l26.yaml create mode 100644 drivers/input/misc/cs40l26-vibra.c create mode 100644 drivers/mfd/cs40l26-core.c create mode 100644 drivers/mfd/cs40l26-i2c.c create mode 100644 drivers/mfd/cs40l26-spi.c create mode 100644 include/linux/mfd/cs40l26.h create mode 100644 sound/soc/codecs/cs40l26-codec.c -- 2.34.1