Message ID | 20240119-iio-backend-v6-0-189536c35a05@analog.com |
---|---|
Headers | show |
Series | iio: add new backend framework | expand |
On Fri, 19 Jan 2024 17:00:47 +0100, Nuno Sa wrote: > The ad9467 will make use of the new IIO backend framework which is a > provider - consumer interface where IIO backends provide services to > consumers. As such, and being this device a consumer, add the new > generic io-backend property to the bindings. > > Reviewed-by: Rob Herring <robh@kernel.org> > Signed-off-by: Nuno Sa <nuno.sa@analog.com> > --- > Documentation/devicetree/bindings/iio/adc/adi,ad9467.yaml | 4 ++++ > 1 file changed, 4 insertions(+) > My bot found errors running 'make DT_CHECKER_FLAGS=-m dt_binding_check' on your patch (DT_CHECKER_FLAGS is new in v5.13): yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/adc/adi,ad9467.yaml: io-backends: missing type definition doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20240119-iio-backend-v6-1-189536c35a05@analog.com The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema.
On Fri, 19 Jan 2024 17:00:49 +0100 Nuno Sa via B4 Relay <devnull+nuno.sa.analog.com@kernel.org> wrote: > From: Nuno Sa <nuno.sa@analog.com> > > If a device_link is previously created (eg: via > fw_devlink_create_devlink()) before the supplier + consumer are both > present and bound to their respective drivers, there's no way to set > DL_FLAG_AUTOREMOVE_CONSUMER anymore while one can still set > DL_FLAG_AUTOREMOVE_SUPPLIER. Hence, rework the flags checks to allow > for DL_FLAG_AUTOREMOVE_CONSUMER in the same way > DL_FLAG_AUTOREMOVE_SUPPLIER is done. > > While at it, make sure that we are never left with > DL_FLAG_AUTOPROBE_CONSUMER set together with one of > DL_FLAG_AUTOREMOVE_CONSUMER or DL_FLAG_AUTOREMOVE_SUPPLIER. > > Signed-off-by: Nuno Sa <nuno.sa@analog.com> Looking for an Ack or RB from someone more familiar with device links than I am. Greg / Rafael? thanks Jonathan > --- > drivers/base/core.c | 14 +++++++++----- > 1 file changed, 9 insertions(+), 5 deletions(-) > > diff --git a/drivers/base/core.c b/drivers/base/core.c > index 67ba592afc77..fdbb5abc75d5 100644 > --- a/drivers/base/core.c > +++ b/drivers/base/core.c > @@ -807,11 +807,15 @@ struct device_link *device_link_add(struct device *consumer, > * update the existing link to stay around longer. > */ > if (flags & DL_FLAG_AUTOREMOVE_SUPPLIER) { > - if (link->flags & DL_FLAG_AUTOREMOVE_CONSUMER) { > - link->flags &= ~DL_FLAG_AUTOREMOVE_CONSUMER; > - link->flags |= DL_FLAG_AUTOREMOVE_SUPPLIER; > - } > - } else if (!(flags & DL_FLAG_AUTOREMOVE_CONSUMER)) { > + link->flags &= ~DL_FLAG_AUTOREMOVE_CONSUMER; > + link->flags &= ~DL_FLAG_AUTOPROBE_CONSUMER; > + link->flags |= DL_FLAG_AUTOREMOVE_SUPPLIER; > + > + } else if (flags & DL_FLAG_AUTOREMOVE_CONSUMER) { > + link->flags &= ~DL_FLAG_AUTOREMOVE_SUPPLIER; > + link->flags &= ~DL_FLAG_AUTOPROBE_CONSUMER; > + link->flags |= DL_FLAG_AUTOREMOVE_CONSUMER; > + } else { > link->flags &= ~(DL_FLAG_AUTOREMOVE_CONSUMER | > DL_FLAG_AUTOREMOVE_SUPPLIER); > } >
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 >