This allows building the SPL without driver model for USB. So far,
support has only been added to the iMX6/7 host driver. Other boards will
keep their existing behaviour.
Signed-off-by: Sven Schwermer
---
This solves the dependency problem I described in [1].
[1]: http://u-boot.10912.n7.nabble.com/-td347224.html
common/usb_storage.c| 34 +-
drivers/usb/Kconfig | 5 +
drivers/usb/gadget/ci_udc.c | 2 +-
drivers/usb/host/Makefile | 3 ++-
drivers/usb/host/ehci-hcd.c | 12 ++--
drivers/usb/host/ehci-mx6.c | 2 +-
include/usb.h | 12 ++--
7 files changed, 38 insertions(+), 32 deletions(-)
diff --git a/common/usb_storage.c b/common/usb_storage.c
index d92ebb6eb1..ff881aa0c9 100644
--- a/common/usb_storage.c
+++ b/common/usb_storage.c
@@ -66,7 +66,7 @@ static __u32 CBWTag;
static int usb_max_devs; /* number of highest available usb device */
-#ifndef CONFIG_BLK
+#if !CONFIG_IS_ENABLED(BLK)
static struct blk_desc usb_dev_desc[USB_MAX_STOR_DEV];
#endif
@@ -99,7 +99,7 @@ struct us_data {
unsigned short max_xfer_blk; /* maximum transfer blocks */
};
-#ifndef CONFIG_BLK
+#if !CONFIG_IS_ENABLED(BLK)
static struct us_data usb_stor[USB_MAX_STOR_DEV];
#endif
@@ -111,7 +111,7 @@ int usb_stor_get_info(struct usb_device *dev, struct
us_data *us,
struct blk_desc *dev_desc);
int usb_storage_probe(struct usb_device *dev, unsigned int ifnum,
struct us_data *ss);
-#ifdef CONFIG_BLK
+#if CONFIG_IS_ENABLED(BLK)
static unsigned long usb_stor_read(struct udevice *dev, lbaint_t blknr,
lbaint_t blkcnt, void *buffer);
static unsigned long usb_stor_write(struct udevice *dev, lbaint_t blknr,
@@ -136,7 +136,7 @@ static void usb_show_progress(void)
int usb_stor_info(void)
{
int count = 0;
-#ifdef CONFIG_BLK
+#if CONFIG_IS_ENABLED(BLK)
struct udevice *dev;
for (blk_first_device(IF_TYPE_USB, );
@@ -186,7 +186,7 @@ static int usb_stor_probe_device(struct usb_device *udev)
{
int lun, max_lun;
-#ifdef CONFIG_BLK
+#if CONFIG_IS_ENABLED(BLK)
struct us_data *data;
int ret;
#else
@@ -197,7 +197,7 @@ static int usb_stor_probe_device(struct usb_device *udev)
#endif
debug("\n\nProbing for storage\n");
-#ifdef CONFIG_BLK
+#if CONFIG_IS_ENABLED(BLK)
/*
* We store the us_data in the mass storage device's platdata. It
* is shared by all LUNs (block devices) attached to this mass storage
@@ -301,7 +301,7 @@ int usb_stor_scan(int mode)
if (mode == 1)
printf(" scanning usb for storage devices... ");
-#ifndef CONFIG_DM_USB
+#if !CONFIG_IS_ENABLED(DM_USB)
unsigned char i;
usb_disable_asynch(1); /* asynch transfer not allowed */
@@ -944,7 +944,7 @@ static void usb_stor_set_max_xfer_blk(struct usb_device
*udev,
size_t __maybe_unused size;
int __maybe_unused ret;
-#ifndef CONFIG_DM_USB
+#if !CONFIG_IS_ENABLED(DM_USB)
#ifdef CONFIG_USB_EHCI_HCD
/*
* The U-Boot EHCI driver can handle any transfer length as long as
@@ -1121,7 +1121,7 @@ static void usb_bin_fixup(struct usb_device_descriptor
descriptor,
}
#endif /* CONFIG_USB_BIN_FIXUP */
-#ifdef CONFIG_BLK
+#if CONFIG_IS_ENABLED(BLK)
static unsigned long usb_stor_read(struct udevice *dev, lbaint_t blknr,
lbaint_t blkcnt, void *buffer)
#else
@@ -1136,14 +1136,14 @@ static unsigned long usb_stor_read(struct blk_desc
*block_dev, lbaint_t blknr,
struct us_data *ss;
int retry;
struct scsi_cmd *srb = _ccb;
-#ifdef CONFIG_BLK
+#if CONFIG_IS_ENABLED(BLK)
struct blk_desc *block_dev;
#endif
if (blkcnt == 0)
return 0;
/* Setup device */
-#ifdef CONFIG_BLK
+#if CONFIG_IS_ENABLED(BLK)
block_dev = dev_get_uclass_platdata(dev);
udev = dev_get_parent_priv(dev_get_parent(dev));
debug("\nusb_read: udev %d\n", block_dev->devnum);
@@ -1202,7 +1202,7 @@ retry_it:
return blkcnt;
}
-#ifdef CONFIG_BLK
+#if CONFIG_IS_ENABLED(BLK)
static unsigned long usb_stor_write(struct udevice *dev, lbaint_t blknr,
lbaint_t blkcnt, const void *buffer)
#else
@@ -1217,7 +1217,7 @@ static unsigned long usb_stor_write(struct blk_desc
*block_dev, lbaint_t blknr,
struct us_data *ss;
int retry;
struct scsi_cmd *srb = _ccb;
-#ifdef CONFIG_BLK
+#if CONFIG_IS_ENABLED(BLK)
struct blk_desc *block_dev;
#endif
@@ -1225,7 +1225,7 @@ static unsigned long usb_stor_write(struct blk_desc
*block_dev, lbaint_t blknr,
return 0;
/* Setup device */
-#ifdef CONFIG_BLK
+#if CONFIG_IS_ENABLED(BLK)
block_dev = dev_get_uclass_platdata(dev);
udev = dev_get_parent_priv(dev_get_parent(dev));
debug("\nusb_read: udev %d\n", block_dev->devnum);
@@ -1497,7 +1497,7 @@ int