[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>
diff --git a/Makefile b/Makefile
index 7960132..a0270c5 100644
--- a/Makefile
+++ b/Makefile
@@ -582,7 +582,7 @@
 
 
 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 0000000..eb48edb
--- /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 0000000..7e4f93e
--- /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 51b0af1..7b1cd93 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -409,16 +409,6 @@
 	  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 @@
 
 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 1cf09a1..3ec1f8d 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 3dcbd5b..ea097e0 100644
--- a/init/Kconfig
+++ b/init/Kconfig
@@ -501,3 +501,7 @@
 	help
 	  Need stop_machine() primitive.
 endmenu
+
+menu "Block layer"
+source "block/Kconfig"
+endmenu