diff options
author | Stefan Reinauer <reinauer@chromium.org> | 2012-10-29 05:23:48 +0000 |
---|---|---|
committer | Tom Rini <trini@ti.com> | 2012-11-02 15:20:40 -0700 |
commit | 447c031ba4b6b306bb3f77690af06f5d2ad0691b (patch) | |
tree | 53c2de2d3ddc343acdd06c700ec2a034ad1f06f5 | |
parent | c4fa493d3a822757af8fbcdc516e12bb7f72d071 (diff) |
scsi: Add function and env var to report number of scsi drives
Add a new function to find out the number of available SCSI disks. Also
set the 'scsidevs' environment variable after each scan.
Signed-off-by: Stefan Reinauer <reinauer@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | README | 3 | ||||
-rw-r--r-- | common/cmd_scsi.c | 8 | ||||
-rw-r--r-- | include/scsi.h | 2 |
3 files changed, 13 insertions, 0 deletions
@@ -1041,6 +1041,9 @@ The following options need to be configured: devices. CONFIG_SYS_SCSI_SYM53C8XX_CCF to fix clock timing (80Mhz) + The environment variable 'scsidevs' is set to the number of + SCSI devices found during the last scan. + - NETWORK Support (PCI): CONFIG_E1000 Support for Intel 8254x/8257x gigabit chips. diff --git a/common/cmd_scsi.c b/common/cmd_scsi.c index 31ea78845ce..9bd8ec9ecb9 100644 --- a/common/cmd_scsi.c +++ b/common/cmd_scsi.c @@ -184,6 +184,14 @@ removable: scsi_curr_dev=0; else scsi_curr_dev = -1; + + printf("Found %d device(s).\n", scsi_max_devs); + setenv_ulong("scsidevs", scsi_max_devs); +} + +int scsi_get_disk_count(void) +{ + return scsi_max_devs; } #ifdef CONFIG_PCI diff --git a/include/scsi.h b/include/scsi.h index 89ae45f8e8b..9681d198dff 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -189,6 +189,8 @@ void scsi_low_level_init(int busdevfunc); void scsi_init(void); void scsi_scan(int mode); +/** @return the number of scsi disks */ +int scsi_get_disk_count(void); #define SCSI_IDENTIFY 0xC0 /* not used */ |