| 
									
										
										
										
											2006-03-27 16:45:34 -06:00
										 |  |  | #ifndef _SCSI_SAS_INTERNAL_H
 | 
					
						
							|  |  |  | #define _SCSI_SAS_INTERNAL_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #define SAS_HOST_ATTRS		0
 | 
					
						
							| 
									
										
										
										
											2006-06-28 12:22:50 -04:00
										 |  |  | #define SAS_PHY_ATTRS		17
 | 
					
						
							|  |  |  | #define SAS_PORT_ATTRS		1
 | 
					
						
							| 
									
										
										
										
											2006-03-27 16:45:34 -06:00
										 |  |  | #define SAS_RPORT_ATTRS		7
 | 
					
						
							| 
									
										
										
										
											2010-01-18 10:14:51 -06:00
										 |  |  | #define SAS_END_DEV_ATTRS	5
 | 
					
						
							| 
									
										
										
										
											2006-03-27 16:45:34 -06:00
										 |  |  | #define SAS_EXPANDER_ATTRS	7
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct sas_internal { | 
					
						
							|  |  |  | 	struct scsi_transport_template t; | 
					
						
							|  |  |  | 	struct sas_function_template *f; | 
					
						
							|  |  |  | 	struct sas_domain_function_template *dft; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-02-22 00:13:36 +01:00
										 |  |  | 	struct device_attribute private_host_attrs[SAS_HOST_ATTRS]; | 
					
						
							|  |  |  | 	struct device_attribute private_phy_attrs[SAS_PHY_ATTRS]; | 
					
						
							|  |  |  | 	struct device_attribute private_port_attrs[SAS_PORT_ATTRS]; | 
					
						
							|  |  |  | 	struct device_attribute private_rphy_attrs[SAS_RPORT_ATTRS]; | 
					
						
							|  |  |  | 	struct device_attribute private_end_dev_attrs[SAS_END_DEV_ATTRS]; | 
					
						
							|  |  |  | 	struct device_attribute private_expander_attrs[SAS_EXPANDER_ATTRS]; | 
					
						
							| 
									
										
										
										
											2006-03-27 16:45:34 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	struct transport_container phy_attr_cont; | 
					
						
							| 
									
										
										
										
											2006-06-28 12:22:50 -04:00
										 |  |  | 	struct transport_container port_attr_cont; | 
					
						
							| 
									
										
										
										
											2006-03-27 16:45:34 -06:00
										 |  |  | 	struct transport_container rphy_attr_cont; | 
					
						
							|  |  |  | 	struct transport_container end_dev_attr_cont; | 
					
						
							|  |  |  | 	struct transport_container expander_attr_cont; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	/*
 | 
					
						
							|  |  |  | 	 * The array of null terminated pointers to attributes | 
					
						
							|  |  |  | 	 * needed by scsi_sysfs.c | 
					
						
							|  |  |  | 	 */ | 
					
						
							| 
									
										
										
										
											2008-02-22 00:13:36 +01:00
										 |  |  | 	struct device_attribute *host_attrs[SAS_HOST_ATTRS + 1]; | 
					
						
							|  |  |  | 	struct device_attribute *phy_attrs[SAS_PHY_ATTRS + 1]; | 
					
						
							|  |  |  | 	struct device_attribute *port_attrs[SAS_PORT_ATTRS + 1]; | 
					
						
							|  |  |  | 	struct device_attribute *rphy_attrs[SAS_RPORT_ATTRS + 1]; | 
					
						
							|  |  |  | 	struct device_attribute *end_dev_attrs[SAS_END_DEV_ATTRS + 1]; | 
					
						
							|  |  |  | 	struct device_attribute *expander_attrs[SAS_EXPANDER_ATTRS + 1]; | 
					
						
							| 
									
										
										
										
											2006-03-27 16:45:34 -06:00
										 |  |  | }; | 
					
						
							|  |  |  | #define to_sas_internal(tmpl)	container_of(tmpl, struct sas_internal, t)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif
 |