Re: [PATCH v4 03/14] iio: backend: Add support for CRC
David Lechner <[email protected]>
| Newsgroups | org.kernel.vger.linux-iio,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-doc,org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On 8/21/26 9:06 AM, Janani Sunil wrote: > Add a backend operation to enable or disable direction-specific CRC > handling. On input data paths, the backend handles CRC data generated by > the frontend. On output data paths, the backend generates CRC data for > the frontend to verify. > > Signed-off-by: Janani Sunil <[email protected]> > --- > drivers/iio/industrialio-backend.c | 33 +++++++++++++++++++++++++++++++++ > include/linux/iio/backend.h | 6 ++++++ > 2 files changed, 39 insertions(+) > > diff --git a/drivers/iio/industrialio-backend.c b/drivers/iio/industrialio-backend.c > index f7a4be8ec320..fbf5c39d7655 100644 > --- a/drivers/iio/industrialio-backend.c > +++ b/drivers/iio/industrialio-backend.c > @@ -886,6 +886,39 @@ int iio_backend_num_lanes_set(struct iio_backend *back, unsigned int num_lanes) > } > EXPORT_SYMBOL_NS_GPL(iio_backend_num_lanes_set, "IIO_BACKEND"); > > +/** > + * iio_backend_crc_enable - Enable CRC handling > + * @back: Backend device > + * > + * On input data paths, enable backend handling of CRC data generated by the > + * frontend. On output data paths, enable the backend to generate CRC data for > + * the frontend to verify. > + * > + * RETURNS: > + * 0 on success, negative error number on failure. > + */ > +int iio_backend_crc_enable(struct iio_backend *back) > +{ > + return iio_backend_op_call(back, crc_enable); > +} > +EXPORT_SYMBOL_NS_GPL(iio_backend_crc_enable, "IIO_BACKEND"); > + > +/** > + * iio_backend_crc_disable - Disable CRC handling > + * @back: Backend device > + * > + * On input data paths, disable backend handling of CRC data generated by the > + * frontend. On output data paths, disable CRC generation by the backend. > + * > + * RETURNS: > + * 0 on success, negative error number on failure. > + */ > +int iio_backend_crc_disable(struct iio_backend *back) > +{ > + return iio_backend_op_call(back, crc_disable); > +} > +EXPORT_SYMBOL_NS_GPL(iio_backend_crc_disable, "IIO_BACKEND"); > + The descriptions are a bit unclear on how the data is actually sent, so not really sure all of the explanation is worth it vs. just saying enables/disables CRC. Good enough for me though: Reviewed-by: David Lechner <[email protected]>