mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
scsi: Change scsi_scan() to be able to return value
With DM_SCSI this function will return more than one return value to cover errors. Suggested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
545a284711
commit
c002e39ae6
3 changed files with 13 additions and 6 deletions
14
cmd/scsi.c
14
cmd/scsi.c
|
@ -27,6 +27,8 @@ int do_scsiboot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
|
|||
*/
|
||||
int do_scsi(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
|
||||
{
|
||||
int ret;
|
||||
|
||||
switch (argc) {
|
||||
case 0:
|
||||
case 1:
|
||||
|
@ -35,8 +37,10 @@ int do_scsi(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
|
|||
if (strncmp(argv[1], "res", 3) == 0) {
|
||||
printf("\nReset SCSI\n");
|
||||
scsi_bus_reset();
|
||||
scsi_scan(1);
|
||||
return 0;
|
||||
ret = scsi_scan(1);
|
||||
if (ret)
|
||||
return CMD_RET_FAILURE;
|
||||
return ret;
|
||||
}
|
||||
if (strncmp(argv[1], "inf", 3) == 0) {
|
||||
blk_list_devices(IF_TYPE_SCSI);
|
||||
|
@ -51,8 +55,10 @@ int do_scsi(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
|
|||
return 0;
|
||||
}
|
||||
if (strncmp(argv[1], "scan", 4) == 0) {
|
||||
scsi_scan(1);
|
||||
return 0;
|
||||
ret = scsi_scan(1);
|
||||
if (ret)
|
||||
return CMD_RET_FAILURE;
|
||||
return ret;
|
||||
}
|
||||
if (strncmp(argv[1], "part", 4) == 0) {
|
||||
if (blk_list_part(IF_TYPE_SCSI))
|
||||
|
|
|
@ -524,7 +524,7 @@ removable:
|
|||
* (re)-scan the scsi bus and reports scsi device info
|
||||
* to the user if mode = 1
|
||||
*/
|
||||
void scsi_scan(int mode)
|
||||
int scsi_scan(int mode)
|
||||
{
|
||||
unsigned char i, lun;
|
||||
int ret;
|
||||
|
@ -558,6 +558,7 @@ void scsi_scan(int mode)
|
|||
#ifndef CONFIG_SPL_BUILD
|
||||
setenv_ulong("scsidevs", scsi_max_devs);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BLK
|
||||
|
|
|
@ -173,7 +173,7 @@ void scsi_low_level_init(int busdevfunc);
|
|||
* functions residing inside cmd_scsi.c
|
||||
*/
|
||||
void scsi_init(void);
|
||||
void scsi_scan(int mode);
|
||||
int scsi_scan(int mode);
|
||||
|
||||
#define SCSI_IDENTIFY 0xC0 /* not used */
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue