On Wed, Dec 13, 2023 at 04:02:31PM +0100, Nuno Sa wrote: > 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@xxxxxxxxxx > > Changes in v3: > - Patch 1: > * Use proposed generic schema [1]. Also make it a required property; > * Improved the commit message. > - Patch 2: > * Improved commit message. > - Patch 4: > * Namespace all IIO DMAENGINE buffer exports; > * Removed unrelated new line removal change. > - Patch 5: > * Namespace all IIO backend exports. > - Patch 6: > * Set backend.h in alphabetical order; > * Import IIO backend namespace. > - Patch 7: > * Don't depend on OF in kbuild anymore; > * Import IIO backend namespace. > > For the bindings patches, I tried not to enter into much details about > the IIO framework as I think specifics of the implementation don't care > from the bindings perspective. Hopefully the commit messages are good > enough. > > I'm also aware that patch 1 is not backward compatible but we are > anyways doing it on the driver side (and on the driver the property is > indeed required). Anyways, just let me know if making the property > required is not acceptable (I'm fairly confident no one was using the > upstream version of the driver and so validating devicetrees for it). > > Keeping the block diagram in v3's cover so we don't have to follow links > to check the one of the typicals setups. > > ------------------------------------------------------- > ------------------ | ----------- ------------ ------- FPGA | > | ADC |------------------------| | AXI ADC |---------| DMA CORE |------| RAM | | > | (Frontend/IIO) | Serial Data (eg: LVDS) | |(backend)|---------| |------| | | > | |------------------------| ----------- ------------ ------- | > ------------------ ------------------------------------------------------- Why doesn't axi-adc just have an io-channels property to adc? It's the opposite direction for the link, but it seems more logical to me that axi-adc depends on adc rather than the other way around. And if there's another consumer in the chain, then a node could certainly be both an io-channels consumer and producer. The architecture of the drivers seems odd to me. It looks similar to making a phy driver handle all the state and protocol with the host controller being a backend. Rob