Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755477AbZIOQqi (ORCPT ); Tue, 15 Sep 2009 12:46:38 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754068AbZIOQqc (ORCPT ); Tue, 15 Sep 2009 12:46:32 -0400 Received: from mail-yw0-f174.google.com ([209.85.211.174]:46769 "EHLO mail-yw0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753817AbZIOQqb convert rfc822-to-8bit (ORCPT ); Tue, 15 Sep 2009 12:46:31 -0400 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; b=p8ewyM2vyWX5Aq9Ig66RgP0A+kKV/Xcx8DUUamIrr8pz0uARUkZWrF6J9w1dZAjPTi xSd/dBhUO1Vve36prxjTBDTa345hvGvFT5x6N7/cx1O8xebsjRYCdrg2SGlDHPFJsPRZ nmwdUo1t/ngHTTxu67qbzd2/xr8liiUisphnE= MIME-Version: 1.0 In-Reply-To: <20090915162655.GB29241@core.coreip.homeip.net> References: <1252966719-27557-1-git-send-email-vapier@gentoo.org> <20090915062050.GB10232@core.coreip.homeip.net> <8bd0f97a0909150419p1048bfe9j243fa30a0581b198@mail.gmail.com> <20090915162655.GB29241@core.coreip.homeip.net> From: Mike Frysinger Date: Tue, 15 Sep 2009 12:46:14 -0400 Message-ID: <8bd0f97a0909150946t65c445ddo6741c2a472c1738c@mail.gmail.com> Subject: Re: [PATCH] input/keyboard: add ADP5588 QWERTY I2C Keyboard Input device driver To: Dmitry Torokhov Cc: Robin Getz , linux-input@vger.kernel.org, linux-kernel@vger.kernel.org, uclinux-dist-devel@blackfin.uclinux.org, Michael Hennerich , Bryan Wu Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2078 Lines: 44 On Tue, Sep 15, 2009 at 12:26, Dmitry Torokhov wrote: > On Tue, Sep 15, 2009 at 07:19:14AM -0400, Mike Frysinger wrote: >> On Tue, Sep 15, 2009 at 02:20, Dmitry Torokhov wrote: >> > On Mon, Sep 14, 2009 at 06:18:39PM -0400, Mike Frysinger wrote: >> >> +static int __devexit adp5588_remove(struct i2c_client *client) >> >> +{ >> >> +     struct adp5588_kpad *kpad = dev_get_drvdata(&client->dev); >> >> + >> >> +     adp5588_write(client, CFG, 0); >> >> +     free_irq(client->irq, kpad); >> > >> > cancel_work_sync() is missing. Could you try the updated version below? >> >> i dont think i have any adp5588 hardware.  Robin: do we have any in >> Norwood ?  otherwise, it'll have to wait for Michael to get back to >> double check. >> >> > BTW, maybe you shoudl convert to threaded IRQs here? >> >> yes, after your suggestion for the previous driver, we've been looking >> at all our input drivers to convert to threaded IRQs.  do we need to >> convert all of them before acceptance, or can we merge now and post an >> updated patch after ? > > It really depends on the driver. If there is a race between IRQ and the > WQ in the driver I will request you to fix it one way or another before > accepting the driver (and quite often using threaded IRQ gets rid of the > race). In the cases like this particular driver though I am not even > convinced that we need threaded IRQ. The driver is not expected to > generate lots of events rapidly so using keventd as it does now is > probably the best solution. i dont think there is a race here as we only use the IRQ to schedule the WQ; we dont read/pass info between the two. at any rate, i noticed that this driver isnt the final one. i spent some time cleaning it up a bit more (style, messages, dev_pm_ops), so i'll merge your changes and mine and post another one. -mike -- 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/