mbox series

[RESEND,v9,00/13] Add STM32 DFSDM support

Message ID 1515579195-12894-1-git-send-email-arnaud.pouliquen@st.com
Headers show
Series Add STM32 DFSDM support | expand

Message

Arnaud POULIQUEN Jan. 10, 2018, 10:13 a.m. UTC
Hello Mark,

Here is the resend of the patchset.
I added the Reviewed-by: Jonathan Cameron in patch 10/13.

Jonathan's comment for you, posted for this version:
>So Mark, over to you. I'm happy if you want to do the immutable branch once 
>any issue you find are fixed, or I can do it. 
>I'm just looking for acks or a pull request now.

History:

Version 9 fix patch 10/13: IIO: ADC: add stm32 DFSDM support for PDM microphone

Main deltas V9 vs V8:
- Rework probe and remove order for audio configuration in stm32-dfsdm-adc.c.
- Optimization of the filling of the dma_slave_config struct.

Main deltas V8 vs V7:
- Few typos fixes.
- Function return optimizations in sound/soc/stm/stm32_adfsdm.c.

Main deltas V7 vs V6:
- Replaces the custom license information text with the appropriate 
  SPDX identifier.
- Few fixes in sound/soc/stm/stm32_adfsdm.c and stm32-dfsdm-core.c.
- Add missing #interrupt-cells in binding examples.
- Integrate last Jonathan's comments.

Main deltas V6 vs V5:
- Fix warning reported by kbuild test in :
   include/linux/iio/consumer.h
   sound/soc/stm/stm32_adfsdm.c

Main deltas V5 vs V4:
- Integrate ASOC DAI as a subnode of the DFSDM.
- Add in kernel consumer interface to allow to manipulate attribute.

Thanks,
Arnaud

Arnaud Pouliquen (12):
  docs: driver-api: add iio hw consumer section
  IIO: hw_consumer: add devm_iio_hw_consumer_alloc
  IIO: inkern: API for manipulating channel attributes
  IIO: Add DT bindings for sigma delta adc modulator
  IIO: ADC: add sigma delta modulator support
  IIO: add DT bindings for stm32 DFSDM filter
  IIO: ADC: add stm32 DFSDM core support
  IIO: ADC: add STM32 DFSDM sigma delta ADC support
  IIO: ADC: add stm32 DFSDM support for PDM microphone
  IIO: consumer: allow to set buffer sizes
  ASoC: add bindings for stm32 DFSDM filter
  ASoC: stm32: add DFSDM DAI support

Lars-Peter Clausen (1):
  iio: Add hardware consumer buffer support

 .../ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32      |   16 +
 .../bindings/iio/adc/sigma-delta-modulator.txt     |   13 +
 .../bindings/iio/adc/st,stm32-dfsdm-adc.txt        |  128 +++
 .../devicetree/bindings/sound/st,stm32-adfsdm.txt  |   63 +
 Documentation/driver-api/iio/hw-consumer.rst       |   51 +
 Documentation/driver-api/iio/index.rst             |    1 +
 drivers/iio/adc/Kconfig                            |   37 +
 drivers/iio/adc/Makefile                           |    3 +
 drivers/iio/adc/sd_adc_modulator.c                 |   68 ++
 drivers/iio/adc/stm32-dfsdm-adc.c                  | 1216 ++++++++++++++++++++
 drivers/iio/adc/stm32-dfsdm-core.c                 |  309 +++++
 drivers/iio/adc/stm32-dfsdm.h                      |  310 +++++
 drivers/iio/buffer/Kconfig                         |   10 +
 drivers/iio/buffer/Makefile                        |    1 +
 drivers/iio/buffer/industrialio-buffer-cb.c        |   11 +
 drivers/iio/buffer/industrialio-hw-consumer.c      |  247 ++++
 drivers/iio/inkern.c                               |   17 +-
 include/linux/iio/adc/stm32-dfsdm-adc.h            |   18 +
 include/linux/iio/consumer.h                       |   37 +
 include/linux/iio/hw-consumer.h                    |   21 +
 include/linux/iio/iio.h                            |   28 -
 include/linux/iio/types.h                          |   28 +
 sound/soc/stm/Kconfig                              |   11 +
 sound/soc/stm/Makefile                             |    3 +
 sound/soc/stm/stm32_adfsdm.c                       |  347 ++++++
 25 files changed, 2961 insertions(+), 33 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32
 create mode 100644 Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.txt
 create mode 100644 Documentation/devicetree/bindings/sound/st,stm32-adfsdm.txt
 create mode 100644 Documentation/driver-api/iio/hw-consumer.rst
 create mode 100644 drivers/iio/adc/sd_adc_modulator.c
 create mode 100644 drivers/iio/adc/stm32-dfsdm-adc.c
 create mode 100644 drivers/iio/adc/stm32-dfsdm-core.c
 create mode 100644 drivers/iio/adc/stm32-dfsdm.h
 create mode 100644 drivers/iio/buffer/industrialio-hw-consumer.c
 create mode 100644 include/linux/iio/adc/stm32-dfsdm-adc.h
 create mode 100644 include/linux/iio/hw-consumer.h
 create mode 100644 sound/soc/stm/stm32_adfsdm.c

Comments

Mark Brown Jan. 10, 2018, 10:36 a.m. UTC | #1
On Wed, Jan 10, 2018 at 11:13:02AM +0100, Arnaud Pouliquen wrote:

> Jonathan's comment for you, posted for this version:
> >So Mark, over to you. I'm happy if you want to do the immutable branch once 
> >any issue you find are fixed, or I can do it. 
> >I'm just looking for acks or a pull request now.

Jonathan, this is a pretty weird way of doing things - the bulk of the
series is for IIO so I'd have expected it to go in via the IIO tree.
It's especially odd to end up with the driver which isn't a build
dependency in my tree.

The following changes since commit 4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323:

  Linux 4.15-rc1 (2017-11-26 16:01:47 -0800)

are available in the Git repository at:

  https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git tags/iio-asoc-sync

for you to fetch changes up to 16cbca06fa8288a4f58426fc898b141e12ee8008:

  IIO: consumer: allow to set buffer sizes (2018-01-10 10:30:14 +0000)

----------------------------------------------------------------
IIO: ST DFSDM support

This is the IIO portion of some patches adding support for the ST DFSDM
IP, it's shared with ASoC as the hardware is also used for audio.

----------------------------------------------------------------
Arnaud Pouliquen (10):
      docs: driver-api: add iio hw consumer section
      IIO: hw_consumer: add devm_iio_hw_consumer_alloc
      IIO: inkern: API for manipulating channel attributes
      IIO: Add DT bindings for sigma delta adc modulator
      IIO: ADC: add sigma delta modulator support
      IIO: add DT bindings for stm32 DFSDM filter
      IIO: ADC: add stm32 DFSDM core support
      IIO: ADC: add STM32 DFSDM sigma delta ADC support
      IIO: ADC: add stm32 DFSDM support for PDM microphone
      IIO: consumer: allow to set buffer sizes

Lars-Peter Clausen (1):
      iio: Add hardware consumer buffer support

 .../ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32      |   16 +
 .../bindings/iio/adc/sigma-delta-modulator.txt     |   13 +
 .../bindings/iio/adc/st,stm32-dfsdm-adc.txt        |  128 +++
 Documentation/driver-api/iio/hw-consumer.rst       |   51 +
 Documentation/driver-api/iio/index.rst             |    1 +
 drivers/iio/adc/Kconfig                            |   37 +
 drivers/iio/adc/Makefile                           |    3 +
 drivers/iio/adc/sd_adc_modulator.c                 |   68 ++
 drivers/iio/adc/stm32-dfsdm-adc.c                  | 1216 ++++++++++++++++++++
 drivers/iio/adc/stm32-dfsdm-core.c                 |  309 +++++
 drivers/iio/adc/stm32-dfsdm.h                      |  310 +++++
 drivers/iio/buffer/Kconfig                         |   10 +
 drivers/iio/buffer/Makefile                        |    1 +
 drivers/iio/buffer/industrialio-buffer-cb.c        |   11 +
 drivers/iio/buffer/industrialio-hw-consumer.c      |  247 ++++
 drivers/iio/inkern.c                               |   17 +-
 include/linux/iio/adc/stm32-dfsdm-adc.h            |   18 +
 include/linux/iio/consumer.h                       |   37 +
 include/linux/iio/hw-consumer.h                    |   21 +
 include/linux/iio/iio.h                            |   28 -
 include/linux/iio/types.h                          |   28 +
 21 files changed, 2537 insertions(+), 33 deletions(-)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32
 create mode 100644 Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.txt
 create mode 100644 Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.txt
 create mode 100644 Documentation/driver-api/iio/hw-consumer.rst
 create mode 100644 drivers/iio/adc/sd_adc_modulator.c
 create mode 100644 drivers/iio/adc/stm32-dfsdm-adc.c
 create mode 100644 drivers/iio/adc/stm32-dfsdm-core.c
 create mode 100644 drivers/iio/adc/stm32-dfsdm.h
 create mode 100644 drivers/iio/buffer/industrialio-hw-consumer.c
 create mode 100644 include/linux/iio/adc/stm32-dfsdm-adc.h
 create mode 100644 include/linux/iio/hw-consumer.h
Jonathan Cameron Jan. 10, 2018, 12:57 p.m. UTC | #2
On 10 January 2018 10:36:07 GMT, Mark Brown <broonie@kernel.org> wrote:
>On Wed, Jan 10, 2018 at 11:13:02AM +0100, Arnaud Pouliquen wrote:
>
>> Jonathan's comment for you, posted for this version:
>> >So Mark, over to you. I'm happy if you want to do the immutable
>branch once 
>> >any issue you find are fixed, or I can do it. 
>> >I'm just looking for acks or a pull request now.
>
>Jonathan, this is a pretty weird way of doing things - the bulk of the
>series is for IIO so I'd have expected it to go in via the IIO tree.
>It's especially odd to end up with the driver which isn't a build
>dependency in my tree.

Hi Mark,

Sure, such a branch in IIO might have made more sense. I got it into my head that you
 wanted to do it this way!

Didn't care myself as result is the same.

Oops if that wasn't your intent.

Ah well, all is well that ends well and thanks for this.

Jonathan

>
>The following changes since commit
>4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323:
>
>  Linux 4.15-rc1 (2017-11-26 16:01:47 -0800)
>
>are available in the Git repository at:
>
>https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
>tags/iio-asoc-sync
>
>for you to fetch changes up to
>16cbca06fa8288a4f58426fc898b141e12ee8008:
>
>  IIO: consumer: allow to set buffer sizes (2018-01-10 10:30:14 +0000)
>
>----------------------------------------------------------------
>IIO: ST DFSDM support
>
>This is the IIO portion of some patches adding support for the ST DFSDM
>IP, it's shared with ASoC as the hardware is also used for audio.
>
>----------------------------------------------------------------
>Arnaud Pouliquen (10):
>      docs: driver-api: add iio hw consumer section
>      IIO: hw_consumer: add devm_iio_hw_consumer_alloc
>      IIO: inkern: API for manipulating channel attributes
>      IIO: Add DT bindings for sigma delta adc modulator
>      IIO: ADC: add sigma delta modulator support
>      IIO: add DT bindings for stm32 DFSDM filter
>      IIO: ADC: add stm32 DFSDM core support
>      IIO: ADC: add STM32 DFSDM sigma delta ADC support
>      IIO: ADC: add stm32 DFSDM support for PDM microphone
>      IIO: consumer: allow to set buffer sizes
>
>Lars-Peter Clausen (1):
>      iio: Add hardware consumer buffer support
>
> .../ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32      |   16 +
> .../bindings/iio/adc/sigma-delta-modulator.txt     |   13 +
> .../bindings/iio/adc/st,stm32-dfsdm-adc.txt        |  128 +++
> Documentation/driver-api/iio/hw-consumer.rst       |   51 +
> Documentation/driver-api/iio/index.rst             |    1 +
> drivers/iio/adc/Kconfig                            |   37 +
> drivers/iio/adc/Makefile                           |    3 +
> drivers/iio/adc/sd_adc_modulator.c                 |   68 ++
>drivers/iio/adc/stm32-dfsdm-adc.c                  | 1216
>++++++++++++++++++++
> drivers/iio/adc/stm32-dfsdm-core.c                 |  309 +++++
> drivers/iio/adc/stm32-dfsdm.h                      |  310 +++++
> drivers/iio/buffer/Kconfig                         |   10 +
> drivers/iio/buffer/Makefile                        |    1 +
> drivers/iio/buffer/industrialio-buffer-cb.c        |   11 +
> drivers/iio/buffer/industrialio-hw-consumer.c      |  247 ++++
> drivers/iio/inkern.c                               |   17 +-
> include/linux/iio/adc/stm32-dfsdm-adc.h            |   18 +
> include/linux/iio/consumer.h                       |   37 +
> include/linux/iio/hw-consumer.h                    |   21 +
> include/linux/iio/iio.h                            |   28 -
> include/linux/iio/types.h                          |   28 +
> 21 files changed, 2537 insertions(+), 33 deletions(-)
>create mode 100644
>Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32
>create mode 100644
>Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.txt
>create mode 100644
>Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.txt
> create mode 100644 Documentation/driver-api/iio/hw-consumer.rst
> create mode 100644 drivers/iio/adc/sd_adc_modulator.c
> create mode 100644 drivers/iio/adc/stm32-dfsdm-adc.c
> create mode 100644 drivers/iio/adc/stm32-dfsdm-core.c
> create mode 100644 drivers/iio/adc/stm32-dfsdm.h
> create mode 100644 drivers/iio/buffer/industrialio-hw-consumer.c
> create mode 100644 include/linux/iio/adc/stm32-dfsdm-adc.h
> create mode 100644 include/linux/iio/hw-consumer.h
Arnaud POULIQUEN Jan. 10, 2018, 1:24 p.m. UTC | #3
On 01/10/2018 01:57 PM, Jonathan Cameron wrote:
> 
> 
> On 10 January 2018 10:36:07 GMT, Mark Brown <broonie@kernel.org> wrote:
>>On Wed, Jan 10, 2018 at 11:13:02AM +0100, Arnaud Pouliquen wrote:
>>
>>> Jonathan's comment for you, posted for this version:
>>> >So Mark, over to you. I'm happy if you want to do the immutable
>>branch once 
>>> >any issue you find are fixed, or I can do it. 
>>> >I'm just looking for acks or a pull request now.
>>
>>Jonathan, this is a pretty weird way of doing things - the bulk of the
>>series is for IIO so I'd have expected it to go in via the IIO tree.
>>It's especially odd to end up with the driver which isn't a build
>>dependency in my tree.
> 
> Hi Mark,
> 
> Sure, such a branch in IIO might have made more sense. I got it into my
> head that you
>  wanted to do it this way!
> 
> Didn't care myself as result is the same.
> 
> Oops if that wasn't your intent.
> 
> Ah well, all is well that ends well and thanks for this.
> 
> Jonathan
> 

Jonathan, Lars, Mark and Rob

Even if it is just the first step of the integration process, i would
like to take this opportunity to thank you for your help to integrate
the DFSDM drivers.
Probably not the most tricky one, but not the easiest either...
So thanks for your reviews, advices, solutions, and compromises.

Regards
Arnaud

>>
>>The following changes since commit
>>4fbd8d194f06c8a3fd2af1ce560ddb31f7ec8323:
>>
>>  Linux 4.15-rc1 (2017-11-26 16:01:47 -0800)
>>
>>are available in the Git repository at:
>>
>>https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
>>tags/iio-asoc-sync
>>
>>for you to fetch changes up to
>>16cbca06fa8288a4f58426fc898b141e12ee8008:
>>
>>  IIO: consumer: allow to set buffer sizes (2018-01-10 10:30:14 +0000)
>>
>>----------------------------------------------------------------
>>IIO: ST DFSDM support
>>
>>This is the IIO portion of some patches adding support for the ST DFSDM
>>IP, it's shared with ASoC as the hardware is also used for audio.
>>
>>----------------------------------------------------------------
>>Arnaud Pouliquen (10):
>>      docs: driver-api: add iio hw consumer section
>>      IIO: hw_consumer: add devm_iio_hw_consumer_alloc
>>      IIO: inkern: API for manipulating channel attributes
>>      IIO: Add DT bindings for sigma delta adc modulator
>>      IIO: ADC: add sigma delta modulator support
>>      IIO: add DT bindings for stm32 DFSDM filter
>>      IIO: ADC: add stm32 DFSDM core support
>>      IIO: ADC: add STM32 DFSDM sigma delta ADC support
>>      IIO: ADC: add stm32 DFSDM support for PDM microphone
>>      IIO: consumer: allow to set buffer sizes
>>
>>Lars-Peter Clausen (1):
>>      iio: Add hardware consumer buffer support
>>
>> .../ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32      |   16 +
>> .../bindings/iio/adc/sigma-delta-modulator.txt     |   13 +
>> .../bindings/iio/adc/st,stm32-dfsdm-adc.txt        |  128 +++
>> Documentation/driver-api/iio/hw-consumer.rst       |   51 +
>> Documentation/driver-api/iio/index.rst             |    1 +
>> drivers/iio/adc/Kconfig                            |   37 +
>> drivers/iio/adc/Makefile                           |    3 +
>> drivers/iio/adc/sd_adc_modulator.c                 |   68 ++
>>drivers/iio/adc/stm32-dfsdm-adc.c                  | 1216
>>++++++++++++++++++++
>> drivers/iio/adc/stm32-dfsdm-core.c                 |  309 +++++
>> drivers/iio/adc/stm32-dfsdm.h                      |  310 +++++
>> drivers/iio/buffer/Kconfig                         |   10 +
>> drivers/iio/buffer/Makefile                        |    1 +
>> drivers/iio/buffer/industrialio-buffer-cb.c        |   11 +
>> drivers/iio/buffer/industrialio-hw-consumer.c      |  247 ++++
>> drivers/iio/inkern.c                               |   17 +-
>> include/linux/iio/adc/stm32-dfsdm-adc.h            |   18 +
>> include/linux/iio/consumer.h                       |   37 +
>> include/linux/iio/hw-consumer.h                    |   21 +
>> include/linux/iio/iio.h                            |   28 -
>> include/linux/iio/types.h                          |   28 +
>> 21 files changed, 2537 insertions(+), 33 deletions(-)
>>create mode 100644
>>Documentation/ABI/testing/sysfs-bus-iio-dfsdm-adc-stm32
>>create mode 100644
>>Documentation/devicetree/bindings/iio/adc/sigma-delta-modulator.txt
>>create mode 100644
>>Documentation/devicetree/bindings/iio/adc/st,stm32-dfsdm-adc.txt
>> create mode 100644 Documentation/driver-api/iio/hw-consumer.rst
>> create mode 100644 drivers/iio/adc/sd_adc_modulator.c
>> create mode 100644 drivers/iio/adc/stm32-dfsdm-adc.c
>> create mode 100644 drivers/iio/adc/stm32-dfsdm-core.c
>> create mode 100644 drivers/iio/adc/stm32-dfsdm.h
>> create mode 100644 drivers/iio/buffer/industrialio-hw-consumer.c
>> create mode 100644 include/linux/iio/adc/stm32-dfsdm-adc.h
>> create mode 100644 include/linux/iio/hw-consumer.h
> 
> -- 
> Sent from my Android device with K-9 Mail. Please excuse my brevity.
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html