mbox series

[v6,0/8] iio: add new backend framework

Message ID 20240119-iio-backend-v6-0-189536c35a05@analog.com (mailing list archive)
Headers show
Series iio: add new backend framework | expand

Message

Nuno Sa via B4 Relay Jan. 19, 2024, 4 p.m. UTC
v1:
 https://lore.kernel.org/linux-iio/20231204144925.4fe9922f@jic23-huawei/T/#m222f5175273b81dbfe40b7f0daffcdc67d6cb8ff

v2:
 https://lore.kernel.org/r/20231208-dev-iio-backend-v2-0-5450951895e1@analog.com

v3:
 https://lore.kernel.org/linux-iio/20231213-dev-iio-backend-v3-0-bb9f12a5c6dc@analog.com/

v4:
 https://lore.kernel.org/r/20231220-iio-backend-v4-0-998e9148b692@analog.com

v5:
 https://lore.kernel.org/r/20240112-iio-backend-v5-0-bdecad041ab4@analog.com

Changes in v6:
 - Patch 2
  * Add '#io-backends-cells' property to the example dts.
 - Patch 6
  * Improve comment on struct iio_backend_buffer_pair;
  * Be consistent with dots in kernel-docs. So dots only exist now in
    description and return. Also be consistent on device managed APIs
    subject and @dev description;
  * Added devm_iio_backend_enable() and hence (and for now)
    iio_backend_disable is static;
  * Fixed __devm_iio_backend_get_from_fwnode_lookup() kernel-doc;
  * Improved english in devm_iio_backend_register() comment;
  * Don't make private data mandatory;
 - Patch 7
  * Use local ad9467_chip_info *info variable;
  * Improve error handling for optional devm_iio_backend_get();
  * Make use of devm_iio_backend_enable().
 - Patch 8
  * Also change string format in version error path.

Not that big of change in this version (more small things). The most
noticeable is perhaps the introduction of devm_iio_backend_enable().

Keeping the block diagram  so we don't have to follow links
to check one of the typical setups.

                                           -------------------------------------------------------
 ------------------                        | -----------         ------------      -------  FPGA |
 |     ADC        |------------------------| | AXI ADC |---------| DMA CORE |------| RAM |       |
 | (Frontend/IIO) | Serial Data (eg: LVDS) | |(backend)|---------|          |------|     |       |
 |                |------------------------| -----------         ------------      -------       |
 ------------------                        -------------------------------------------------------

---
Nuno Sa (7):
      dt-bindings: adc: ad9467: add new io-backend property
      dt-bindings: adc: axi-adc: update bindings for backend framework
      driver: core: allow modifying device_links flags
      iio: buffer-dmaengine: export buffer alloc and free functions
      iio: add the IIO backend framework
      iio: adc: ad9467: convert to backend framework
      iio: adc: adi-axi-adc: move to backend framework

Olivier Moysan (1):
      of: property: add device link support for io-backends

 .../devicetree/bindings/iio/adc/adi,ad9467.yaml    |   4 +
 .../devicetree/bindings/iio/adc/adi,axi-adc.yaml   |   8 +-
 MAINTAINERS                                        |   8 +
 drivers/base/core.c                                |  14 +-
 drivers/iio/Kconfig                                |   9 +
 drivers/iio/Makefile                               |   1 +
 drivers/iio/adc/Kconfig                            |   4 +-
 drivers/iio/adc/ad9467.c                           | 272 +++++++++-----
 drivers/iio/adc/adi-axi-adc.c                      | 383 +++++--------------
 drivers/iio/buffer/industrialio-buffer-dmaengine.c |   8 +-
 drivers/iio/industrialio-backend.c                 | 412 +++++++++++++++++++++
 drivers/of/property.c                              |   2 +
 include/linux/iio/adc/adi-axi-adc.h                |  68 ----
 include/linux/iio/backend.h                        |  72 ++++
 include/linux/iio/buffer-dmaengine.h               |   3 +
 15 files changed, 806 insertions(+), 462 deletions(-)
---
base-commit: 801590b27bfbdb6721f85e2c3af70e627e52c8d5
change-id: 20231219-iio-backend-a3dc1a6a7a58
--

Thanks!
- Nuno Sá

Comments

Jonathan Cameron Jan. 21, 2024, 5:57 p.m. UTC | #1
On Fri, 19 Jan 2024 17:00:46 +0100
Nuno Sa via B4 Relay <devnull+nuno.sa.analog.com@kernel.org> wrote:


> Changes in v6:
>  - Patch 2
>   * Add '#io-backends-cells' property to the example dts.
>  - Patch 6
>   * Improve comment on struct iio_backend_buffer_pair;
>   * Be consistent with dots in kernel-docs. So dots only exist now in
>     description and return. Also be consistent on device managed APIs
>     subject and @dev description;
>   * Added devm_iio_backend_enable() and hence (and for now)
>     iio_backend_disable is static;
>   * Fixed __devm_iio_backend_get_from_fwnode_lookup() kernel-doc;
>   * Improved english in devm_iio_backend_register() comment;
>   * Don't make private data mandatory;
>  - Patch 7
>   * Use local ad9467_chip_info *info variable;
>   * Improve error handling for optional devm_iio_backend_get();
>   * Make use of devm_iio_backend_enable().
>  - Patch 8
>   * Also change string format in version error path.
Hi Nuno,

Other than wanting a few acks (one for 2nd DT patch with the fix and one
for the device link changes) this looks good to me.

Ideally of course I'd like to see the second user if that happens to be
available in the first few weeks of this cycle, but I don't propose to hold
this indefinitely to wait for additional users as the framework seems logical
and it's all in kernel anyway so we can probably change whatever is needed
later without too much trouble.

Jonathan

>
Nuno Sá Jan. 22, 2024, 8:36 a.m. UTC | #2
On Sun, 2024-01-21 at 17:57 +0000, Jonathan Cameron wrote:
> On Fri, 19 Jan 2024 17:00:46 +0100
> Nuno Sa via B4 Relay <devnull+nuno.sa.analog.com@kernel.org> wrote:
> 
> 
> > Changes in v6:
> >  - Patch 2
> >   * Add '#io-backends-cells' property to the example dts.
> >  - Patch 6
> >   * Improve comment on struct iio_backend_buffer_pair;
> >   * Be consistent with dots in kernel-docs. So dots only exist now in
> >     description and return. Also be consistent on device managed APIs
> >     subject and @dev description;
> >   * Added devm_iio_backend_enable() and hence (and for now)
> >     iio_backend_disable is static;
> >   * Fixed __devm_iio_backend_get_from_fwnode_lookup() kernel-doc;
> >   * Improved english in devm_iio_backend_register() comment;
> >   * Don't make private data mandatory;
> >  - Patch 7
> >   * Use local ad9467_chip_info *info variable;
> >   * Improve error handling for optional devm_iio_backend_get();
> >   * Make use of devm_iio_backend_enable().
> >  - Patch 8
> >   * Also change string format in version error path.
> Hi Nuno,
> 
> Other than wanting a few acks (one for 2nd DT patch with the fix and one
> for the device link changes) this looks good to me.
> 
> Ideally of course I'd like to see the second user if that happens to be
> available in the first few weeks of this cycle, but I don't propose to hold
> this indefinitely to wait for additional users as the framework seems logical
> and it's all in kernel anyway so we can probably change whatever is needed
> later without too much trouble.
> 

Alright. I plan to start working on the next user already this week so let's see how
it goes.

- Nuno Sá

>