block: Rework drivers/cdrom/Makefile
authorBart Van Assche <bart.vanassche@wdc.com>
Mon, 30 Oct 2017 16:02:19 +0000 (09:02 -0700)
committerJens Axboe <axboe@kernel.dk>
Wed, 1 Nov 2017 14:33:57 +0000 (08:33 -0600)
Instead of referring from inside drivers/cdrom/Makefile to all the
drivers that use this driver, let these drivers select the cdrom
driver. This change makes the cdrom build code follow the approach
that is used for most other drivers, namely refer from the higher
layers to the lower layer instead of from the lower layer to the
higher layers.

Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Bart Van Assche <bart.vanassche@wdc.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Johannes Thumshirn <jthumshirn@suse.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
drivers/block/Kconfig
drivers/block/paride/Kconfig
drivers/cdrom/Makefile
drivers/ide/Kconfig
drivers/scsi/Kconfig

index 4a438b8abe27ad9c1774c89f608bd47fecc295a3..b998b3c9ea8603191a1c2a7c7368c70b14479f75 100644 (file)
@@ -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
index 3a15247942e41119bd26822a8e5b636b9a8a01e0..1d5057f5080ba124bac9f04330abdfde573b45a3 100644 (file)
@@ -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
index 8ffde4f8ab9ae53f3f6007890a709ce795d19d8f..7f3f43cc22574f516f6b962c8fa281fdb9c6d46e 100644 (file)
@@ -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
index c99a25c075bcb943c7eefd1f47ade7fc8ff7b8fb..7b92c591e4c11685b74e979fbd6a7d5aa74d4487 100644 (file)
@@ -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
index 41366339b95015c2cf608b3bccbe86f4ffaaf920..cca0b03c2eadf4f3500bd9551befee7b2a6e3111 100644 (file)
@@ -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