From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751262AbWDXVWu (ORCPT ); Mon, 24 Apr 2006 17:22:50 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751277AbWDXVWu (ORCPT ); Mon, 24 Apr 2006 17:22:50 -0400 Received: from smtp.osdl.org ([65.172.181.4]:37289 "EHLO smtp.osdl.org") by vger.kernel.org with ESMTP id S1751262AbWDXVWu (ORCPT ); Mon, 24 Apr 2006 17:22:50 -0400 Date: Mon, 24 Apr 2006 14:22:43 -0700 From: Stephen Hemminger To: Linus Torvalds Cc: linux-kernel@vger.kernel.org Subject: [RFC 1/2] irq: record edge-level setting Message-ID: <20060424142243.519d61f1@localhost.localdomain> In-Reply-To: References: <20060424114105.113eecac@localhost.localdomain> <1145908402.3116.63.camel@laptopd505.fenrus.org> <20060424201646.GA23517@devserv.devel.redhat.com> <1145911417.3116.69.camel@laptopd505.fenrus.org> X-Mailer: Sylpheed-Claws 2.0.0 (GTK+ 2.8.6; i486-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Record the level vs edge-triggered status of IRQ to allow for error checks later. Note: this is only done fir i386/x86_64. --- irq.orig/arch/i386/kernel/i8259.c +++ irq/arch/i386/kernel/i8259.c @@ -128,11 +128,22 @@ int i8259A_irq_pending(unsigned int irq) return ret; } +static int i8259A_trigger(unsigned int irq) +{ + if (irq & 8) + return inb(0x4d1) & (1<< (irq-8)); + else + return inb(0x4d0) & (1<