Messages in this thread | | | Date | Thu, 4 Aug 2005 07:29:06 -0700 | From | Chris Budd <> | Subject | Re: 2.4.21: Sharing interrupts with serial console |
| |
On 8/4/05, Russell King <rmk+lkml@arm.linux.org.uk> 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |