mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-26 19:00:25 +00:00
![Thomas Gleixner](/assets/img/avatar_default.png)
Based on 1 normalized pattern(s): this program is free software you can redistribute it and or modify it under the terms of the gnu general public license as published by the free software foundation either version 2 of the license or at your option any later version this program is distributed in the hope that it will be useful but without any warranty without even the implied warranty of merchantability or fitness for a particular purpose see the gnu general public license for more details you should have received a copy of the gnu general public license along with this program if not write to the free software foundation inc 675 mass ave cambridge ma 02139 usa extracted by the scancode license scanner the SPDX license identifier GPL-2.0-or-later has been chosen to replace the boilerplate/reference in 441 file(s). Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Michael Ellerman <mpe@ellerman.id.au> (powerpc) Reviewed-by: Richard Fontana <rfontana@redhat.com> Reviewed-by: Allison Randal <allison@lohutok.net> Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Cc: linux-spdx@vger.kernel.org Link: https://lkml.kernel.org/r/20190520071858.739733335@linutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
35 lines
1 KiB
C
35 lines
1 KiB
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
#ifndef __LINUX_KMOD_H__
|
|
#define __LINUX_KMOD_H__
|
|
|
|
/*
|
|
* include/linux/kmod.h
|
|
*/
|
|
|
|
#include <linux/umh.h>
|
|
#include <linux/gfp.h>
|
|
#include <linux/stddef.h>
|
|
#include <linux/errno.h>
|
|
#include <linux/compiler.h>
|
|
#include <linux/workqueue.h>
|
|
#include <linux/sysctl.h>
|
|
|
|
#define KMOD_PATH_LEN 256
|
|
|
|
#ifdef CONFIG_MODULES
|
|
extern char modprobe_path[]; /* for sysctl */
|
|
/* modprobe exit status on success, -ve on error. Return value
|
|
* usually useless though. */
|
|
extern __printf(2, 3)
|
|
int __request_module(bool wait, const char *name, ...);
|
|
#define request_module(mod...) __request_module(true, mod)
|
|
#define request_module_nowait(mod...) __request_module(false, mod)
|
|
#define try_then_request_module(x, mod...) \
|
|
((x) ?: (__request_module(true, mod), (x)))
|
|
#else
|
|
static inline int request_module(const char *name, ...) { return -ENOSYS; }
|
|
static inline int request_module_nowait(const char *name, ...) { return -ENOSYS; }
|
|
#define try_then_request_module(x, mod...) (x)
|
|
#endif
|
|
|
|
#endif /* __LINUX_KMOD_H__ */
|