#ifndef SCSI_TRANSPORT_H
#define SCSI_TRANSPORT_H
+#include <linux/transport_class.h>
+
struct scsi_transport_template {
- /* The NULL terminated list of transport attributes
- * that should be exported.
- */
- struct class_device_attribute **attrs;
+ /* The statistics attached to the host class only */
+ struct attribute_group *host_statistics;
- /* The transport class that the device is in */
- struct class *class;
+ /* the attribute containers */
+ struct attribute_container host_attrs;
+ struct attribute_container target_attrs;
+ struct attribute_container device_attrs;
- /* Constructor/Destructor functions */
- int (* setup)(struct scsi_device *);
- void (* cleanup)(struct scsi_device *);
/* The size of the specific transport attribute structure (a
* space of this size will be left at the end of the
- * scsi_device structure */
- int size;
+ * scsi_* structure */
+ int device_size;
+ int target_size;
+ int host_size;
};
+#define transport_class_to_shost(tc) \
+ dev_to_shost((tc)->dev)
+
+
#endif /* SCSI_TRANSPORT_H */