From: Greg KH <gregkh@suse.de>
To: "K. Y. Srinivasan" <kys@microsoft.com>
Cc: linux-kernel@vger.kernel.org, devel@linuxdriverproject.org,
virtualization@lists.osdl.org,
Haiyang Zhang <haiyangz@microsoft.com>,
Mike Sterling <mike.sterling@microsoft.com>,
Abhishek Kane <v-abkane@microsoft.com>,
Hank Janssen <hjanssen@microsoft.com>
Subject: Re: [PATCH 11/21] Staging: hv: Make vmbus driver a platform pci driver
Date: Thu, 10 Mar 2011 14:20:34 -0800 [thread overview]
Message-ID: <20110310222034.GA19323@suse.de> (raw)
In-Reply-To: <1299794912-1233-1-git-send-email-kys@microsoft.com>
On Thu, Mar 10, 2011 at 02:08:32PM -0800, K. Y. Srinivasan wrote:
> Make vmbus driver a platform pci driver. This is
> in preparation to cleaning up irq allocation for this
> driver.
The idea is nice, but the nameing is a bit confusing.
We have "platform drivers" which are much different from what you are
doing here, you are just creating a "normal" pci driver.
Very minor comments below.
>
> 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 8b9394a..e4855ac 100644
> --- a/drivers/staging/hv/vmbus_drv.c
> +++ b/drivers/staging/hv/vmbus_drv.c
> @@ -43,6 +43,8 @@
>
> static struct device *root_dev; /* Root device */
>
> +struct pci_dev *hv_pci_dev;
> +
> /* Main vmbus driver data structure */
> struct vmbus_driver_context {
>
> @@ -887,36 +889,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);
You're sure it's safe to delete this now and just rely on the PCI ids,
right? For some wierd reason I thought we needed both to catch all
types of systems, but I can't remember why.
>
> -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;
> }
>
> /*
> @@ -931,10 +921,29 @@ static const struct pci_device_id microsoft_hv_pci_table[] = {
> };
> MODULE_DEVICE_TABLE(pci, microsoft_hv_pci_table);
>
> +static struct pci_driver platform_driver = {
"hv_bus_driver"?
> + .name = "hv-platform-pci",
How about "hv_bus" as a name, as that's what this really is. It's a
"bus adapter", like USB, Firewire, and all sorts of other bus
controllers.
> + .probe = hv_pci_probe,
> + .id_table = microsoft_hv_pci_table,
> +};
> +
> +static int __init hv_pci_init(void)
> +{
> + return pci_register_driver(&platform_driver);
> +}
> +
> +static void __exit hv_pci_exit(void)
> +{
> + vmbus_bus_exit();
> + pci_unregister_driver(&platform_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
next prev parent reply other threads:[~2011-03-10 22:20 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <[PATCH 00/21] Staging: hv: Cleanup vmbus driver>
2011-03-10 22:03 ` [PATCH 01/21] Staging: hv: Simplify root device management K. Y. Srinivasan
2011-03-10 22:04 ` [PATCH 02/21] Staging: hv: Change the signature for vmbus_cleanup() K. Y. Srinivasan
2011-03-10 22:04 ` [PATCH 03/21] Staging: hv: Get rid of the function vmbus_msg_dpc() K. Y. Srinivasan
2011-03-10 22:04 ` K. Y. Srinivasan
2011-03-10 22:05 ` [PATCH 04/21] Staging: hv: Eliminate vmbus_event_dpc() K. Y. Srinivasan
2011-03-10 22:05 ` K. Y. Srinivasan
2011-03-10 22:06 ` [PATCH 05/21] Staging: hv: Change the signature for vmbus_on_isr() K. Y. Srinivasan
2011-03-10 22:06 ` [PATCH 06/21] Staging: hv: Get rid of vmbus_dev_rm() function K. Y. Srinivasan
2011-03-10 22:06 ` [PATCH 07/21] Staging: hv: Get rid of vmbus_cleanup() function K. Y. Srinivasan
2011-03-10 22:07 ` [PATCH 08/21] Staging: hv: Change the signature for vmbus_child_device_register() K. Y. Srinivasan
2011-03-10 22:07 ` [PATCH 09/21] Staging: hv: Get rid of vmbus_child_dev_add() K. Y. Srinivasan
2011-03-10 22:08 ` [PATCH 10/21] Staging: hv: Cleanup root device handling K. Y. Srinivasan
2011-03-10 22:08 ` K. Y. Srinivasan
2011-03-14 19:33 ` Greg KH
2011-03-14 19:54 ` KY Srinivasan
2011-03-14 19:58 ` Greg KH
2011-03-14 20:13 ` KY Srinivasan
2011-03-10 22:08 ` [PATCH 11/21] Staging: hv: Make vmbus driver a platform pci driver K. Y. Srinivasan
2011-03-10 22:20 ` Greg KH [this message]
2011-03-10 22:28 ` KY Srinivasan
2011-03-10 22:32 ` Greg KH
2011-03-10 22:36 ` KY Srinivasan
2011-03-12 23:23 ` KY Srinivasan
2011-03-14 3:24 ` Greg KH
2011-03-14 3:24 ` Greg KH
2011-03-14 12:43 ` KY Srinivasan
2011-03-14 19:34 ` Greg KH
2011-03-10 22:08 ` [PATCH 12/21] Staging: hv: Cleanup irq management K. Y. Srinivasan
2011-03-10 22:08 ` K. Y. Srinivasan
2011-03-10 22:46 ` Thomas Gleixner
2011-03-10 22:54 ` Hank Janssen
2011-03-11 2:09 ` KY Srinivasan
2011-03-10 22:12 ` [PATCH 13/21] [PATCH 13/21] Staging: hv: Rename vmbus_driver_context structure K. Y. Srinivasan
2011-03-10 22:49 ` Thomas Gleixner
2011-03-10 22:49 ` Thomas Gleixner
2011-03-11 3:17 ` KY Srinivasan
2011-03-10 22:12 ` [PATCH 14/21] Get rid of the forward declaration for vmbus_uevent K. Y. Srinivasan
2011-03-10 22:13 ` [PATCH 15/21] Staging: hv: Get rid of the forward declaration for vmbus_match K. Y. Srinivasan
2011-03-10 22:14 ` [PATCH 16/21] Staging: hv: Get rid of the forward declaration for vmbus_probe K. Y. Srinivasan
2011-03-10 22:14 ` K. Y. Srinivasan
2011-03-10 22:14 ` [PATCH 17/21] Staging: hv: Get rid of the forward declaration for vmbus_remove K. Y. Srinivasan
2011-03-10 22:15 ` [PATCH 18/21] Staging: hv: Get rid of the forward declaration for vmbus_shutdown K. Y. Srinivasan
2011-03-10 22:15 ` [PATCH 19/21] Staging: hv: Get rid of the forward declaration for vmbus_device_release K. Y. Srinivasan
2011-03-10 22:15 ` [PATCH 20/21] Staging: hv: Get rid of the forward declaration for vmbus_isr K. Y. Srinivasan
2011-03-10 22:16 ` [PATCH 21/21] Staging: hv: Get rid of the forward declaration for vmbus_show_device_attr K. Y. Srinivasan
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=20110310222034.GA19323@suse.de \
--to=gregkh@suse.de \
--cc=devel@linuxdriverproject.org \
--cc=haiyangz@microsoft.com \
--cc=hjanssen@microsoft.com \
--cc=kys@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.