X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Fscsi%2Fscsi_transport.h;h=889849a1f5b60741e709a2db52fe34d46f41e085;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=658e3cee8a99ddcd90589a5ce2fc7b68377923af;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/include/scsi/scsi_transport.h b/include/scsi/scsi_transport.h index 658e3cee8..889849a1f 100644 --- a/include/scsi/scsi_transport.h +++ b/include/scsi/scsi_transport.h @@ -20,22 +20,27 @@ #ifndef SCSI_TRANSPORT_H #define SCSI_TRANSPORT_H +#include + 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 */