mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-16 16:54:20 +08:00
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>
214 lines
8.4 KiB
Plaintext
214 lines
8.4 KiB
Plaintext
#
|
|
# 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
|