From 3a65dfe8c088143c7155cfd36a72f4b0ad2fc4b2 Mon Sep 17 00:00:00 2001
From: Jens Axboe <axboe@suse.de>
Date: Fri, 4 Nov 2005 08:43:35 +0100
Subject: [PATCH] [BLOCK] Move all core block layer code to new block/
 directory

drivers/block/ is right now a mix of core and driver parts. Lets move
the core parts to a new top level directory. Al will move the fs/
related block parts to block/ next.

Signed-off-by: Jens Axboe <axboe@suse.de>
---
 Makefile                                    |  2 +-
 block/Kconfig                               | 14 ++++++++++++++
 {drivers/block => block}/Kconfig.iosched    |  0
 block/Makefile                              | 10 ++++++++++
 {drivers/block => block}/as-iosched.c       |  0
 {drivers/block => block}/cfq-iosched.c      |  0
 {drivers/block => block}/deadline-iosched.c |  0
 {drivers/block => block}/elevator.c         |  0
 {drivers/block => block}/genhd.c            |  0
 {drivers/block => block}/ioctl.c            |  0
 {drivers/block => block}/ll_rw_blk.c        |  0
 {drivers/block => block}/noop-iosched.c     |  0
 {drivers/block => block}/scsi_ioctl.c       |  0
 drivers/block/Kconfig                       | 12 ------------
 drivers/block/Makefile                      | 14 --------------
 init/Kconfig                                |  4 ++++
 16 files changed, 29 insertions(+), 27 deletions(-)
 create mode 100644 block/Kconfig
 rename {drivers/block => block}/Kconfig.iosched (100%)
 create mode 100644 block/Makefile
 rename {drivers/block => block}/as-iosched.c (100%)
 rename {drivers/block => block}/cfq-iosched.c (100%)
 rename {drivers/block => block}/deadline-iosched.c (100%)
 rename {drivers/block => block}/elevator.c (100%)
 rename {drivers/block => block}/genhd.c (100%)
 rename {drivers/block => block}/ioctl.c (100%)
 rename {drivers/block => block}/ll_rw_blk.c (100%)
 rename {drivers/block => block}/noop-iosched.c (100%)
 rename {drivers/block => block}/scsi_ioctl.c (100%)

diff --git a/Makefile b/Makefile
index 79601320ac3e..a0270c5c3f33 100644
--- a/Makefile
+++ b/Makefile
@@ -582,7 +582,7 @@ export MODLIB
 
 
 ifeq ($(KBUILD_EXTMOD),)
-core-y		+= kernel/ mm/ fs/ ipc/ security/ crypto/
+core-y		+= kernel/ mm/ fs/ ipc/ security/ crypto/ block/
 
 vmlinux-dirs	:= $(patsubst %/,%,$(filter %/, $(init-y) $(init-m) \
 		     $(core-y) $(core-m) $(drivers-y) $(drivers-m) \
diff --git a/block/Kconfig b/block/Kconfig
new file mode 100644
index 000000000000..eb48edb80c1d
--- /dev/null
+++ b/block/Kconfig
@@ -0,0 +1,14 @@
+#
+# Block layer core configuration
+#
+#XXX - it makes sense to enable this only for 32-bit subarch's, not for x86_64
+#for instance.
+config LBD
+	bool "Support for Large Block Devices"
+	depends on X86 || (MIPS && 32BIT) || PPC32 || ARCH_S390_31 || SUPERH || UML
+	help
+	  Say Y here if you want to attach large (bigger than 2TB) discs to
+	  your machine, or if you want to have a raid or loopback device
+	  bigger than 2TB.  Otherwise say N.
+
+source block/Kconfig.iosched
diff --git a/drivers/block/Kconfig.iosched b/block/Kconfig.iosched
similarity index 100%
rename from drivers/block/Kconfig.iosched
rename to block/Kconfig.iosched
diff --git a/block/Makefile b/block/Makefile
new file mode 100644
index 000000000000..7e4f93e2b44e
--- /dev/null
+++ b/block/Makefile
@@ -0,0 +1,10 @@
+#
+# Makefile for the kernel block layer
+#
+
+obj-y	:= elevator.o ll_rw_blk.o ioctl.o genhd.o scsi_ioctl.o
+
+obj-$(CONFIG_IOSCHED_NOOP)	+= noop-iosched.o
+obj-$(CONFIG_IOSCHED_AS)	+= as-iosched.o
+obj-$(CONFIG_IOSCHED_DEADLINE)	+= deadline-iosched.o
+obj-$(CONFIG_IOSCHED_CFQ)	+= cfq-iosched.o
diff --git a/drivers/block/as-iosched.c b/block/as-iosched.c
similarity index 100%
rename from drivers/block/as-iosched.c
rename to block/as-iosched.c
diff --git a/drivers/block/cfq-iosched.c b/block/cfq-iosched.c
similarity index 100%
rename from drivers/block/cfq-iosched.c
rename to block/cfq-iosched.c
diff --git a/drivers/block/deadline-iosched.c b/block/deadline-iosched.c
similarity index 100%
rename from drivers/block/deadline-iosched.c
rename to block/deadline-iosched.c
diff --git a/drivers/block/elevator.c b/block/elevator.c
similarity index 100%
rename from drivers/block/elevator.c
rename to block/elevator.c
diff --git a/drivers/block/genhd.c b/block/genhd.c
similarity index 100%
rename from drivers/block/genhd.c
rename to block/genhd.c
diff --git a/drivers/block/ioctl.c b/block/ioctl.c
similarity index 100%
rename from drivers/block/ioctl.c
rename to block/ioctl.c
diff --git a/drivers/block/ll_rw_blk.c b/block/ll_rw_blk.c
similarity index 100%
rename from drivers/block/ll_rw_blk.c
rename to block/ll_rw_blk.c
diff --git a/drivers/block/noop-iosched.c b/block/noop-iosched.c
similarity index 100%
rename from drivers/block/noop-iosched.c
rename to block/noop-iosched.c
diff --git a/drivers/block/scsi_ioctl.c b/block/scsi_ioctl.c
similarity index 100%
rename from drivers/block/scsi_ioctl.c
rename to block/scsi_ioctl.c
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 51b0af1cebee..7b1cd93892be 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -409,16 +409,6 @@ config BLK_DEV_INITRD
 	  for details.
 
 
-#XXX - it makes sense to enable this only for 32-bit subarch's, not for x86_64
-#for instance.
-config LBD
-	bool "Support for Large Block Devices"
-	depends on X86 || (MIPS && 32BIT) || PPC32 || ARCH_S390_31 || SUPERH || UML
-	help
-	  Say Y here if you want to attach large (bigger than 2TB) discs to
-	  your machine, or if you want to have a raid or loopback device
-	  bigger than 2TB.  Otherwise say N.
-
 config CDROM_PKTCDVD
 	tristate "Packet writing on CD/DVD media"
 	depends on !UML
@@ -455,8 +445,6 @@ config CDROM_PKTCDVD_WCACHE
 
 source "drivers/s390/block/Kconfig"
 
-source "drivers/block/Kconfig.iosched"
-
 config ATA_OVER_ETH
 	tristate "ATA over Ethernet support"
 	depends on NET
diff --git a/drivers/block/Makefile b/drivers/block/Makefile
index 1cf09a1c065b..3ec1f8df87b1 100644
--- a/drivers/block/Makefile
+++ b/drivers/block/Makefile
@@ -4,21 +4,7 @@
 # 12 June 2000, Christoph Hellwig <hch@infradead.org>
 # Rewritten to use lists instead of if-statements.
 # 
-# Note : at this point, these files are compiled on all systems.
-# In the future, some of these should be built conditionally.
-#
-
-#
-# NOTE that ll_rw_blk.c must come early in linkage order - it starts the
-# kblockd threads
-#
-
-obj-y	:= elevator.o ll_rw_blk.o ioctl.o genhd.o scsi_ioctl.o
 
-obj-$(CONFIG_IOSCHED_NOOP)	+= noop-iosched.o
-obj-$(CONFIG_IOSCHED_AS)	+= as-iosched.o
-obj-$(CONFIG_IOSCHED_DEADLINE)	+= deadline-iosched.o
-obj-$(CONFIG_IOSCHED_CFQ)	+= cfq-iosched.o
 obj-$(CONFIG_MAC_FLOPPY)	+= swim3.o
 obj-$(CONFIG_BLK_DEV_FD)	+= floppy.o
 obj-$(CONFIG_BLK_DEV_FD98)	+= floppy98.o
diff --git a/init/Kconfig b/init/Kconfig
index 3dcbd5bfd498..ea097e0a9c02 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -501,3 +501,7 @@ config STOP_MACHINE
 	help
 	  Need stop_machine() primitive.
 endmenu
+
+menu "Block layer"
+source "block/Kconfig"
+endmenu
-- 
GitLab