summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <reinauer@chromium.org>2012-10-29 05:23:48 +0000
committerTom Rini <trini@ti.com>2012-11-02 15:20:40 -0700
commit447c031ba4b6b306bb3f77690af06f5d2ad0691b (patch)
tree53c2de2d3ddc343acdd06c700ec2a034ad1f06f5
parentc4fa493d3a822757af8fbcdc516e12bb7f72d071 (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--README3
-rw-r--r--common/cmd_scsi.c8
-rw-r--r--include/scsi.h2
3 files changed, 13 insertions, 0 deletions
diff --git a/README b/README
index 06c1b15e98a..8141068e4f7 100644
--- a/README
+++ b/README
@@ -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 */