Subject: Re: linux-next: manual merge of the acpi tree with Linus' tree

From: Stephen Rothwell <[email-masked]>
Date: Thu, 24 Dec 2009 11:02:21 +1100

Hi Len,

On Thu, 24 Dec 2009 09:39:13 +1100 Stephen Rothwell <[email-masked]> wrote:
>
> On Thu, 24 Dec 2009 09:11:41 +1100 Stephen Rothwell <[email-masked]> wrote:
> >
> > Today's linux-next merge of the acpi tree got a conflict in
> > drivers/platform/x86/sony-laptop.c between commits
> > 45465487897a1c6d508b14b904dc5777f7ec7e04 ("kfifo: move struct kfifo in
> > place"), c1e13f25674ed564948ecb7dfe5f83e578892896 ("kfifo: move out
> > spinlock") and 7acd72eb85f1c7a15e8b5eb554994949241737f1 ("kfifo: rename
> > kfifo_put... into kfifo_in... and kfifo_get... into kfifo_out...") from
> > Linus' tree and commit a287e9f941cf4bb8c167802c0f1cf04a93bc4e4c
> > ("sony-laptop: remove private workqueue, use keventd instead") from the
> > acpi tree.
> > 
> > I fixed it up (see below) and can cay the fix for a while.  This fix
> > needs checking.
> 
> I applied the following further patch (and there may be more fixes
> necessary).

drivers/platform/x86/sony-laptop.c: In function 'sony_laptop_remove_input':
drivers/platform/x86/sony-laptop.c:497: error: implicit declaration of function 'kfifo_get'

I needed this as well ...

From: Stephen Rothwell <[email-masked]>
Date: Thu, 24 Dec 2009 10:54:06 +1100
Subject: [PATCH] acpi: another fix for kfifo API change

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 drivers/platform/x86/sony-laptop.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/platform/x86/sony-laptop.c b/drivers/platform/x86/sony-laptop.c
index 84a1736..28c4a39 100644
--- a/drivers/platform/x86/sony-laptop.c
+++ b/drivers/platform/x86/sony-laptop.c
@@ -494,8 +494,9 @@ static void sony_laptop_remove_input(void)
 	cancel_delayed_work_sync(&sony_laptop_release_key_work);
 
 	/* Generate key-up events for remaining keys */
-	while (kfifo_get(sony_laptop_input.fifo,
-			 (unsigned char *)&kp, sizeof(kp)) == sizeof(kp)) {
+	while (kfifo_out_locked(&sony_laptop_input.fifo,
+			 (unsigned char *)&kp, sizeof(kp),
+			 &sony_laptop_input.fifo_lock) == sizeof(kp)) {
 		input_report_key(kp.dev, kp.key, 0);
 		input_sync(kp.dev);
 	}
-- 
1.6.5.4

-- 
Cheers,
Stephen Rothwell                    [email-masked]
http://www.canb.auug.org.au/~sfr/