summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/staging/hv/osd.c34
-rw-r--r--drivers/staging/hv/osd.h4
2 files changed, 0 insertions, 38 deletions
diff --git a/drivers/staging/hv/osd.c b/drivers/staging/hv/osd.c
index b699ee27f07f..b5a3940331b3 100644
--- a/drivers/staging/hv/osd.c
+++ b/drivers/staging/hv/osd.c
@@ -43,12 +43,6 @@
#include <linux/slab.h>
#include "osd.h"
-struct osd_callback_struct {
- struct work_struct work;
- void (*callback)(void *);
- void *data;
-};
-
void *osd_virtual_alloc_exec(unsigned int size)
{
#ifdef __x86_64__
@@ -198,31 +192,3 @@ int osd_waitevent_waitex(struct osd_waitevent *wait_event, u32 timeout_in_ms)
return ret;
}
EXPORT_SYMBOL_GPL(osd_waitevent_waitex);
-
-static void osd_callback_work(struct work_struct *work)
-{
- struct osd_callback_struct *cb = container_of(work,
- struct osd_callback_struct,
- work);
- (cb->callback)(cb->data);
- kfree(cb);
-}
-
-int osd_schedule_callback(struct workqueue_struct *wq,
- void (*func)(void *),
- void *data)
-{
- struct osd_callback_struct *cb;
-
- cb = kmalloc(sizeof(*cb), GFP_KERNEL);
- if (!cb) {
- printk(KERN_ERR "unable to allocate memory in osd_schedule_callback\n");
- return -1;
- }
-
- cb->callback = func;
- cb->data = data;
- INIT_WORK(&cb->work, osd_callback_work);
- return queue_work(wq, &cb->work);
-}
-
diff --git a/drivers/staging/hv/osd.h b/drivers/staging/hv/osd.h
index cae126ff6b9a..870ef0768833 100644
--- a/drivers/staging/hv/osd.h
+++ b/drivers/staging/hv/osd.h
@@ -63,8 +63,4 @@ extern int osd_waitevent_wait(struct osd_waitevent *wait_event);
extern int osd_waitevent_waitex(struct osd_waitevent *wait_event,
u32 timeout_in_ms);
-int osd_schedule_callback(struct workqueue_struct *wq,
- void (*func)(void *),
- void *data);
-
#endif /* _OSD_H_ */