[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1315491876-9554-9-git-send-email-kys@microsoft.com>
Date: Thu, 8 Sep 2011 07:24:20 -0700
From: "K. Y. Srinivasan" <kys@...rosoft.com>
To: gregkh@...e.de, linux-kernel@...r.kernel.org,
devel@...uxdriverproject.org, virtualization@...ts.osdl.org
Cc: "K. Y. Srinivasan" <kys@...rosoft.com>,
Haiyang Zhang <haiyangz@...rosoft.com>
Subject: [PATCH 09/25] Staging: hv: util: Perform some service specific de-initialization in util_remove()
In preparation for modifying the util driver to fully conform to the
Linux Driver Model, perform some service specific de-initialization in
util_remove() as opposed to in exit_hyperv_utils() as is currently done.
Signed-off-by: K. Y. Srinivasan <kys@...rosoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@...rosoft.com>
---
drivers/staging/hv/hv_util.c | 29 ++++++++++++++++++++++++-----
1 files changed, 24 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/hv/hv_util.c b/drivers/staging/hv/hv_util.c
index b86128a..2475ab2 100644
--- a/drivers/staging/hv/hv_util.c
+++ b/drivers/staging/hv/hv_util.c
@@ -291,6 +291,30 @@ error:
static int util_remove(struct hv_device *dev,
const struct hv_vmbus_device_id *dev_id)
{
+ int service = dev_id->driver_data;
+
+ switch (service) {
+ case HV_SHUTDOWN:
+ kfree(shut_txf_buf);
+ break;
+
+ case HV_TIMESYNC:
+ kfree(time_txf_buf);
+ break;
+
+ case HV_HEARTBEAT:
+ kfree(hbeat_txf_buf);
+ break;
+
+ case HV_KVP:
+ hv_kvp_deinit();
+ break;
+
+ default:
+ pr_err("unknown util service\n");
+ return -ENODEV;
+ }
+
return 0;
}
@@ -370,11 +394,6 @@ static void exit_hyperv_utils(void)
&chn_cb_negotiate;
hv_cb_utils[HV_KVP_MSG].callback = NULL;
- hv_kvp_deinit();
-
- kfree(shut_txf_buf);
- kfree(time_txf_buf);
- kfree(hbeat_txf_buf);
vmbus_driver_unregister(&util_drv);
}
--
1.7.4.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists