On Wed, 24 Apr 2024 14:30:02 +0200 Nuno Sá <noname.nuno@xxxxxxxxx> wrote: > Hi Dan, > > On Wed, 2024-04-24 at 14:45 +0300, Dan Carpenter wrote: > > The last parameter of these axi_dac_(frequency|scale|phase)_set() > > functions is supposed to be true for TONE_2 and false for TONE_1. The > > bug is the last call where it passes "private - TONE_2". That > > subtraction is going to be zero/false for TONE_2 and and -1/true for > > TONE_1. Fix the bug, and re-write it as "private == TONE_2" so it's > > more obvious what is happening. > > > > Fixes: 4e3949a192e4 ("iio: dac: add support for AXI DAC IP core") > > Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> > > --- > > This is from code review. Untested. > > --- > > Auch, good catch! Agreed that private == AXI_DAC_*_TONE_2 makes it more > readable. > > I guess Jonathan may just squash this in the driver (was pushed this weekend). > Anyways, FWIW: > > Reviewed-by: Nuno Sa <nuno.sa@xxxxxxxxxx> Missed the pull request, so will have to follow it in next pull. Applied to the togreg branch of iio.git and pushed out as testing. Thanks, Jonathan > > > drivers/iio/dac/adi-axi-dac.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/iio/dac/adi-axi-dac.c b/drivers/iio/dac/adi-axi-dac.c > > index 9047c5aec0ff..880d83a014a1 100644 > > --- a/drivers/iio/dac/adi-axi-dac.c > > +++ b/drivers/iio/dac/adi-axi-dac.c > > @@ -383,15 +383,15 @@ static int axi_dac_ext_info_set(struct iio_backend > > *back, uintptr_t private, > > case AXI_DAC_FREQ_TONE_1: > > case AXI_DAC_FREQ_TONE_2: > > return axi_dac_frequency_set(st, chan, buf, len, > > - private - AXI_DAC_FREQ_TONE_1); > > + private == AXI_DAC_FREQ_TONE_2); > > case AXI_DAC_SCALE_TONE_1: > > case AXI_DAC_SCALE_TONE_2: > > return axi_dac_scale_set(st, chan, buf, len, > > - private - AXI_DAC_SCALE_TONE_1); > > + private == AXI_DAC_SCALE_TONE_2); > > case AXI_DAC_PHASE_TONE_1: > > case AXI_DAC_PHASE_TONE_2: > > return axi_dac_phase_set(st, chan, buf, len, > > - private - AXI_DAC_PHASE_TONE_2); > > + private == AXI_DAC_PHASE_TONE_2); > > default: > > return -EOPNOTSUPP; > > } >