To facilitate backends with different set of features, add support
for defining capabilites provided by the backend. These capabilites
typically extend beyond a single operation and are therefore not
directly linked to if a single function call is implemented or not.
Furthermore, the capabilites determine if a certain set of operations
should be attempted, or skipped by the frontend. This way
the frontend driver can work with a minimalistic set of features and
still have the device in fully functional state.
Signed-off-by: Tomas Melin <tomas.melin@vaisala.com>
---
Changes in v2:
- Added industrialio-backend capabilities feature
- Removed acceptance for fully optional backend, instead require atleast
minimalistic backend to exist
- Switched to FIELD_MODIFY()
- Fixed kernel test robot reported failure for missing bitfield.h
- Link to v1: https://lore.kernel.org/r/20251216-b4-ad9467-optional-backend-v1-0-83e61531ef4d@vaisala.com
---
Tomas Melin (3):
iio: adc: ad9467: include two's complement in default mode
iio: industrialio-backend: support backend capabilities
iio: adc: ad9467: check for backend capabilities
drivers/iio/adc/ad9467.c | 42 ++++++++++++++++++++++++++++++--------
drivers/iio/industrialio-backend.c | 10 +++++++++
include/linux/iio/backend.h | 9 ++++++++
3 files changed, 53 insertions(+), 8 deletions(-)
---
base-commit: a7b10f0963c651a6406d958a5f64b9c5594f84da
change-id: 20251215-b4-ad9467-optional-backend-23f1099ee4d7
Best regards,
--
Tomas Melin <tomas.melin@vaisala.com>