From: Vasileios Amoiridis <vassilisamir@gmail.com>
To: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Cc: Vasileios Amoiridis <vassilisamir@gmail.com>,
jic23@kernel.org, lars@metafoo.de, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org, ang.iglesiasg@gmail.com,
linus.walleij@linaro.org, biju.das.jz@bp.renesas.com,
javier.carrasco.cruz@gmail.com, semen.protsenko@linaro.org,
579lpy@gmail.com, ak@it-klinger.de, linux-iio@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 6/7] iio: pressure: bmp280: Add data ready trigger support
Date: Wed, 28 Aug 2024 16:01:19 +0200 [thread overview]
Message-ID: <20240828140119.GB4934@vamoiridPC> (raw)
In-Reply-To: <ZsxXvGy4GNrZWs-D@smile.fi.intel.com>
On Mon, Aug 26, 2024 at 01:23:56PM +0300, Andy Shevchenko wrote:
> On Sat, Aug 24, 2024 at 02:02:22PM +0200, Vasileios Amoiridis wrote:
> > On Fri, Aug 23, 2024 at 11:06:28PM +0300, Andy Shevchenko wrote:
> > > On Fri, Aug 23, 2024 at 08:17:13PM +0200, Vasileios Amoiridis wrote:
>
> ...
>
> > > > +static int __bmp280_trigger_probe(struct iio_dev *indio_dev,
> > > > + const struct iio_trigger_ops *trigger_ops,
> > > > + int (*int_config)(struct bmp280_data *data),
> > >
> > > > + irqreturn_t (*irq_thread_handler)(int irq, void *p))
> > >
> > > irq_handler_t
> >
> > But the function returns an irqreturn_t type, no?
>
> The type of the last parameter is irq_handler_t, no need to open code it.
>
> ...
>
> > > > + fwnode = dev_fwnode(data->dev);
> > > > + if (!fwnode)
> > > > + return -ENODEV;
> > >
> > > Why do you need this? The below will fail anyway.
> >
> > Because If I don't make this check then fwnode might be garbage and I will
> > pass garbage to the fwnode_irq_get() function. Or do I miss something?
>
> Yes, the function validates fwnode before use. So, please drop unneeded (or
> even duplicate) check.
>
> ...
>
> > > > + irq = fwnode_irq_get(fwnode, 0);
> > > > + if (!irq)
> > >
> > > Are you sure this is correct check?
> > >
> > Well, I think yes, because the function return either the Linux IRQ number
> > on success or a negative errno on failure.
>
> Where is 0 mentioned in this?
>
> > https://elixir.bootlin.com/linux/v6.10.6/source/drivers/base/property.c#L987
> >
> > > > + return dev_err_probe(data->dev, -ENODEV,
> > >
> > > Shadowed error code.
> >
> > I am not sure I understand what you mean here. You mean that there is no
> > chance that the first one will pass and this one will fail?
>
> -ENODEV is not what fwnode_irq_get() returns on error.
>
> > > > + "No interrupt found.\n");
>
> ...
>
> > > > + desc = irq_get_irq_data(irq);
> > > > + if (!desc)
> > > > + return -EINVAL;
> > >
> > > When may this fail?
> >
> > I think that this will fail when Linux were not able to actually
> > register that interrupt.
>
> Wouldn't fwnode_irq_get() fail already?
>
Hi Andy,
By looking at it again, I didn't reply correct here. This function
internally calls the irq_to_desc() which basically returns the
irq desctiptor for this irq. This function can return NULL in
case the interrupt is not found in the maple tree (CONFIG_SPARSE_IRQ)
or in case the interrupt number is bigger than the NR_IRQs which
the irq controller can handle (!CONFIG_SPARSE_IRQ).
So in my opinion, it makes sense to keep this check.
Cheers,
Vasilis
https://elixir.bootlin.com/linux/v6.10.6/source/kernel/irq/chip.c#L155
> ...
>
> > > if (ret)
> > > dev_err(data->dev, "Could not enable/disable interrupt\n");
>
> Btw you may use str_enable_disable() here.
>
> > > return ret;
> > >
> > > ?
> >
> > All the other if statements follow the style that I typed. If I
> > follow yours, will make it different just for this one, does it
> > make sense?
>
> When a comment is given, it's assumed that the _full_ patch (or patch series)
> should be revisited for it. Or should I add to every comment something like
> this:
>
> "Please, check the entire code for the same or similar case and amend
> accordingly."
>
> ?
>
> --
> With Best Regards,
> Andy Shevchenko
>
>
next prev parent reply other threads:[~2024-08-28 14:01 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-23 18:17 [PATCH v3 0/7] pressure: bmp280: Minor cleanup and interrupt support Vasileios Amoiridis
2024-08-23 18:17 ` [PATCH v3 1/7] iio: pressure: bmp280: Use bulk read for humidity calibration data Vasileios Amoiridis
2024-08-23 18:47 ` Andy Shevchenko
2024-08-24 11:10 ` Vasileios Amoiridis
2024-08-23 18:17 ` [PATCH v3 2/7] iio: pressure: bmp280: Add support for bmp280 soft reset Vasileios Amoiridis
2024-08-23 19:13 ` Andy Shevchenko
2024-08-24 11:16 ` Vasileios Amoiridis
2024-08-26 10:11 ` Andy Shevchenko
2024-08-25 7:04 ` Christophe JAILLET
2024-08-28 7:49 ` Vasileios Amoiridis
2024-08-23 18:17 ` [PATCH v3 3/7] iio: pressure: bmp280: Remove config error check for IIR filter updates Vasileios Amoiridis
2024-08-23 19:15 ` Andy Shevchenko
2024-08-24 11:18 ` Vasileios Amoiridis
2024-08-26 10:12 ` Andy Shevchenko
2024-08-23 18:17 ` [PATCH v3 4/7] iio: pressure: bmp280: Use sleep and forced mode for oneshot captures Vasileios Amoiridis
2024-08-23 19:25 ` Andy Shevchenko
2024-08-24 11:29 ` Vasileios Amoiridis
2024-08-26 10:17 ` Andy Shevchenko
2024-08-23 18:17 ` [PATCH v3 5/7] dt-bindings: iio: pressure: bmp085: Add interrupts for BMP3xx and BMP5xx devices Vasileios Amoiridis
2024-08-23 18:51 ` Biju Das
2024-08-24 11:31 ` Vasileios Amoiridis
2024-08-24 11:41 ` Biju Das
2024-08-24 12:09 ` Vasileios Amoiridis
2024-08-24 7:45 ` Krzysztof Kozlowski
2024-08-24 11:35 ` Vasileios Amoiridis
2024-08-25 6:57 ` Krzysztof Kozlowski
2024-08-23 18:17 ` [PATCH v3 6/7] iio: pressure: bmp280: Add data ready trigger support Vasileios Amoiridis
2024-08-23 20:06 ` Andy Shevchenko
2024-08-24 12:02 ` Vasileios Amoiridis
2024-08-26 10:01 ` Jonathan Cameron
2024-08-26 10:26 ` Andy Shevchenko
2024-08-26 10:23 ` Andy Shevchenko
2024-08-28 14:01 ` Vasileios Amoiridis [this message]
2024-08-28 14:17 ` Andy Shevchenko
2024-08-28 18:13 ` Vasileios Amoiridis
2024-08-23 18:17 ` [PATCH v3 7/7] iio: pressure: bmp280: Move bmp085 interrupt to new configuration Vasileios Amoiridis
2024-08-24 10:02 ` Jonathan Cameron
2024-08-24 12:07 ` Vasileios Amoiridis
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=20240828140119.GB4934@vamoiridPC \
--to=vassilisamir@gmail.com \
--cc=579lpy@gmail.com \
--cc=ak@it-klinger.de \
--cc=andriy.shevchenko@linux.intel.com \
--cc=ang.iglesiasg@gmail.com \
--cc=biju.das.jz@bp.renesas.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=javier.carrasco.cruz@gmail.com \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linus.walleij@linaro.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=semen.protsenko@linaro.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox