From: Nuno Sa Date: Tue, 6 Aug 2024 13:35:06 +0000 (+0200) Subject: iio: dac: adi-axi-dac: support debugfs direct_reg_access X-Git-Tag: v6.12-rc1~39^2~37^2~42 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=24a9453c03686110f641697a09e07cefc57a0b87;p=thirdparty%2Fkernel%2Flinux.git iio: dac: adi-axi-dac: support debugfs direct_reg_access Make it possible to read/write registers on the backend using the debugfs interface for it. Signed-off-by: Nuno Sa Link: https://patch.msgid.link/20240806-dev-backend-dac-direct-reg-access-v1-1-b84a6e8ee8a0@analog.com Signed-off-by: Jonathan Cameron --- diff --git a/drivers/iio/dac/adi-axi-dac.c b/drivers/iio/dac/adi-axi-dac.c index 9655705b158be..0cb00f3bec045 100644 --- a/drivers/iio/dac/adi-axi-dac.c +++ b/drivers/iio/dac/adi-axi-dac.c @@ -507,6 +507,17 @@ static int axi_dac_set_sample_rate(struct iio_backend *back, unsigned int chan, return 0; } +static int axi_dac_reg_access(struct iio_backend *back, unsigned int reg, + unsigned int writeval, unsigned int *readval) +{ + struct axi_dac_state *st = iio_backend_get_priv(back); + + if (readval) + return regmap_read(st->regmap, reg, readval); + + return regmap_write(st->regmap, reg, writeval); +} + static const struct iio_backend_ops axi_dac_generic_ops = { .enable = axi_dac_enable, .disable = axi_dac_disable, @@ -517,6 +528,7 @@ static const struct iio_backend_ops axi_dac_generic_ops = { .ext_info_get = axi_dac_ext_info_get, .data_source_set = axi_dac_data_source_set, .set_sample_rate = axi_dac_set_sample_rate, + .debugfs_reg_access = iio_backend_debugfs_ptr(axi_dac_reg_access), }; static const struct iio_backend_info axi_dac_generic = {