X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=include%2Fscsi.h;h=7173912de4a85e85301b5cf1858ed6d20609e0b7;hb=e3f44f5c891da635123b734a056dd1275eb34d83;hp=d2fa8a51952cd3107ddc8fc2fd0116bbd4034d1d;hpb=322f73f473d921dbdd0fe11bd62db6a00e5b133c;p=people%2Fms%2Fu-boot.git diff --git a/include/scsi.h b/include/scsi.h index d2fa8a5195..7173912de4 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -191,19 +191,47 @@ struct scsi_ops { int (*bus_reset)(struct udevice *dev); }; +#define scsi_get_ops(dev) ((struct scsi_ops *)(dev)->driver->ops) + +extern struct scsi_ops scsi_ops; + +/** + * scsi_exec() - execute a command + * + * @dev: SCSI bus + * @cmd: Command to execute + * @return 0 if OK, -ve on error + */ +int scsi_exec(struct udevice *dev, struct scsi_cmd *cmd); + +/** + * scsi_bus_reset() - reset the bus + * + * @dev: SCSI bus to reset + * @return 0 if OK, -ve on error + */ +int scsi_bus_reset(struct udevice *dev); + +/** + * scsi_scan() - Scan all SCSI controllers for available devices + * + * @vebose: true to show information about each device found + */ +int scsi_scan(bool verbose); + +/** + * scsi_scan_dev() - scan a SCSI bus and create devices + * + * @dev: SCSI bus + * @verbose: true to show information about each device found + */ +int scsi_scan_dev(struct udevice *dev, bool verbose); + #ifndef CONFIG_DM_SCSI void scsi_low_level_init(int busdevfunc); void scsi_init(void); #endif -int scsi_exec(struct scsi_cmd *pccb); -void scsi_bus_reset(void); - -/*************************************************************************** - * functions residing inside cmd_scsi.c - */ -int scsi_scan(int mode); - #define SCSI_IDENTIFY 0xC0 /* not used */ /* Hardware errors */