aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/misc/acer-wmi.c
diff options
context:
space:
mode:
authorCarlos Corbacho <carlos@strangeworlds.co.uk>2008-10-10 12:33:35 -0400
committerLen Brown <len.brown@intel.com>2008-10-10 23:59:37 -0400
commitae3a1b46099aa87f1662621580c985432ca1c9d9 (patch)
treed0dfb81d702d6fbcc5b11d720a3cd3c5156cf2c8 /drivers/misc/acer-wmi.c
parenta66bfa7a4726e9cbdc985133af728a4bd9925d96 (diff)
acer-wmi: Remove private workqueue
As per Dmitry Torokhov's suggestion, acer-wmi doesn't need a private workqueue, so remove it. Signed-off-by: Carlos Corbacho <carlos@strangeworlds.co.uk> Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/misc/acer-wmi.c')
-rw-r--r--drivers/misc/acer-wmi.c18
1 files changed, 2 insertions, 16 deletions
diff --git a/drivers/misc/acer-wmi.c b/drivers/misc/acer-wmi.c
index 8708d3193788..cf4c39fbc66f 100644
--- a/drivers/misc/acer-wmi.c
+++ b/drivers/misc/acer-wmi.c
@@ -930,8 +930,6 @@ static void acer_backlight_exit(void)
930/* 930/*
931 * Rfkill devices 931 * Rfkill devices
932 */ 932 */
933static struct workqueue_struct *rfkill_workqueue;
934
935static void acer_rfkill_update(struct work_struct *ignored); 933static void acer_rfkill_update(struct work_struct *ignored);
936static DECLARE_DELAYED_WORK(acer_rfkill_work, acer_rfkill_update); 934static DECLARE_DELAYED_WORK(acer_rfkill_work, acer_rfkill_update);
937static void acer_rfkill_update(struct work_struct *ignored) 935static void acer_rfkill_update(struct work_struct *ignored)
@@ -952,8 +950,7 @@ static void acer_rfkill_update(struct work_struct *ignored)
952 RFKILL_STATE_SOFT_BLOCKED); 950 RFKILL_STATE_SOFT_BLOCKED);
953 } 951 }
954 952
955 queue_delayed_work(rfkill_workqueue, &acer_rfkill_work, 953 schedule_delayed_work(&acer_rfkill_work, round_jiffies_relative(HZ));
956 round_jiffies_relative(HZ));
957} 954}
958 955
959static int acer_rfkill_set(void *data, enum rfkill_state state) 956static int acer_rfkill_set(void *data, enum rfkill_state state)
@@ -1018,17 +1015,7 @@ static int acer_rfkill_init(struct device *dev)
1018 } 1015 }
1019 } 1016 }
1020 1017
1021 rfkill_workqueue = create_singlethread_workqueue("rfkill_workqueue"); 1018 schedule_delayed_work(&acer_rfkill_work, round_jiffies_relative(HZ));
1022 if (!rfkill_workqueue) {
1023 if (has_cap(ACER_CAP_BLUETOOTH)) {
1024 kfree(bluetooth_rfkill->data);
1025 rfkill_unregister(bluetooth_rfkill);
1026 }
1027 kfree(wireless_rfkill->data);
1028 rfkill_unregister(wireless_rfkill);
1029 return -ENOMEM;
1030 }
1031 queue_delayed_work(rfkill_workqueue, &acer_rfkill_work, HZ);
1032 1019
1033 return 0; 1020 return 0;
1034} 1021}
@@ -1036,7 +1023,6 @@ static int acer_rfkill_init(struct device *dev)
1036static void acer_rfkill_exit(void) 1023static void acer_rfkill_exit(void)
1037{ 1024{
1038 cancel_delayed_work_sync(&acer_rfkill_work); 1025 cancel_delayed_work_sync(&acer_rfkill_work);
1039 destroy_workqueue(rfkill_workqueue);
1040 kfree(wireless_rfkill->data); 1026 kfree(wireless_rfkill->data);
1041 rfkill_unregister(wireless_rfkill); 1027 rfkill_unregister(wireless_rfkill);
1042 if (has_cap(ACER_CAP_BLUETOOTH)) { 1028 if (has_cap(ACER_CAP_BLUETOOTH)) {