Merge branch '2020-05-07-more-kconfig-migrations'
[platform/kernel/u-boot.git] / include / scsi.h
index 9cdd13c..61da958 100644 (file)
@@ -1,12 +1,13 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * (C) Copyright 2001
  * Denis Peter, MPL AG Switzerland
- *
- * SPDX-License-Identifier:    GPL-2.0+
  */
  #ifndef _SCSI_H
  #define _SCSI_H
 
+#include <linux/dma-direction.h>
+
 struct scsi_cmd {
        unsigned char           cmd[16];                                        /* command                                 */
        /* for request sense */
@@ -27,6 +28,7 @@ struct scsi_cmd {
        unsigned long           trans_bytes;                    /* tranfered bytes              */
 
        unsigned int            priv;
+       enum dma_data_direction dma_dir;
 };
 
 /*-----------------------------------------------------------
@@ -164,11 +166,13 @@ struct scsi_cmd {
  * @base: Controller base address
  * @max_lun: Maximum number of logical units
  * @max_id: Maximum number of target ids
+ * @max_bytes_per_req: Maximum number of bytes per read/write request
  */
 struct scsi_platdata {
        unsigned long base;
        unsigned long max_lun;
        unsigned long max_id;
+       unsigned long max_bytes_per_req;
 };
 
 /* Operations for SCSI */
@@ -219,6 +223,14 @@ int scsi_bus_reset(struct udevice *dev);
  */
 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);