public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Csókás Bence" <csokas.bence@prolan.hu>
To: William Breathitt Gray <wbg@kernel.org>
Cc: <linux-arm-kernel@lists.infradead.org>,
	<linux-iio@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
	Kamel Bouhara <kamel.bouhara@bootlin.com>
Subject: Re: [PATCH v6 2/3] counter: microchip-tcb-capture: Add IRQ handling
Date: Tue, 4 Mar 2025 10:57:05 +0100	[thread overview]
Message-ID: <9fcf9cf4-ba02-4583-9e14-bd650dbe32ee@prolan.hu> (raw)
In-Reply-To: <Z8alaOTjZeRuXnUI@ishi>

Hi,

On 2025. 03. 04. 8:02, William Breathitt Gray wrote:
> In theory, the error code could be something else if of_irq_get() failed
> for any other reason. Handle all those error cases at once by checking
> IS_ERR(priv->irq) rather than just -EPROBE_DEFER. Then you can just
> return dev_err_probe() with priv->irq for the error code.

Yes, `of_irq_get()` can return an error, for example if the IRQ is not 
defined in the DT. In these cases, we just don't do IRQ, but still allow 
the device to probe. -EPROBE_DEFER is special in this case, because it 
signifies that there *is* an IRQ to set up, just not now.

>> +enum counter_mchp_event_channels {
>> +	COUNTER_MCHP_EVCHN_CV = 0,
>> +	COUNTER_MCHP_EVCHN_RA = 0,
>> +	COUNTER_MCHP_EVCHN_RB,
>> +	COUNTER_MCHP_EVCHN_RC,
>> +};
> 
> These would be better as preprocessor defines in case we need to
> introduce new events to channel 1 or 2 in the future. That would allow
> us to insert new events easily to existing channels without having to
> worry about its actual position in an enum list.

Okay. I personally like the enum interface more, as it is much cleaner, 
but if there's a good reason to use #define's, then so be it.

> One additional benefit is if we do end up introducing more Counts for
> the module. In that situation we would have multiple CV and RA/RB/RC per
> Counter device, but we can easily define a preprocessor macro to
> calculate the channel offset given the Count index. However, with enum
> structure we would have to manually add and maintain redundant defines
> for each Count, which is far less ideal.
> 
> William Breathitt Gray

Bence


  reply	other threads:[~2025-03-04  9:57 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-27 14:40 [PATCH v6 0/3] microchip-tcb-capture: Add Capture, Compare, Overflow etc. events Bence Csókás
2025-02-27 14:40 ` [PATCH v6 1/3] include: uapi: counter: Add microchip-tcb-capture.h Bence Csókás
2025-03-04  9:51   ` William Breathitt Gray
2025-03-04 11:14     ` Csókás Bence
2025-03-04 11:54       ` William Breathitt Gray
2025-02-27 14:40 ` [PATCH v6 2/3] counter: microchip-tcb-capture: Add IRQ handling Bence Csókás
2025-03-04  7:02   ` William Breathitt Gray
2025-03-04  9:57     ` Csókás Bence [this message]
2025-03-04 10:18       ` William Breathitt Gray
2025-02-27 14:40 ` [PATCH v6 3/3] counter: microchip-tcb-capture: Add capture extensions for registers RA/RB Bence Csókás
2025-03-04  7:47   ` William Breathitt Gray
2025-03-04 10:03     ` Csókás Bence
2025-03-04 10:21       ` William Breathitt Gray

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=9fcf9cf4-ba02-4583-9e14-bd650dbe32ee@prolan.hu \
    --to=csokas.bence@prolan.hu \
    --cc=kamel.bouhara@bootlin.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=wbg@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox