From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Subject: Re: [PATCH v2 1/2] staging: iio: ad7780: check if ad778x before gain update To: Giuliano Belinassi , lars@metafoo.de, Michael.Hennerich@analog.com, jic23@kernel.org, knaack.h@gmx.de, pmeerw@pmeerw.net, gregkh@linuxfoundation.org, renatogeh@gmail.com Cc: linux-iio@vger.kernel.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org, kernel-usp@googlegroups.com References: <762e851dd819f27e3955cb695cd8422d84a19438.1541681371.git.giuliano.belinassi@usp.br> From: Tomasz Duszynski Message-ID: <55b5de74-a607-94b9-8c85-40658e38fbb5@gmail.com> Date: Thu, 8 Nov 2018 19:26:37 +0100 MIME-Version: 1.0 In-Reply-To: <762e851dd819f27e3955cb695cd8422d84a19438.1541681371.git.giuliano.belinassi@usp.br> Content-Type: text/plain; charset=utf-8 List-ID: Hi Giuliano, Comment inline. On 11/8/18 2:03 PM, Giuliano Belinassi wrote: > Only the ad778x have the 'gain' status bit. Check it before updating > through a new variable is_ad778x in chip_info. > > Signed-off-by: Giuliano Belinassi > --- > Changes in v2: > - Squashed is_ad778x declaration commit with the ad778x checkage > - Changed is_ad778x type to bool > > drivers/staging/iio/adc/ad7780.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/drivers/staging/iio/adc/ad7780.c b/drivers/staging/iio/adc/ad7780.c > index 91e016d534ed..9ec2b002539e 100644 > --- a/drivers/staging/iio/adc/ad7780.c > +++ b/drivers/staging/iio/adc/ad7780.c > @@ -35,6 +35,7 @@ struct ad7780_chip_info { > struct iio_chan_spec channel; > unsigned int pattern_mask; > unsigned int pattern; > + bool is_ad778x; > }; > > struct ad7780_state { > @@ -113,10 +114,12 @@ static int ad7780_postprocess_sample(struct ad_sigma_delta *sigma_delta, > ((raw_sample & chip_info->pattern_mask) != chip_info->pattern)) > return -EIO; > > - if (raw_sample & AD7780_GAIN) > - st->gain = 1; > - else > - st->gain = 128; > + if (chip_info->is_ad778x) { > + if (raw_sample & AD7780_GAIN) > + st->gain = 1; > + else > + st->gain = 128; > + } Just some random though. Instead of introducing extra level of indentation you can simply check whether is_ad778x is asserted and simply return. > > return 0; > } > @@ -135,21 +138,25 @@ static const struct ad7780_chip_info ad7780_chip_info_tbl[] = { > .channel = AD7780_CHANNEL(12, 24), > .pattern = 0x5, > .pattern_mask = 0x7, > + .is_ad778x = false, Any reason for setting this explicitly? That's going to be false anyway. > }, > [ID_AD7171] = { > .channel = AD7780_CHANNEL(16, 24), > .pattern = 0x5, > .pattern_mask = 0x7, > + .is_ad778x = false, > }, > [ID_AD7780] = { > .channel = AD7780_CHANNEL(24, 32), > .pattern = 0x1, > .pattern_mask = 0x3, > + .is_ad778x = true, > }, > [ID_AD7781] = { > .channel = AD7780_CHANNEL(20, 32), > .pattern = 0x1, > .pattern_mask = 0x3, > + .is_ad778x = true, > }, > }; >