mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2024-12-29 09:12:07 +00:00
semaphore: Remove mutex emulation
Semaphores used as mutexes have been deprecated for years. Now that all users are either converted to real semaphores or to mutexes remove the cruft. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Christoph Hellwig <hch@infradead.org> LKML-Reference: <20100907125057.562399240@linutronix.de>
This commit is contained in:
parent
45f4d02435
commit
4882720b26
@ -29,9 +29,6 @@ struct semaphore {
|
||||
#define DEFINE_SEMAPHORE(name) \
|
||||
struct semaphore name = __SEMAPHORE_INITIALIZER(name, 1)
|
||||
|
||||
#define DECLARE_MUTEX(name) \
|
||||
struct semaphore name = __SEMAPHORE_INITIALIZER(name, 1)
|
||||
|
||||
static inline void sema_init(struct semaphore *sem, int val)
|
||||
{
|
||||
static struct lock_class_key __key;
|
||||
@ -39,9 +36,6 @@ static inline void sema_init(struct semaphore *sem, int val)
|
||||
lockdep_init_map(&sem->lock.dep_map, "semaphore->lock", &__key, 0);
|
||||
}
|
||||
|
||||
#define init_MUTEX(sem) sema_init(sem, 1)
|
||||
#define init_MUTEX_LOCKED(sem) sema_init(sem, 0)
|
||||
|
||||
extern void down(struct semaphore *sem);
|
||||
extern int __must_check down_interruptible(struct semaphore *sem);
|
||||
extern int __must_check down_killable(struct semaphore *sem);
|
||||
|
@ -2794,12 +2794,8 @@ sub process {
|
||||
WARN("__func__ should be used instead of gcc specific __FUNCTION__\n" . $herecurr);
|
||||
}
|
||||
|
||||
# check for semaphores used as mutexes
|
||||
if ($line =~ /^.\s*(DECLARE_MUTEX|init_MUTEX)\s*\(/) {
|
||||
WARN("mutexes are preferred for single holder semaphores\n" . $herecurr);
|
||||
}
|
||||
# check for semaphores used as mutexes
|
||||
if ($line =~ /^.\s*init_MUTEX_LOCKED\s*\(/) {
|
||||
# check for semaphores initialized locked
|
||||
if ($line =~ /^.\s*sema_init.+,\W?0\W?\)/) {
|
||||
WARN("consider using a completion\n" . $herecurr);
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user