Skip to content

Commit

Permalink
Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild
Browse files Browse the repository at this point in the history
  • Loading branch information
Linus Torvalds committed Jan 6, 2006
2 parents 47853e7 + 3719314 commit 57d1c91
Show file tree
Hide file tree
Showing 15 changed files with 75 additions and 71 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
*.a
*.s
*.ko
*.so
*.mod.c

#
Expand Down
40 changes: 40 additions & 0 deletions Documentation/kbuild/modules.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ In this document you will find information about:
=== 5. Include files
--- 5.1 How to include files from the kernel include dir
--- 5.2 External modules using an include/ dir
--- 5.3 External modules using several directories
=== 6. Module installation
--- 6.1 INSTALL_MOD_PATH
--- 6.2 INSTALL_MOD_DIR
Expand Down Expand Up @@ -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.
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

Expand Down
1 change: 0 additions & 1 deletion arch/x86_64/ia32/.gitignore

This file was deleted.

2 changes: 1 addition & 1 deletion drivers/media/dvb/cinergyT2/cinergyT2.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ MODULE_PARM_DESC(debug, "Turn on/off debugging (default:off).");
#define dprintk(level, args...) \
do { \
if ((debug & level)) { \
printk("%s: %s(): ", __stringify(KBUILD_MODNAME), \
printk("%s: %s(): ", KBUILD_MODNAME, \
__FUNCTION__); \
printk(args); } \
} while (0)
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/dvb/ttpci/budget.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ extern int budget_debug;
#endif

#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 {
char *name;
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/video/tda9840.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ static int debug = 0; /* insmod parameter */
module_param(debug, int, 0644);
MODULE_PARM_DESC(debug, "Turn on/off device debugging (default:off).");
#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 LEVEL_ADJUST 0x02
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/video/tea6415c.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ static int debug = 0; /* insmod parameter */
module_param(debug, int, 0644);
MODULE_PARM_DESC(debug, "Turn on/off device debugging (default:off).");
#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_OUTPUTS 6
Expand Down
2 changes: 1 addition & 1 deletion drivers/media/video/tea6420.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ static int debug = 0; /* insmod parameter */
module_param(debug, int, 0644);
MODULE_PARM_DESC(debug, "Turn on/off device debugging (default:off).");
#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) */
static unsigned short normal_i2c[] = { I2C_TEA6420_1, I2C_TEA6420_2, I2C_CLIENT_END };
Expand Down
2 changes: 1 addition & 1 deletion include/linux/moduleparam.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
#ifdef MODULE
#define MODULE_PARAM_PREFIX /* empty */
#else
#define MODULE_PARAM_PREFIX __stringify(KBUILD_MODNAME) "."
#define MODULE_PARAM_PREFIX KBUILD_MODNAME "."
#endif

#ifdef MODULE
Expand Down
6 changes: 3 additions & 3 deletions include/media/saa7146.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,14 @@

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
#define DEBUG_VARIABLE saa7146_debug
#endif

#define DEBUG_PROLOG printk("%s: %s(): ",__stringify(KBUILD_MODNAME),__FUNCTION__)
#define INFO(x) { printk("%s: ",__stringify(KBUILD_MODNAME)); printk x; }
#define DEBUG_PROLOG printk("%s: %s(): ",KBUILD_MODNAME,__FUNCTION__)
#define INFO(x) { printk("%s: ",KBUILD_MODNAME); printk x; }

#define ERR(x) { DEBUG_PROLOG; printk x; }

Expand Down
2 changes: 1 addition & 1 deletion net/ipv4/netfilter/ip_nat_ftp.c
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
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");
return 0;
}
Expand Down
2 changes: 1 addition & 1 deletion net/ipv4/netfilter/ip_nat_irc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
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");
return 0;
}
Expand Down
8 changes: 4 additions & 4 deletions scripts/kconfig/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -133,8 +133,8 @@ HOSTCFLAGS_zconf.tab.o := -I$(src)
HOSTLOADLIBES_qconf = $(KC_QT_LIBS) -ldl
HOSTCXXFLAGS_qconf.o = $(KC_QT_CFLAGS) -D LKC_DIRECT_LINK

HOSTLOADLIBES_gconf = `pkg-config gtk+-2.0 gmodule-2.0 libglade-2.0 --libs`
HOSTCFLAGS_gconf.o = `pkg-config gtk+-2.0 gmodule-2.0 libglade-2.0 --cflags` \
HOSTLOADLIBES_gconf = `pkg-config --libs gtk+-2.0 gmodule-2.0 libglade-2.0`
HOSTCFLAGS_gconf.o = `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
-D LKC_DIRECT_LINK

$(obj)/qconf.o: $(obj)/.tmp_qtcheck
Expand Down Expand Up @@ -193,8 +193,8 @@ ifeq ($(gconf-target),1)

# GTK needs some extra effort, too...
$(obj)/.tmp_gtkcheck:
@if `pkg-config gtk+-2.0 gmodule-2.0 libglade-2.0 --exists`; then \
if `pkg-config gtk+-2.0 --atleast-version=2.0.0`; then \
@if `pkg-config --exists gtk+-2.0 gmodule-2.0 libglade-2.0`; then \
if `pkg-config --atleast-version=2.0.0 gtk+-2.0`; then \
touch $@; \
else \
echo "*"; \
Expand Down
68 changes: 17 additions & 51 deletions scripts/setlocalversion
Original file line number Diff line number Diff line change
@@ -1,56 +1,22 @@
#!/usr/bin/perl
# Copyright 2004 - Ryan Anderson <ryan@michonline.com> GPL v2
#!/bin/sh
# Print additional version information for non-release trees.

use strict;
use warnings;
use Digest::MD5;
require 5.006;

if (@ARGV != 1) {
print <<EOT;
Usage: setlocalversion <srctree>
EOT
exit(1);
usage() {
echo "Usage: $0 [srctree]" >&2
exit 1
}

my ($srctree) = @ARGV;
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);
cd "${1:-.}" || usage

opendir(D,".git/refs/tags") or return;
foreach my $tagfile (grep !/^\.{1,2}$/, readdir(D)) {
open(F,"<.git/refs/tags/" . $tagfile) or return;
my $tag = <F>;
chomp $tag;
close(F);
return if ($tag eq $head);
}
closedir(D);

push @LOCALVERSIONS, "g" . substr($head,0,8);
}

if ( -d ".git") {
do_git_checks();
}
# Check for git and a git repo.
if head=`git rev-parse --verify HEAD 2>/dev/null`; then
# Do we have an untagged version?
if [ "`git name-rev --tags HEAD`" = "HEAD undefined" ]; then
printf '%s%s' -g `echo "$head" | cut -c1-8`
fi

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
6 changes: 2 additions & 4 deletions security/capability.c
Original file line number Diff line number Diff line change
Expand Up @@ -49,8 +49,6 @@ static struct security_operations capability_ops = {
.vm_enough_memory = cap_vm_enough_memory,
};

#define MY_NAME __stringify(KBUILD_MODNAME)

/* flag to keep track of how we were registered */
static int secondary;

Expand All @@ -67,7 +65,7 @@ static int __init capability_init (void)
/* register ourselves with the security framework */
if (register_security (&capability_ops)) {
/* try registering with primary module */
if (mod_reg_security (MY_NAME, &capability_ops)) {
if (mod_reg_security (KBUILD_MODNAME, &capability_ops)) {
printk (KERN_INFO "Failure registering capabilities "
"with primary security module.\n");
return -EINVAL;
Expand All @@ -85,7 +83,7 @@ static void __exit capability_exit (void)
return;
/* remove ourselves from the security framework */
if (secondary) {
if (mod_unreg_security (MY_NAME, &capability_ops))
if (mod_unreg_security (KBUILD_MODNAME, &capability_ops))
printk (KERN_INFO "Failure unregistering capabilities "
"with primary module.\n");
return;
Expand Down

0 comments on commit 57d1c91

Please sign in to comment.