Hi Matt and everyone, 

I fixed again my previous patch (take2):

* CDROM_PKTCDVD draws dependency

* removing SCSI_IOCTL from displayed options,
  as suggested by Milton Miller.

* rewrote ifdefs in the middle of ide.c functions as dummy function 
  in header, as suggested by Matthew Wilcox.


Matt, how do we proceed from here? If the patch is to your liking,
can I hand it off to you, for eventual submission to Linus
or the SCSI team?


This patch compiles out scsi_ioctl for embedded system with no 
SCSI/IDE/etc, and saves up to 6 KiB.
It was made against linux 2.6.11.6.

Signed-off-by: Stephane Fillod <[EMAIL PROTECTED]>

--- linux/drivers/block/Kconfig 26 Mar 2005 03:28:16 -0000      1.1.1.2
+++ linux/drivers/block/Kconfig 11 Apr 2005 15:45:02 -0000
@@ -354,6 +354,7 @@
 config BLK_DEV_UB
        tristate "Low Performance USB Block driver"
        depends on USB
+       select SCSI_IOCTL
        help
          This driver supports certain USB attached storage devices
          such as flash keys.
@@ -464,6 +465,7 @@
 config CDROM_PKTCDVD
        tristate "Packet writing on CD/DVD media"
        depends on !USERMODE
+       select SCSI_IOCTL
        help
          If you have a CDROM drive that supports packet writing, say Y
to
          include preliminary support. It should work with any MMC/Mt
Fuji
@@ -506,4 +508,7 @@
        This driver provides Support for ATA over Ethernet block
        devices like the Coraid EtherDrive (R) Storage Blade.
 
+config SCSI_IOCTL
+       bool
+
 endmenu
--- linux/drivers/block/Makefile        6 Dec 2004 16:18:35 -0000
1.1.1.1
+++ linux/drivers/block/Makefile        11 Apr 2005 15:45:02 -0000
@@ -13,8 +13,9 @@
 # kblockd threads
 #
 
-obj-y  := elevator.o ll_rw_blk.o ioctl.o genhd.o scsi_ioctl.o
+obj-y  := elevator.o ll_rw_blk.o ioctl.o genhd.o
 
+obj-$(CONFIG_SCSI_IOCTL)       += scsi_ioctl.o
 obj-$(CONFIG_IOSCHED_NOOP)     += noop-iosched.o
 obj-$(CONFIG_IOSCHED_AS)       += as-iosched.o
 obj-$(CONFIG_IOSCHED_DEADLINE) += deadline-iosched.o
--- linux/drivers/cdrom/Kconfig 26 Mar 2005 03:28:26 -0000      1.1.1.2
+++ linux/drivers/cdrom/Kconfig 11 Apr 2005 15:45:02 -0000
@@ -7,6 +7,7 @@
 
 config CD_NO_IDESCSI
        bool "Support non-SCSI/IDE/ATAPI CDROM drives"
+       select SCSI_IOCTL
        ---help---
          If you have a CD-ROM drive that is neither SCSI nor IDE/ATAPI,
say Y
          here, otherwise N. Read the CD-ROM-HOWTO, available from
--- linux/drivers/ide/Kconfig   26 Mar 2005 03:28:20 -0000      1.1.1.2
+++ linux/drivers/ide/Kconfig   11 Apr 2005 15:45:02 -0000
@@ -168,6 +168,7 @@
 
 config BLK_DEV_IDECD
        tristate "Include IDE/ATAPI CDROM support"
+       select SCSI_IOCTL
        ---help---
          If you have a CD-ROM drive using the ATAPI protocol, say Y.
ATAPI is
          a newer protocol used by IDE CD-ROM and TAPE drives, similar
to the
--- linux/drivers/scsi/Kconfig  26 Mar 2005 03:28:36 -0000      1.1.1.2
+++ linux/drivers/scsi/Kconfig  11 Apr 2005 15:45:02 -0000
@@ -2,6 +2,7 @@
 
 config SCSI
        tristate "SCSI device support"
+       select SCSI_IOCTL
        ---help---
          If you want to use a SCSI hard disk, SCSI tape drive, SCSI
CD-ROM or
          any other SCSI device under Linux, say Y and make sure that
you know
--- linux/include/linux/blkdev.h        26 Mar 2005 03:28:16 -0000
1.1.1.2
+++ linux/include/linux/blkdev.h        11 Apr 2005 15:45:02 -0000
@@ -520,7 +520,14 @@
 extern void blk_recount_segments(request_queue_t *, struct bio *);
 extern int blk_phys_contig_segment(request_queue_t *q, struct bio *,
struct bio *);
 extern int blk_hw_contig_segment(request_queue_t *q, struct bio *,
struct bio *);
+#ifdef CONFIG_SCSI_IOCTL
 extern int scsi_cmd_ioctl(struct file *, struct gendisk *, unsigned
int, void __user *);
+#else
+static inline int scsi_cmd_ioctl(struct file *f, struct gendisk *g,
unsigned int cmd, void __user *ptr)
+{
+       return -ENOTTY;
+}
+#endif
 extern void blk_start_queue(request_queue_t *q);
 extern void blk_stop_queue(request_queue_t *q);
 extern void blk_sync_queue(struct request_queue *q);


Comments welcome.

I've seen another function blkdev_scsi_issue_flush_fn that could be
compiled
out..


Best Regards,
--
Stephane Fillod

PS: please Cc:

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to