zd1211rw-d80211: fix workqueue breakage From: Michael Wu This allows zd1211rw-d80211 to compile with the workqueue API changes. Signed-off-by: Michael Wu --- drivers/net/wireless/d80211/zd1211rw/zd_mac.c | 7 ++++--- drivers/net/wireless/d80211/zd1211rw/zd_mac.h | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/drivers/net/wireless/d80211/zd1211rw/zd_mac.c b/drivers/net/wireless/d80211/zd1211rw/zd_mac.c index 6ee650f..7044ea3 100644 --- a/drivers/net/wireless/d80211/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/d80211/zd1211rw/zd_mac.c @@ -625,9 +625,10 @@ struct ieee80211_hw *zd_mac_alloc(struct #define LINK_LED_WORK_DELAY HZ -static void link_led_handler(void *p) +static void link_led_handler(struct work_struct *work) { - struct zd_mac *mac = p; + struct zd_mac *mac = + container_of(work, struct zd_mac, housekeeping.link_led_work); struct zd_chip *chip = &mac->chip; int is_associated; int r; @@ -647,7 +648,7 @@ static void link_led_handler(void *p) static void housekeeping_init(struct zd_mac *mac) { - INIT_WORK(&mac->housekeeping.link_led_work, link_led_handler, mac); + INIT_DELAYED_WORK(&mac->housekeeping.link_led_work, link_led_handler); } static void housekeeping_enable(struct zd_mac *mac) diff --git a/drivers/net/wireless/d80211/zd1211rw/zd_mac.h b/drivers/net/wireless/d80211/zd1211rw/zd_mac.h index e2ba410..6c402d9 100644 --- a/drivers/net/wireless/d80211/zd1211rw/zd_mac.h +++ b/drivers/net/wireless/d80211/zd1211rw/zd_mac.h @@ -119,7 +119,7 @@ enum mac_flags { }; struct housekeeping { - struct work_struct link_led_work; + struct delayed_work link_led_work; }; #define ZD_MAC_STATS_BUFFER_SIZE 16