[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20061129144652.299f7919@localhost.localdomain>
Date: Wed, 29 Nov 2006 14:46:52 +0000
From: Alan <alan@...rguk.ukuu.org.uk>
To: linux-kernel@...r.kernel.org, linux-ide@...r.kernel.org,
akpm@...l.org
Subject: [PATCH] ide_scsi: allow it to be used for non CD only
Some people want to use ide_cd for CD-ROM but still dynamically load
ide-scsi for things like tape drives. If you compile in the CD driver
this works out but if you want them modular you need an option to ensure
that whoever loads first the right things happen.
This replaces the original draft patch which leaked a scsi host reference
Signed-off-by: Alan Cox <alan@...hat.com>
diff -u --exclude-from /usr/src/exclude --new-file --recursive linux.vanilla-2.6.19-rc6-mm1/drivers/scsi/ide-scsi.c linux-2.6.19-rc6-mm1/drivers/scsi/ide-scsi.c
--- linux.vanilla-2.6.19-rc6-mm1/drivers/scsi/ide-scsi.c 2006-11-24 13:58:08.000000000 +0000
+++ linux-2.6.19-rc6-mm1/drivers/scsi/ide-scsi.c 2006-11-29 14:18:12.000000000 +0000
@@ -110,6 +110,7 @@
} idescsi_scsi_t;
static DEFINE_MUTEX(idescsi_ref_mutex);
+static int idescsi_nocd; /* Set by module param to skip cd */
#define ide_scsi_g(disk) \
container_of((disk)->private_data, struct ide_scsi_obj, driver)
@@ -1127,11 +1128,14 @@
warned = 1;
}
+ if (idescsi_nocd && drive->media == ide_cdrom)
+ return -ENODEV;
+
if (!strstr("ide-scsi", drive->driver_req) ||
!drive->present ||
drive->media == ide_disk ||
!(host = scsi_host_alloc(&idescsi_template,sizeof(idescsi_scsi_t))))
return -ENODEV;
g = alloc_disk(1 << PARTN_BITS);
if (!g)
@@ -1187,6 +1192,7 @@
driver_unregister(&idescsi_driver.gen_driver);
}
+module_param(idescsi_nocd, int, 0600);
module_init(init_idescsi_module);
module_exit(exit_idescsi_module);
MODULE_LICENSE("GPL");
-
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