 9361401eb7
			
		
	
	
	9361401eb7
	
	
	
		
			
			Make it possible to disable the block layer.  Not all embedded devices require
it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
the block layer to be present.
This patch does the following:
 (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
     support.
 (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
     an item that uses the block layer.  This includes:
     (*) Block I/O tracing.
     (*) Disk partition code.
     (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
     (*) The SCSI layer.  As far as I can tell, even SCSI chardevs use the
     	 block layer to do scheduling.  Some drivers that use SCSI facilities -
     	 such as USB storage - end up disabled indirectly from this.
     (*) Various block-based device drivers, such as IDE and the old CDROM
     	 drivers.
     (*) MTD blockdev handling and FTL.
     (*) JFFS - which uses set_bdev_super(), something it could avoid doing by
     	 taking a leaf out of JFFS2's book.
 (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
     linux/elevator.h contingent on CONFIG_BLOCK being set.  sector_div() is,
     however, still used in places, and so is still available.
 (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
     parts of linux/fs.h.
 (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
 (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
 (*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
     is not enabled.
 (*) fs/no-block.c is created to hold out-of-line stubs and things that are
     required when CONFIG_BLOCK is not set:
     (*) Default blockdev file operations (to give error ENODEV on opening).
 (*) Makes some /proc changes:
     (*) /proc/devices does not list any blockdevs.
     (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
 (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
 (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
     given command other than Q_SYNC or if a special device is specified.
 (*) In init/do_mounts.c, no reference is made to the blockdev routines if
     CONFIG_BLOCK is not defined.  This does not prohibit NFS roots or JFFS2.
 (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
     error ENOSYS by way of cond_syscall if so).
 (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
     CONFIG_BLOCK is not set, since they can't then happen.
Signed-Off-By: David Howells <dhowells@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
		
	
			
		
			
				
	
	
		
			213 lines
		
	
	
	
		
			8.4 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			213 lines
		
	
	
	
		
			8.4 KiB
			
		
	
	
	
		
			Text
		
	
	
	
	
	
| #
 | |
| # CDROM driver configuration
 | |
| #
 | |
| 
 | |
| menu "Old CD-ROM drivers (not SCSI, not IDE)"
 | |
| 	depends on ISA && BLOCK
 | |
| 
 | |
| config CD_NO_IDESCSI
 | |
| 	bool "Support non-SCSI/IDE/ATAPI CDROM drives"
 | |
| 	---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
 | |
| 	  <http://www.tldp.org/docs.html#howto>.
 | |
| 
 | |
| 	  Note that the answer to this question doesn't directly affect the
 | |
| 	  kernel: saying N will just cause the configurator to skip all
 | |
| 	  the questions about these CD-ROM drives. If you are unsure what you
 | |
| 	  have, say Y and find out whether you have one of the following
 | |
| 	  drives.
 | |
| 
 | |
| 	  For each of these drivers, a <file:Documentation/cdrom/{driver_name}>
 | |
| 	  exists. Especially in cases where you do not know exactly which kind
 | |
| 	  of drive you have you should read there. Most of these drivers use a
 | |
| 	  file drivers/cdrom/{driver_name}.h where you can define your
 | |
| 	  interface parameters and switch some internal goodies.
 | |
| 
 | |
| 	  To compile these CD-ROM drivers as a module, choose M instead of Y.
 | |
| 
 | |
| 	  If you want to use any of these CD-ROM drivers, you also have to
 | |
| 	  answer Y or M to "ISO 9660 CD-ROM file system support" below (this
 | |
| 	  answer will get "defaulted" for you if you enable any of the Linux
 | |
| 	  CD-ROM drivers).
 | |
| 
 | |
| config AZTCD
 | |
| 	tristate "Aztech/Orchid/Okano/Wearnes/TXC/CyDROM  CDROM support"
 | |
| 	depends on CD_NO_IDESCSI
 | |
| 	---help---
 | |
| 	  This is your driver if you have an Aztech CDA268-01A, Orchid
 | |
| 	  CD-3110, Okano or Wearnes CDD110, Conrad TXC, or CyCD-ROM CR520 or
 | |
| 	  CR540 CD-ROM drive.  This driver -- just like all these CD-ROM
 | |
| 	  drivers -- is NOT for CD-ROM drives with IDE/ATAPI interfaces, such
 | |
| 	  as Aztech CDA269-031SE. Please read the file
 | |
| 	  <file:Documentation/cdrom/aztcd>.
 | |
| 
 | |
| 	  If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
 | |
| 	  file system support" below, because that's the file system used on
 | |
| 	  CD-ROMs.
 | |
| 
 | |
| 	  To compile this driver as a module, choose M here: the
 | |
| 	  module will be called aztcd.
 | |
| 
 | |
| config GSCD
 | |
| 	tristate "Goldstar R420 CDROM support"
 | |
| 	depends on CD_NO_IDESCSI
 | |
| 	---help---
 | |
| 	  If this is your CD-ROM drive, say Y here.  As described in the file
 | |
| 	  <file:Documentation/cdrom/gscd>, you might have to change a setting
 | |
| 	  in the file <file:drivers/cdrom/gscd.h> before compiling the
 | |
| 	  kernel.  Please read the file <file:Documentation/cdrom/gscd>.
 | |
| 
 | |
| 	  If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
 | |
| 	  file system support" below, because that's the file system used on
 | |
| 	  CD-ROMs.
 | |
| 
 | |
| 	  To compile this driver as a module, choose M here: the
 | |
| 	  module will be called gscd.
 | |
| 
 | |
| config SBPCD
 | |
| 	tristate "Matsushita/Panasonic/Creative, Longshine, TEAC CDROM support"
 | |
| 	depends on CD_NO_IDESCSI && BROKEN_ON_SMP
 | |
| 	---help---
 | |
| 	  This driver supports most of the drives which use the Panasonic or
 | |
| 	  Sound Blaster interface.  Please read the file
 | |
| 	  <file:Documentation/cdrom/sbpcd>.
 | |
| 
 | |
| 	  The Matsushita CR-521, CR-522, CR-523, CR-562, CR-563 drives
 | |
| 	  (sometimes labeled "Creative"), the Creative Labs CD200, the
 | |
| 	  Longshine LCS-7260, the "IBM External ISA CD-ROM" (in fact a CR-56x
 | |
| 	  model), the TEAC CD-55A fall under this category.  Some other
 | |
| 	  "electrically compatible" drives (Vertos, Genoa, some Funai models)
 | |
| 	  are currently not supported; for the Sanyo H94A drive currently a
 | |
| 	  separate driver (asked later) is responsible.  Most drives have a
 | |
| 	  uniquely shaped faceplate, with a caddyless motorized drawer, but
 | |
| 	  without external brand markings.  The older CR-52x drives have a
 | |
| 	  caddy and manual loading/eject, but still no external markings.  The
 | |
| 	  driver is able to do an extended auto-probing for interface
 | |
| 	  addresses and drive types; this can help to find facts in cases you
 | |
| 	  are not sure, but can consume some time during the boot process if
 | |
| 	  none of the supported drives gets found.  Once your drive got found,
 | |
| 	  you should enter the reported parameters into
 | |
| 	  <file:drivers/cdrom/sbpcd.h> and set "DISTRIBUTION 0" there.
 | |
| 
 | |
| 	  This driver can support up to four CD-ROM controller cards, and each
 | |
| 	  card can support up to four CD-ROM drives; if you say Y here, you
 | |
| 	  will be asked how many controller cards you have.  If compiled as a
 | |
| 	  module, only one controller card (but with up to four drives) is
 | |
| 	  usable.
 | |
| 
 | |
| 	  If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
 | |
| 	  file system support" below, because that's the file system used on
 | |
| 	  CD-ROMs.
 | |
| 
 | |
| 	  To compile this driver as a module, choose M here: the
 | |
| 	  module will be called sbpcd.
 | |
| 
 | |
| config MCDX
 | |
| 	tristate "Mitsumi CDROM support"
 | |
| 	depends on CD_NO_IDESCSI
 | |
| 	---help---
 | |
| 	  Use this driver if you want to be able to use your Mitsumi LU-005,
 | |
| 	  FX-001 or FX-001D CD-ROM drive.
 | |
| 
 | |
| 	  Please read the file <file:Documentation/cdrom/mcdx>.
 | |
| 
 | |
| 	  If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
 | |
| 	  file system support" below, because that's the file system used on
 | |
| 	  CD-ROMs.
 | |
| 
 | |
| 	  To compile this driver as a module, choose M here: the
 | |
| 	  module will be called mcdx.
 | |
| 
 | |
| config OPTCD
 | |
| 	tristate "Optics Storage DOLPHIN 8000AT CDROM support"
 | |
| 	depends on CD_NO_IDESCSI
 | |
| 	---help---
 | |
| 	  This is the driver for the 'DOLPHIN' drive with a 34-pin Sony
 | |
| 	  compatible interface. It also works with the Lasermate CR328A. If
 | |
| 	  you have one of those, say Y. This driver does not work for the
 | |
| 	  Optics Storage 8001 drive; use the IDE-ATAPI CD-ROM driver for that
 | |
| 	  one. Please read the file <file:Documentation/cdrom/optcd>.
 | |
| 
 | |
| 	  If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
 | |
| 	  file system support" below, because that's the file system used on
 | |
| 	  CD-ROMs.
 | |
| 
 | |
| 	  To compile this driver as a module, choose M here: the
 | |
| 	  module will be called optcd.
 | |
| 
 | |
| config CM206
 | |
| 	tristate "Philips/LMS CM206 CDROM support"
 | |
| 	depends on CD_NO_IDESCSI && BROKEN_ON_SMP
 | |
| 	---help---
 | |
| 	  If you have a Philips/LMS CD-ROM drive cm206 in combination with a
 | |
| 	  cm260 host adapter card, say Y here. Please also read the file
 | |
| 	  <file:Documentation/cdrom/cm206>.
 | |
| 
 | |
| 	  If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
 | |
| 	  file system support" below, because that's the file system used on
 | |
| 	  CD-ROMs.
 | |
| 
 | |
| 	  To compile this driver as a module, choose M here: the
 | |
| 	  module will be called cm206.
 | |
| 
 | |
| config SJCD
 | |
| 	tristate "Sanyo CDR-H94A CDROM support"
 | |
| 	depends on CD_NO_IDESCSI
 | |
| 	help
 | |
| 	  If this is your CD-ROM drive, say Y here and read the file
 | |
| 	  <file:Documentation/cdrom/sjcd>. You should then also say Y or M to
 | |
| 	  "ISO 9660 CD-ROM file system support" below, because that's the
 | |
| 	  file system used on CD-ROMs.
 | |
| 
 | |
| 	  To compile this driver as a module, choose M here: the
 | |
| 	  module will be called sjcd.
 | |
| 
 | |
| config ISP16_CDI
 | |
| 	tristate "ISP16/MAD16/Mozart soft configurable cdrom interface support"
 | |
| 	depends on CD_NO_IDESCSI
 | |
| 	---help---
 | |
| 	  These are sound cards with built-in cdrom interfaces using the OPTi
 | |
| 	  82C928 or 82C929 chips. Say Y here to have them detected and
 | |
| 	  possibly configured at boot time. In addition, You'll have to say Y
 | |
| 	  to a driver for the particular cdrom drive you have attached to the
 | |
| 	  card. Read <file:Documentation/cdrom/isp16> for details.
 | |
| 
 | |
| 	  To compile this driver as a module, choose M here: the
 | |
| 	  module will be called isp16.
 | |
| 
 | |
| config CDU31A
 | |
| 	tristate "Sony CDU31A/CDU33A CDROM support"
 | |
| 	depends on CD_NO_IDESCSI && BROKEN_ON_SMP
 | |
| 	---help---
 | |
| 	  These CD-ROM drives have a spring-pop-out caddyless drawer, and a
 | |
| 	  rectangular green LED centered beneath it.  NOTE: these CD-ROM
 | |
| 	  drives will not be auto detected by the kernel at boot time; you
 | |
| 	  have to provide the interface address as an option to the kernel at
 | |
| 	  boot time as described in <file:Documentation/cdrom/cdu31a> or fill
 | |
| 	  in your parameters into <file:drivers/cdrom/cdu31a.c>.  Try "man
 | |
| 	  bootparam" or see the documentation of your boot loader (lilo or
 | |
| 	  loadlin) about how to pass options to the kernel.
 | |
| 
 | |
| 	  If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
 | |
| 	  file system support" below, because that's the file system used on
 | |
| 	  CD-ROMs.
 | |
| 
 | |
| 	  To compile this driver as a module, choose M here: the
 | |
| 	  module will be called cdu31a.
 | |
| 
 | |
| config CDU535
 | |
| 	tristate "Sony CDU535 CDROM support"
 | |
| 	depends on CD_NO_IDESCSI
 | |
| 	---help---
 | |
| 	  This is the driver for the older Sony CDU-535 and CDU-531 CD-ROM
 | |
| 	  drives. Please read the file <file:Documentation/cdrom/sonycd535>.
 | |
| 
 | |
| 	  If you say Y here, you should also say Y or M to "ISO 9660 CD-ROM
 | |
| 	  file system support" below, because that's the file system used on
 | |
| 	  CD-ROMs.
 | |
| 
 | |
| 	  To compile this driver as a module, choose M here: the
 | |
| 	  module will be called sonycd535.
 | |
| 
 | |
| endmenu
 |