From: Mark Brown Subject: Re: [RFC/PATCH 1/2] mfd: twl6030-irq: move to threaded_irq Date: Tue, 28 Dec 2010 15:46:17 +0000 Message-ID: <20101228154617.GC14860@sirena.org.uk> References: <1293544790-793-1-git-send-email-balbi@ti.com> <1293544790-793-2-git-send-email-balbi@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from cassiel.sirena.org.uk ([80.68.93.111]:45139 "EHLO cassiel.sirena.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751382Ab0L1PqW (ORCPT ); Tue, 28 Dec 2010 10:46:22 -0500 Content-Disposition: inline In-Reply-To: <1293544790-793-2-git-send-email-balbi@ti.com> Sender: linux-omap-owner@vger.kernel.org List-Id: linux-omap@vger.kernel.org To: Felipe Balbi Cc: Linux Kernel Mailing List , Linux OMAP Mailing List , Tony Lindgren , David Brownell , Thomas Gleixner On Tue, Dec 28, 2010 at 03:59:49PM +0200, Felipe Balbi wrote: > + disable_irq_nosync(irq); You shouldn't need this any more; the driver used to be faffing around with this because it wasn't using genirq for this in the past. > + for (i = 0; sts.int_sts; sts.int_sts >>= 1, i++) { > + local_irq_disable(); Simiarly here as far as I know; the original code predates genirq support for this so is doing some hairy stuff that is no longer required and may actually be harmful. What I'd expect to see from a conversion like this would be that most of the locking/IRQ management stuff would be dropped and the bus_lock() and bus_sync_unlock() operations would be implemented.