[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20100216164537.GL11239@parisc-linux.org>
Date: Tue, 16 Feb 2010 09:45:37 -0700
From: Matthew Wilcox <matthew@....cx>
To: "Mukker, Atul" <Atul.Mukker@....com>
Cc: Christoph Hellwig <hch@...radead.org>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [RFC]: new LSI MegaRAID driver implementation
On Tue, Feb 16, 2010 at 09:37:14AM -0700, Mukker, Atul wrote:
> Thanks for the inputs Christoph.
>
> We sort of had an idea for this possible route. What are your biggest concerns for a single driver model?
My biggest concern is that you'll do something to fix a bug in the new
hardware and inadvertently create a bug for some old piece of hardware.
> The split model has implications for LSI RAID management applications and we want to make sure that decision is made with a thorough analysis.
I'm not sure I see the downside to having a second driver.
One interesting possibility, if you feel you really must have a single driver that handles both sets of hardware is to do this:
------
a.c:
struct pci_driver a_pci_driver { ... };
b.c:
struct pci_driver b_pci_driver { ... };
common.c:
static int __init my_init(void)
{
error = pci_register_driver(&a_pci_driver);
if (error)
return error;
error = pci_register_driver(&b_pci_driver);
if (error)
pci_unregister_driver(&a_pci_driver);
return error;
}
module_init(my_init);
------
Now you have two completely separated drivers which are bound together
into a single object file. Bit wasteful, but might make your management
happier.
--
Matthew Wilcox Intel Open Source Technology Centre
"Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours. We can't possibly take such
a retrograde step."
--
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