Re: [PATCH 05/12] iio: dac: rohm-bd79703: Do not allow writing SCALE
From: Jonathan Cameron
Date: Sun Aug 16 2026 - 21:32:33 EST
On Mon, 10 Aug 2026 10:51:38 +0300
Matti Vaittinen <matti.vaittinen@xxxxxxxxx> wrote:
> From: Matti Vaittinen <mazziesaccount@xxxxxxxxx>
>
> The BD79703 has adds IIO_CHAN_INFO_SCALE in the info_mask_shared_by_type
> so users can read the scale, which depends on the used reference
> voltage. This, however, enables users to try writing the scale as well.
> This isn't really supported but the bd79703_write_raw() does not check
> the mask, and if written scale values pass the validation, the driver
> will proceed writing the DAC value when users writes the scale.
>
> Prevent the unsupported scale setting and return an error.
>
> Signed-off-by: Matti Vaittinen <mazziesaccount@xxxxxxxxx>
> Fixes: af6aca656a85 ("iio: dac: Support ROHM BD79703 DAC")
Applied.
BTW convention is Fixes goes before SoB.
I did wonder if is documented anywhere and claude sent me
to the tip docs.
https://www.kernel.org/doc/Documentation/process/maintainer-tip.rst
IIO can follow that.
Anyhow, I'll swap them around whilst applying.
> ---
> drivers/iio/dac/rohm-bd79703.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/iio/dac/rohm-bd79703.c b/drivers/iio/dac/rohm-bd79703.c
> index e91090e4a66d..68e66e7286d8 100644
> --- a/drivers/iio/dac/rohm-bd79703.c
> +++ b/drivers/iio/dac/rohm-bd79703.c
> @@ -73,6 +73,9 @@ static int bd79703_write_raw(struct iio_dev *idev,
> {
> struct bd79703_data *data = iio_priv(idev);
>
> + if (mask != IIO_CHAN_INFO_RAW)
> + return -EINVAL;
> +
> if (val < 0 || val >= 1 << BD79703_DAC_BITS)
> return -EINVAL;
>