Add support to enable the HDL IP core internal ramp generator, actually managed by the adi-axi-dac backend. It works this way: /sys/bus/iio/devices/iio:device0# echo 1 > buffer0/out_voltage0_en /sys/bus/iio/devices/iio:device0# echo 1 > buffer0/out_voltage1_en /sys/bus/iio/devices/iio:device0# echo 1 > buffer0/enable Activating ramp generator: /sys/kernel/debug/iio/iio:device0# echo -n backend-ramp-generator > data_source Deactivating: /sys/kernel/debug/iio/iio:device0# echo -n iio-buffer > data_source Signed-off-by: Angelo Dureghello <adureghello@xxxxxxxxxxxx> --- Changes in v5: - remove kmalloc, use a small buffer in the stack, - change debugfs data_source names. - Link to v4: https://lore.kernel.org/r/20250408-wip-bl-ad3552r-fixes-v4-0-b33c0264bd78@xxxxxxxxxxxx Changes in v4: - set data source based on hw channels available (model_data), - use a string array for data_source debugfs attribute, - modify debugfs accessors to use the string array, - add new "data_source_available" debugfs attr, - fix documentation accordingly. - Link to v3: https://lore.kernel.org/r/20250407-wip-bl-ad3552r-fixes-v3-0-61874065b60f@xxxxxxxxxxxx Changes in v3: - add mutex description, - use devm_mutex_init and check for return value. - Link to v2: https://lore.kernel.org/r/20250331-wip-bl-ad3552r-fixes-v2-0-cdedb430497e@xxxxxxxxxxxx Changes in v2: - doc, add few words for generic spi driver version, - axi-dac, add a separate patch to check cntrl chan validity, - axi-dac, return EIO on a wrong source on get, - add a lock on debugfs file access, - use const strings and strlen on file access. - Link to v1: https://lore.kernel.org/r/20250321-wip-bl-ad3552r-fixes-v1-0-3c1aa249d163@xxxxxxxxxxxx --- Angelo Dureghello (5): iio: dac: adi-axi-dac: add cntrl chan check docs: iio: add documentation for ad3552r driver iio: backend: add support for data source get iio: dac: adi-axi-dac: add data source get iio: dac: ad3552r-hs: add support for internal ramp Documentation/iio/ad3552r.rst | 73 +++++++++++++++++ Documentation/iio/index.rst | 1 + MAINTAINERS | 1 + drivers/iio/dac/ad3552r-hs.c | 162 +++++++++++++++++++++++++++++++++++-- drivers/iio/dac/adi-axi-dac.c | 54 +++++++++++++ drivers/iio/industrialio-backend.c | 28 +++++++ include/linux/iio/backend.h | 5 ++ 7 files changed, 318 insertions(+), 6 deletions(-) --- base-commit: 3677b089b9739b69c8e1c1eb99092230cbcf741f change-id: 20250321-wip-bl-ad3552r-fixes-4a386944c170 Best regards, -- Angelo Dureghello <adureghello@xxxxxxxxxxxx>