linux/lib/once.c

// SPDX-License-Identifier: GPL-2.0
#include <linux/slab.h>
#include <linux/spinlock.h>
#include <linux/once.h>
#include <linux/random.h>
#include <linux/module.h>

struct once_work {};

static void once_deferred(struct work_struct *w)
{}

static void once_disable_jump(struct static_key_true *key, struct module *mod)
{}

static DEFINE_SPINLOCK(once_lock);

bool __do_once_start(bool *done, unsigned long *flags)
	__acquires(once_lock)
{}
EXPORT_SYMBOL();

void __do_once_done(bool *done, struct static_key_true *once_key,
		    unsigned long *flags, struct module *mod)
	__releases(once_lock)
{}
EXPORT_SYMBOL();

static DEFINE_MUTEX(once_mutex);

bool __do_once_sleepable_start(bool *done)
	__acquires(once_mutex)
{}
EXPORT_SYMBOL();

void __do_once_sleepable_done(bool *done, struct static_key_true *once_key,
			 struct module *mod)
	__releases(once_mutex)
{}
EXPORT_SYMBOL();