From: Andy Shevchenko <andy.shevchenko@gmail.com> To: Crt Mori <cmo@melexis.com> Cc: Jonathan Cameron <jic23@kernel.org>, linux-iio <linux-iio@vger.kernel.org>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org> Subject: Re: [PATCH v5 3/5] iio:temperature:mlx90632: Convert polling while loop to do-while Date: Thu, 13 Aug 2020 14:24:23 +0300 [thread overview] Message-ID: <CAHp75Vd+3SopKog6uhSKoOLn+tECsQfs7kRbJsrMZEbNRpk8bQ@mail.gmail.com> (raw) In-Reply-To: <CAKv63uv=b60B9RXBJF4HEhMOowu-qbGrv7LsmJVvkkERSida-A@mail.gmail.com> On Thu, Aug 13, 2020 at 2:14 PM Crt Mori <cmo@melexis.com> wrote: > > On Thu, 13 Aug 2020 at 13:03, Andy Shevchenko <andy.shevchenko@gmail.com> wrote: > > > > On Thu, Aug 13, 2020 at 10:53 AM Crt Mori <cmo@melexis.com> wrote: > > > > > > Reduce number of lines and improve readability to convert polling while > > > loops to do-while. The iopoll.h interface was not used, because we > > > require more than 20ms timeout, because time for sensor to perform a > > > measurement is around 10ms and it needs to perform measurements for each > > > channel (which currently is 3). > > > > I don't see how it prevents using iopoll.h. It uses usleep_range() > > under the hood in the same way you did here, but open coded. > > > > One loop is indeed 10ms and that is not the problem, the problem is > that timeout is at least 3 calls of this data ready (3 channels), so > that is at minimum 30ms of timeout, or it could even be 4 in worse > case scenario and that is outside of the range for usleep to measure. > So in case of the other loop, where we wait 200ms for channel refresh > it is also out of scope. Timeout should be in number of tries or in > msleep range if you ask me. I still didn't buy it. You have in both cases usleep_range(). Why in your case it's okay and in regmap_read_poll_timeout() is not? > > ... > > > > > - while (tries-- > 0) { > > > + do { > > > ret = regmap_read(data->regmap, MLX90632_REG_STATUS, > > > ®_status); > > > if (ret < 0) > > > return ret; > > > - if (reg_status & MLX90632_STAT_DATA_RDY) > > > - break; > > > usleep_range(10000, 11000); > > > - } > > > + } while (!(reg_status & MLX90632_STAT_DATA_RDY) && tries--); > > > > > > if (tries < 0) { > > > dev_err(&data->client->dev, "data not ready"); -- With Best Regards, Andy Shevchenko
next prev parent reply other threads:[~2020-08-13 11:24 UTC|newest] Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-13 7:51 [PATCH v5 0/5] iio: temperature: mlx90632: Add extended calibration calculations Crt Mori 2020-08-13 7:51 ` [PATCH v5 1/5] iio:temperature:mlx90632: Reduce number of equal calulcations Crt Mori 2020-08-13 7:51 ` [PATCH v5 2/5] iio:temperature:mlx90632: Add kerneldoc to the internal struct Crt Mori 2020-08-13 10:54 ` Andy Shevchenko 2020-08-13 7:51 ` [PATCH v5 3/5] iio:temperature:mlx90632: Convert polling while loop to do-while Crt Mori 2020-08-13 11:03 ` Andy Shevchenko 2020-08-13 11:13 ` Crt Mori 2020-08-13 11:24 ` Andy Shevchenko [this message] 2020-08-13 13:03 ` Crt Mori 2020-08-13 19:40 ` Andy Shevchenko 2020-08-14 7:32 ` Crt Mori 2020-08-14 9:31 ` Andy Shevchenko 2020-08-14 9:42 ` Crt Mori 2020-08-14 12:11 ` Andy Shevchenko 2020-08-13 7:51 ` [PATCH v5 4/5] iio:temperature:mlx90632: Adding extended calibration option Crt Mori 2020-08-13 11:06 ` Andy Shevchenko 2020-08-13 7:51 ` [PATCH v5 5/5] iio:temperature:mlx90632: Some stylefixing leftovers Crt Mori 2020-08-13 11:01 ` Andy Shevchenko 2020-08-13 13:11 ` Crt Mori 2020-08-13 19:41 ` Andy Shevchenko 2020-08-16 8:38 ` Jonathan Cameron
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=CAHp75Vd+3SopKog6uhSKoOLn+tECsQfs7kRbJsrMZEbNRpk8bQ@mail.gmail.com \ --to=andy.shevchenko@gmail.com \ --cc=cmo@melexis.com \ --cc=jic23@kernel.org \ --cc=linux-iio@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --subject='Re: [PATCH v5 3/5] iio:temperature:mlx90632: Convert polling while loop to do-while' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).