Subject: linux-next: build failure after merge of the driver-core tree

From: Stephen Rothwell <[email-masked]>
Date: Wed, 3 Mar 2010 17:14:32 +1100

Hi Greg,

After merging the driver-core tree, today's linux-next build (x86_64 allmodconfig)
failed like this:

drivers/net/wireless/ath/ar9170/usb.c: In function 'ar9170_usb_firmware_failed':
drivers/net/wireless/ath/ar9170/usb.c:729: error: 'struct device' has no member named 'sem'
drivers/net/wireless/ath/ar9170/usb.c:732: error: 'struct device' has no member named 'sem'

Caused by commit 535765179fd4e8af26b69d2240d7ec33702a370a ("ar9170: load
firmware asynchronously") from the wireless tree interacting with
commitf989226577d096eb9ebbf95da1d0e8303ecc660c ("drivers/base: Convert
dev->sem to mutex") from the driver-core tree.

I applied the following patch for today.

John, Johannes, device_lock/unlock() already exist in Linus' tree, so you
should be able to apply this to the wireless tree already.

From: Stephen Rothwell <[email-masked]>
Date: Wed, 3 Mar 2010 17:08:11 +1100
Subject: [PATCH] ar9170: fix for driver-core ABI change

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 drivers/net/wireless/ath/ar9170/usb.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ar9170/usb.c b/drivers/net/wireless/ath/ar9170/usb.c
index 4e30197..7fc1034 100644
--- a/drivers/net/wireless/ath/ar9170/usb.c
+++ b/drivers/net/wireless/ath/ar9170/usb.c
@@ -41,6 +41,7 @@
 #include <linux/usb.h>
 #include <linux/firmware.h>
 #include <linux/etherdevice.h>
+#include <linux/mutex.h>
 #include <net/mac80211.h>
 #include "ar9170.h"
 #include "cmd.h"
@@ -726,10 +727,10 @@ static void ar9170_usb_firmware_failed(struct ar9170_usb *aru)
 
 	/* unbind anything failed */
 	if (parent)
-		down(&parent->sem);
+		device_lock(parent);
 	device_release_driver(&aru->udev->dev);
 	if (parent)
-		up(&parent->sem);
+		device_unlock(parent);
 }
 
 static void ar9170_usb_firmware_finish(const struct firmware *fw, void *context)
-- 
1.7.0

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