mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "K. Y. Srinivasan" <kys@microsoft.com>
To: gregkh@suse.de, linux-kernel@vger.kernel.org,
	devel@linuxdriverproject.org, virtualization@lists.osdl.org
Cc: "K. Y. Srinivasan" <kys@microsoft.com>,
	Haiyang Zhang <haiyangz@microsoft.com>,
	Mike Sterling <mike.sterling@microsoft.com>,
	Abhishek Kane <v-abkane@microsoft.com>,
	Hank Janssen <hjanssen@microsoft.com>
Subject: [PATCH 01/12] Staging: hv: Make vmbus driver a  pci driver
Date: Tue, 15 Mar 2011 15:03:32 -0700	[thread overview]
Message-ID: <1300226624-27004-1-git-send-email-kys@microsoft.com> (raw)
In-Reply-To: <1300226527-26933-1-git-send-email-kys@microsoft.com>

Make vmbus driver a pci driver. This is
in preparation to cleaning up the root device
management as well as the  irq allocation for this
driver.

Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Mike Sterling <mike.sterling@microsoft.com>
Signed-off-by: Abhishek Kane <v-abkane@microsoft.com>
Signed-off-by: Hank Janssen <hjanssen@microsoft.com>
---
 drivers/staging/hv/vmbus_drv.c |   63 +++++++++++++++++++++++-----------------
 1 files changed, 36 insertions(+), 27 deletions(-)

diff --git a/drivers/staging/hv/vmbus_drv.c b/drivers/staging/hv/vmbus_drv.c
index b473f46..1ef2f0f 100644
--- a/drivers/staging/hv/vmbus_drv.c
+++ b/drivers/staging/hv/vmbus_drv.c
@@ -40,6 +40,8 @@
 #define VMBUS_IRQ		0x5
 #define VMBUS_IRQ_VECTOR	IRQ5_VECTOR
 
+struct pci_dev *hv_pci_dev;
+
 /* Main vmbus driver data structure */
 struct vmbus_driver_context {
 
@@ -977,36 +979,24 @@ static irqreturn_t vmbus_isr(int irq, void *dev_id)
 	}
 }
 
-static struct dmi_system_id __initdata microsoft_hv_dmi_table[] = {
-	{
-		.ident = "Hyper-V",
-		.matches = {
-			DMI_MATCH(DMI_SYS_VENDOR, "Microsoft Corporation"),
-			DMI_MATCH(DMI_PRODUCT_NAME, "Virtual Machine"),
-			DMI_MATCH(DMI_BOARD_NAME, "Virtual Machine"),
-		},
-	},
-	{ },
-};
-MODULE_DEVICE_TABLE(dmi, microsoft_hv_dmi_table);
 
-static int __init vmbus_init(void)
+
+static int __devinit hv_pci_probe(struct pci_dev *pdev,
+				const struct pci_device_id *ent)
 {
-	DPRINT_INFO(VMBUS_DRV,
-		"Vmbus initializing.... current log level 0x%x (%x,%x)",
-		vmbus_loglevel, HIWORD(vmbus_loglevel), LOWORD(vmbus_loglevel));
-	/* Todo: it is used for loglevel, to be ported to new kernel. */
+	int err;
 
-	if (!dmi_check_system(microsoft_hv_dmi_table))
-		return -ENODEV;
+	hv_pci_dev = pdev;
 
-	return vmbus_bus_init();
-}
+	err = pci_enable_device(pdev);
+	if (err)
+		return err;
 
-static void __exit vmbus_exit(void)
-{
-	vmbus_bus_exit();
-	/* Todo: it is used for loglevel, to be ported to new kernel. */
+	err = vmbus_bus_init();
+	if (err)
+		pci_disable_device(pdev);
+
+	return err;
 }
 
 /*
@@ -1021,10 +1011,29 @@ static const struct pci_device_id microsoft_hv_pci_table[] = {
 };
 MODULE_DEVICE_TABLE(pci, microsoft_hv_pci_table);
 
+static struct pci_driver hv_bus_driver = {
+	.name =           "hv_bus",
+	.probe =          hv_pci_probe,
+	.id_table =       microsoft_hv_pci_table,
+};
+
+static int __init hv_pci_init(void)
+{
+	return pci_register_driver(&hv_bus_driver);
+}
+
+static void __exit hv_pci_exit(void)
+{
+	vmbus_bus_exit();
+	pci_unregister_driver(&hv_bus_driver);
+}
+
+
+
 MODULE_LICENSE("GPL");
 MODULE_VERSION(HV_DRV_VERSION);
 module_param(vmbus_irq, int, S_IRUGO);
 module_param(vmbus_loglevel, int, S_IRUGO);
 
-module_init(vmbus_init);
-module_exit(vmbus_exit);
+module_init(hv_pci_init);
+module_exit(hv_pci_exit);
-- 
1.5.5.6


  reply	other threads:[~2011-03-15 21:53 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-15 22:02 [PATCH 00/12] Staging: hv: Cleanup vmbus driver - Phase II K. Y. Srinivasan
2011-03-15 22:03 ` K. Y. Srinivasan [this message]
2011-03-15 22:03   ` [PATCH 02/12] Staging: hv: Cleanup root device handling K. Y. Srinivasan
2011-03-15 22:03     ` [PATCH 03/12] Staging: hv: Cleanup irq management K. Y. Srinivasan
2011-03-15 22:03       ` [PATCH 04/12] Staging: hv: Rename vmbus_driver_context structure K. Y. Srinivasan
2011-03-15 22:03         ` [PATCH 05/12] Get rid of the forward declaration for vmbus_uevent K. Y. Srinivasan
2011-03-15 22:03           ` [PATCH 05/12] Staging: hv: " K. Y. Srinivasan
2011-03-15 22:03             ` [PATCH 06/12] Staging: hv: Get rid of the forward declaration for vmbus_match K. Y. Srinivasan
2011-03-15 22:03               ` [PATCH 07/12] Staging: hv: Get rid of the forward declaration for vmbus_probe K. Y. Srinivasan
2011-03-15 22:03                 ` [PATCH 08/12] Staging: hv: Get rid of the forward declaration for vmbus_remove K. Y. Srinivasan
2011-03-15 22:03                   ` [PATCH 09/12] Staging: hv: Get rid of the forward declaration for vmbus_shutdown K. Y. Srinivasan
2011-03-15 22:03                     ` [PATCH 10/12] Staging: hv: Get rid of the forward declaration for vmbus_device_release K. Y. Srinivasan
2011-03-15 22:03                       ` [PATCH 11/12] Staging: hv: Get rid of the forward declaration for vmbus_isr K. Y. Srinivasan
2011-03-15 22:03                         ` [PATCH 12/12] Staging: hv: Get rid of the forward declaration for vmbus_show_device_attr K. Y. Srinivasan
2011-03-15 22:22             ` [PATCH 05/12] Staging: hv: Get rid of the forward declaration for vmbus_uevent Greg KH
2011-03-15 22:23               ` Greg KH
2011-03-15 22:39               ` KY Srinivasan
2011-03-15 22:51                 ` Greg KH
2011-04-05  4:22         ` [PATCH 04/12] Staging: hv: Rename vmbus_driver_context structure Greg KH
2011-04-05  4:19       ` [PATCH 03/12] Staging: hv: Cleanup irq management Greg KH
2011-04-05  4:16   ` [PATCH 01/12] Staging: hv: Make vmbus driver a pci driver Greg KH
2011-03-15 22:04 ` [PATCH 00/12] Staging: hv: Cleanup vmbus driver - Phase II Greg KH
2011-03-15 22:24   ` KY Srinivasan
2011-03-15 22:30     ` Greg KH
2011-03-17 21:39   ` Valdis.Kletnieks
2011-03-17 21:45     ` Greg KH
2011-03-17 22:58       ` Valdis.Kletnieks
2011-04-16  0:34     ` Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1300226624-27004-1-git-send-email-kys@microsoft.com \
    --to=kys@microsoft.com \
    --cc=devel@linuxdriverproject.org \
    --cc=gregkh@suse.de \
    --cc=haiyangz@microsoft.com \
    --cc=hjanssen@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mike.sterling@microsoft.com \
    --cc=v-abkane@microsoft.com \
    --cc=virtualization@lists.osdl.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome