mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 16:24:13 +08:00
62d8cd5bfd
Since commit 8b41fc4454
("kbuild: create modules.builtin without
Makefile.modbuiltin or tristate.conf"), MODULE_LICENSE declarations
are used to identify modules. As a consequence, uses of the macro
in non-modules will cause modprobe to misidentify their containing
object file as a module when it is not (false positives), and modprobe
might succeed rather than failing with a suitable error message.
So remove it in the files in this commit, none of which can be built as
modules.
Signed-off-by: Nick Alcock <nick.alcock@oracle.com>
Suggested-by: Luis Chamberlain <mcgrof@kernel.org>
Cc: Luis Chamberlain <mcgrof@kernel.org>
Cc: linux-modules@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: Hitomi Hasegawa <hasegawa-hitomi@fujitsu.com>
Cc: Trond Myklebust <trond.myklebust@hammerspace.com>
Cc: Anna Schumaker <anna@kernel.org>
Cc: Chuck Lever <chuck.lever@oracle.com>
Cc: Jeff Layton <jlayton@kernel.org>
Cc: linux-nfs@vger.kernel.org
Signed-off-by: Luis Chamberlain <mcgrof@kernel.org>
92 lines
2.0 KiB
C
92 lines
2.0 KiB
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
/*
|
|
* Helper for knfsd's SSC to access ops in NFS client modules
|
|
*
|
|
* Author: Dai Ngo <dai.ngo@oracle.com>
|
|
*
|
|
* Copyright (c) 2020, Oracle and/or its affiliates.
|
|
*/
|
|
|
|
#include <linux/module.h>
|
|
#include <linux/fs.h>
|
|
#include <linux/nfs_ssc.h>
|
|
#include "../nfs/nfs4_fs.h"
|
|
|
|
|
|
struct nfs_ssc_client_ops_tbl nfs_ssc_client_tbl;
|
|
EXPORT_SYMBOL_GPL(nfs_ssc_client_tbl);
|
|
|
|
#ifdef CONFIG_NFS_V4_2
|
|
/**
|
|
* nfs42_ssc_register - install the NFS_V4 client ops in the nfs_ssc_client_tbl
|
|
* @ops: NFS_V4 ops to be installed
|
|
*
|
|
* Return values:
|
|
* None
|
|
*/
|
|
void nfs42_ssc_register(const struct nfs4_ssc_client_ops *ops)
|
|
{
|
|
nfs_ssc_client_tbl.ssc_nfs4_ops = ops;
|
|
}
|
|
EXPORT_SYMBOL_GPL(nfs42_ssc_register);
|
|
|
|
/**
|
|
* nfs42_ssc_unregister - uninstall the NFS_V4 client ops from
|
|
* the nfs_ssc_client_tbl
|
|
* @ops: ops to be uninstalled
|
|
*
|
|
* Return values:
|
|
* None
|
|
*/
|
|
void nfs42_ssc_unregister(const struct nfs4_ssc_client_ops *ops)
|
|
{
|
|
if (nfs_ssc_client_tbl.ssc_nfs4_ops != ops)
|
|
return;
|
|
|
|
nfs_ssc_client_tbl.ssc_nfs4_ops = NULL;
|
|
}
|
|
EXPORT_SYMBOL_GPL(nfs42_ssc_unregister);
|
|
#endif /* CONFIG_NFS_V4_2 */
|
|
|
|
#ifdef CONFIG_NFS_V4_2
|
|
/**
|
|
* nfs_ssc_register - install the NFS_FS client ops in the nfs_ssc_client_tbl
|
|
* @ops: NFS_FS ops to be installed
|
|
*
|
|
* Return values:
|
|
* None
|
|
*/
|
|
void nfs_ssc_register(const struct nfs_ssc_client_ops *ops)
|
|
{
|
|
nfs_ssc_client_tbl.ssc_nfs_ops = ops;
|
|
}
|
|
EXPORT_SYMBOL_GPL(nfs_ssc_register);
|
|
|
|
/**
|
|
* nfs_ssc_unregister - uninstall the NFS_FS client ops from
|
|
* the nfs_ssc_client_tbl
|
|
* @ops: ops to be uninstalled
|
|
*
|
|
* Return values:
|
|
* None
|
|
*/
|
|
void nfs_ssc_unregister(const struct nfs_ssc_client_ops *ops)
|
|
{
|
|
if (nfs_ssc_client_tbl.ssc_nfs_ops != ops)
|
|
return;
|
|
nfs_ssc_client_tbl.ssc_nfs_ops = NULL;
|
|
}
|
|
EXPORT_SYMBOL_GPL(nfs_ssc_unregister);
|
|
|
|
#else
|
|
void nfs_ssc_register(const struct nfs_ssc_client_ops *ops)
|
|
{
|
|
}
|
|
EXPORT_SYMBOL_GPL(nfs_ssc_register);
|
|
|
|
void nfs_ssc_unregister(const struct nfs_ssc_client_ops *ops)
|
|
{
|
|
}
|
|
EXPORT_SYMBOL_GPL(nfs_ssc_unregister);
|
|
#endif /* CONFIG_NFS_V4_2 */
|