Messages in this thread Patch in this message | | | Date | Tue, 20 May 2008 17:20:18 -0400 (EDT) | From | Steven Rostedt <> | Subject | Re: Compile warning rtmutex code on 2.6.24.7-rt8 (CC:LKML added) |
| |
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@redhat.com>
--- 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)))
| |