Re: [External Email] Re: [PATCH v6 2/2] serial: sc16is7xx: Add polling mode if no IRQ pin is available

From: Andre Werner
Date: Mon Jan 13 2025 - 08:02:43 EST


On Mon, 13 Jan 2025, Andy Shevchenko wrote:

> On Mon, Jan 13, 2025 at 08:30:30AM +0100, Andre Werner wrote:
> > Fall back to polling mode if no interrupt is configured because there
> > is no possibility to connect the interrupt pin.
> > If "interrupts" property is missing in devicetree the driver
> > uses a delayed worker to pull the state of interrupt status registers.
>
> pull ? Hmm...

Ah ... poll ... sorry.

>
> ...
>
> > V6:
> > - Use polling mode for IRQ numbers <= 0 which encounter no valid IRQ
> > were found/defined.
>
> Thanks, this part looks better now.
>
> ...
>
> > +static void sc16is7xx_poll_proc(struct kthread_work *ws)
> > +{
> > + struct sc16is7xx_port *s = container_of(ws, struct sc16is7xx_port, poll_work.work);
> > +
> > + /* Reuse standard IRQ handler. Interrupt ID is unused in this context. */
>
> Period.

What do you expect here? Shall I add the period time from the define as
the dedicated value? I do not understand what I should add here in
detail.

>
> > + sc16is7xx_irq(0, s);
> > +
> > + /* Setup delay based on SC16IS7XX_POLL_PERIOD_MS */
>
> No period.

Or do you mean that I add the define only once and not add all used
places?

>
> > + kthread_queue_delayed_work(&s->kworker, &s->poll_work,
> > + msecs_to_jiffies(SC16IS7XX_POLL_PERIOD_MS));
> > +}
>
> Please, go through the comments you added in the patch and use the style that
> is mostly used in the driver for the similar (one-line comment) situations.
>
> ...
>
> > + /* Initialize kernel thread for polling */
>
> Again, no period.

Same here. Do you expect the value here or the name of the used define?

>
> --
> With Best Regards,
> Andy Shevchenko
>
>
>

Thanks in advance

André