diff options
| author | Markus Lidel <Markus.Lidel@shadowconnect.com> | 2005-06-23 22:02:21 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-06-24 00:05:29 -0700 | 
| commit | 9e87545f06930c1d294423a8091d1077e7444a47 (patch) | |
| tree | ef05fca1becfa0e1584f234ddf9b1a430b7d018e /drivers/message/i2o/exec-osm.c | |
| parent | b2aaee33fbb354a2f08121aa1c1be55841102761 (diff) | |
[PATCH] I2O: second code cleanup of sparse warnings and unneeded syncronization
Changes:
 - Added header "core.h" for i2o_core.ko internal definitions
 - More sparse fixes
 - Changed display of TID's in sysfs attributes from XXX to 0xXXX
 - Use the right functions for accessing I/O and normal memory
 - Removed error handling of SCSI device errors and let the SCSI layer
   take care of it
 - Added new device / removed device handling to SCSI-OSM
 - Make status access volatile
 - Cleaned up activation of I2O controller
 - Removed unnecessary wmb() and rmb() calls
 - Use own struct i2o_io for I/O memory instead of struct i2o_dma
Signed-off-by: Markus Lidel <Markus.Lidel@shadowconnect.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'drivers/message/i2o/exec-osm.c')
| -rw-r--r-- | drivers/message/i2o/exec-osm.c | 27 | 
1 files changed, 12 insertions, 15 deletions
| diff --git a/drivers/message/i2o/exec-osm.c b/drivers/message/i2o/exec-osm.c index 0160221c802a..ffe0cecfa060 100644 --- a/drivers/message/i2o/exec-osm.c +++ b/drivers/message/i2o/exec-osm.c @@ -30,6 +30,7 @@  #include <linux/module.h>  #include <linux/i2o.h>  #include <linux/delay.h> +#include "core.h"  #define OSM_NAME "exec-osm" @@ -37,9 +38,6 @@ struct i2o_driver i2o_exec_driver;  static int i2o_exec_lct_notify(struct i2o_controller *c, u32 change_ind); -/* Module internal functions from other sources */ -extern int i2o_device_parse_lct(struct i2o_controller *); -  /* global wait list for POST WAIT */  static LIST_HEAD(i2o_exec_wait_list); @@ -50,7 +48,7 @@ struct i2o_exec_wait {  	u32 tcntxt;		/* transaction context from reply */  	int complete;		/* 1 if reply received otherwise 0 */  	u32 m;			/* message id */ -	struct i2o_message __iomem *msg;	/* pointer to the reply message */ +	struct i2o_message *msg;	/* pointer to the reply message */  	struct list_head list;	/* node in global wait list */  }; @@ -162,7 +160,7 @@ int i2o_msg_post_wait_mem(struct i2o_controller *c, u32 m, unsigned long  	barrier();  	if (wait->complete) { -		rc = readl(&wait->msg->body[0]) >> 24; +		rc = le32_to_cpu(wait->msg->body[0]) >> 24;  		i2o_flush_reply(c, wait->m);  		i2o_exec_wait_free(wait);  	} else { @@ -202,8 +200,7 @@ int i2o_msg_post_wait_mem(struct i2o_controller *c, u32 m, unsigned long   *	message must also be given back to the controller.   */  static int i2o_msg_post_wait_complete(struct i2o_controller *c, u32 m, -				      struct i2o_message __iomem *msg, -				      u32 context) +				      struct i2o_message *msg, u32 context)  {  	struct i2o_exec_wait *wait, *tmp;  	unsigned long flags; @@ -378,11 +375,11 @@ static void i2o_exec_lct_modified(struct i2o_controller *c)   *	code on failure and if the reply should be flushed.   */  static int i2o_exec_reply(struct i2o_controller *c, u32 m, -			  struct i2o_message __iomem *msg) +			  struct i2o_message *msg)  {  	u32 context; -	if (readl(&msg->u.head[0]) & MSG_FAIL) { +	if (le32_to_cpu(msg->u.head[0]) & MSG_FAIL) {  		/*  		 * If Fail bit is set we must take the transaction context of  		 * the preserved message to find the right request again. @@ -390,7 +387,7 @@ static int i2o_exec_reply(struct i2o_controller *c, u32 m,  		struct i2o_message __iomem *pmsg;  		u32 pm; -		pm = readl(&msg->body[3]); +		pm = le32_to_cpu(msg->body[3]);  		pmsg = i2o_msg_in_to_virt(c, pm); @@ -401,12 +398,12 @@ static int i2o_exec_reply(struct i2o_controller *c, u32 m,  		/* Release the preserved msg */  		i2o_msg_nop(c, pm);  	} else -		context = readl(&msg->u.s.tcntxt); +		context = le32_to_cpu(msg->u.s.tcntxt);  	if (context & 0x80000000)  		return i2o_msg_post_wait_complete(c, m, msg, context); -	if ((readl(&msg->u.head[1]) >> 24) == I2O_CMD_LCT_NOTIFY) { +	if ((le32_to_cpu(msg->u.head[1]) >> 24) == I2O_CMD_LCT_NOTIFY) {  		struct work_struct *work;  		pr_debug("%s: LCT notify received\n", c->name); @@ -442,9 +439,9 @@ static int i2o_exec_reply(struct i2o_controller *c, u32 m,   */  static void i2o_exec_event(struct i2o_event *evt)  { -	if(likely(evt->i2o_dev)) -		osm_info("Event received from device: %d\n", -			 evt->i2o_dev->lct_data.tid); +	if (likely(evt->i2o_dev)) +		osm_debug("Event received from device: %d\n", +			  evt->i2o_dev->lct_data.tid);  	kfree(evt);  }; | 
