diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 4a438b8abe27ad9c1774c89f608bd47fecc295a3..b998b3c9ea8603191a1c2a7c7368c70b14479f75 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -67,9 +67,20 @@ config AMIGA_Z2RAM
 	  To compile this driver as a module, choose M here: the
 	  module will be called z2ram.
 
+config CDROM
+	tristate "CD-ROM driver"
+	help
+	  A CD-ROM is a pre-pressed optical compact disc which contains
+	  data. The name is an acronym which stands for "Compact Disc
+	  Read-Only Memory". This driver implements functionality that is
+	  shared by all CD-ROM drivers, e.g. the IDE CD-ROM driver and the
+	  SCSI CD-ROM driver. For a list of the ioctls implemented by this
+	  driver, see also Documentation/ioctl/cdrom.txt.
+
 config GDROM
 	tristate "SEGA Dreamcast GD-ROM drive"
 	depends on SH_DREAMCAST
+	select CDROM
 	select BLK_SCSI_REQUEST # only for the generic cdrom code
 	help
 	  A standard SEGA Dreamcast comes with a modified CD ROM drive called a
@@ -347,6 +358,7 @@ config BLK_DEV_RAM_DAX
 config CDROM_PKTCDVD
 	tristate "Packet writing on CD/DVD media (DEPRECATED)"
 	depends on !UML
+	select CDROM
 	select BLK_SCSI_REQUEST
 	help
 	  Note: This driver is deprecated and will be removed from the
diff --git a/drivers/block/paride/Kconfig b/drivers/block/paride/Kconfig
index 3a15247942e41119bd26822a8e5b636b9a8a01e0..1d5057f5080ba124bac9f04330abdfde573b45a3 100644
--- a/drivers/block/paride/Kconfig
+++ b/drivers/block/paride/Kconfig
@@ -25,6 +25,7 @@ config PARIDE_PD
 config PARIDE_PCD
 	tristate "Parallel port ATAPI CD-ROMs"
 	depends on PARIDE
+	select CDROM
 	select BLK_SCSI_REQUEST # only for the generic cdrom code
 	---help---
 	  This option enables the high-level driver for ATAPI CD-ROM devices
diff --git a/drivers/cdrom/Makefile b/drivers/cdrom/Makefile
index 8ffde4f8ab9ae53f3f6007890a709ce795d19d8f..7f3f43cc22574f516f6b962c8fa281fdb9c6d46e 100644
--- a/drivers/cdrom/Makefile
+++ b/drivers/cdrom/Makefile
@@ -1,13 +1,2 @@
-# Makefile for the kernel cdrom device drivers.
-#
-# 30 Jan 1998, Michael Elizabeth Chastain, <mailto:mec@shout.net>
-# Rewritten to use lists instead of if-statements.
-
-# Each configuration option enables a list of files.
-
-obj-$(CONFIG_BLK_DEV_IDECD)	+=              cdrom.o
-obj-$(CONFIG_BLK_DEV_SR)	+=              cdrom.o
-obj-$(CONFIG_PARIDE_PCD)	+=		cdrom.o
-obj-$(CONFIG_CDROM_PKTCDVD)	+=		cdrom.o
-
-obj-$(CONFIG_GDROM)		+= gdrom.o      cdrom.o
+obj-$(CONFIG_CDROM)	+= cdrom.o
+obj-$(CONFIG_GDROM)	+= gdrom.o
diff --git a/drivers/ide/Kconfig b/drivers/ide/Kconfig
index c99a25c075bcb943c7eefd1f47ade7fc8ff7b8fb..7b92c591e4c11685b74e979fbd6a7d5aa74d4487 100644
--- a/drivers/ide/Kconfig
+++ b/drivers/ide/Kconfig
@@ -118,6 +118,7 @@ config BLK_DEV_DELKIN
 config BLK_DEV_IDECD
 	tristate "Include IDE/ATAPI CDROM support"
 	select IDE_ATAPI
+	select CDROM
 	---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
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
index 41366339b95015c2cf608b3bccbe86f4ffaaf920..cca0b03c2eadf4f3500bd9551befee7b2a6e3111 100644
--- a/drivers/scsi/Kconfig
+++ b/drivers/scsi/Kconfig
@@ -131,6 +131,7 @@ config CHR_DEV_OSST
 config BLK_DEV_SR
 	tristate "SCSI CDROM support"
 	depends on SCSI
+	select CDROM
 	---help---
 	  If you want to use a CD or DVD drive attached to your computer
 	  by SCSI, FireWire, USB or ATAPI, say Y and read the SCSI-HOWTO