On Fri, 2 May 2014 11:08:31 +0200 Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx> wrote: > * Steven Rostedt | 2014-04-08 22:47:02 [-0400]: > > >From: "Steven Rostedt (Red Hat)" <rostedt@xxxxxxxxxxx> > > > >The rt_mutex_init() macro is the same whether or not > >CONFIG_DEBUG_RT_MUTEX is set. Remove the duplicate. > > > >Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx> > > This does not apply cleanly on v3.14-rt That's because I sent this out before 3.14-rt was released :-) > > >--- a/include/linux/rtmutex.h > >+++ b/include/linux/rtmutex.h > >@@ -62,25 +62,19 @@ struct hrtimer_sleeper; > > # define __DEBUG_RT_MUTEX_INITIALIZER(mutexname) \ > > , .name = #mutexname, .file = __FILE__, .line = __LINE__ > > > >-# define rt_mutex_init(mutex) \ > >- do { \ > >- raw_spin_lock_init(&(mutex)->wait_lock); \ > >- __rt_mutex_init(mutex, #mutex); \ > >- } while (0) > >- > > The macro is the same in CONFIG_DEBUG_RT_MUTEXES and the else path. > Shouldn't you remove both and define it before the ifdef? That's exactly what the patch did! Except that it defined it *after* the ifdef. Here's the patch again (as it was cut in the reply): --- a/include/linux/rtmutex.h +++ b/include/linux/rtmutex.h @@ -62,25 +62,19 @@ struct hrtimer_sleeper; # define __DEBUG_RT_MUTEX_INITIALIZER(mutexname) \ , .name = #mutexname, .file = __FILE__, .line = __LINE__ -# define rt_mutex_init(mutex) \ - do { \ - raw_spin_lock_init(&(mutex)->wait_lock); \ - __rt_mutex_init(mutex, #mutex); \ - } while (0) - extern void rt_mutex_debug_task_free(struct task_struct *tsk); #else # define __DEBUG_RT_MUTEX_INITIALIZER(mutexname) +# define rt_mutex_debug_task_free(t) do { } while (0) +#endif + # define rt_mutex_init(mutex) \ do { \ raw_spin_lock_init(&(mutex)->wait_lock); \ __rt_mutex_init(mutex, #mutex); \ } while (0) -# define rt_mutex_debug_task_free(t) do { } while (0) -#endif - #define __RT_MUTEX_INITIALIZER_PLAIN(mutexname) \ .wait_lock = __RAW_SPIN_LOCK_UNLOCKED(mutexname.wait_lock) \ , .wait_list = PLIST_HEAD_INIT(mutexname.wait_list) \ Take special note of the movement of the "#endif". -- Steve > There are some > users of this: > |drivers/i2c/i2c-core.c: rt_mutex_init(&adap->bus_lock); > |drivers/media/usb/em28xx/em28xx-cards.c: rt_mutex_init(&dev->i2c_bus_lock); > > Sebastian -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html