[PATCH 4/6] mpt fusion: Creation of mptsas.h header file

2007-08-14 Thread Prakash, Sathya
The data structure definitions from mptsas.c are moved to a new header file 
mptsas.h

signed-off-by: Sathya Prakash [EMAIL PROTECTED]
---

diff --git a/drivers/message/fusion/mptsas.c b/drivers/message/fusion/mptsas.c
index ffbf0e5..5951fe0 100644
--- a/drivers/message/fusion/mptsas.c
+++ b/drivers/message/fusion/mptsas.c
@@ -61,6 +61,7 @@
 
 #include mptbase.h
 #include mptscsih.h
+#include mptsas.h
 
 
 #define my_NAMEFusion MPT SAS Host driver
@@ -96,111 +97,6 @@ static u8   mptsasMgmtCtx = MPT_MAX_PROTOCOL_DRIVERS;
 
 static void mptsas_hotplug_work(struct work_struct *work);
 
-struct mptsas_target_reset_event {
-   struct list_headlist;
-   EVENT_DATA_SAS_DEVICE_STATUS_CHANGE sas_event_data;
-   u8  target_reset_issued;
-};
-
-enum mptsas_hotplug_action {
-   MPTSAS_ADD_DEVICE,
-   MPTSAS_DEL_DEVICE,
-   MPTSAS_ADD_RAID,
-   MPTSAS_DEL_RAID,
-   MPTSAS_ADD_INACTIVE_VOLUME,
-   MPTSAS_IGNORE_EVENT,
-};
-
-struct mptsas_hotplug_event {
-   struct work_struct  work;
-   MPT_ADAPTER *ioc;
-   enum mptsas_hotplug_action event_type;
-   u64 sas_address;
-   u8  channel;
-   u8  id;
-   u32 device_info;
-   u16 handle;
-   u16 parent_handle;
-   u8  phy_id;
-   u8  phys_disk_num_valid;/* hrc (hidden raid 
component) */
-   u8  phys_disk_num;  /* hrc - unique index*/
-   u8  hidden_raid_component;  /* hrc - don't expose*/
-};
-
-struct mptsas_discovery_event {
-   struct work_struct  work;
-   MPT_ADAPTER *ioc;
-};
-
-/*
- * SAS topology structures
- *
- * The MPT Fusion firmware interface spreads information about the
- * SAS topology over many manufacture pages, thus we need some data
- * structure to collect it and process it for the SAS transport class.
- */
-
-struct mptsas_devinfo {
-   u16 handle; /* unique id to address this device */
-   u16 handle_parent;  /* unique id to address parent device */
-   u16 handle_enclosure; /* enclosure identifier of the enclosure */
-   u16 slot;   /* physical slot in enclosure */
-   u8  phy_id; /* phy number of parent device */
-   u8  port_id;/* sas physical port this device
-  is assoc'd with */
-   u8  id; /* logical target id of this device */
-   u32 phys_disk_num;  /* phys disk id, for csmi-ioctls */
-   u8  channel;/* logical bus number of this device */
-   u64 sas_address;/* WWN of this device,
-  SATA is assigned by HBA,expander */
-   u32 device_info;/* bitfield detailed info about this device */
-};
-
-/*
- * Specific details on ports, wide/narrow
- */
-struct mptsas_portinfo_details{
-   u16 num_phys;   /* number of phys belong to this port */
-   u64 phy_bitmask;/* TODO, extend support for 255 phys */
-   struct sas_rphy *rphy;  /* transport layer rphy object */
-   struct sas_port *port;  /* transport layer port object */
-   struct scsi_target *starget;
-   struct mptsas_portinfo *port_info;
-};
-
-struct mptsas_phyinfo {
-   u16 handle; /* unique id to address this */
-   u8  phy_id; /* phy index */
-   u8  port_id;/* firmware port identifier */
-   u8  negotiated_link_rate;   /* nego'd link rate for this phy */
-   u8  hw_link_rate;   /* hardware max/min phys link rate */
-   u8  programmed_link_rate;   /* programmed max/min phy link rate */
-   u8  sas_port_add_phy;   /* flag to request sas_port_add_phy*/
-   struct mptsas_devinfo identify; /* point to phy device info */
-   struct mptsas_devinfo attached; /* point to attached device info */
-   struct sas_phy *phy;/* transport layer phy object */
-   struct mptsas_portinfo *portinfo;
-   struct mptsas_portinfo_details * port_details;
-};
-
-struct mptsas_portinfo {
-   struct list_head list;
-   u16 num_phys;   /* number of phys */
-   struct mptsas_phyinfo *phy_info;
-};
-
-struct mptsas_enclosure {
-   u64 enclosure_logical_id;   /* The WWN for the enclosure */
-   u16 enclosure_handle;   /* unique id to address this */
-   u16 flags;  /* details enclosure management */
-   u16 num_slot;   /* num slots */
-   u16 start_slot; /* first slot */
-   u8  start_id;   /* starting logical target id */
-   u8  start_channel;  /* starting logical channel id */
-   u8  sep_id; /* 

RE: [PATCH 4/6] mpt fusion: Creation of mptsas.h header file

2007-08-14 Thread Moore, Eric
On Tuesday, August 14, 2007 4:46 AM,  Prakash, Sathya wrote:

 The data structure definitions from mptsas.c are moved to a 
 new header file mptsas.h
 
 signed-off-by: Sathya Prakash [EMAIL PROTECTED]
 ---

ACK
-
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 4/6] mpt fusion: Creation of mptsas.h header file

2007-08-14 Thread Matthew Wilcox
On Tue, Aug 14, 2007 at 04:15:38PM +0530, Prakash, Sathya wrote:
 The data structure definitions from mptsas.c are moved to a new header file 
 mptsas.h

Why?  Are they used outside mptsas.c in some future patch?

-- 
Bill, look, we understand that you're interested in selling us this
operating system, but compare it to ours.  We can't possibly take such
a retrograde step.
-
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html


RE: [PATCH 4/6] mpt fusion: Creation of mptsas.h header file

2007-08-14 Thread Moore, Eric
On Tuesday, August 14, 2007 12:50 PM, Matthew Wilcox wrote:  
 On Tue, Aug 14, 2007 at 04:15:38PM +0530, Prakash, Sathya wrote:
  The data structure definitions from mptsas.c are moved to a 
 new header file mptsas.h
 
 Why?  Are they used outside mptsas.c in some future patch?
 

Having rougly 10 data structures, and nearly 100 lines of code, Id
prefer it to have it in a seperate header so our sources files is not so
cluttered with a bunch of structs and defines..   In our internal
sources, we do need this broken out into a seperate header due to its
inclusion in our IOCTLS sources.  
-
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html