diff options
Diffstat (limited to 'include/scsi.h')
-rw-r--r-- | include/scsi.h | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/include/scsi.h b/include/scsi.h index 20f6932602..9cdd13c795 100644 --- a/include/scsi.h +++ b/include/scsi.h @@ -191,12 +191,25 @@ struct scsi_ops { int (*bus_reset)(struct udevice *dev); }; -#ifndef CONFIG_DM_SCSI -void scsi_low_level_init(int busdevfunc); -void scsi_init(void); -#endif +#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); -int scsi_exec(struct udevice *dev, struct scsi_cmd *pccb); +/** + * 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); /** @@ -206,6 +219,11 @@ int scsi_bus_reset(struct udevice *dev); */ int scsi_scan(bool verbose); +#ifndef CONFIG_DM_SCSI +void scsi_low_level_init(int busdevfunc); +void scsi_init(void); +#endif + #define SCSI_IDENTIFY 0xC0 /* not used */ /* Hardware errors */ |