Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xiphi1978
linux
提交
57d1c91f
L
linux
项目概览
xiphi1978
/
linux
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
57d1c91f
编写于
1月 06, 2006
作者:
L
Linus Torvalds
浏览文件
操作
浏览文件
下载
差异文件
Merge
git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
上级
47853e7f
37193147
变更
15
显示空白变更内容
内联
并排
Showing
15 changed file
with
75 addition
and
71 deletion
+75
-71
.gitignore
.gitignore
+1
-0
Documentation/kbuild/modules.txt
Documentation/kbuild/modules.txt
+40
-0
arch/x86_64/ia32/.gitignore
arch/x86_64/ia32/.gitignore
+0
-1
drivers/media/dvb/cinergyT2/cinergyT2.c
drivers/media/dvb/cinergyT2/cinergyT2.c
+1
-1
drivers/media/dvb/ttpci/budget.h
drivers/media/dvb/ttpci/budget.h
+1
-1
drivers/media/video/tda9840.c
drivers/media/video/tda9840.c
+1
-1
drivers/media/video/tea6415c.c
drivers/media/video/tea6415c.c
+1
-1
drivers/media/video/tea6420.c
drivers/media/video/tea6420.c
+1
-1
include/linux/moduleparam.h
include/linux/moduleparam.h
+1
-1
include/media/saa7146.h
include/media/saa7146.h
+3
-3
net/ipv4/netfilter/ip_nat_ftp.c
net/ipv4/netfilter/ip_nat_ftp.c
+1
-1
net/ipv4/netfilter/ip_nat_irc.c
net/ipv4/netfilter/ip_nat_irc.c
+1
-1
scripts/kconfig/Makefile
scripts/kconfig/Makefile
+4
-4
scripts/setlocalversion
scripts/setlocalversion
+17
-51
security/capability.c
security/capability.c
+2
-4
未找到文件。
.gitignore
浏览文件 @
57d1c91f
...
@@ -10,6 +10,7 @@
...
@@ -10,6 +10,7 @@
*.a
*.a
*.s
*.s
*.ko
*.ko
*.so
*.mod.c
*.mod.c
#
#
...
...
Documentation/kbuild/modules.txt
浏览文件 @
57d1c91f
...
@@ -18,6 +18,7 @@ In this document you will find information about:
...
@@ -18,6 +18,7 @@ In this document you will find information about:
=== 5. Include files
=== 5. Include files
--- 5.1 How to include files from the kernel include dir
--- 5.1 How to include files from the kernel include dir
--- 5.2 External modules using an include/ dir
--- 5.2 External modules using an include/ dir
--- 5.3 External modules using several directories
=== 6. Module installation
=== 6. Module installation
--- 6.1 INSTALL_MOD_PATH
--- 6.1 INSTALL_MOD_PATH
--- 6.2 INSTALL_MOD_DIR
--- 6.2 INSTALL_MOD_DIR
...
@@ -344,6 +345,45 @@ directory and therefore needs to deal with this in their kbuild file.
...
@@ -344,6 +345,45 @@ directory and therefore needs to deal with this in their kbuild file.
Note that in the assignment there is no space between -I and the path.
Note that in the assignment there is no space between -I and the path.
This is a kbuild limitation: there must be no space present.
This is a kbuild limitation: there must be no space present.
--- 5.3 External modules using several directories
If an external module does not follow the usual kernel style but
decide to spread files over several directories then kbuild can
support this too.
Consider the following example:
|
+- src/complex_main.c
| +- hal/hardwareif.c
| +- hal/include/hardwareif.h
+- include/complex.h
To build a single module named complex.ko we then need the following
kbuild file:
Kbuild:
obj-m := complex.o
complex-y := src/complex_main.o
complex-y += src/hal/hardwareif.o
EXTRA_CFLAGS := -I$(src)/include
EXTRA_CFLAGS += -I$(src)src/hal/include
kbuild knows how to handle .o files located in another directory -
although this is NOT reccommended practice. The syntax is to specify
the directory relative to the directory where the Kbuild file is
located.
To find the .h files we have to explicitly tell kbuild where to look
for the .h files. When kbuild executes current directory is always
the root of the kernel tree (argument to -C) and therefore we have to
tell kbuild how to find the .h files using absolute paths.
$(src) will specify the absolute path to the directory where the
Kbuild file are located when being build as an external module.
Therefore -I$(src)/ is used to point out the directory of the Kbuild
file and any additional path are just appended.
=== 6. Module installation
=== 6. Module installation
...
...
arch/x86_64/ia32/.gitignore
已删除
100644 → 0
浏览文件 @
47853e7f
vsyscall*.so
drivers/media/dvb/cinergyT2/cinergyT2.c
浏览文件 @
57d1c91f
...
@@ -60,7 +60,7 @@ MODULE_PARM_DESC(debug, "Turn on/off debugging (default:off).");
...
@@ -60,7 +60,7 @@ MODULE_PARM_DESC(debug, "Turn on/off debugging (default:off).");
#define dprintk(level, args...) \
#define dprintk(level, args...) \
do { \
do { \
if ((debug & level)) { \
if ((debug & level)) { \
printk("%s: %s(): ",
__stringify(KBUILD_MODNAME),
\
printk("%s: %s(): ",
KBUILD_MODNAME,
\
__FUNCTION__); \
__FUNCTION__); \
printk(args); } \
printk(args); } \
} while (0)
} while (0)
...
...
drivers/media/dvb/ttpci/budget.h
浏览文件 @
57d1c91f
...
@@ -19,7 +19,7 @@ extern int budget_debug;
...
@@ -19,7 +19,7 @@ extern int budget_debug;
#endif
#endif
#define dprintk(level,args...) \
#define dprintk(level,args...) \
do { if ((budget_debug & level)) { printk("%s: %s(): ",
__stringify(KBUILD_MODNAME)
, __FUNCTION__); printk(args); } } while (0)
do { if ((budget_debug & level)) { printk("%s: %s(): ",
KBUILD_MODNAME
, __FUNCTION__); printk(args); } } while (0)
struct
budget_info
{
struct
budget_info
{
char
*
name
;
char
*
name
;
...
...
drivers/media/video/tda9840.c
浏览文件 @
57d1c91f
...
@@ -34,7 +34,7 @@ static int debug = 0; /* insmod parameter */
...
@@ -34,7 +34,7 @@ static int debug = 0; /* insmod parameter */
module_param
(
debug
,
int
,
0644
);
module_param
(
debug
,
int
,
0644
);
MODULE_PARM_DESC
(
debug
,
"Turn on/off device debugging (default:off)."
);
MODULE_PARM_DESC
(
debug
,
"Turn on/off device debugging (default:off)."
);
#define dprintk(args...) \
#define dprintk(args...) \
do { if (debug) { printk("%s: %s()[%d]: ",
__stringify(KBUILD_MODNAME)
, __FUNCTION__, __LINE__); printk(args); } } while (0)
do { if (debug) { printk("%s: %s()[%d]: ",
KBUILD_MODNAME
, __FUNCTION__, __LINE__); printk(args); } } while (0)
#define SWITCH 0x00
#define SWITCH 0x00
#define LEVEL_ADJUST 0x02
#define LEVEL_ADJUST 0x02
...
...
drivers/media/video/tea6415c.c
浏览文件 @
57d1c91f
...
@@ -36,7 +36,7 @@ static int debug = 0; /* insmod parameter */
...
@@ -36,7 +36,7 @@ static int debug = 0; /* insmod parameter */
module_param
(
debug
,
int
,
0644
);
module_param
(
debug
,
int
,
0644
);
MODULE_PARM_DESC
(
debug
,
"Turn on/off device debugging (default:off)."
);
MODULE_PARM_DESC
(
debug
,
"Turn on/off device debugging (default:off)."
);
#define dprintk(args...) \
#define dprintk(args...) \
do { if (debug) { printk("%s: %s()[%d]: ",
__stringify(KBUILD_MODNAME)
, __FUNCTION__, __LINE__); printk(args); } } while (0)
do { if (debug) { printk("%s: %s()[%d]: ",
KBUILD_MODNAME
, __FUNCTION__, __LINE__); printk(args); } } while (0)
#define TEA6415C_NUM_INPUTS 8
#define TEA6415C_NUM_INPUTS 8
#define TEA6415C_NUM_OUTPUTS 6
#define TEA6415C_NUM_OUTPUTS 6
...
...
drivers/media/video/tea6420.c
浏览文件 @
57d1c91f
...
@@ -36,7 +36,7 @@ static int debug = 0; /* insmod parameter */
...
@@ -36,7 +36,7 @@ static int debug = 0; /* insmod parameter */
module_param
(
debug
,
int
,
0644
);
module_param
(
debug
,
int
,
0644
);
MODULE_PARM_DESC
(
debug
,
"Turn on/off device debugging (default:off)."
);
MODULE_PARM_DESC
(
debug
,
"Turn on/off device debugging (default:off)."
);
#define dprintk(args...) \
#define dprintk(args...) \
do { if (debug) { printk("%s: %s()[%d]: ",
__stringify(KBUILD_MODNAME)
, __FUNCTION__, __LINE__); printk(args); } } while (0)
do { if (debug) { printk("%s: %s()[%d]: ",
KBUILD_MODNAME
, __FUNCTION__, __LINE__); printk(args); } } while (0)
/* addresses to scan, found only at 0x4c and/or 0x4d (7-Bit) */
/* addresses to scan, found only at 0x4c and/or 0x4d (7-Bit) */
static
unsigned
short
normal_i2c
[]
=
{
I2C_TEA6420_1
,
I2C_TEA6420_2
,
I2C_CLIENT_END
};
static
unsigned
short
normal_i2c
[]
=
{
I2C_TEA6420_1
,
I2C_TEA6420_2
,
I2C_CLIENT_END
};
...
...
include/linux/moduleparam.h
浏览文件 @
57d1c91f
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
#ifdef MODULE
#ifdef MODULE
#define MODULE_PARAM_PREFIX
/* empty */
#define MODULE_PARAM_PREFIX
/* empty */
#else
#else
#define MODULE_PARAM_PREFIX
__stringify(KBUILD_MODNAME)
"."
#define MODULE_PARAM_PREFIX
KBUILD_MODNAME
"."
#endif
#endif
#ifdef MODULE
#ifdef MODULE
...
...
include/media/saa7146.h
浏览文件 @
57d1c91f
...
@@ -21,14 +21,14 @@
...
@@ -21,14 +21,14 @@
extern
unsigned
int
saa7146_debug
;
extern
unsigned
int
saa7146_debug
;
//#define DEBUG_PROLOG printk("(0x%08x)(0x%08x) %s: %s(): ",(dev==0?-1:(dev->mem==0?-1:saa7146_read(dev,RPS_ADDR0))),(dev==0?-1:(dev->mem==0?-1:saa7146_read(dev,IER))),
__stringify(KBUILD_MODNAME)
,__FUNCTION__)
//#define DEBUG_PROLOG printk("(0x%08x)(0x%08x) %s: %s(): ",(dev==0?-1:(dev->mem==0?-1:saa7146_read(dev,RPS_ADDR0))),(dev==0?-1:(dev->mem==0?-1:saa7146_read(dev,IER))),
KBUILD_MODNAME
,__FUNCTION__)
#ifndef DEBUG_VARIABLE
#ifndef DEBUG_VARIABLE
#define DEBUG_VARIABLE saa7146_debug
#define DEBUG_VARIABLE saa7146_debug
#endif
#endif
#define DEBUG_PROLOG printk("%s: %s(): ",
__stringify(KBUILD_MODNAME)
,__FUNCTION__)
#define DEBUG_PROLOG printk("%s: %s(): ",
KBUILD_MODNAME
,__FUNCTION__)
#define INFO(x) { printk("%s: ",
__stringify(KBUILD_MODNAME)
); printk x; }
#define INFO(x) { printk("%s: ",
KBUILD_MODNAME
); printk x; }
#define ERR(x) { DEBUG_PROLOG; printk x; }
#define ERR(x) { DEBUG_PROLOG; printk x; }
...
...
net/ipv4/netfilter/ip_nat_ftp.c
浏览文件 @
57d1c91f
...
@@ -171,7 +171,7 @@ static int __init init(void)
...
@@ -171,7 +171,7 @@ static int __init init(void)
/* Prior to 2.6.11, we had a ports param. No longer, but don't break users. */
/* Prior to 2.6.11, we had a ports param. No longer, but don't break users. */
static
int
warn_set
(
const
char
*
val
,
struct
kernel_param
*
kp
)
static
int
warn_set
(
const
char
*
val
,
struct
kernel_param
*
kp
)
{
{
printk
(
KERN_INFO
__stringify
(
KBUILD_MODNAME
)
printk
(
KERN_INFO
KBUILD_MODNAME
": kernel >= 2.6.10 only uses 'ports' for conntrack modules
\n
"
);
": kernel >= 2.6.10 only uses 'ports' for conntrack modules
\n
"
);
return
0
;
return
0
;
}
}
...
...
net/ipv4/netfilter/ip_nat_irc.c
浏览文件 @
57d1c91f
...
@@ -113,7 +113,7 @@ static int __init init(void)
...
@@ -113,7 +113,7 @@ static int __init init(void)
/* Prior to 2.6.11, we had a ports param. No longer, but don't break users. */
/* Prior to 2.6.11, we had a ports param. No longer, but don't break users. */
static
int
warn_set
(
const
char
*
val
,
struct
kernel_param
*
kp
)
static
int
warn_set
(
const
char
*
val
,
struct
kernel_param
*
kp
)
{
{
printk
(
KERN_INFO
__stringify
(
KBUILD_MODNAME
)
printk
(
KERN_INFO
KBUILD_MODNAME
": kernel >= 2.6.10 only uses 'ports' for conntrack modules
\n
"
);
": kernel >= 2.6.10 only uses 'ports' for conntrack modules
\n
"
);
return
0
;
return
0
;
}
}
...
...
scripts/kconfig/Makefile
浏览文件 @
57d1c91f
...
@@ -133,8 +133,8 @@ HOSTCFLAGS_zconf.tab.o := -I$(src)
...
@@ -133,8 +133,8 @@ HOSTCFLAGS_zconf.tab.o := -I$(src)
HOSTLOADLIBES_qconf
=
$(KC_QT_LIBS)
-ldl
HOSTLOADLIBES_qconf
=
$(KC_QT_LIBS)
-ldl
HOSTCXXFLAGS_qconf.o
=
$(KC_QT_CFLAGS)
-D
LKC_DIRECT_LINK
HOSTCXXFLAGS_qconf.o
=
$(KC_QT_CFLAGS)
-D
LKC_DIRECT_LINK
HOSTLOADLIBES_gconf
=
`
pkg-config
gtk+-2.0 gmodule-2.0 libglade-2.0
--libs
`
HOSTLOADLIBES_gconf
=
`
pkg-config
--libs
gtk+-2.0 gmodule-2.0 libglade-2.0
`
HOSTCFLAGS_gconf.o
=
`
pkg-config
gtk+-2.0 gmodule-2.0 libglade-2.0
--cflags
`
\
HOSTCFLAGS_gconf.o
=
`
pkg-config
--cflags
gtk+-2.0 gmodule-2.0 libglade-2.0
`
\
-D
LKC_DIRECT_LINK
-D
LKC_DIRECT_LINK
$(obj)/qconf.o
:
$(obj)/.tmp_qtcheck
$(obj)/qconf.o
:
$(obj)/.tmp_qtcheck
...
@@ -193,8 +193,8 @@ ifeq ($(gconf-target),1)
...
@@ -193,8 +193,8 @@ ifeq ($(gconf-target),1)
# GTK needs some extra effort, too...
# GTK needs some extra effort, too...
$(obj)/.tmp_gtkcheck
:
$(obj)/.tmp_gtkcheck
:
@
if
`
pkg-config
gtk+-2.0 gmodule-2.0 libglade-2.0
--exists
`
;
then
\
@
if
`
pkg-config
--exists
gtk+-2.0 gmodule-2.0 libglade-2.0
`
;
then
\
if
`
pkg-config
gtk+-2.0
--atleast-version
=
2.0
.0
`
;
then
\
if
`
pkg-config
--atleast-version
=
2.0.0 gtk+-2
.0
`
;
then
\
touch
$@
;
\
touch
$@
;
\
else
\
else
\
echo
"*"
;
\
echo
"*"
;
\
...
...
scripts/setlocalversion
浏览文件 @
57d1c91f
#!/
usr/bin/perl
#!/
bin/sh
#
Copyright 2004 - Ryan Anderson <ryan@michonline.com> GPL v2
#
Print additional version information for non-release trees.
use
strict
;
usage
()
{
use
warnings
;
echo
"Usage:
$0
[srctree]"
>
&2
use
Digest::
MD5
;
exit
1
require
5.006
;
if
(
@ARGV
!=
1
)
{
print
<<EOT;
Usage: setlocalversion <srctree>
EOT
exit
(
1
);
}
}
my
(
$srctree
)
=
@ARGV
;
cd
"
${
1
:-
.
}
"
||
usage
chdir
(
$srctree
);
my
@LOCALVERSIONS
=
();
# We are going to use the following commands to try and determine if this
# repository is at a Version boundary (i.e, 2.6.10 vs 2.6.10 + some patches) We
# currently assume that all meaningful version boundaries are marked by a tag.
# We don't care what the tag is, just that something exists.
# Git/Cogito store the top-of-tree "commit" in .git/HEAD
# A list of known tags sits in .git/refs/tags/
#
# The simple trick here is to just compare the two of these, and if we get a
# match, return nothing, otherwise, return a subset of the SHA-1 hash in
# .git/HEAD
sub
do_git_checks
{
open
(
H
,"
<.git/HEAD
")
or
return
;
my
$head
=
<
H
>
;
chomp
$head
;
close
(
H
);
opendir
(
D
,"
.git/refs/tags
")
or
return
;
# Check for git and a git repo.
foreach
my
$tagfile
(
grep
!
/^\.{1,2}$/
,
readdir
(
D
))
{
if
head
=
`
git rev-parse
--verify
HEAD 2>/dev/null
`
;
then
open
(
F
,"
<.git/refs/tags/
"
.
$tagfile
)
or
return
;
# Do we have an untagged version?
my
$tag
=
<
F
>
;
if
[
"
`
git name-rev
--tags
HEAD
`
"
=
"HEAD undefined"
]
;
then
chomp
$tag
;
printf
'%s%s'
-g
`
echo
"
$head
"
|
cut
-c1-8
`
close
(
F
);
fi
return
if
(
$tag
eq
$head
);
}
closedir
(
D
);
push
@LOCALVERSIONS
,
"
g
"
.
substr
(
$head
,
0
,
8
);
}
if
(
-
d
"
.git
")
{
do_git_checks
();
}
printf
"
-%s
\n
",
join
("
-
",
@LOCALVERSIONS
)
if
(
scalar
@LOCALVERSIONS
>
0
);
# Are there uncommitted changes?
if
git diff-files |
read
dummy
;
then
printf
'%s'
-git_dirty
fi
fi
security/capability.c
浏览文件 @
57d1c91f
...
@@ -49,8 +49,6 @@ static struct security_operations capability_ops = {
...
@@ -49,8 +49,6 @@ static struct security_operations capability_ops = {
.
vm_enough_memory
=
cap_vm_enough_memory
,
.
vm_enough_memory
=
cap_vm_enough_memory
,
};
};
#define MY_NAME __stringify(KBUILD_MODNAME)
/* flag to keep track of how we were registered */
/* flag to keep track of how we were registered */
static
int
secondary
;
static
int
secondary
;
...
@@ -67,7 +65,7 @@ static int __init capability_init (void)
...
@@ -67,7 +65,7 @@ static int __init capability_init (void)
/* register ourselves with the security framework */
/* register ourselves with the security framework */
if
(
register_security
(
&
capability_ops
))
{
if
(
register_security
(
&
capability_ops
))
{
/* try registering with primary module */
/* try registering with primary module */
if
(
mod_reg_security
(
MY_
NAME
,
&
capability_ops
))
{
if
(
mod_reg_security
(
KBUILD_MOD
NAME
,
&
capability_ops
))
{
printk
(
KERN_INFO
"Failure registering capabilities "
printk
(
KERN_INFO
"Failure registering capabilities "
"with primary security module.
\n
"
);
"with primary security module.
\n
"
);
return
-
EINVAL
;
return
-
EINVAL
;
...
@@ -85,7 +83,7 @@ static void __exit capability_exit (void)
...
@@ -85,7 +83,7 @@ static void __exit capability_exit (void)
return
;
return
;
/* remove ourselves from the security framework */
/* remove ourselves from the security framework */
if
(
secondary
)
{
if
(
secondary
)
{
if
(
mod_unreg_security
(
MY_
NAME
,
&
capability_ops
))
if
(
mod_unreg_security
(
KBUILD_MOD
NAME
,
&
capability_ops
))
printk
(
KERN_INFO
"Failure unregistering capabilities "
printk
(
KERN_INFO
"Failure unregistering capabilities "
"with primary module.
\n
"
);
"with primary module.
\n
"
);
return
;
return
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录