[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1203705247.5962.17.camel@brick>
Date: Fri, 22 Feb 2008 10:34:07 -0800
From: Harvey Harrison <harvey.harrison@...il.com>
To: Andrew Morton <akpm@...ux-foundation.org>
Cc: LKML <linux-kernel@...r.kernel.org>
Subject: [PATCH 1/2] char: hide sparse expensive pointer subtraction
warning in specialix.c
The warnings come from two static inlines so the ugliness in hiding them
is well contained.
drivers/char/specialix.c:238:19: warning: potentially expensive pointer subtraction
drivers/char/specialix.c:245:19: warning: potentially expensive pointer subtraction
Signed-off-by: Harvey Harrison <harvey.harrison@...il.com>
---
Andrew, take it or leave it, I just did this to make it easier to look at the other
sparse issues....but without this sparse produces > 100 of these warnings for this
file.
drivers/char/specialix.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/char/specialix.c b/drivers/char/specialix.c
index c0e08c7..5487f37 100644
--- a/drivers/char/specialix.c
+++ b/drivers/char/specialix.c
@@ -228,21 +228,21 @@ static inline int sx_paranoia_check(struct specialix_port const * port,
/* Get board number from pointer */
static inline int board_No (struct specialix_board * bp)
{
- return bp - sx_board;
+ return ((char *)bp - (char *)sx_board) * sizeof(*bp);
}
/* Get port number from pointer */
static inline int port_No (struct specialix_port const * port)
{
- return SX_PORT(port - sx_port);
+ return SX_PORT(((char *)port - (char *)sx_port) * sizeof(*port));
}
/* Get pointer to board from pointer to port */
static inline struct specialix_board * port_Board(struct specialix_port const * port)
{
- return &sx_board[SX_BOARD(port - sx_port)];
+ return &sx_board[SX_BOARD(port_No(port))];
}
--
1.5.4.2.200.g99e75
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists