Re: Compile warning rtmutex code on 2.6.24.7-rt8 (CC:LKML added)

From: Steven Rostedt
Date: Tue May 20 2008 - 17:20:35 EST




On Tue, 20 May 2008, Remy Bohmer wrote:

> Hello Steven,
>
> Do you recognise these warnings? I do not know (yet) if these are ARM
> specific...
>
> CC kernel/rtmutex.o
> kernel/rtmutex.c: In function 'rt_write_fastlock':
> kernel/rtmutex.c:1582: warning: initialization makes pointer from
> integer without a cast
> kernel/rtmutex.c: In function 'rt_write_fasttrylock':
> kernel/rtmutex.c:1622: warning: initialization makes pointer from
> integer without a cast
>
> If so, do you have a fix for it?

Remy,

Can you see if this helps,

Signed-off-by: Steven Rostedt <srostedt@xxxxxxxxxx>

---
kernel/rtmutex.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-2.6.24.7-rt9/kernel/rtmutex.c
===================================================================
--- linux-2.6.24.7-rt9.orig/kernel/rtmutex.c 2008-05-20 17:11:29.000000000 -0400
+++ linux-2.6.24.7-rt9/kernel/rtmutex.c 2008-05-20 17:13:18.000000000 -0400
@@ -1577,7 +1577,7 @@ rt_write_fastlock(struct rw_mutex *rwm,
void fastcall (*slowfn)(struct rw_mutex *rwm, int mtx),
int mtx)
{
- unsigned long val = (unsigned long)current | RT_RWLOCK_WRITER;
+ struct task_struct *val = (void *)((unsigned long)current | RT_RWLOCK_WRITER);

if (likely(rt_rwlock_cmpxchg(rwm, NULL, val)))
rt_mutex_deadlock_account_lock(&rwm->mutex, current);
@@ -1617,7 +1617,7 @@ static inline int
rt_write_fasttrylock(struct rw_mutex *rwm,
int fastcall (*slowfn)(struct rw_mutex *rwm, int mtx), int mtx)
{
- unsigned long val = (unsigned long)current | RT_RWLOCK_WRITER;
+ struct task_struct *val = (void *)((unsigned long)current | RT_RWLOCK_WRITER);

if (likely(rt_rwlock_cmpxchg(rwm, NULL, val))) {
rt_mutex_deadlock_account_lock(&rwm->mutex, current);
@@ -1902,7 +1902,7 @@ rt_write_fastunlock(struct rw_mutex *rwm
int mtx),
int mtx)
{
- unsigned long val = (unsigned long)current | RT_RWLOCK_WRITER;
+ struct task_struct *val = (void *)((unsigned long)current | RT_RWLOCK_WRITER);

WARN_ON(rt_rwlock_owner(rwm) != current);
if (likely(rt_rwlock_cmpxchg(rwm, (struct task_struct *)val, NULL)))
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/