From: William Breathitt Gray <vilhelm.gray@gmail.com>
To: David Lechner <david@lechnology.com>
Cc: jic23@kernel.org, kamel.bouhara@bootlin.com,
gwendal@chromium.org, alexandre.belloni@bootlin.com,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-stm32@st-md-mailman.stormreply.com,
linux-arm-kernel@lists.infradead.org, syednwaris@gmail.com,
patrick.havelange@essensium.com, fabrice.gasnier@st.com,
mcoquelin.stm32@gmail.com, alexandre.torgue@st.com
Subject: Re: [PATCH v5 5/5] counter: 104-quad-8: Add IRQ support for the ACCES 104-QUAD-8
Date: Sun, 18 Oct 2020 10:50:25 -0400 [thread overview]
Message-ID: <20201018145025.GC231549@shinobu> (raw)
In-Reply-To: <a0e54a35-eed6-a938-dd4e-4f602d3b50c0@lechnology.com>
[-- Attachment #1: Type: text/plain, Size: 1624 bytes --]
On Tue, Oct 13, 2020 at 07:13:32PM -0500, David Lechner wrote:
> On 9/26/20 9:18 PM, William Breathitt Gray wrote:
> > +static irqreturn_t quad8_irq_handler(int irq, void *quad8iio)
> > +{
> > + struct quad8_iio *const priv = quad8iio;
> > + const unsigned long base = priv->base;
> > + unsigned long irq_status;
> > + unsigned long channel;
> > + u8 event;
> > + int err;
> > +
> > + irq_status = inb(base + QUAD8_REG_INTERRUPT_STATUS);
> > + if (!irq_status)
> > + return IRQ_NONE;
> > +
> > + for_each_set_bit(channel, &irq_status, QUAD8_NUM_COUNTERS) {
> > + switch (priv->irq_trigger[channel]) {
> > + case 0:
> > + event = COUNTER_EVENT_OVERFLOW;
> > + break;
> > + case 1:
> > + event = COUNTER_EVENT_THRESHOLD;
> > + break;
> > + case 2:
> > + event = COUNTER_EVENT_OVERFLOW_UNDERFLOW;
> > + break;
> > + case 3:
> > + event = COUNTER_EVENT_INDEX;
> > + break;
> > + default:
> > + /* We should never reach here */
> > + return -EINVAL;
>
> This is not a valid return value for an IRQ handler. Maybe WARN_ONCE instead?
Ack.
> > + }
> > + err = counter_push_event(&priv->counter, event, channel);
> > + if (err)
> > + return err;
>
> Same here. Otherwise, I think we could end up with interrupts in an endless
> loop since the interrupt would never be cleared.
Good point, I'll change this and the one above.
William Breathitt Gray
> > + }
> > +
> > + /* Clear pending interrupts on device */
> > + outb(QUAD8_CHAN_OP_ENABLE_INTERRUPT_FUNC, base + QUAD8_REG_CHAN_OP);
> > +
> > + return IRQ_HANDLED;
> > +}
> > +
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: William Breathitt Gray <vilhelm.gray@gmail.com>
To: David Lechner <david@lechnology.com>
Cc: kamel.bouhara@bootlin.com, gwendal@chromium.org,
alexandre.torgue@st.com, linux-iio@vger.kernel.org,
patrick.havelange@essensium.com, alexandre.belloni@bootlin.com,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org, mcoquelin.stm32@gmail.com,
syednwaris@gmail.com, linux-stm32@st-md-mailman.stormreply.com,
jic23@kernel.org
Subject: Re: [PATCH v5 5/5] counter: 104-quad-8: Add IRQ support for the ACCES 104-QUAD-8
Date: Sun, 18 Oct 2020 10:50:25 -0400 [thread overview]
Message-ID: <20201018145025.GC231549@shinobu> (raw)
In-Reply-To: <a0e54a35-eed6-a938-dd4e-4f602d3b50c0@lechnology.com>
[-- Attachment #1.1: Type: text/plain, Size: 1624 bytes --]
On Tue, Oct 13, 2020 at 07:13:32PM -0500, David Lechner wrote:
> On 9/26/20 9:18 PM, William Breathitt Gray wrote:
> > +static irqreturn_t quad8_irq_handler(int irq, void *quad8iio)
> > +{
> > + struct quad8_iio *const priv = quad8iio;
> > + const unsigned long base = priv->base;
> > + unsigned long irq_status;
> > + unsigned long channel;
> > + u8 event;
> > + int err;
> > +
> > + irq_status = inb(base + QUAD8_REG_INTERRUPT_STATUS);
> > + if (!irq_status)
> > + return IRQ_NONE;
> > +
> > + for_each_set_bit(channel, &irq_status, QUAD8_NUM_COUNTERS) {
> > + switch (priv->irq_trigger[channel]) {
> > + case 0:
> > + event = COUNTER_EVENT_OVERFLOW;
> > + break;
> > + case 1:
> > + event = COUNTER_EVENT_THRESHOLD;
> > + break;
> > + case 2:
> > + event = COUNTER_EVENT_OVERFLOW_UNDERFLOW;
> > + break;
> > + case 3:
> > + event = COUNTER_EVENT_INDEX;
> > + break;
> > + default:
> > + /* We should never reach here */
> > + return -EINVAL;
>
> This is not a valid return value for an IRQ handler. Maybe WARN_ONCE instead?
Ack.
> > + }
> > + err = counter_push_event(&priv->counter, event, channel);
> > + if (err)
> > + return err;
>
> Same here. Otherwise, I think we could end up with interrupts in an endless
> loop since the interrupt would never be cleared.
Good point, I'll change this and the one above.
William Breathitt Gray
> > + }
> > +
> > + /* Clear pending interrupts on device */
> > + outb(QUAD8_CHAN_OP_ENABLE_INTERRUPT_FUNC, base + QUAD8_REG_CHAN_OP);
> > +
> > + return IRQ_HANDLED;
> > +}
> > +
>
[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
[-- Attachment #2: Type: text/plain, Size: 176 bytes --]
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2020-10-18 14:50 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-27 2:18 [PATCH v5 0/5] Introduce the Counter character device interface William Breathitt Gray
2020-09-27 2:18 ` William Breathitt Gray
2020-09-27 2:18 ` [PATCH v5 1/5] counter: Internalize sysfs interface code William Breathitt Gray
2020-10-13 2:15 ` David Lechner
2020-10-13 2:15 ` David Lechner
2020-10-18 14:49 ` William Breathitt Gray
2020-10-18 14:49 ` William Breathitt Gray
2020-10-20 15:38 ` David Lechner
2020-10-20 15:38 ` David Lechner
2020-10-23 13:12 ` William Breathitt Gray
2020-10-23 13:12 ` William Breathitt Gray
2020-10-15 1:38 ` David Lechner
2020-10-15 1:38 ` David Lechner
2020-10-18 17:00 ` William Breathitt Gray
2020-10-18 17:00 ` William Breathitt Gray
2020-09-27 2:18 ` [PATCH v5 2/5] docs: counter: Update to reflect sysfs internalization William Breathitt Gray
2020-09-27 2:18 ` William Breathitt Gray
2020-09-27 2:18 ` [PATCH v5 3/5] counter: Add character device interface William Breathitt Gray
2020-09-27 2:18 ` William Breathitt Gray
2020-10-14 1:40 ` David Lechner
2020-10-14 1:40 ` David Lechner
2020-10-18 16:49 ` William Breathitt Gray
2020-10-18 16:49 ` William Breathitt Gray
2020-10-20 15:53 ` David Lechner
2020-10-20 15:53 ` David Lechner
2020-10-25 12:55 ` William Breathitt Gray
2020-10-25 12:55 ` William Breathitt Gray
2020-10-25 16:36 ` David Lechner
2020-10-25 16:36 ` David Lechner
2020-10-14 17:43 ` David Lechner
2020-10-14 17:43 ` David Lechner
2020-10-14 19:05 ` William Breathitt Gray
2020-10-14 19:05 ` William Breathitt Gray
2020-10-14 22:32 ` David Lechner
2020-10-14 22:32 ` David Lechner
2020-10-14 22:40 ` David Lechner
2020-10-14 22:40 ` David Lechner
2020-10-18 16:58 ` William Breathitt Gray
2020-10-18 16:58 ` William Breathitt Gray
2020-10-20 16:06 ` David Lechner
2020-10-20 16:06 ` David Lechner
2020-10-25 13:18 ` William Breathitt Gray
2020-10-25 13:18 ` William Breathitt Gray
2020-10-25 16:34 ` David Lechner
2020-10-25 16:34 ` David Lechner
2020-10-25 17:53 ` William Breathitt Gray
2020-10-25 17:53 ` William Breathitt Gray
2020-09-27 2:18 ` [PATCH v5 4/5] docs: counter: Document " William Breathitt Gray
2020-09-27 2:18 ` William Breathitt Gray
2020-10-08 8:09 ` Pavel Machek
2020-10-08 8:09 ` Pavel Machek
2020-10-08 12:28 ` William Breathitt Gray
2020-10-08 12:28 ` William Breathitt Gray
2020-10-12 17:04 ` David Lechner
2020-10-12 17:04 ` David Lechner
2020-10-13 18:58 ` William Breathitt Gray
2020-10-13 18:58 ` William Breathitt Gray
2020-10-13 19:08 ` David Lechner
2020-10-13 19:08 ` David Lechner
2020-10-13 19:27 ` William Breathitt Gray
2020-10-13 19:27 ` William Breathitt Gray
2020-09-27 2:18 ` [PATCH v5 5/5] counter: 104-quad-8: Add IRQ support for the ACCES 104-QUAD-8 William Breathitt Gray
2020-09-27 2:18 ` William Breathitt Gray
2020-10-14 0:13 ` David Lechner
2020-10-14 0:13 ` David Lechner
2020-10-18 14:50 ` William Breathitt Gray [this message]
2020-10-18 14:50 ` William Breathitt Gray
2020-10-13 0:35 ` [PATCH v5 0/5] Introduce the Counter character device interface David Lechner
2020-10-13 0:35 ` David Lechner
2020-10-18 14:14 ` William Breathitt Gray
2020-10-18 14:14 ` 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=20201018145025.GC231549@shinobu \
--to=vilhelm.gray@gmail.com \
--cc=alexandre.belloni@bootlin.com \
--cc=alexandre.torgue@st.com \
--cc=david@lechnology.com \
--cc=fabrice.gasnier@st.com \
--cc=gwendal@chromium.org \
--cc=jic23@kernel.org \
--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=linux-stm32@st-md-mailman.stormreply.com \
--cc=mcoquelin.stm32@gmail.com \
--cc=patrick.havelange@essensium.com \
--cc=syednwaris@gmail.com \
/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.