From owner-svn-src-all@FreeBSD.ORG Mon Jun 22 20:34:00 2009 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 419201065674; Mon, 22 Jun 2009 20:34:00 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 302288FC18; Mon, 22 Jun 2009 20:34:00 +0000 (UTC) (envelope-from sam@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n5MKY0db051736; Mon, 22 Jun 2009 20:34:00 GMT (envelope-from sam@svn.freebsd.org) Received: (from sam@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n5MKY0fB051734; Mon, 22 Jun 2009 20:34:00 GMT (envelope-from sam@svn.freebsd.org) Message-Id: <200906222034.n5MKY0fB051734@svn.freebsd.org> From: Sam Leffler Date: Mon, 22 Jun 2009 20:34:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r194650 - head/sys/arm/xscale/ixp425 X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Jun 2009 20:34:00 -0000 Author: sam Date: Mon Jun 22 20:33:59 2009 New Revision: 194650 URL: http://svn.freebsd.org/changeset/base/194650 Log: move logic to ACK a GPIO to a separate function Modified: head/sys/arm/xscale/ixp425/ixp425.c Modified: head/sys/arm/xscale/ixp425/ixp425.c ============================================================================== --- head/sys/arm/xscale/ixp425/ixp425.c Mon Jun 22 20:31:06 2009 (r194649) +++ head/sys/arm/xscale/ixp425/ixp425.c Mon Jun 22 20:33:59 2009 (r194650) @@ -159,6 +159,14 @@ DB_SHOW_COMMAND(gpio, db_show_gpio) } #endif +static __inline void +ixp425_gpio_ack(int irq) +{ + if (irq < 32 && ((1 << irq) & IXP425_INT_GPIOMASK)) + IXPREG(IXP425_GPIO_VBASE + IXP425_GPIO_GPISR) = + ixp425_irq2gpio_bit(irq); +} + void arm_mask_irq(uintptr_t nb) { @@ -174,9 +182,7 @@ arm_mask_irq(uintptr_t nb) } restore_interrupts(i); /*XXX; If it's a GPIO interrupt, ACK it know. Can it be a problem ?*/ - if (nb < 32 && ((1 << nb) & IXP425_INT_GPIOMASK)) - IXPREG(IXP425_GPIO_VBASE + IXP425_GPIO_GPISR) = - ixp425_irq2gpio_bit(nb); + ixp425_gpio_ack(nb); } void