Merge 3.3-rc6 into driver-core-next
This was done to resolve a conflict in the drivers/base/cpu.c file. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
@ -1924,6 +1924,12 @@ sub process {
|
||||
my $pre_ctx = "$1$2";
|
||||
|
||||
my ($level, @ctx) = ctx_statement_level($linenr, $realcnt, 0);
|
||||
|
||||
if ($line =~ /^\+\t{6,}/) {
|
||||
WARN("DEEP_INDENTATION",
|
||||
"Too many leading tabs - consider code refactoring\n" . $herecurr);
|
||||
}
|
||||
|
||||
my $ctx_cnt = $realcnt - $#ctx - 1;
|
||||
my $ctx = join("\n", @ctx);
|
||||
|
||||
|
@ -9,15 +9,10 @@ if [ "$C" = "1" -o "$C" = "2" ]; then
|
||||
# FLAGS="-ignore_unknown_options -very_quiet"
|
||||
# OPTIONS=$*
|
||||
|
||||
if [ "$KBUILD_EXTMOD" = "" ] ; then
|
||||
# Workaround for Coccinelle < 0.2.3
|
||||
FLAGS="-I $srctree/include -very_quiet"
|
||||
shift $(( $# - 1 ))
|
||||
OPTIONS=$1
|
||||
else
|
||||
echo M= is not currently supported when C=1 or C=2
|
||||
exit 1
|
||||
fi
|
||||
# Workaround for Coccinelle < 0.2.3
|
||||
FLAGS="-I $srctree/include -very_quiet"
|
||||
shift $(( $# - 1 ))
|
||||
OPTIONS=$1
|
||||
else
|
||||
ONLINE=0
|
||||
FLAGS="-very_quiet"
|
||||
|
@ -9,12 +9,6 @@ fi
|
||||
DEPMOD=$1
|
||||
KERNELRELEASE=$2
|
||||
|
||||
if ! "$DEPMOD" -V 2>/dev/null | grep -q module-init-tools; then
|
||||
echo "Warning: you may need to install module-init-tools" >&2
|
||||
echo "See http://www.codemonkey.org.uk/docs/post-halloween-2.6.txt" >&2
|
||||
sleep 1
|
||||
fi
|
||||
|
||||
if ! test -r System.map -a -x "$DEPMOD"; then
|
||||
exit 0
|
||||
fi
|
||||
|
@ -46,11 +46,37 @@ struct devtable {
|
||||
void *function;
|
||||
};
|
||||
|
||||
#define ___cat(a,b) a ## b
|
||||
#define __cat(a,b) ___cat(a,b)
|
||||
|
||||
/* we need some special handling for this host tool running eventually on
|
||||
* Darwin. The Mach-O section handling is a bit different than ELF section
|
||||
* handling. The differnces in detail are:
|
||||
* a) we have segments which have sections
|
||||
* b) we need a API call to get the respective section symbols */
|
||||
#if defined(__MACH__)
|
||||
#include <mach-o/getsect.h>
|
||||
|
||||
#define INIT_SECTION(name) do { \
|
||||
unsigned long name ## _len; \
|
||||
char *__cat(pstart_,name) = getsectdata("__TEXT", \
|
||||
#name, &__cat(name,_len)); \
|
||||
char *__cat(pstop_,name) = __cat(pstart_,name) + \
|
||||
__cat(name, _len); \
|
||||
__cat(__start_,name) = (void *)__cat(pstart_,name); \
|
||||
__cat(__stop_,name) = (void *)__cat(pstop_,name); \
|
||||
} while (0)
|
||||
#define SECTION(name) __attribute__((section("__TEXT, " #name)))
|
||||
|
||||
struct devtable **__start___devtable, **__stop___devtable;
|
||||
#else
|
||||
#define INIT_SECTION(name) /* no-op for ELF */
|
||||
#define SECTION(name) __attribute__((section(#name)))
|
||||
|
||||
/* We construct a table of pointers in an ELF section (pointers generally
|
||||
* go unpadded by gcc). ld creates boundary syms for us. */
|
||||
extern struct devtable *__start___devtable[], *__stop___devtable[];
|
||||
#define ___cat(a,b) a ## b
|
||||
#define __cat(a,b) ___cat(a,b)
|
||||
#endif /* __MACH__ */
|
||||
|
||||
#if __GNUC__ == 3 && __GNUC_MINOR__ < 3
|
||||
# define __used __attribute__((__unused__))
|
||||
@ -65,8 +91,8 @@ extern struct devtable *__start___devtable[], *__stop___devtable[];
|
||||
(type *)NULL, \
|
||||
(char *)NULL)), \
|
||||
sizeof(type), (function) }; \
|
||||
static struct devtable *__attribute__((section("__devtable"))) \
|
||||
__used __cat(devtable_ptr,__LINE__) = &__cat(devtable,__LINE__)
|
||||
static struct devtable *SECTION(__devtable) __used \
|
||||
__cat(devtable_ptr,__LINE__) = &__cat(devtable,__LINE__)
|
||||
|
||||
#define ADD(str, sep, cond, field) \
|
||||
do { \
|
||||
@ -932,7 +958,7 @@ static int do_isapnp_entry(const char *filename,
|
||||
(id->function >> 12) & 0x0f, (id->function >> 8) & 0x0f);
|
||||
return 1;
|
||||
}
|
||||
ADD_TO_DEVTABLE("isa", struct isapnp_device_id, do_isapnp_entry);
|
||||
ADD_TO_DEVTABLE("isapnp", struct isapnp_device_id, do_isapnp_entry);
|
||||
|
||||
/*
|
||||
* Append a match expression for a single masked hex digit.
|
||||
@ -1105,6 +1131,7 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,
|
||||
do_pnp_card_entries(symval, sym->st_size, mod);
|
||||
else {
|
||||
struct devtable **p;
|
||||
INIT_SECTION(__devtable);
|
||||
|
||||
for (p = __start___devtable; p < __stop___devtable; p++) {
|
||||
if (sym_is(name, namelen, (*p)->device_id)) {
|
||||
|
@ -1494,6 +1494,13 @@ static int addend_386_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifndef R_ARM_CALL
|
||||
#define R_ARM_CALL 28
|
||||
#endif
|
||||
#ifndef R_ARM_JUMP24
|
||||
#define R_ARM_JUMP24 29
|
||||
#endif
|
||||
|
||||
static int addend_arm_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r)
|
||||
{
|
||||
unsigned int r_typ = ELF_R_TYPE(r->r_info);
|
||||
@ -1505,6 +1512,8 @@ static int addend_arm_rel(struct elf_info *elf, Elf_Shdr *sechdr, Elf_Rela *r)
|
||||
(elf->symtab_start + ELF_R_SYM(r->r_info));
|
||||
break;
|
||||
case R_ARM_PC24:
|
||||
case R_ARM_CALL:
|
||||
case R_ARM_JUMP24:
|
||||
/* From ARM ABI: ((S + A) | T) - P */
|
||||
r->r_addend = (int)(long)(elf->hdr +
|
||||
sechdr->sh_offset +
|
||||
|
@ -238,14 +238,14 @@ EOF
|
||||
fi
|
||||
|
||||
# Build header package
|
||||
(cd $srctree; find . -name Makefile -o -name Kconfig\* -o -name \*.pl > /tmp/files$$)
|
||||
(cd $srctree; find arch/$SRCARCH/include include scripts -type f >> /tmp/files$$)
|
||||
(cd $objtree; find .config Module.symvers include scripts -type f >> /tmp/objfiles$$)
|
||||
(cd $srctree; find . -name Makefile -o -name Kconfig\* -o -name \*.pl > "$objtree/debian/hdrsrcfiles")
|
||||
(cd $srctree; find arch/$SRCARCH/include include scripts -type f >> "$objtree/debian/hdrsrcfiles")
|
||||
(cd $objtree; find .config Module.symvers include scripts -type f >> "$objtree/debian/hdrobjfiles")
|
||||
destdir=$kernel_headers_dir/usr/src/linux-headers-$version
|
||||
mkdir -p "$destdir"
|
||||
(cd $srctree; tar -c -f - -T /tmp/files$$) | (cd $destdir; tar -xf -)
|
||||
(cd $objtree; tar -c -f - -T /tmp/objfiles$$) | (cd $destdir; tar -xf -)
|
||||
rm -f /tmp/files$$ /tmp/objfiles$$
|
||||
(cd $srctree; tar -c -f - -T "$objtree/debian/hdrsrcfiles") | (cd $destdir; tar -xf -)
|
||||
(cd $objtree; tar -c -f - -T "$objtree/debian/hdrobjfiles") | (cd $destdir; tar -xf -)
|
||||
rm -f "$objtree/debian/hdrsrcfiles" "$objtree/debian/hdrobjfiles"
|
||||
arch=$(dpkg --print-architecture)
|
||||
|
||||
cat <<EOF >> debian/control
|
||||
|
Reference in New Issue
Block a user