diff options
author | James Bottomley <James.Bottomley@steeleye.com> | 2006-03-27 17:45:34 -0500 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2006-04-13 11:13:27 -0400 |
commit | d6159c17c2c76963a8067d1e1ac3c4c36c05e674 (patch) | |
tree | a399dfebd51edb31de6ee4b597fe6342f910fc25 /drivers | |
parent | 530bba6fa898318fbf111d91402d49b1c538e3cd (diff) |
[SCSI] expose sas internal class for the domain transport
necessary to make the domain class use the internal structures
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/scsi_sas_internal.h | 38 | ||||
-rw-r--r-- | drivers/scsi/scsi_transport_sas.c | 35 |
2 files changed, 39 insertions, 34 deletions
diff --git a/drivers/scsi/scsi_sas_internal.h b/drivers/scsi/scsi_sas_internal.h new file mode 100644 index 000000000000..d76e6e3d8ca5 --- /dev/null +++ b/drivers/scsi/scsi_sas_internal.h | |||
@@ -0,0 +1,38 @@ | |||
1 | #ifndef _SCSI_SAS_INTERNAL_H | ||
2 | #define _SCSI_SAS_INTERNAL_H | ||
3 | |||
4 | #define SAS_HOST_ATTRS 0 | ||
5 | #define SAS_PORT_ATTRS 17 | ||
6 | #define SAS_RPORT_ATTRS 7 | ||
7 | #define SAS_END_DEV_ATTRS 3 | ||
8 | #define SAS_EXPANDER_ATTRS 7 | ||
9 | |||
10 | struct sas_internal { | ||
11 | struct scsi_transport_template t; | ||
12 | struct sas_function_template *f; | ||
13 | struct sas_domain_function_template *dft; | ||
14 | |||
15 | struct class_device_attribute private_host_attrs[SAS_HOST_ATTRS]; | ||
16 | struct class_device_attribute private_phy_attrs[SAS_PORT_ATTRS]; | ||
17 | struct class_device_attribute private_rphy_attrs[SAS_RPORT_ATTRS]; | ||
18 | struct class_device_attribute private_end_dev_attrs[SAS_END_DEV_ATTRS]; | ||
19 | struct class_device_attribute private_expander_attrs[SAS_EXPANDER_ATTRS]; | ||
20 | |||
21 | struct transport_container phy_attr_cont; | ||
22 | struct transport_container rphy_attr_cont; | ||
23 | struct transport_container end_dev_attr_cont; | ||
24 | struct transport_container expander_attr_cont; | ||
25 | |||
26 | /* | ||
27 | * The array of null terminated pointers to attributes | ||
28 | * needed by scsi_sysfs.c | ||
29 | */ | ||
30 | struct class_device_attribute *host_attrs[SAS_HOST_ATTRS + 1]; | ||
31 | struct class_device_attribute *phy_attrs[SAS_PORT_ATTRS + 1]; | ||
32 | struct class_device_attribute *rphy_attrs[SAS_RPORT_ATTRS + 1]; | ||
33 | struct class_device_attribute *end_dev_attrs[SAS_END_DEV_ATTRS + 1]; | ||
34 | struct class_device_attribute *expander_attrs[SAS_EXPANDER_ATTRS + 1]; | ||
35 | }; | ||
36 | #define to_sas_internal(tmpl) container_of(tmpl, struct sas_internal, t) | ||
37 | |||
38 | #endif | ||
diff --git a/drivers/scsi/scsi_transport_sas.c b/drivers/scsi/scsi_transport_sas.c index f6f7fecc0ad1..2c96fc5683ff 100644 --- a/drivers/scsi/scsi_transport_sas.c +++ b/drivers/scsi/scsi_transport_sas.c | |||
@@ -35,40 +35,7 @@ | |||
35 | #include <scsi/scsi_transport.h> | 35 | #include <scsi/scsi_transport.h> |
36 | #include <scsi/scsi_transport_sas.h> | 36 | #include <scsi/scsi_transport_sas.h> |
37 | 37 | ||
38 | 38 | #include "scsi_sas_internal.h" | |
39 | #define SAS_HOST_ATTRS 0 | ||
40 | #define SAS_PORT_ATTRS 17 | ||
41 | #define SAS_RPORT_ATTRS 7 | ||
42 | #define SAS_END_DEV_ATTRS 3 | ||
43 | #define SAS_EXPANDER_ATTRS 7 | ||
44 | |||
45 | struct sas_internal { | ||
46 | struct scsi_transport_template t; | ||
47 | struct sas_function_template *f; | ||
48 | |||
49 | struct class_device_attribute private_host_attrs[SAS_HOST_ATTRS]; | ||
50 | struct class_device_attribute private_phy_attrs[SAS_PORT_ATTRS]; | ||
51 | struct class_device_attribute private_rphy_attrs[SAS_RPORT_ATTRS]; | ||
52 | struct class_device_attribute private_end_dev_attrs[SAS_END_DEV_ATTRS]; | ||
53 | struct class_device_attribute private_expander_attrs[SAS_EXPANDER_ATTRS]; | ||
54 | |||
55 | struct transport_container phy_attr_cont; | ||
56 | struct transport_container rphy_attr_cont; | ||
57 | struct transport_container end_dev_attr_cont; | ||
58 | struct transport_container expander_attr_cont; | ||
59 | |||
60 | /* | ||
61 | * The array of null terminated pointers to attributes | ||
62 | * needed by scsi_sysfs.c | ||
63 | */ | ||
64 | struct class_device_attribute *host_attrs[SAS_HOST_ATTRS + 1]; | ||
65 | struct class_device_attribute *phy_attrs[SAS_PORT_ATTRS + 1]; | ||
66 | struct class_device_attribute *rphy_attrs[SAS_RPORT_ATTRS + 1]; | ||
67 | struct class_device_attribute *end_dev_attrs[SAS_END_DEV_ATTRS + 1]; | ||
68 | struct class_device_attribute *expander_attrs[SAS_EXPANDER_ATTRS + 1]; | ||
69 | }; | ||
70 | #define to_sas_internal(tmpl) container_of(tmpl, struct sas_internal, t) | ||
71 | |||
72 | struct sas_host_attrs { | 39 | struct sas_host_attrs { |
73 | struct list_head rphy_list; | 40 | struct list_head rphy_list; |
74 | struct mutex lock; | 41 | struct mutex lock; |