Re: [patch 3/9] input: ads7846.c sparse lock annotation
From: Harvey Harrison <hidden>
Date: 2009-05-14 03:34:30
On Wed, 2009-05-13 at 20:24 -0700, Dmitry Torokhov wrote:
On Tue, May 12, 2009 at 01:43:06PM -0700, akpm@linux-foundation.org wrote:quoted
From: Harvey Harrison <redacted> Signed-off-by: Harvey Harrison <redacted> Cc: Dmitry Torokhov <redacted> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> --- /* Must be called with ts->lock held */ static void ads7846_disable(struct ads7846 *ts) +__releases(&ts->lock) +__acquires(&ts->lock) {I still haven't gotten any explanation why this is needed and also I am still getting sparce warnings with this patch applied. Please drop.
Sorry, I didn't realize I had a local patchset doing extra context checking
of what lock is passed in to spin_lock/unlock...it helps to document when a
function requires a lock held (see the comment)
The culprit in this function:
while (ts->pending) {
spin_unlock_irq(&ts->lock);
msleep(1);
spin_lock_irq(&ts->lock);
}
Anyways, as current sparse will still warn please drop.
Harvey