#include <linux/mutex.h>
#include <linux/delay.h>
#include <linux/device.h>
#include <linux/export.h>
#include <linux/poison.h>
#include <linux/sched.h>
#include <linux/spinlock.h>
#include <linux/kallsyms.h>
#include <linux/interrupt.h>
#include <linux/debug_locks.h>
#include "mutex.h"
void debug_mutex_lock_common(struct mutex *lock, struct mutex_waiter *waiter)
{ … }
void debug_mutex_wake_waiter(struct mutex *lock, struct mutex_waiter *waiter)
{ … }
void debug_mutex_free_waiter(struct mutex_waiter *waiter)
{ … }
void debug_mutex_add_waiter(struct mutex *lock, struct mutex_waiter *waiter,
struct task_struct *task)
{ … }
void debug_mutex_remove_waiter(struct mutex *lock, struct mutex_waiter *waiter,
struct task_struct *task)
{ … }
void debug_mutex_unlock(struct mutex *lock)
{ … }
void debug_mutex_init(struct mutex *lock, const char *name,
struct lock_class_key *key)
{ … }
static void devm_mutex_release(void *res)
{ … }
int __devm_mutex_init(struct device *dev, struct mutex *lock)
{ … }
EXPORT_SYMBOL_GPL(…);
void mutex_destroy(struct mutex *lock)
{ … }
EXPORT_SYMBOL_GPL(…);