summaryrefslogtreecommitdiffstats
path: root/drivers/staging/hv/connection.c
diff options
context:
space:
mode:
authorK. Y. Srinivasan2011-02-11 18:59:00 +0100
committerGreg Kroah-Hartman2011-02-18 22:11:03 +0100
commitdf3493e0b3ba72f9b6192a91b24197cac41ce557 (patch)
treee283230b1baaa0f7cecccdfd595a92f313c3d7e8 /drivers/staging/hv/connection.c
parentstaging: brcm80211: improved checks on incompatible firmware (diff)
downloadkernel-qcow2-linux-df3493e0b3ba72f9b6192a91b24197cac41ce557.tar.gz
kernel-qcow2-linux-df3493e0b3ba72f9b6192a91b24197cac41ce557.tar.xz
kernel-qcow2-linux-df3493e0b3ba72f9b6192a91b24197cac41ce557.zip
Staging: hv: Use native page allocation/free functions
In preperation for getting rid of the osd.[ch] files; change all page allocation/free functions to use native interfaces. Signed-off-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Hank Janssen <hjanssen@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/hv/connection.c')
-rw-r--r--drivers/staging/hv/connection.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/drivers/staging/hv/connection.c b/drivers/staging/hv/connection.c
index b3ac66e5499f..ed0976aad6f0 100644
--- a/drivers/staging/hv/connection.c
+++ b/drivers/staging/hv/connection.c
@@ -66,7 +66,8 @@ int vmbus_connect(void)
* Setup the vmbus event connection for channel interrupt
* abstraction stuff
*/
- vmbus_connection.int_page = osd_page_alloc(1);
+ vmbus_connection.int_page =
+ (void *)__get_free_pages(GFP_KERNEL|__GFP_ZERO, 0);
if (vmbus_connection.int_page == NULL) {
ret = -1;
goto Cleanup;
@@ -81,7 +82,8 @@ int vmbus_connect(void)
* Setup the monitor notification facility. The 1st page for
* parent->child and the 2nd page for child->parent
*/
- vmbus_connection.monitor_pages = osd_page_alloc(2);
+ vmbus_connection.monitor_pages =
+ (void *)__get_free_pages((GFP_KERNEL|__GFP_ZERO), 1);
if (vmbus_connection.monitor_pages == NULL) {
ret = -1;
goto Cleanup;
@@ -162,12 +164,12 @@ Cleanup:
destroy_workqueue(vmbus_connection.work_queue);
if (vmbus_connection.int_page) {
- osd_page_free(vmbus_connection.int_page, 1);
+ free_pages((unsigned long)vmbus_connection.int_page, 0);
vmbus_connection.int_page = NULL;
}
if (vmbus_connection.monitor_pages) {
- osd_page_free(vmbus_connection.monitor_pages, 2);
+ free_pages((unsigned long)vmbus_connection.monitor_pages, 1);
vmbus_connection.monitor_pages = NULL;
}
@@ -203,7 +205,8 @@ int vmbus_disconnect(void)
if (ret != 0)
goto Cleanup;
- osd_page_free(vmbus_connection.int_page, 1);
+ free_pages((unsigned long)vmbus_connection.int_page, 0);
+ free_pages((unsigned long)vmbus_connection.monitor_pages, 1);
/* TODO: iterate thru the msg list and free up */
destroy_workqueue(vmbus_connection.work_queue);