From 0fcd48fe00e8fb2d433c1bf5ebe586b19228f027 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Wed, 14 Jun 2017 21:28:27 -0600 Subject: [PATCH] scsi: Move drivers into new drivers/scsi directory 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 Reviewed-by: Bin Meng --- 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 f04ddc8352..17a92ea2d7 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 @@ -121,9 +120,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 064c76fc98..a5e7307c97 100644 --- a/drivers/block/Makefile +++ b/drivers/block/Makefile @@ -13,6 +13,6 @@ endif obj-$(CONFIG_IDE) += ide.o obj-$(CONFIG_IDE_FTIDE020) += ftide020.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@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.39.2