Re: [RFC]: new LSI MegaRAID driver implementation
From: Matthew Wilcox
Date: Tue Feb 16 2010 - 11:45:44 EST
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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/