Re: 2.4.21: Sharing interrupts with serial console

From: Chris Budd
Date: Thu Aug 04 2005 - 09:58:19 EST


On 8/4/05, Russell King <rmk+lkml@xxxxxxxxxxxxxxxx> wrote:
> On Wed, Aug 03, 2005 at 06:36:51PM -0700, Chris Budd wrote:
> > 1. The rs_init function in ./linux-2.4.21/drivers/char/serial.c
> > explicitly states "The interrupt of the serial console port can't be
> > shared." Does this include *ALL* interrupts? The code checks for
> > sharing only with other serial devices, not *ALL* types of devices
> > like I2C, RTC, etc.
<snip>
> > 2. While the presence of the comment about not sharing was nice, it
> > does not explain "why?"
>
> Connecting a level-active interrupt output to an edge-triggered
> interrupt controller input is Bad News(tm) for missing interrupts.
>

Of course. I thought it was something more serious in the bowels of
the kernel. All the comment needed was just that one adjective "The
*edge-triggered* interrupt of the serial console port can't be
shared." I know many programmers do not like to write comments, but
good comments make the code more robust and stable: the code clearly
shows *what* you did, but comments are necessary to indicate *why*.

<snip>
> If your Intel hardware doesn't have level triggered input capabilities,
> please apply customer pressure to Intel to ensure that they consider it
> for their future ARM-based designs.

You will be happy to know that the Intel IOP80321 has level-sensitive
interrupts.

Thank you for the detailed explanation.
Chris.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/