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


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 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


[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_NAME"Fusion 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;