[U-Boot] [PATCH v2 08/29] scsi: Move drivers into new drivers/scsi directory
Simon Glass
sjg at chromium.org
Thu Jun 15 03:28:27 UTC 2017
At present we have the SCSI drivers in the drivers/block and common/
directories. It is better to split them out into their own place. Use
drivers/scsi which is what Linux does.
Signed-off-by: Simon Glass <sjg at chromium.org>
Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
---
Changes in v2: None
common/Makefile | 4 ----
drivers/Kconfig | 2 ++
drivers/Makefile | 3 ++-
drivers/block/Kconfig | 18 ------------------
drivers/block/Makefile | 2 +-
drivers/scsi/Kconfig | 17 +++++++++++++++++
drivers/scsi/Makefile | 20 ++++++++++++++++++++
drivers/{block => scsi}/sandbox_scsi.c | 0
drivers/{block => scsi}/scsi-uclass.c | 0
{common => drivers/scsi}/scsi.c | 0
10 files changed, 42 insertions(+), 24 deletions(-)
create mode 100644 drivers/scsi/Kconfig
create mode 100644 drivers/scsi/Makefile
rename drivers/{block => scsi}/sandbox_scsi.c (100%)
rename drivers/{block => scsi}/scsi-uclass.c (100%)
rename {common => drivers/scsi}/scsi.c (100%)
diff --git a/common/Makefile b/common/Makefile
index 85e6dbedc3..ad3697f492 100644
--- a/common/Makefile
+++ b/common/Makefile
@@ -79,7 +79,6 @@ obj-$(CONFIG_LCD_ROTATION) += lcd_console_rotation.o
obj-$(CONFIG_LCD_DT_SIMPLEFB) += lcd_simplefb.o
obj-$(CONFIG_LYNXKDI) += lynxkdi.o
obj-$(CONFIG_MENU) += menu.o
-obj-$(CONFIG_SCSI) += scsi.o
obj-$(CONFIG_UPDATE_TFTP) += update.o
obj-$(CONFIG_DFU_TFTP) += update.o
obj-$(CONFIG_USB_KEYBOARD) += usb_kbd.o
@@ -120,9 +119,6 @@ obj-$(CONFIG_ENV_IS_IN_NAND) += env_nand.o
obj-$(CONFIG_ENV_IS_IN_SPI_FLASH) += env_sf.o
obj-$(CONFIG_ENV_IS_IN_FLASH) += env_flash.o
endif
-ifdef CONFIG_SPL_SATA_SUPPORT
-obj-$(CONFIG_SCSI) += scsi.o
-endif
endif
#environment
obj-y += env_common.o
diff --git a/drivers/Kconfig b/drivers/Kconfig
index 63e4034c56..2e03133c43 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -72,6 +72,8 @@ source "drivers/reset/Kconfig"
source "drivers/rtc/Kconfig"
+source "drivers/scsi/Kconfig"
+
source "drivers/serial/Kconfig"
source "drivers/sound/Kconfig"
diff --git a/drivers/Makefile b/drivers/Makefile
index 9bbcc7bf9c..8624bd86f1 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -45,7 +45,7 @@ obj-$(CONFIG_SPL_DFU_SUPPORT) += dfu/
obj-$(CONFIG_SPL_WATCHDOG_SUPPORT) += watchdog/
obj-$(CONFIG_SPL_USB_HOST_SUPPORT) += usb/host/
obj-$(CONFIG_OMAP_USB_PHY) += usb/phy/
-obj-$(CONFIG_SPL_SATA_SUPPORT) += ata/
+obj-$(CONFIG_SPL_SATA_SUPPORT) += ata/ scsi/
obj-$(CONFIG_SPL_USB_HOST_SUPPORT) += block/
obj-$(CONFIG_SPL_MMC_SUPPORT) += block/
endif
@@ -82,6 +82,7 @@ obj-y += dfu/
obj-$(CONFIG_X86) += pch/
obj-y += phy/marvell/
obj-y += rtc/
+obj-y += scsi/
obj-y += sound/
obj-y += spmi/
obj-y += sysreset/
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index 1ddd6508e4..ca7692d8a5 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -10,24 +10,6 @@ config BLK
be partitioned into several areas, called 'partitions' in U-Boot.
A filesystem can be placed in each partition.
-config SCSI
- bool "Support SCSI controllers"
- help
- This enables support for SCSI (Small Computer System Interface),
- a parallel interface widely used with storage peripherals such as
- hard drives and optical drives. The SCSI standards define physical
- interfaces as well as protocols for controlling devices and
- tranferring data.
-
-config DM_SCSI
- bool "Support SCSI controllers with driver model"
- depends on BLK
- help
- This option enables the SCSI (Small Computer System Interface) uclass
- which supports SCSI and SATA HDDs. For every device configuration
- (IDs/LUNs) a block device is created with RAW read/write and
- filesystem support.
-
config BLOCK_CACHE
bool "Use block device cache"
default n
diff --git a/drivers/block/Makefile b/drivers/block/Makefile
index 2bfcc4a683..146c4fe01f 100644
--- a/drivers/block/Makefile
+++ b/drivers/block/Makefile
@@ -14,6 +14,6 @@ endif
obj-$(CONFIG_IDE) += ide.o
obj-$(CONFIG_IDE_FTIDE020) += ftide020.o
obj-$(CONFIG_IDE_SIL680) += sil680.o
-obj-$(CONFIG_SANDBOX) += sandbox.o sandbox_scsi.o
+obj-$(CONFIG_SANDBOX) += sandbox.o
obj-$(CONFIG_SYSTEMACE) += systemace.o
obj-$(CONFIG_BLOCK_CACHE) += blkcache.o
diff --git a/drivers/scsi/Kconfig b/drivers/scsi/Kconfig
new file mode 100644
index 0000000000..db1606e3ce
--- /dev/null
+++ b/drivers/scsi/Kconfig
@@ -0,0 +1,17 @@
+config SCSI
+ bool "Support SCSI controllers"
+ help
+ This enables support for SCSI (Small Computer System Interface),
+ a parallel interface widely used with storage peripherals such as
+ hard drives and optical drives. The SCSI standards define physical
+ interfaces as well as protocols for controlling devices and
+ tranferring data.
+
+config DM_SCSI
+ bool "Support SCSI controllers with driver model"
+ depends on BLK
+ help
+ This option enables the SCSI (Small Computer System Interface) uclass
+ which supports SCSI and SATA HDDs. For every device configuration
+ (IDs/LUNs) a block device is created with RAW read/write and
+ filesystem support.
diff --git a/drivers/scsi/Makefile b/drivers/scsi/Makefile
new file mode 100644
index 0000000000..9e23699b68
--- /dev/null
+++ b/drivers/scsi/Makefile
@@ -0,0 +1,20 @@
+#
+# (C) Copyright 2000-2007
+# Wolfgang Denk, DENX Software Engineering, wd at denx.de.
+#
+# SPDX-License-Identifier: GPL-2.0+
+#
+
+ifndef CONFIG_SPL_BUILD
+obj-$(CONFIG_DM_SCSI) += scsi-uclass.o
+obj-$(CONFIG_SCSI) += scsi.o
+endif
+
+ifdef CONFIG_SPL_BUILD
+ifdef CONFIG_SPL_SATA_SUPPORT
+obj-$(CONFIG_DM_SCSI) += scsi-uclass.o
+obj-$(CONFIG_SCSI) += scsi.o
+endif
+endif
+
+obj-$(CONFIG_SANDBOX) += sandbox_scsi.o
diff --git a/drivers/block/sandbox_scsi.c b/drivers/scsi/sandbox_scsi.c
similarity index 100%
rename from drivers/block/sandbox_scsi.c
rename to drivers/scsi/sandbox_scsi.c
diff --git a/drivers/block/scsi-uclass.c b/drivers/scsi/scsi-uclass.c
similarity index 100%
rename from drivers/block/scsi-uclass.c
rename to drivers/scsi/scsi-uclass.c
diff --git a/common/scsi.c b/drivers/scsi/scsi.c
similarity index 100%
rename from common/scsi.c
rename to drivers/scsi/scsi.c
--
2.13.1.518.g3df882009-goog
More information about the U-Boot
mailing list