Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
linux-arm
linux-iv
Commits
adaf4ed2
Commit
adaf4ed2
authored
Jan 04, 2012
by
Ingo Molnar
Browse files
Merge commit 'v3.2-rc7' into x86/asm
Merge reason: Update from -rc4 to -rc7. Signed-off-by:
Ingo Molnar
<
mingo@elte.hu
>
parents
ca3d30cc
5f0a6e2d
Changes
537
Hide whitespace changes
Inline
Side-by-side
CREDITS
View file @
adaf4ed2
...
...
@@ -688,10 +688,13 @@ S: Oxfordshire, UK.
N: Kees Cook
E: kees@outflux.net
W: http://outflux.net/
P: 1024D/17063E6D 9FA3 C49C 23C9 D1BC 2E30 1975 1FFF 4BA9 1706 3E6D
D: Minor updates to SCSI types, added /proc/pid/maps protection
E: kees@ubuntu.com
E: keescook@chromium.org
W: http://outflux.net/blog/
P: 4096R/DC6DC026 A5C3 F68F 229D D60F 723E 6E13 8972 F4DF DC6D C026
D: Various security things, bug fixes, and documentation.
S: (ask for current address)
S: Portland, Oregon
S: USA
N: Robin Cornelius
...
...
Documentation/ABI/testing/sysfs-bus-rbd
View file @
adaf4ed2
...
...
@@ -57,13 +57,6 @@ create_snap
$ echo <snap-name> > /sys/bus/rbd/devices/<dev-id>/snap_create
rollback_snap
Rolls back data to the specified snapshot. This goes over the entire
list of rados blocks and sends a rollback command to each.
$ echo <snap-name> > /sys/bus/rbd/devices/<dev-id>/snap_rollback
snap_*
A directory per each snapshot
...
...
Documentation/kernel-parameters.txt
View file @
adaf4ed2
...
...
@@ -315,12 +315,12 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
CPU-intensive style benchmark, and it can vary highly in
a microbenchmark depending on workload and compiler.
1
: only for 32-bit processes
2
: only for 64-bit processes
32
: only for 32-bit processes
64
: only for 64-bit processes
on: enable for both 32- and 64-bit processes
off: disable for both 32- and 64-bit processes
amd_iommu= [HW,X86-
8
4]
amd_iommu= [HW,X86-
6
4]
Pass parameters to the AMD IOMMU driver in the system.
Possible values are:
fullflush - enable flushing of IO/TLB entries when
...
...
Documentation/networking/ip-sysctl.txt
View file @
adaf4ed2
...
...
@@ -282,11 +282,11 @@ tcp_max_ssthresh - INTEGER
Default: 0 (off)
tcp_max_syn_backlog - INTEGER
Maximal number of remembered connection requests, which
are
still did not
receive an acknowledgment from connecting client.
Default
value is 1
024
for
systems with more than 128Mb of memory,
and 128 for low
memory machine
s. If server suffers of overload,
try
to
increas
e
this number.
Maximal number of remembered connection requests, which
have not
receive
d
an acknowledgment from connecting client.
The minimal
value is 1
28
for
low memory machines, and it will
increase in proportion to the
memory
of
machine
.
If server suffers from overload,
try increas
ing
this number.
tcp_max_tw_buckets - INTEGER
Maximal number of timewait sockets held by system simultaneously.
...
...
Documentation/sound/alsa/soc/machine.txt
View file @
adaf4ed2
...
...
@@ -50,8 +50,7 @@ Machine DAI Configuration
The machine DAI configuration glues all the codec and CPU DAIs together. It can
also be used to set up the DAI system clock and for any machine related DAI
initialisation e.g. the machine audio map can be connected to the codec audio
map, unconnected codec pins can be set as such. Please see corgi.c, spitz.c
for examples.
map, unconnected codec pins can be set as such.
struct snd_soc_dai_link is used to set up each DAI in your machine. e.g.
...
...
@@ -83,8 +82,7 @@ Machine Power Map
The machine driver can optionally extend the codec power map and to become an
audio power map of the audio subsystem. This allows for automatic power up/down
of speaker/HP amplifiers, etc. Codec pins can be connected to the machines jack
sockets in the machine init function. See soc/pxa/spitz.c and dapm.txt for
details.
sockets in the machine init function.
Machine Controls
...
...
MAINTAINERS
View file @
adaf4ed2
...
...
@@ -511,8 +511,8 @@ M: Joerg Roedel <joerg.roedel@amd.com>
L: iommu@lists.linux-foundation.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/joro/linux-2.6-iommu.git
S: Supported
F:
arch/x86/kernel
/amd_iommu*.
c
F:
arch/x86/
include/
asm
/amd
_
iommu
*
.h
F:
drivers/iommu
/amd_iommu*.
[ch]
F: include/
linux
/amd
-
iommu.h
AMD MICROCODE UPDATE SUPPORT
M: Andreas Herrmann <andreas.herrmann3@amd.com>
...
...
@@ -1054,35 +1054,18 @@ ARM/SAMSUNG ARM ARCHITECTURES
M: Ben Dooks <ben-linux@fluff.org>
M: Kukjin Kim <kgene.kim@samsung.com>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L: linux-samsung-soc@vger.kernel.org (moderated for non-subscribers)
W: http://www.fluff.org/ben/linux/
S: Maintained
F: arch/arm/plat-samsung/
F: arch/arm/plat-s3c24xx/
F: arch/arm/plat-s5p/
F: arch/arm/mach-s3c24*/
F: arch/arm/mach-s3c64xx/
F: drivers/*/*s3c2410*
F: drivers/*/*/*s3c2410*
ARM/S3C2410 ARM ARCHITECTURE
M: Ben Dooks <ben-linux@fluff.org>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W: http://www.fluff.org/ben/linux/
S: Maintained
F: arch/arm/mach-s3c2410/
ARM/S3C244x ARM ARCHITECTURE
M: Ben Dooks <ben-linux@fluff.org>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W: http://www.fluff.org/ben/linux/
S: Maintained
F: arch/arm/mach-s3c2440/
F: arch/arm/mach-s3c2443/
ARM/S3C64xx ARM ARCHITECTURE
M: Ben Dooks <ben-linux@fluff.org>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W: http://www.fluff.org/ben/linux/
S: Maintained
F: arch/arm/mach-s3c64xx/
F: drivers/spi/spi-s3c*
F: sound/soc/samsung/*
ARM/S5P EXYNOS ARM ARCHITECTURES
M: Kukjin Kim <kgene.kim@samsung.com>
...
...
@@ -3118,6 +3101,7 @@ F: include/linux/hid*
HIGH-RESOLUTION TIMERS, CLOCKEVENTS, DYNTICKS
M: Thomas Gleixner <tglx@linutronix.de>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
S: Maintained
F: Documentation/timers/
F: kernel/hrtimer.c
...
...
@@ -3627,7 +3611,7 @@ F: net/irda/
IRQ SUBSYSTEM
M: Thomas Gleixner <tglx@linutronix.de>
S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/
linux-2.6-
tip.git irq/core
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
F: kernel/irq/
ISAPNP
...
...
@@ -4115,7 +4099,7 @@ F: drivers/hwmon/lm90.c
LOCKDEP AND LOCKSTAT
M: Peter Zijlstra <peterz@infradead.org>
M: Ingo Molnar <mingo@redhat.com>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/
peterz/linux-2.6-lockdep.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/
tip/tip.git core/locking
S: Maintained
F: Documentation/lockdep*.txt
F: Documentation/lockstat.txt
...
...
@@ -4297,7 +4281,9 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6.git
S: Maintained
F: Documentation/dvb/
F: Documentation/video4linux/
F: Documentation/DocBook/media/
F: drivers/media/
F: drivers/staging/media/
F: include/media/
F: include/linux/dvb/
F: include/linux/videodev*.h
...
...
@@ -4319,8 +4305,9 @@ F: include/linux/mm.h
F: mm/
MEMORY RESOURCE CONTROLLER
M: Johannes Weiner <hannes@cmpxchg.org>
M: Michal Hocko <mhocko@suse.cz>
M: Balbir Singh <bsingharora@gmail.com>
M: Daisuke Nishimura <nishimura@mxp.nes.nec.co.jp>
M: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
L: cgroups@vger.kernel.org
L: linux-mm@kvack.org
...
...
@@ -5102,6 +5089,7 @@ M: Peter Zijlstra <a.p.zijlstra@chello.nl>
M: Paul Mackerras <paulus@samba.org>
M: Ingo Molnar <mingo@elte.hu>
M: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/core
S: Supported
F: kernel/events/*
F: include/linux/perf_event.h
...
...
@@ -5181,6 +5169,7 @@ F: drivers/scsi/pm8001/
POSIX CLOCKS and TIMERS
M: Thomas Gleixner <tglx@linutronix.de>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
S: Supported
F: fs/timerfd.c
F: include/linux/timer*
...
...
@@ -5696,6 +5685,7 @@ F: drivers/dma/dw_dmac.c
TIMEKEEPING, NTP
M: John Stultz <johnstul@us.ibm.com>
M: Thomas Gleixner <tglx@linutronix.de>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core
S: Supported
F: include/linux/clocksource.h
F: include/linux/time.h
...
...
@@ -5720,6 +5710,7 @@ F: drivers/watchdog/sc1200wdt.c
SCHEDULER
M: Ingo Molnar <mingo@elte.hu>
M: Peter Zijlstra <peterz@infradead.org>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git sched/core
S: Maintained
F: kernel/sched*
F: include/linux/sched.h
...
...
@@ -6647,7 +6638,7 @@ TRACING
M: Steven Rostedt <rostedt@goodmis.org>
M: Frederic Weisbecker <fweisbec@gmail.com>
M: Ingo Molnar <mingo@redhat.com>
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/
linux-2.6-
tip.git perf/core
T: git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git perf/core
S: Maintained
F: Documentation/trace/ftrace.txt
F: arch/*/*/*/ftrace.h
...
...
@@ -7397,7 +7388,7 @@ M: Thomas Gleixner <tglx@linutronix.de>
M: Ingo Molnar <mingo@redhat.com>
M: "H. Peter Anvin" <hpa@zytor.com>
M: x86@kernel.org
T: git git://git.kernel.org/pub/scm/linux/kernel/git/
x86/linux-2.6-x86.git
T: git git://git.kernel.org/pub/scm/linux/kernel/git/
tip/tip.git x86/core
S: Maintained
F: Documentation/x86/
F: arch/x86/
...
...
Makefile
View file @
adaf4ed2
VERSION
=
3
PATCHLEVEL
=
2
SUBLEVEL
=
0
EXTRAVERSION
=
-rc
4
EXTRAVERSION
=
-rc
7
NAME
=
Saber-toothed Squirrel
# *DOCUMENTATION*
...
...
arch/arm/Kconfig
View file @
adaf4ed2
...
...
@@ -220,8 +220,9 @@ config NEED_MACH_MEMORY_H
be avoided when possible.
config PHYS_OFFSET
hex "Physical address of main memory"
hex "Physical address of main memory"
if MMU
depends on !ARM_PATCH_PHYS_VIRT && !NEED_MACH_MEMORY_H
default DRAM_BASE if !MMU
help
Please provide the physical address corresponding to the
location of main memory in your system.
...
...
arch/arm/configs/omap1_defconfig
View file @
adaf4ed2
...
...
@@ -48,12 +48,7 @@ CONFIG_MACH_SX1=y
CONFIG_MACH_NOKIA770=y
CONFIG_MACH_AMS_DELTA=y
CONFIG_MACH_OMAP_GENERIC=y
CONFIG_OMAP_ARM_216MHZ=y
CONFIG_OMAP_ARM_195MHZ=y
CONFIG_OMAP_ARM_192MHZ=y
CONFIG_OMAP_ARM_182MHZ=y
CONFIG_OMAP_ARM_168MHZ=y
# CONFIG_OMAP_ARM_60MHZ is not set
# CONFIG_ARM_THUMB is not set
CONFIG_PCCARD=y
CONFIG_OMAP_CF=y
...
...
arch/arm/include/asm/unwind.h
View file @
adaf4ed2
...
...
@@ -30,14 +30,15 @@ enum unwind_reason_code {
};
struct
unwind_idx
{
unsigned
long
addr
;
unsigned
long
addr
_offset
;
unsigned
long
insn
;
};
struct
unwind_table
{
struct
list_head
list
;
struct
unwind_idx
*
start
;
struct
unwind_idx
*
stop
;
const
struct
unwind_idx
*
start
;
const
struct
unwind_idx
*
origin
;
const
struct
unwind_idx
*
stop
;
unsigned
long
begin_addr
;
unsigned
long
end_addr
;
};
...
...
@@ -49,15 +50,6 @@ extern struct unwind_table *unwind_table_add(unsigned long start,
extern
void
unwind_table_del
(
struct
unwind_table
*
tab
);
extern
void
unwind_backtrace
(
struct
pt_regs
*
regs
,
struct
task_struct
*
tsk
);
#ifdef CONFIG_ARM_UNWIND
extern
int
__init
unwind_init
(
void
);
#else
static
inline
int
__init
unwind_init
(
void
)
{
return
0
;
}
#endif
#endif
/* !__ASSEMBLY__ */
#ifdef CONFIG_ARM_UNWIND
...
...
arch/arm/kernel/perf_event.c
View file @
adaf4ed2
...
...
@@ -353,15 +353,15 @@ validate_group(struct perf_event *event)
fake_pmu
.
used_mask
=
fake_used_mask
;
if
(
!
validate_event
(
&
fake_pmu
,
leader
))
return
-
E
NOSPC
;
return
-
E
INVAL
;
list_for_each_entry
(
sibling
,
&
leader
->
sibling_list
,
group_entry
)
{
if
(
!
validate_event
(
&
fake_pmu
,
sibling
))
return
-
E
NOSPC
;
return
-
E
INVAL
;
}
if
(
!
validate_event
(
&
fake_pmu
,
event
))
return
-
E
NOSPC
;
return
-
E
INVAL
;
return
0
;
}
...
...
@@ -640,6 +640,9 @@ static struct platform_device_id armpmu_plat_device_ids[] = {
static
int
__devinit
armpmu_device_probe
(
struct
platform_device
*
pdev
)
{
if
(
!
cpu_pmu
)
return
-
ENODEV
;
cpu_pmu
->
plat_device
=
pdev
;
return
0
;
}
...
...
arch/arm/kernel/setup.c
View file @
adaf4ed2
...
...
@@ -895,8 +895,6 @@ void __init setup_arch(char **cmdline_p)
{
struct
machine_desc
*
mdesc
;
unwind_init
();
setup_processor
();
mdesc
=
setup_machine_fdt
(
__atags_pointer
);
if
(
!
mdesc
)
...
...
@@ -904,6 +902,12 @@ void __init setup_arch(char **cmdline_p)
machine_desc
=
mdesc
;
machine_name
=
mdesc
->
name
;
#ifdef CONFIG_ZONE_DMA
if
(
mdesc
->
dma_zone_size
)
{
extern
unsigned
long
arm_dma_zone_size
;
arm_dma_zone_size
=
mdesc
->
dma_zone_size
;
}
#endif
if
(
mdesc
->
soft_reboot
)
reboot_setup
(
"s"
);
...
...
@@ -934,12 +938,6 @@ void __init setup_arch(char **cmdline_p)
tcm_init
();
#ifdef CONFIG_ZONE_DMA
if
(
mdesc
->
dma_zone_size
)
{
extern
unsigned
long
arm_dma_zone_size
;
arm_dma_zone_size
=
mdesc
->
dma_zone_size
;
}
#endif
#ifdef CONFIG_MULTI_IRQ_HANDLER
handle_arch_irq
=
mdesc
->
handle_irq
;
#endif
...
...
arch/arm/kernel/unwind.c
View file @
adaf4ed2
...
...
@@ -67,7 +67,7 @@ EXPORT_SYMBOL(__aeabi_unwind_cpp_pr2);
struct
unwind_ctrl_block
{
unsigned
long
vrs
[
16
];
/* virtual register set */
unsigned
long
*
insn
;
/* pointer to the current instructions word */
const
unsigned
long
*
insn
;
/* pointer to the current instructions word */
int
entries
;
/* number of entries left to interpret */
int
byte
;
/* current byte number in the instructions word */
};
...
...
@@ -83,8 +83,9 @@ enum regs {
PC
=
15
};
extern
struct
unwind_idx
__start_unwind_idx
[];
extern
struct
unwind_idx
__stop_unwind_idx
[];
extern
const
struct
unwind_idx
__start_unwind_idx
[];
static
const
struct
unwind_idx
*
__origin_unwind_idx
;
extern
const
struct
unwind_idx
__stop_unwind_idx
[];
static
DEFINE_SPINLOCK
(
unwind_lock
);
static
LIST_HEAD
(
unwind_tables
);
...
...
@@ -98,45 +99,99 @@ static LIST_HEAD(unwind_tables);
})
/*
* Binary search in the unwind index. The entries
entries
are
* Binary search in the unwind index. The entries are
* guaranteed to be sorted in ascending order by the linker.
*
* start = first entry
* origin = first entry with positive offset (or stop if there is no such entry)
* stop - 1 = last entry
*/
static
struct
unwind_idx
*
search_index
(
unsigned
long
addr
,
struct
unwind_idx
*
first
,
struct
unwind_idx
*
last
)
static
const
struct
unwind_idx
*
search_index
(
unsigned
long
addr
,
const
struct
unwind_idx
*
start
,
const
struct
unwind_idx
*
origin
,
const
struct
unwind_idx
*
stop
)
{
pr_debug
(
"%s(%08lx, %p, %p)
\n
"
,
__func__
,
addr
,
first
,
last
);
unsigned
long
addr_prel31
;
pr_debug
(
"%s(%08lx, %p, %p, %p)
\n
"
,
__func__
,
addr
,
start
,
origin
,
stop
);
/*
* only search in the section with the matching sign. This way the
* prel31 numbers can be compared as unsigned longs.
*/
if
(
addr
<
(
unsigned
long
)
start
)
/* negative offsets: [start; origin) */
stop
=
origin
;
else
/* positive offsets: [origin; stop) */
start
=
origin
;
/* prel31 for address relavive to start */
addr_prel31
=
(
addr
-
(
unsigned
long
)
start
)
&
0x7fffffff
;
if
(
addr
<
first
->
addr
)
{
while
(
start
<
stop
-
1
)
{
const
struct
unwind_idx
*
mid
=
start
+
((
stop
-
start
)
>>
1
);
/*
* As addr_prel31 is relative to start an offset is needed to
* make it relative to mid.
*/
if
(
addr_prel31
-
((
unsigned
long
)
mid
-
(
unsigned
long
)
start
)
<
mid
->
addr_offset
)
stop
=
mid
;
else
{
/* keep addr_prel31 relative to start */
addr_prel31
-=
((
unsigned
long
)
mid
-
(
unsigned
long
)
start
);
start
=
mid
;
}
}
if
(
likely
(
start
->
addr_offset
<=
addr_prel31
))
return
start
;
else
{
pr_warning
(
"unwind: Unknown symbol address %08lx
\n
"
,
addr
);
return
NULL
;
}
else
if
(
addr
>=
last
->
addr
)
return
last
;
}
}
while
(
first
<
last
-
1
)
{
struct
unwind_idx
*
mid
=
first
+
((
last
-
first
+
1
)
>>
1
);
static
const
struct
unwind_idx
*
unwind_find_origin
(
const
struct
unwind_idx
*
start
,
const
struct
unwind_idx
*
stop
)
{
pr_debug
(
"%s(%p, %p)
\n
"
,
__func__
,
start
,
stop
);
while
(
start
<
stop
)
{
const
struct
unwind_idx
*
mid
=
start
+
((
stop
-
start
)
>>
1
);
if
(
addr
<
mid
->
addr
)
last
=
mid
;
if
(
mid
->
addr_offset
>=
0x40000000
)
/* negative offset */
start
=
mid
+
1
;
else
first
=
mid
;
/* positive offset */
stop
=
mid
;
}
return
fir
st
;
pr_debug
(
"%s -> %p
\n
"
,
__func__
,
stop
);
return
st
op
;
}
static
struct
unwind_idx
*
unwind_find_idx
(
unsigned
long
addr
)
static
const
struct
unwind_idx
*
unwind_find_idx
(
unsigned
long
addr
)
{
struct
unwind_idx
*
idx
=
NULL
;
const
struct
unwind_idx
*
idx
=
NULL
;
unsigned
long
flags
;
pr_debug
(
"%s(%08lx)
\n
"
,
__func__
,
addr
);
if
(
core_kernel_text
(
addr
))
if
(
core_kernel_text
(
addr
))
{
if
(
unlikely
(
!
__origin_unwind_idx
))
__origin_unwind_idx
=
unwind_find_origin
(
__start_unwind_idx
,
__stop_unwind_idx
);
/* main unwind table */
idx
=
search_index
(
addr
,
__start_unwind_idx
,
__stop_unwind_idx
-
1
);
else
{
__origin_unwind_idx
,
__stop_unwind_idx
);
}
else
{
/* module unwind tables */
struct
unwind_table
*
table
;
...
...
@@ -145,7 +200,8 @@ static struct unwind_idx *unwind_find_idx(unsigned long addr)
if
(
addr
>=
table
->
begin_addr
&&
addr
<
table
->
end_addr
)
{
idx
=
search_index
(
addr
,
table
->
start
,
table
->
stop
-
1
);
table
->
origin
,
table
->
stop
);
/* Move-to-front to exploit common traces */
list_move
(
&
table
->
list
,
&
unwind_tables
);
break
;
...
...
@@ -274,7 +330,7 @@ static int unwind_exec_insn(struct unwind_ctrl_block *ctrl)
int
unwind_frame
(
struct
stackframe
*
frame
)
{
unsigned
long
high
,
low
;
struct
unwind_idx
*
idx
;
const
struct
unwind_idx
*
idx
;
struct
unwind_ctrl_block
ctrl
;
/* only go to a higher address on the stack */
...
...
@@ -399,7 +455,6 @@ struct unwind_table *unwind_table_add(unsigned long start, unsigned long size,
unsigned
long
text_size
)
{
unsigned
long
flags
;
struct
unwind_idx
*
idx
;
struct
unwind_table
*
tab
=
kmalloc
(
sizeof
(
*
tab
),
GFP_KERNEL
);
pr_debug
(
"%s(%08lx, %08lx, %08lx, %08lx)
\n
"
,
__func__
,
start
,
size
,
...
...
@@ -408,15 +463,12 @@ struct unwind_table *unwind_table_add(unsigned long start, unsigned long size,
if
(
!
tab
)
return
tab
;
tab
->
start
=
(
struct
unwind_idx
*
)
start
;
tab
->
stop
=
(
struct
unwind_idx
*
)(
start
+
size
);
tab
->
start
=
(
const
struct
unwind_idx
*
)
start
;
tab
->
stop
=
(
const
struct
unwind_idx
*
)(
start
+
size
);
tab
->
origin
=
unwind_find_origin
(
tab
->
start
,
tab
->
stop
);
tab
->
begin_addr
=
text_addr
;
tab
->
end_addr
=
text_addr
+
text_size
;
/* Convert the symbol addresses to absolute values */
for
(
idx
=
tab
->
start
;
idx
<
tab
->
stop
;
idx
++
)
idx
->
addr
=
prel31_to_addr
(
&
idx
->
addr
);
spin_lock_irqsave
(
&
unwind_lock
,
flags
);
list_add_tail
(
&
tab
->
list
,
&
unwind_tables
);
spin_unlock_irqrestore
(
&
unwind_lock
,
flags
);
...
...
@@ -437,16 +489,3 @@ void unwind_table_del(struct unwind_table *tab)
kfree
(
tab
);
}
int
__init
unwind_init
(
void
)
{
struct
unwind_idx
*
idx
;
/* Convert the symbol addresses to absolute values */
for
(
idx
=
__start_unwind_idx
;
idx
<
__stop_unwind_idx
;
idx
++
)
idx
->
addr
=
prel31_to_addr
(
&
idx
->
addr
);
pr_debug
(
"unwind: ARM stack unwinding initialised
\n
"
);
return
0
;
}
arch/arm/mach-at91/at91rm9200_devices.c
View file @
adaf4ed2
...
...
@@ -83,7 +83,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) {}
* USB Device (Gadget)
* -------------------------------------------------------------------- */
#ifdef CONFIG_USB_
GADGET_
AT91
#ifdef CONFIG_USB_AT91
static
struct
at91_udc_data
udc_data
;
static
struct
resource
udc_resources
[]
=
{
...
...
arch/arm/mach-at91/at91sam9260.c
View file @
adaf4ed2
...
...
@@ -195,9 +195,9 @@ static struct clk_lookup periph_clocks_lookups[] = {
CLKDEV_CON_DEV_ID
(
"t0_clk"
,
"atmel_tcb.0"
,
&
tc0_clk
),
CLKDEV_CON_DEV_ID
(
"t1_clk"
,
"atmel_tcb.0"
,
&
tc1_clk
),
CLKDEV_CON_DEV_ID
(
"t2_clk"
,
"atmel_tcb.0"
,
&
tc2_clk
),
CLKDEV_CON_DEV_ID
(
"t
3
_clk"
,
"atmel_tcb.1"
,
&
tc3_clk
),
CLKDEV_CON_DEV_ID
(
"t
4
_clk"
,
"atmel_tcb.1"
,
&
tc4_clk
),
CLKDEV_CON_DEV_ID
(
"t
5
_clk"
,
"atmel_tcb.1"
,
&
tc5_clk
),
CLKDEV_CON_DEV_ID
(
"t
0
_clk"
,
"atmel_tcb.1"
,
&
tc3_clk
),
CLKDEV_CON_DEV_ID
(
"t
1
_clk"
,
"atmel_tcb.1"
,
&
tc4_clk
),
CLKDEV_CON_DEV_ID
(
"t
2
_clk"
,
"atmel_tcb.1"
,
&
tc5_clk
),
CLKDEV_CON_DEV_ID
(
"pclk"
,
"ssc.0"
,
&
ssc_clk
),
/* more usart lookup table for DT entries */
CLKDEV_CON_DEV_ID
(
"usart"
,
"fffff200.serial"
,
&
mck
),
...
...
arch/arm/mach-at91/at91sam9260_devices.c
View file @
adaf4ed2
...
...
@@ -84,7 +84,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) {}
* USB Device (Gadget)
* -------------------------------------------------------------------- */
#ifdef CONFIG_USB_
GADGET_
AT91
#ifdef CONFIG_USB_AT91
static
struct
at91_udc_data
udc_data
;
static
struct
resource
udc_resources
[]
=
{
...
...
arch/arm/mach-at91/at91sam9261_devices.c
View file @
adaf4ed2
...
...
@@ -87,7 +87,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) {}
* USB Device (Gadget)
* -------------------------------------------------------------------- */
#ifdef CONFIG_USB_
GADGET_
AT91
#ifdef CONFIG_USB_AT91
static
struct
at91_udc_data
udc_data
;
static
struct
resource
udc_resources
[]
=
{
...
...
arch/arm/mach-at91/at91sam9263_devices.c
View file @
adaf4ed2
...
...
@@ -92,7 +92,7 @@ void __init at91_add_device_usbh(struct at91_usbh_data *data) {}
* USB Device (Gadget)
* -------------------------------------------------------------------- */
#ifdef CONFIG_USB_
GADGET_
AT91
#ifdef CONFIG_USB_AT91
static
struct
at91_udc_data
udc_data
;
static
struct
resource
udc_resources
[]
=
{
...
...
arch/arm/mach-at91/include/mach/system_rev.h
View file @
adaf4ed2
...
...
@@ -19,7 +19,7 @@
#define BOARD_HAVE_NAND_16BIT (1 << 31)
static
inline
int
board_have_nand_16bit
(
void
)
{
return
system_rev
&
BOARD_HAVE_NAND_16BIT
;
return
(
system_rev
&
BOARD_HAVE_NAND_16BIT
)
?
1
:
0
;
}
#endif
/* __ARCH_SYSTEM_REV_H__ */