public inbox for linux-iio@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: Andrea Merello <andrea.merello@gmail.com>
Cc: Jonathan Cameron <jic23@kernel.org>,
	Peter Meerwald-Stadler <pmeerw@pmeerw.net>,
	linux-iio <linux-iio@vger.kernel.org>,
	Andrea Merello <andrea.merello@iit.it>
Subject: Re: [v3 07/13] iio: imu: add Bosch Sensortec BNO055 core driver
Date: Mon, 4 Apr 2022 09:54:36 +0200	[thread overview]
Message-ID: <YkqkPBlc9jt+jzph@kroah.com> (raw)
In-Reply-To: <CAN8YU5NyLvcNXZOQrKaK_CxN5M61pRX4Qpb-aNT18vvedh+JrA@mail.gmail.com>

On Mon, Apr 04, 2022 at 08:30:51AM +0200, Andrea Merello wrote:
> Il giorno lun 28 mar 2022 alle ore 15:02 Greg Kroah-Hartman
> <gregkh@linuxfoundation.org> ha scritto:
> >
> > On Sun, Mar 27, 2022 at 05:11:04PM +0100, Jonathan Cameron wrote:
> > > On Tue, 22 Mar 2022 11:27:14 +0100
> > > Andrea Merello <andrea.merello@gmail.com> wrote:
> > >
> > > > Il giorno sab 19 feb 2022 alle ore 18:34 Jonathan Cameron
> > > > <jic23@kernel.org> ha scritto:
> > > > >
> > > > > On Thu, 17 Feb 2022 22:58:14 +0100 (CET)
> > > > > Peter Meerwald-Stadler <pmeerw@pmeerw.net> wrote:
> > > > >
> > > > > > On Thu, 17 Feb 2022, Andrea Merello wrote:
> > > > > >
> > > > > > nice work, minor comments below
> > > > >
> > > > > I'll review on top of Peter to save on duplication.
> > > > >
> > > > > Mostly really minor stuff.
> > >
> > > +CC Greg for binary attribute questions.
> > >
> > > >
> > > > :)
> > > >
> > > > As usual, comments inline; OK for all the rest.
> > > >
> > > > > Given this has crossed with the introduction of namespaces to quite
> > > > > a few IIO drivers (I have another series to do on that once I get
> > > > > caught up with reviews) I'd prefer it if you would move this into
> > > > > a symbol namespace (EXPORT_SYMBOL_NS_GPL() and appropriate namespace
> > > > > statements in the two bus modules.
> > > > >
> > > > > Save it being done as a follow up series.  If you prefer not to then
> > > > > that's fine too as it'll be a trivial follow up patch.
> > > >
> > > > I'll include it in V4 directly.
> > > >
> > > > [...]
> > > >
> > > > > > > +   case IIO_CHAN_INFO_SCALE:
> > > > > > > +           /* Table 3-31: 1 quaternion = 2^14 LSB */
> > > > > > > +           if (size < 2)
> > > > > > > +                   return -EINVAL;
> > > > > > > +           vals[0] = 1;
> > > > > > > +           vals[1] = 1 << 14;
> > > > > > > +           return IIO_VAL_FRACTIONAL_LOG2;
> > > > >
> > > > > This doesn't look right.  Not vals[1] = 14 given FRACTIONAL_LOG2?
> > > >
> > > > Hum.. maybe just IIO_VAL_FRACTIONAL ?
> > >
> > > That works as well, though I'd argue FRACTIONAL_LOG2 is the
> > > better option as it makes it clear the divisor is a power of 2
> > > and the precision might potentially be better as a result (I've not
> > > checked!)
> > >
> > > >
> > > > > > > +   default:
> > > > > > > +           return -EINVAL;
> > > > > > > +   }
> > > > > > > +}
> > > > > > > +
> > > >
> > > > [...]
> > > >
> > > > > > > +static IIO_DEVICE_ATTR_RO(sys_calibration_auto_status, 0);
> > > > > > > +static IIO_DEVICE_ATTR_RO(in_accel_calibration_auto_status, 0);
> > > > > > > +static IIO_DEVICE_ATTR_RO(in_gyro_calibration_auto_status, 0);
> > > > > > > +static IIO_DEVICE_ATTR_RO(in_magn_calibration_auto_status, 0);
> > > > > > > +static IIO_DEVICE_ATTR_RO(calibration_data, 0);
> > > > >
> > > > > This is documented as providing binary data but it's not using
> > > > > a binary attribute and that rather surprised me.
> > > > >
> > > > > Off the top of my head I can't recall why it matters though, so please
> > > > > take a look at whether a bin_attribute makes more sense for this.
> > > >
> > > > As far as I can see, it seems that a non-binary attributes only
> > > > support to be read at once while the binary attributes read()
> > > > operation supports random access i.e. it has the file position
> > > > parameter.
> > > >
> > > > The calibration data is "dynamic", it's read from the HW every time,
> > > > and I'm not sure it makes any sense to read it in several chunks (what
> > > > if we read a chunk and the calibration data is updated by the HW
> > > > before reading the second chunk?). So, despide the fitting "binary"
> > > > name I'm tempted to stick with regular attribute. However I'm not sure
> > > > this is the only difference related to binary attributes.
> > >
> > > +Cc Greg.  Valid choice to use a normal attribute for this?
> >
> > binary attributes are to ONLY be used for data that flows to/from a
> > device without the kernel ever modifying the data at all.  The kerneln
> > is just a pass-through here.
> >
> > There are a few minor exceptions, but they were exceptions, please don't
> > use them as a valid reason to use a binary attribute.
> >
> > does that help?
> 
> Thanks. Here the driver doesn't modify the data, so no probl here about this.
> 
> Would it be valid to restrict usage to only complete reads from the
> start to the end on calibration data i.e. returning -EINVAL when
> read() function is called with pos != 0 or count < actual data size ?

That's up to you.

  reply	other threads:[~2022-04-04  7:54 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-02-17 16:26 [v3 00/13] Add support for Bosch BNO055 IMU Andrea Merello
2022-02-17 16:26 ` [v3 01/13] iio: add modifiers for linear acceleration Andrea Merello
2022-02-17 16:26 ` [v3 02/13] iio: document linear acceleration modifiers Andrea Merello
2022-02-19 16:08   ` Jonathan Cameron
2022-02-17 16:27 ` [v3 03/13] iio: event_monitor: add " Andrea Merello
2022-02-17 16:27 ` [v3 04/13] iio: add modifers for pitch, yaw, roll Andrea Merello
2022-02-17 16:27 ` [v3 05/13] iio: document pitch, yaw, roll modifiers Andrea Merello
2022-02-19 16:31   ` Jonathan Cameron
2022-02-17 16:27 ` [v3 06/13] iio: event_monitor: add pitch, yaw and " Andrea Merello
2022-02-17 16:27 ` [v3 07/13] iio: imu: add Bosch Sensortec BNO055 core driver Andrea Merello
2022-02-17 21:58   ` Peter Meerwald-Stadler
2022-02-19 17:41     ` Jonathan Cameron
2022-03-22 10:27       ` Andrea Merello
2022-03-27 16:11         ` Jonathan Cameron
2022-03-28 13:02           ` Greg Kroah-Hartman
2022-04-04  6:30             ` Andrea Merello
2022-04-04  7:54               ` Greg Kroah-Hartman [this message]
2022-03-22 10:14     ` Andrea Merello
2022-02-17 16:27 ` [v3 08/13] iio: document bno055 private sysfs attributes Andrea Merello
2022-02-19 16:50   ` Jonathan Cameron
2022-02-17 16:27 ` [v3 09/13] iio: document "serial_number" sysfs attribute Andrea Merello
2022-02-19 16:52   ` Jonathan Cameron
2022-02-17 16:27 ` [v3 10/13] dt-bindings: iio: imu: add documentation for Bosch BNO055 bindings Andrea Merello
2022-02-24 19:54   ` Rob Herring
2022-02-17 16:27 ` [v3 11/13] iio: imu: add BNO055 serdev driver Andrea Merello
2022-02-17 19:47   ` kernel test robot
2022-02-18  5:20   ` kernel test robot
2022-02-21 20:27   ` Andy Shevchenko
2022-03-22 10:37     ` Andrea Merello
2022-02-17 16:27 ` [v3 12/13] iio: imu: add BNO055 I2C driver Andrea Merello
2022-02-19 17:03   ` Jonathan Cameron
2022-02-21 20:32   ` Andy Shevchenko
2022-02-17 16:27 ` [v3 13/13] docs: iio: add documentation for BNO055 driver Andrea Merello
2022-02-19 17:06   ` Jonathan Cameron
2022-03-22 10:30     ` Andrea Merello
2022-03-22 20:32       ` 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=YkqkPBlc9jt+jzph@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=andrea.merello@gmail.com \
    --cc=andrea.merello@iit.it \
    --cc=jic23@kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=pmeerw@pmeerw.net \
    /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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox