On 8/4/05, Russell King [off-list ref] wrote:
On Wed, Aug 03, 2005 at 06:36:51PM -0700, Chris Budd wrote:
quoted
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>
quoted
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.