All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrea Merello <andrea.merello@gmail.com>
To: Andy Shevchenko <andy.shevchenko@gmail.com>
Cc: Jonathan Cameron <jic23@kernel.org>,
	Mauro Carvalho Chehab <mchehab+huawei@kernel.org>,
	linux-iio <linux-iio@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	devicetree <devicetree@vger.kernel.org>,
	Lars-Peter Clausen <lars@metafoo.de>,
	Rob Herring <robh+dt@kernel.org>,
	Matt Ranostay <matt.ranostay@konsulko.com>,
	Alexandru Ardelean <ardeleanalex@gmail.com>,
	jmondi <jacopo@jmondi.org>,
	Andrea Merello <andrea.merello@iit.it>
Subject: Re: [v5 08/14] iio: imu: add Bosch Sensortec BNO055 core driver
Date: Mon, 2 May 2022 15:12:45 +0200	[thread overview]
Message-ID: <CAN8YU5P_vGV0vrhdy273ef9GH2Y2=TbXbsiho=V9vG44NXAujA@mail.gmail.com> (raw)
In-Reply-To: <CAHp75VfOZpD135q_eERnLk0NorXwPxY8DFbKMu+eKV8XahGC1A@mail.gmail.com>

Il giorno lun 2 mag 2022 alle ore 12:12 Andy Shevchenko
<andy.shevchenko@gmail.com> ha scritto:

One inline comment. OK for the rest

> > > > +#define BNO055_ATTR_VALS(...)          \
> > > > +       .vals = (int[]){ __VA_ARGS__},  \
> > > > +       .len = ARRAY_SIZE(((int[]){__VA_ARGS__}))

[...]

> And my point about readability. The reader, and even the author after
> some time, may have no clue in this forest of the macros and castings
> what's going on.

While I'm OK wrt your point in general, consider that it's just a
three LOC macro, used only in a few structs just below. I wouldn't say
it's so inricated; I've seen by far worse in the kernel :)

> > but about avoiding as much as
> > possible bugs caused by mismatched attr_vals, attr_aux and
> > ARRAY_SIZE() arg. e.g:
> > bno055_sysfs_attr_avail(priv, bno_foo_vals, ARRAY_SIZE(bno_bar_vals),
> > bno_foobar_aux, vals, len)
> >
> > I used to make quite a lot of mess until I grouped all the stuff in
> > one struct :/
>
> If something you want to prevent at compile time, consider to utilize
> static_assert() and / or BUILD_BUG_ON() depending on the place in the
> code (the former is preferred).

I would be happy to get rid of my macro and use those assertion
things, but I can't see how exactly. Do you have any advice about how
to take advantage of them for catching bugs like the one above in this
specific case?

  reply	other threads:[~2022-05-02 13:13 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-26 13:10 [v5 00/14] Add support for Bosch BNO055 IMU Andrea Merello
2022-04-26 13:10 ` [v5 01/14] iio: add modifiers for linear acceleration Andrea Merello
2022-04-26 13:10 ` [v5 02/14] iio: document linear acceleration modifiers Andrea Merello
2022-04-26 13:10 ` [v5 03/14] iio: event_monitor: add " Andrea Merello
2022-04-26 13:10 ` [v5 04/14] iio: add modifers for pitch, yaw, roll Andrea Merello
2022-04-26 13:10 ` [v5 05/14] iio: document pitch, yaw, roll modifiers Andrea Merello
2022-04-26 13:10 ` [v5 06/14] iio: event_monitor: add pitch, yaw and " Andrea Merello
2022-04-26 13:10 ` [v5 07/14] iio: add support for binary attributes Andrea Merello
2022-04-26 13:10 ` [v5 08/14] iio: imu: add Bosch Sensortec BNO055 core driver Andrea Merello
2022-04-27 13:22   ` Andy Shevchenko
2022-05-02  9:50     ` Andrea Merello
2022-05-02 10:11       ` Andy Shevchenko
2022-05-02 13:12         ` Andrea Merello [this message]
2022-04-26 13:10 ` [v5 09/14] iio: document bno055 private sysfs attributes Andrea Merello
2022-04-26 13:10 ` [v5 10/14] iio: document "serialnumber" sysfs attribute Andrea Merello
2022-04-26 13:10 ` [v5 11/14] dt-bindings: iio/imu: Add Bosch BNO055 Andrea Merello
2022-04-26 13:11 ` [v5 12/14] iio: imu: add BNO055 serdev driver Andrea Merello
2022-04-27  8:10   ` kernel test robot
2022-04-27 13:41     ` Andy Shevchenko
2022-04-27 13:41       ` Andy Shevchenko
2022-05-03  7:48       ` Andrea Merello
2022-05-03  7:48         ` Andrea Merello
2022-05-03 13:30         ` Andrea Merello
2022-05-03 13:30           ` Andrea Merello
2022-05-03 14:04           ` Andy Shevchenko
2022-05-03 14:04             ` Andy Shevchenko
2022-04-27 14:24   ` kernel test robot
2022-04-26 13:11 ` [v5 13/14] iio: imu: add BNO055 I2C driver Andrea Merello
2022-04-26 13:11 ` [v5 14/14] docs: iio: add documentation for BNO055 driver Andrea Merello
2022-04-27 13:42 ` [v5 00/14] Add support for Bosch BNO055 IMU Andy Shevchenko
2022-05-01 17:03   ` Jonathan Cameron
2022-05-02  6:33     ` Andrea Merello
2022-05-02  7:47       ` Andy Shevchenko
2022-05-02  8:31         ` Andrea Merello
2022-05-02  8:52           ` Andy Shevchenko

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='CAN8YU5P_vGV0vrhdy273ef9GH2Y2=TbXbsiho=V9vG44NXAujA@mail.gmail.com' \
    --to=andrea.merello@gmail.com \
    --cc=andrea.merello@iit.it \
    --cc=andy.shevchenko@gmail.com \
    --cc=ardeleanalex@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=jacopo@jmondi.org \
    --cc=jic23@kernel.org \
    --cc=lars@metafoo.de \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matt.ranostay@konsulko.com \
    --cc=mchehab+huawei@kernel.org \
    --cc=robh+dt@kernel.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.