libertas: workqueue API update
Marcelo Tosatti
mtosatti at redhat.unroutablecom
Wed Dec 20 16:07:35 EST 2006
Commit: 41e8777afa8e3f224b10c60c6cedf9726bb7b9f3
Parent: 72783ceb28b0422b51ae44ded1dc5045d6a7578d
commit 41e8777afa8e3f224b10c60c6cedf9726bb7b9f3
Author: Marcelo Tosatti <mtosatti at redhat.com>
AuthorDate: Thu Dec 14 14:28:44 2006 -0200
Commit: Marcelo Tosatti <mtosatti at redhat.com>
CommitDate: Thu Dec 14 14:28:44 2006 -0200
libertas: workqueue API update
Workqueue API has been changed, match it.
Also try_to_freeze() declaration has moved to freezer.h
Signed-off-by: Marcelo Tosatti <mtosatti at redhat.com>
---
drivers/net/wireless/libertas/wlan_assoc.c | 5 ++---
drivers/net/wireless/libertas/wlan_assoc.h | 2 +-
drivers/net/wireless/libertas/wlan_dev.h | 2 +-
drivers/net/wireless/libertas/wlan_main.c | 3 ++-
4 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/drivers/net/wireless/libertas/wlan_assoc.c b/drivers/net/wireless/libertas/wlan_assoc.c
index a6bc46c..485b1e7 100644
--- a/drivers/net/wireless/libertas/wlan_assoc.c
+++ b/drivers/net/wireless/libertas/wlan_assoc.c
@@ -361,10 +361,9 @@ static int should_stop_adhoc(wlan_adapte
}
-void wlan_association_worker(void *user_data)
+void wlan_association_worker(struct work_struct *work)
{
- struct net_device *dev = (struct net_device *) user_data;
- wlan_private *priv = dev->priv;
+ wlan_private *priv = container_of(work, wlan_private, assoc_work.work);
wlan_adapter *adapter = priv->adapter;
struct assoc_request * assoc_req = NULL;
int ret = 0;
diff --git a/drivers/net/wireless/libertas/wlan_assoc.h b/drivers/net/wireless/libertas/wlan_assoc.h
index 9f42eb2..ad7b391 100644
--- a/drivers/net/wireless/libertas/wlan_assoc.h
+++ b/drivers/net/wireless/libertas/wlan_assoc.h
@@ -20,7 +20,7 @@ #define _WLAN_ASSOC_H_
#include "wlan_dev.h"
-void wlan_association_worker(void *user_data);
+void wlan_association_worker(struct work_struct *work);
struct assoc_request * wlan_get_association_request(wlan_adapter *adapter);
diff --git a/drivers/net/wireless/libertas/wlan_dev.h b/drivers/net/wireless/libertas/wlan_dev.h
index 788c59d..efc7f69 100644
--- a/drivers/net/wireless/libertas/wlan_dev.h
+++ b/drivers/net/wireless/libertas/wlan_dev.h
@@ -218,7 +218,7 @@ struct _wlan_private {
/** thread to service interrupts */
struct wlan_thread MainThread;
- struct work_struct assoc_work;
+ struct delayed_work assoc_work;
struct workqueue_struct *assoc_thread;
#ifdef REASSOCIATION
diff --git a/drivers/net/wireless/libertas/wlan_main.c b/drivers/net/wireless/libertas/wlan_main.c
index 8a85575..4271275 100644
--- a/drivers/net/wireless/libertas/wlan_main.c
+++ b/drivers/net/wireless/libertas/wlan_main.c
@@ -46,6 +46,7 @@ Change log:
********************************************************/
#include <linux/delay.h>
+#include <linux/freezer.h>
#include <linux/etherdevice.h>
#include <linux/netdevice.h>
#include <linux/if_arp.h>
@@ -994,7 +995,7 @@ #define NETIF_F_DYNALLOC 16
priv->assoc_thread =
create_singlethread_workqueue("libertas_assoc");
- INIT_WORK(&priv->assoc_work, wlan_association_worker, dev);
+ INIT_DELAYED_WORK(&priv->assoc_work, wlan_association_worker);
#ifdef REASSOCIATION
priv->ReassocThread.priv = priv;
More information about the Commits-kernel
mailing list