* [PATCH resend] Allow both megaraid drivers to be built
@ 2005-10-29 13:24 Daniel Drake
2005-11-06 18:47 ` James Bottomley
0 siblings, 1 reply; 9+ messages in thread
From: Daniel Drake @ 2005-10-29 13:24 UTC (permalink / raw)
To: James.Bottomley; +Cc: Christoph Hellwig, linux-scsi
[-- Attachment #1: Type: text/plain, Size: 701 bytes --]
Hi James,
Here's a rediff of a patch I sent at the end of August.
Rename megaraid to megaraid_legacy, changing sysfs name, module
name, and the messages printed out via printk. I have left the procfs name as
"megaraid" as presumably userspace tools rely on this.
Remove hardware ID's from megaraid_legacy which overlap with the newgen
megaraid drivers.
Allow megaraid_legacy to be built alongside the newgen driver.
Instead of renaming the file locally and sending a huge unreviewable diff,
I've left the original filenames (megaraid.c and megaraid.h) in place. Please
use git-mv to rename these to megaraid_legacy.[ch] once you have applied this.
Signed-off-by: Daniel Drake <dsd@gentoo.org>
[-- Attachment #2: megaraid-legacy.patch --]
[-- Type: text/x-patch, Size: 16747 bytes --]
--- linux-2.6.14/drivers/scsi/Makefile.orig 2005-10-29 13:49:19.000000000 +0100
+++ linux-2.6.14/drivers/scsi/Makefile 2005-10-29 13:51:43.000000000 +0100
@@ -97,7 +97,7 @@ obj-$(CONFIG_SCSI_IBMMCA) += ibmmca.o
obj-$(CONFIG_SCSI_EATA) += eata.o
obj-$(CONFIG_SCSI_DC395x) += dc395x.o
obj-$(CONFIG_SCSI_DC390T) += tmscsim.o
-obj-$(CONFIG_MEGARAID_LEGACY) += megaraid.o
+obj-$(CONFIG_MEGARAID_LEGACY) += megaraid_legacy.o
obj-$(CONFIG_MEGARAID_NEWGEN) += megaraid/
obj-$(CONFIG_MEGARAID_SAS) += megaraid/
obj-$(CONFIG_SCSI_ACARD) += atp870u.o
--- linux-2.6.14/drivers/scsi/megaraid/Kconfig.megaraid.orig 2005-10-29 13:49:43.000000000 +0100
+++ linux-2.6.14/drivers/scsi/megaraid/Kconfig.megaraid 2005-10-29 13:51:23.000000000 +0100
@@ -64,18 +64,18 @@ config MEGARAID_MAILBOX
To compile this driver as a module, choose M here: the
module will be called megaraid_mbox
-if MEGARAID_NEWGEN=n
config MEGARAID_LEGACY
tristate "LSI Logic Legacy MegaRAID Driver"
depends on PCI && SCSI
help
- This driver supports the LSI MegaRAID 418, 428, 438, 466, 762, 490
- and 467 SCSI host adapters. This driver also support the all U320
- RAID controllers
+ This driver supports the LSI MegaRAID 418, 428, 438, 466, 467, 762, 490
+ and 467 SCSI host adapters.
+
+ Other MegaRAID controllers are supported by the MEGARAID_NEWGEN driver
+ series.
To compile this driver as a module, choose M here: the
- module will be called megaraid
-endif
+ module will be called megaraid_legacy
config MEGARAID_SAS
tristate "LSI Logic MegaRAID SAS RAID Module"
--- linux-2.6.14/drivers/scsi/megaraid.c.orig 2005-10-29 13:49:29.000000000 +0100
+++ linux-2.6.14/drivers/scsi/megaraid.c 2005-10-29 14:01:35.000000000 +0100
@@ -21,8 +21,7 @@
*
* Description: Linux device driver for LSI Logic MegaRAID controller
*
- * Supported controllers: MegaRAID 418, 428, 438, 466, 762, 467, 471, 490, 493
- * 518, 520, 531, 532
+ * Supported controllers: MegaRAID 418, 428, 438, 466, 762, 467, 490
*
* This driver is supported by LSI Logic, with assistance from Red Hat, Dell,
* and others. Please send updates to the mailing list
@@ -49,7 +48,7 @@
#include "scsi.h"
#include <scsi/scsi_host.h>
-#include "megaraid.h"
+#include "megaraid_legacy.h"
#define MEGARAID_MODULE_VERSION "2.00.3"
@@ -259,8 +258,8 @@ mega_query_adapter(adapter_t *adapter)
if ((retval = issue_scb_block(adapter, raw_mbox)))
printk(KERN_WARNING
- "megaraid: Product_info cmd failed with error: %d\n",
- retval);
+ "megaraid_legacy: Product_info cmd failed with "
+ "error: %d\n", retval);
pci_unmap_single(adapter->dev, prod_info_dma_handle,
sizeof(mega_product_info), PCI_DMA_FROMDEVICE);
@@ -322,7 +321,8 @@ mega_query_adapter(adapter_t *adapter)
adapter->bios_version[4] = 0;
}
- printk(KERN_NOTICE "megaraid: [%s:%s] detected %d logical drives.\n",
+ printk(KERN_NOTICE "megaraid_legacy: [%s:%s] detected %d logical "
+ "drives.\n",
adapter->fw_version, adapter->bios_version, adapter->numldrv);
/*
@@ -330,7 +330,7 @@ mega_query_adapter(adapter_t *adapter)
*/
adapter->support_ext_cdb = mega_support_ext_cdb(adapter);
if (adapter->support_ext_cdb)
- printk(KERN_NOTICE "megaraid: supports extended CDBs.\n");
+ printk(KERN_NOTICE "megaraid_legacy: supports extended CDBs.\n");
return 0;
@@ -1241,7 +1241,7 @@ issue_scb_block(adapter_t *adapter, u_ch
return mbox->m_in.status;
bug_blocked_mailbox:
- printk(KERN_WARNING "megaraid: Blocked mailbox......!!\n");
+ printk(KERN_WARNING "megaraid_legacy: Blocked mailbox......!!\n");
udelay (1000);
return -1;
}
@@ -1453,7 +1453,7 @@ mega_cmd_done(adapter_t *adapter, u8 com
*/
if( !(scb->state & SCB_ISSUED) || scb->cmd == NULL ) {
printk(KERN_CRIT
- "megaraid: invalid command ");
+ "megaraid_legacy: invalid command ");
printk("Id %d, scb->state:%x, scsi cmd:%p\n",
cmdid, scb->state, scb->cmd);
@@ -1466,8 +1466,9 @@ mega_cmd_done(adapter_t *adapter, u8 com
if( scb->state & SCB_ABORT ) {
printk(KERN_WARNING
- "megaraid: aborted cmd %lx[%x] complete.\n",
- scb->cmd->serial_number, scb->idx);
+ "megaraid_legacy: aborted cmd %lx[%x] "
+ " complete.\n",
+ scb->cmd->serial_number, scb->idx);
scb->cmd->result = (DID_ABORT << 16);
@@ -1485,7 +1486,8 @@ mega_cmd_done(adapter_t *adapter, u8 com
if( scb->state & SCB_RESET ) {
printk(KERN_WARNING
- "megaraid: reset cmd %lx[%x] complete.\n",
+ "megaraid_legacy: reset cmd %lx[%x] "
+ " complete.\n",
scb->cmd->serial_number, scb->idx);
scb->cmd->result = (DID_RESET << 16);
@@ -1558,7 +1560,8 @@ mega_cmd_done(adapter_t *adapter, u8 com
}
else {
printk(KERN_WARNING
- "megaraid: invalid sg.\n");
+ "megaraid_legacy: "
+ "invalid sg.\n");
c = 0;
}
}
@@ -1983,10 +1986,10 @@ megaraid_reset(struct scsi_cmnd *cmd)
if( mega_internal_command(adapter, LOCK_INT, &mc, NULL) != 0 ) {
printk(KERN_WARNING
- "megaraid: reservation reset failed.\n");
+ "megaraid_legacy: reservation reset failed.\n");
}
else {
- printk(KERN_INFO "megaraid: reservation reset.\n");
+ printk(KERN_INFO "megaraid_legacy: reservation reset.\n");
}
#endif
@@ -2019,7 +2022,7 @@ megaraid_abort_and_reset(adapter_t *adap
struct list_head *pos, *next;
scb_t *scb;
- printk(KERN_WARNING "megaraid: %s-%lx cmd=%x <c=%d t=%d l=%d>\n",
+ printk(KERN_WARNING "megaraid_legacy: %s-%lx cmd=%x <c=%d t=%d l=%d>\n",
(aor == SCB_ABORT)? "ABORTING":"RESET", cmd->serial_number,
cmd->cmnd[0], cmd->device->channel,
cmd->device->id, cmd->device->lun);
@@ -2044,7 +2047,8 @@ megaraid_abort_and_reset(adapter_t *adap
if( scb->state & SCB_ISSUED ) {
printk(KERN_WARNING
- "megaraid: %s-%lx[%x], fw owner.\n",
+ "megaraid_legacy: "
+ "%s-%lx[%x], fw owner.\n",
(aor==SCB_ABORT) ? "ABORTING":"RESET",
cmd->serial_number, scb->idx);
@@ -2057,7 +2061,8 @@ megaraid_abort_and_reset(adapter_t *adap
* list
*/
printk(KERN_WARNING
- "megaraid: %s-%lx[%x], driver owner.\n",
+ "megaraid_legacy: "
+ "%s-%lx[%x], driver owner.\n",
(aor==SCB_ABORT) ? "ABORTING":"RESET",
cmd->serial_number, scb->idx);
@@ -2153,7 +2158,7 @@ mega_create_proc_entry(int index, struct
adapter->controller_proc_dir_entry = proc_mkdir(string, parent);
if(!controller_proc_dir_entry) {
- printk(KERN_WARNING "\nmegaraid: proc_mkdir failed\n");
+ printk(KERN_WARNING "\nmegaraid_legacy: proc_mkdir failed\n");
return;
}
adapter->proc_read = CREATE_READ_PROC("config", proc_read_config);
@@ -2428,7 +2433,7 @@ proc_rebuild_rate(char *page, char **sta
len = sprintf(page, "Adapter inquiry failed.\n");
- printk(KERN_WARNING "megaraid: inquiry failed.\n");
+ printk(KERN_WARNING "megaraid_legacy: inquiry failed.\n");
mega_free_inquiry(inquiry, dma_handle, pdev);
@@ -2498,7 +2503,7 @@ proc_battery(char *page, char **start, o
len = sprintf(page, "Adapter inquiry failed.\n");
- printk(KERN_WARNING "megaraid: inquiry failed.\n");
+ printk(KERN_WARNING "megaraid_legacy: inquiry failed.\n");
mega_free_inquiry(inquiry, dma_handle, pdev);
@@ -2685,7 +2690,7 @@ proc_pdrv(adapter_t *adapter, char *page
if( mega_adapinq(adapter, dma_handle) != 0 ) {
len = sprintf(page, "Adapter inquiry failed.\n");
- printk(KERN_WARNING "megaraid: inquiry failed.\n");
+ printk(KERN_WARNING "megaraid_legacy: inquiry failed.\n");
goto free_inquiry;
}
@@ -2964,7 +2969,7 @@ proc_rdrv(adapter_t *adapter, char *page
len = sprintf(page, "Adapter inquiry failed.\n");
- printk(KERN_WARNING "megaraid: inquiry failed.\n");
+ printk(KERN_WARNING "megaraid_legacy: inquiry failed.\n");
mega_free_inquiry(inquiry, dma_handle, pdev);
@@ -3231,7 +3236,8 @@ megaraid_biosparam(struct scsi_device *s
}
printk(KERN_INFO
- "megaraid: invalid partition on this disk on channel %d\n",
+ "megaraid_legacy: invalid partition on this disk on "
+ "channel %d\n",
sdev->channel);
/* Default heads (64) & sectors (32) */
@@ -3512,7 +3518,7 @@ megadev_ioctl(struct inode *inode, struc
* Do we support this feature
*/
if( !adapter->support_random_del ) {
- printk(KERN_WARNING "megaraid: logdrv ");
+ printk(KERN_WARNING "megaraid_legacy: logdrv ");
printk("delete on non-supporting F/W.\n");
return (-EINVAL);
@@ -3537,7 +3543,8 @@ megadev_ioctl(struct inode *inode, struc
if( uioc.uioc_rmbox[0] == MEGA_MBOXCMD_PASSTHRU64 ||
uioc.uioc_rmbox[0] == MEGA_MBOXCMD_EXTPTHRU ) {
- printk(KERN_WARNING "megaraid: rejected passthru.\n");
+ printk(KERN_WARNING "megaraid_legacy: "
+ "rejected passthru.\n");
return (-EINVAL);
}
@@ -4028,12 +4035,12 @@ mega_enum_raid_scsi(adapter_t *adapter)
for( i = 0; i < adapter->product_info.nchannels; i++ ) {
if( (adapter->mega_ch_class >> i) & 0x01 ) {
- printk(KERN_INFO "megaraid: channel[%d] is raid.\n",
- i);
+ printk(KERN_INFO "megaraid_legacy: channel[%d] is "
+ "raid.\n", i);
}
else {
- printk(KERN_INFO "megaraid: channel[%d] is scsi.\n",
- i);
+ printk(KERN_INFO "megaraid_legacy: channel[%d] is "
+ " scsi.\n", i);
}
}
@@ -4238,7 +4245,8 @@ mega_do_del_logdrv(adapter_t *adapter, i
/* log this event */
if(rval) {
- printk(KERN_WARNING "megaraid: Delete LD-%d failed.", logdrv);
+ printk(KERN_WARNING "megaraid_legacy: Delete LD-%d failed.",
+ logdrv);
return rval;
}
@@ -4528,7 +4536,7 @@ mega_internal_command(adapter_t *adapter
* this information.
*/
if( scmd->result && trace_level ) {
- printk("megaraid: cmd [%x, %x, %x] status:[%x]\n",
+ printk("megaraid_legacy: cmd [%x, %x, %x] status:[%x]\n",
mc->cmd, mc->opcode, mc->subopcode, scmd->result);
}
@@ -4630,7 +4638,7 @@ megaraid_probe_one(struct pci_dev *pdev,
subsysvid = pdev->subsystem_vendor;
subsysid = pdev->subsystem_device;
- printk(KERN_NOTICE "megaraid: found 0x%4.04x:0x%4.04x:bus %d:",
+ printk(KERN_NOTICE "megaraid_legacy: found 0x%4.04x:0x%4.04x:bus %d:",
id->vendor, id->device, pci_bus);
printk("slot %d:func %d\n",
@@ -4645,14 +4653,15 @@ megaraid_probe_one(struct pci_dev *pdev,
flag |= BOARD_MEMMAP;
if (!request_mem_region(mega_baseport, 128, "megaraid")) {
- printk(KERN_WARNING "megaraid: mem region busy!\n");
+ printk(KERN_WARNING "megaraid_legacy: "
+ "mem region busy!\n");
goto out_disable_device;
}
mega_baseport = (unsigned long)ioremap(mega_baseport, 128);
if (!mega_baseport) {
printk(KERN_WARNING
- "megaraid: could not map hba memory\n");
+ "megaraid_legacy: could not map hba memory\n");
goto out_release_region;
}
} else {
@@ -4672,7 +4681,7 @@ megaraid_probe_one(struct pci_dev *pdev,
memset(adapter, 0, sizeof(adapter_t));
printk(KERN_NOTICE
- "scsi%d:Found MegaRAID controller at 0x%lx, IRQ:%d\n",
+ "scsi%d:Found MegaRAID Legacy controller at 0x%lx, IRQ:%d\n",
host->host_no, mega_baseport, irq);
adapter->base = mega_baseport;
@@ -4708,13 +4717,13 @@ megaraid_probe_one(struct pci_dev *pdev,
adapter->mega_buffer = pci_alloc_consistent(adapter->dev,
MEGA_BUFFER_SIZE, &adapter->buf_dma_handle);
if (!adapter->mega_buffer) {
- printk(KERN_WARNING "megaraid: out of RAM.\n");
+ printk(KERN_WARNING "megaraid_legacy: out of RAM.\n");
goto out_host_put;
}
adapter->scb_list = kmalloc(sizeof(scb_t) * MAX_COMMANDS, GFP_KERNEL);
if (!adapter->scb_list) {
- printk(KERN_WARNING "megaraid: out of RAM.\n");
+ printk(KERN_WARNING "megaraid_legacy: out of RAM.\n");
goto out_free_cmd_buffer;
}
@@ -4722,7 +4731,7 @@ megaraid_probe_one(struct pci_dev *pdev,
megaraid_isr_memmapped : megaraid_isr_iomapped,
SA_SHIRQ, "megaraid", adapter)) {
printk(KERN_WARNING
- "megaraid: Couldn't register IRQ %d!\n", irq);
+ "megaraid_legacy: Couldn't register IRQ %d!\n", irq);
goto out_free_scb_list;
}
@@ -4743,18 +4752,18 @@ megaraid_probe_one(struct pci_dev *pdev,
!strcmp(adapter->fw_version, "3.01")) {
printk( KERN_WARNING
- "megaraid: Your card is a Dell PERC "
+ "megaraid_legacy: Your card is a Dell PERC "
"2/SC RAID controller with "
- "firmware\nmegaraid: 3.00 or 3.01. "
+ "firmware\nmegaraid_legacy: 3.00 or 3.01. "
"This driver is known to have "
- "corruption issues\nmegaraid: with "
+ "corruption issues\nmegaraid_legacy: with "
"those firmware versions on this "
- "specific card. In order\nmegaraid: "
+ "specific card. In order\nmegaraid_legacy: "
"to protect your data, please upgrade "
- "your firmware to version\nmegaraid: "
+ "your firmware to version\nmegaraid_legacy: "
"3.10 or later, available from the "
"Dell Technical Support web\n"
- "megaraid: site at\nhttp://support."
+ "megaraid_legacy: site at\nhttp://support."
"dell.com/us/en/filelib/download/"
"index.asp?fileid=2940\n"
);
@@ -4776,11 +4785,11 @@ megaraid_probe_one(struct pci_dev *pdev,
!strcmp(adapter->fw_version, "H01.08") ||
!strcmp(adapter->fw_version, "H01.09") ) {
printk(KERN_WARNING
- "megaraid: Firmware H.01.07, "
+ "megaraid_legacy: Firmware H.01.07, "
"H.01.08, and H.01.09 on 1M/2M "
"controllers\n"
- "megaraid: do not support 64 bit "
- "addressing.\nmegaraid: DISABLING "
+ "megaraid_legacy: do not support 64 bit "
+ "addressing.\nmegaraid_legacy: DISABLING "
"64 bit support.\n");
adapter->flag &= ~BOARD_64BIT;
}
@@ -4889,7 +4898,7 @@ megaraid_probe_one(struct pci_dev *pdev,
adapter->has_cluster = mega_support_cluster(adapter);
if (adapter->has_cluster) {
printk(KERN_NOTICE
- "megaraid: Cluster driver, initiator id:%d\n",
+ "megaraid_legacy: Cluster driver, initiator id:%d\n",
adapter->this_id);
}
#endif
@@ -4956,7 +4965,7 @@ __megaraid_shutdown(adapter_t *adapter)
issue_scb_block(adapter, raw_mbox);
if (atomic_read(&adapter->pend_cmds) > 0)
- printk(KERN_WARNING "megaraid: pending commands!!\n");
+ printk(KERN_WARNING "megaraid_legacy: pending commands!!\n");
/*
* Have a delibrate delay to make sure all the caches are
@@ -5044,28 +5053,18 @@ megaraid_shutdown(struct pci_dev *pdev)
}
static struct pci_device_id megaraid_pci_tbl[] = {
- {PCI_VENDOR_ID_DELL, PCI_DEVICE_ID_DISCOVERY,
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
- {PCI_VENDOR_ID_DELL, PCI_DEVICE_ID_PERC4_DI,
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, BOARD_64BIT},
- {PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_PERC4_QC_VERDE,
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, BOARD_64BIT},
{PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID2,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
- {PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID3,
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_AMI_MEGARAID3,
PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
- {PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_AMI_MEGARAID3,
- PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0},
{0,}
};
MODULE_DEVICE_TABLE(pci, megaraid_pci_tbl);
static struct pci_driver megaraid_pci_driver = {
- .name = "megaraid",
+ .name = "megaraid_legacy",
.id_table = megaraid_pci_tbl,
.probe = megaraid_probe_one,
.remove = __devexit_p(megaraid_remove_one),
@@ -5084,8 +5083,8 @@ static int __init megaraid_init(void)
#ifdef CONFIG_PROC_FS
mega_proc_dir_entry = proc_mkdir("megaraid", &proc_root);
if (!mega_proc_dir_entry) {
- printk(KERN_WARNING
- "megaraid: failed to create megaraid root\n");
+ printk(KERN_WARNING "megaraid_legacy: "
+ "failed to create megaraid root\n");
}
#endif
error = pci_module_init(&megaraid_pci_driver);
@@ -5104,8 +5103,8 @@ static int __init megaraid_init(void)
*/
major = register_chrdev(0, "megadev", &megadev_fops);
if (!major) {
- printk(KERN_WARNING
- "megaraid: failed to register char device\n");
+ printk(KERN_WARNING "megaraid_legacy: "
+ "failed to register char device\n");
}
return 0;
--- linux-2.6.14/drivers/scsi/megaraid.h.orig 2005-10-29 13:49:32.000000000 +0100
+++ linux-2.6.14/drivers/scsi/megaraid.h 2005-10-29 14:03:18.000000000 +0100
@@ -1,5 +1,5 @@
-#ifndef __MEGARAID_H__
-#define __MEGARAID_H__
+#ifndef __MEGARAID_LEGACY_H__
+#define __MEGARAID_LEGACY_H__
#include <linux/spinlock.h>
@@ -45,18 +45,10 @@
#define MAX_DEV_TYPE 32
-#ifndef PCI_VENDOR_ID_LSI_LOGIC
-#define PCI_VENDOR_ID_LSI_LOGIC 0x1000
-#endif
-
#ifndef PCI_VENDOR_ID_AMI
#define PCI_VENDOR_ID_AMI 0x101E
#endif
-#ifndef PCI_VENDOR_ID_DELL
-#define PCI_VENDOR_ID_DELL 0x1028
-#endif
-
#ifndef PCI_VENDOR_ID_INTEL
#define PCI_VENDOR_ID_INTEL 0x8086
#endif
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH resend] Allow both megaraid drivers to be built
2005-10-29 13:24 [PATCH resend] Allow both megaraid drivers to be built Daniel Drake
@ 2005-11-06 18:47 ` James Bottomley
0 siblings, 0 replies; 9+ messages in thread
From: James Bottomley @ 2005-11-06 18:47 UTC (permalink / raw)
To: Daniel Drake; +Cc: Neela.Kolli, Christoph Hellwig, linux-scsi
On Sat, 2005-10-29 at 14:24 +0100, Daniel Drake wrote:
> Here's a rediff of a patch I sent at the end of August.
>
> Rename megaraid to megaraid_legacy, changing sysfs name, module
> name, and the messages printed out via printk. I have left the procfs name as
> "megaraid" as presumably userspace tools rely on this.
>
> Remove hardware ID's from megaraid_legacy which overlap with the newgen
> megaraid drivers.
>
> Allow megaraid_legacy to be built alongside the newgen driver.
>
> Instead of renaming the file locally and sending a huge unreviewable diff,
> I've left the original filenames (megaraid.c and megaraid.h) in place. Please
> use git-mv to rename these to megaraid_legacy.[ch] once you have applied this.
This looks fine to me. I would, however, like input from the megaraid
maintainers, since it actually involves a name change. However, if
there are no comments before we got -rc, I'll queue it for after 2.6.15
James
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH resend] Allow both megaraid drivers to be built
@ 2005-11-07 6:05 Bagalkote, Sreenivas
2005-11-07 6:15 ` Christoph Hellwig
2005-11-07 14:14 ` Daniel Drake
0 siblings, 2 replies; 9+ messages in thread
From: Bagalkote, Sreenivas @ 2005-11-07 6:05 UTC (permalink / raw)
To: 'James Bottomley', Daniel Drake
Cc: Kolli, Neela Syam, Christoph Hellwig, linux-scsi, Ju, Seokmann
>On Sat, 2005-10-29 at 14:24 +0100, Daniel Drake wrote:
>> Here's a rediff of a patch I sent at the end of August.
>>
>> Rename megaraid to megaraid_legacy, changing sysfs name, module
>> name, and the messages printed out via printk. I have left
>the procfs name as
>> "megaraid" as presumably userspace tools rely on this.
>>
>> Remove hardware ID's from megaraid_legacy which overlap with
>the newgen
>> megaraid drivers.
>>
>> Allow megaraid_legacy to be built alongside the newgen driver.
>>
>> Instead of renaming the file locally and sending a huge
>unreviewable diff,
>> I've left the original filenames (megaraid.c and megaraid.h)
>in place. Please
>> use git-mv to rename these to megaraid_legacy.[ch] once you
>have applied this.
>
>This looks fine to me. I would, however, like input from the megaraid
>maintainers, since it actually involves a name change. However, if
>there are no comments before we got -rc, I'll queue it for after 2.6.15
>
>James
James, the people responsible for megaraid/megaraid_mbox are collecting
information from our key customers about the impact of moving overlapping
ids. The concern, I believe, is that some customers who were exclusively
using megaraid will be forced to use megaraid_mbox. I also see that both
drivers register_chrdev() with "megadev" string. There is going to be some
impact on a stack of applications. I am not sure how Daniel's patch solved
this.
I sincerely thank Daniel Drake for kicking this issue into high gear. Please
know that this issue got the attention it needs. Getting customer feedback
wasn't very fast. How long are you willing to hold this patch?
Sreenivas
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH resend] Allow both megaraid drivers to be built
2005-11-07 6:05 Bagalkote, Sreenivas
@ 2005-11-07 6:15 ` Christoph Hellwig
2005-11-07 14:14 ` Daniel Drake
1 sibling, 0 replies; 9+ messages in thread
From: Christoph Hellwig @ 2005-11-07 6:15 UTC (permalink / raw)
To: Bagalkote, Sreenivas
Cc: 'James Bottomley', Daniel Drake, Kolli, Neela Syam,
Christoph Hellwig, linux-scsi, Ju, Seokmann
On Mon, Nov 07, 2005 at 01:05:55AM -0500, Bagalkote, Sreenivas wrote:
> James, the people responsible for megaraid/megaraid_mbox are collecting
> information from our key customers about the impact of moving overlapping
> ids. The concern, I believe, is that some customers who were exclusively
> using megaraid will be forced to use megaraid_mbox. I also see that both
> drivers register_chrdev() with "megadev" string. There is going to be some
> impact on a stack of applications. I am not sure how Daniel's patch solved
> this.
>
> I sincerely thank Daniel Drake for kicking this issue into high gear. Please
> know that this issue got the attention it needs. Getting customer feedback
> wasn't very fast. How long are you willing to hold this patch?
Note that the current situation is even worse for your customers, because
the Kconfig subsystem only allows to build one driver at a time. You
don't notice that because all distributions patch that silly check out
again.
Can we at least agree on patching that out ASAP and leave two drivers
handling the same ID (we have cases like that all over already) and then
try to make some progress on removing ids from the old driver independent
of that?
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH resend] Allow both megaraid drivers to be built
2005-11-07 6:05 Bagalkote, Sreenivas
2005-11-07 6:15 ` Christoph Hellwig
@ 2005-11-07 14:14 ` Daniel Drake
1 sibling, 0 replies; 9+ messages in thread
From: Daniel Drake @ 2005-11-07 14:14 UTC (permalink / raw)
To: Bagalkote, Sreenivas
Cc: 'James Bottomley', Kolli, Neela Syam, Christoph Hellwig,
linux-scsi, Ju, Seokmann
Bagalkote, Sreenivas wrote:
> I also see that both
> drivers register_chrdev() with "megadev" string. There is going to be some
> impact on a stack of applications. I am not sure how Daniel's patch solved
> this.
I didn't spot this - thanks for pointing it out. I guess our only real option
is to rename one of them. Which one should it be? Which software uses this device?
Daniel
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH resend] Allow both megaraid drivers to be built
@ 2005-11-07 6:41 Bagalkote, Sreenivas
2005-11-07 11:36 ` 'Christoph Hellwig'
2005-11-07 13:22 ` James Bottomley
0 siblings, 2 replies; 9+ messages in thread
From: Bagalkote, Sreenivas @ 2005-11-07 6:41 UTC (permalink / raw)
To: 'Christoph Hellwig'
Cc: 'James Bottomley', Daniel Drake, Kolli, Neela Syam,
linux-scsi, Ju, Seokmann
>Note that the current situation is even worse for your customers, because
>the Kconfig subsystem only allows to build one driver at a time. You
>don't notice that because all distributions patch that silly check out
>again.
>
>Can we at least agree on patching that out ASAP and leave two drivers
>handling the same ID (we have cases like that all over already) and then
>try to make some progress on removing ids from the old driver independent
>of that?
You mean, you want to allow both drivers to be built and loaded together,
even though they have overlapping ids?!
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH resend] Allow both megaraid drivers to be built
2005-11-07 6:41 Bagalkote, Sreenivas
@ 2005-11-07 11:36 ` 'Christoph Hellwig'
2005-11-07 13:22 ` James Bottomley
1 sibling, 0 replies; 9+ messages in thread
From: 'Christoph Hellwig' @ 2005-11-07 11:36 UTC (permalink / raw)
To: Bagalkote, Sreenivas
Cc: 'Christoph Hellwig', 'James Bottomley',
Daniel Drake, Kolli, Neela Syam, linux-scsi, Ju, Seokmann
On Mon, Nov 07, 2005 at 01:41:13AM -0500, Bagalkote, Sreenivas wrote:
> You mean, you want to allow both drivers to be built and loaded together,
> even though they have overlapping ids?!
We allow to build both, and allow to load both aswell, although the
latter is pretty useless as all devices will be claimed by one
driver already (except for the two ids only supported by the old
driver)
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH resend] Allow both megaraid drivers to be built
2005-11-07 6:41 Bagalkote, Sreenivas
2005-11-07 11:36 ` 'Christoph Hellwig'
@ 2005-11-07 13:22 ` James Bottomley
1 sibling, 0 replies; 9+ messages in thread
From: James Bottomley @ 2005-11-07 13:22 UTC (permalink / raw)
To: Bagalkote, Sreenivas
Cc: 'Christoph Hellwig', Daniel Drake, Kolli, Neela Syam,
linux-scsi, Ju, Seokmann
On Mon, 2005-11-07 at 01:41 -0500, Bagalkote, Sreenivas wrote:
> You mean, you want to allow both drivers to be built and loaded together,
> even though they have overlapping ids?!
You're not thinking like a distribution. They want to build one kernel
for almost every configuration. There are a few things (SMP, bigmem
etc) that they're willing to build extra kernels for, but not, I think,
for old vs new megaraid. Thus they have to patch this up to build the
two modules. By and large, the overlapping ID business is sorted out by
the installer, although having disjoint IDs is good since the installer
doesn't have to make a choice.
Can you get this sorted out before 2.6.15, please (so if I believe
Linus, that's about five weeks)?
Thanks,
James
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [PATCH resend] Allow both megaraid drivers to be built
@ 2005-11-07 14:09 Bagalkote, Sreenivas
0 siblings, 0 replies; 9+ messages in thread
From: Bagalkote, Sreenivas @ 2005-11-07 14:09 UTC (permalink / raw)
To: 'James Bottomley'
Cc: 'Christoph Hellwig', Daniel Drake, Kolli, Neela Syam,
linux-scsi, Ju, Seokmann
>On Mon, 2005-11-07 at 01:41 -0500, Bagalkote, Sreenivas wrote:
>> You mean, you want to allow both drivers to be built and
>loaded together,
>> even though they have overlapping ids?!
>
>You're not thinking like a distribution. They want to build one kernel
>for almost every configuration. There are a few things (SMP, bigmem
>etc) that they're willing to build extra kernels for, but not, I think,
>for old vs new megaraid. Thus they have to patch this up to build the
>two modules. By and large, the overlapping ID business is
>sorted out by
>the installer, although having disjoint IDs is good since the installer
>doesn't have to make a choice.
>
>Can you get this sorted out before 2.6.15, please (so if I believe
>Linus, that's about five weeks)?
>
>Thanks,
>
>James
Yes. I understood now. Thanks for explaining. We will get this in before
2.6.15. Hopefully much sooner.
Regards,
Sreenivas
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2005-11-07 14:14 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-10-29 13:24 [PATCH resend] Allow both megaraid drivers to be built Daniel Drake
2005-11-06 18:47 ` James Bottomley
-- strict thread matches above, loose matches on Subject: below --
2005-11-07 6:05 Bagalkote, Sreenivas
2005-11-07 6:15 ` Christoph Hellwig
2005-11-07 14:14 ` Daniel Drake
2005-11-07 6:41 Bagalkote, Sreenivas
2005-11-07 11:36 ` 'Christoph Hellwig'
2005-11-07 13:22 ` James Bottomley
2005-11-07 14:09 Bagalkote, Sreenivas
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).