[U-Boot] [PATCH] usb: storage: Show number of storage devices detected for DM_USB
Marek Vasut
marex at denx.de
Wed Dec 21 15:11:05 CET 2016
On 12/21/2016 09:35 AM, Michal Simek wrote:
> By enabling DM_USB information about number of storage devices
> was lost.
> Get this information back simply by printing number of devices detected
> via BLK uclass.
>
> For example:
> scanning bus 0 for devices... 7 USB Device(s) found
> scanning usb for storage devices... 3 Storage Device(s) found
> scanning usb for ethernet devices... 0 Ethernet Device(s) found
>
> Signed-off-by: Michal Simek <michal.simek at xilinx.com>
> ---
>
> cmd/usb.c | 2 +-
> common/usb_storage.c | 8 ++++----
> 2 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/cmd/usb.c b/cmd/usb.c
> index 455127c844b9..4fa456e31834 100644
> --- a/cmd/usb.c
> +++ b/cmd/usb.c
> @@ -571,11 +571,11 @@ static void do_usb_start(void)
> return;
>
> /* Driver model will probe the devices as they are found */
> -#ifndef CONFIG_DM_USB
> # ifdef CONFIG_USB_STORAGE
> /* try to recognize storage devices immediately */
> usb_stor_curr_dev = usb_stor_scan(1);
> # endif
> +#ifndef CONFIG_DM_USB
> # ifdef CONFIG_USB_KEYBOARD
> drv_usb_kbd_init();
> # endif
> diff --git a/common/usb_storage.c b/common/usb_storage.c
> index 0345aa22eff5..b524a15e2bf9 100644
> --- a/common/usb_storage.c
> +++ b/common/usb_storage.c
> @@ -303,7 +303,6 @@ void usb_stor_reset(void)
> usb_max_devs = 0;
> }
>
> -#ifndef CONFIG_DM_USB
> /*******************************************************************************
> * scan the usb and reports device info
> * to the user if mode = 1
> @@ -311,11 +310,12 @@ void usb_stor_reset(void)
> */
> int usb_stor_scan(int mode)
> {
> - unsigned char i;
> -
> if (mode == 1)
> printf(" scanning usb for storage devices... ");
>
> +#ifndef CONFIG_DM_USB
> + unsigned char i;
Won't this complain about mixing variables and code ? I think it will.
You can use __maybe_unused if you want to avoid excess ifdeffery.
> usb_disable_asynch(1); /* asynch transfer not allowed */
>
> usb_stor_reset();
> @@ -329,12 +329,12 @@ int usb_stor_scan(int mode)
> } /* for */
>
> usb_disable_asynch(0); /* asynch transfer allowed */
> +#endif
> printf("%d Storage Device(s) found\n", usb_max_devs);
> if (usb_max_devs > 0)
> return 0;
> return -1;
> }
> -#endif
>
> static int usb_stor_irq(struct usb_device *dev)
> {
>
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list