Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 75665
b: refs/heads/master
c: 7456337
h: refs/heads/master
i:
  75663: 0827945
v: v3
  • Loading branch information
Len Brown committed Jan 24, 2008
1 parent b60dee1 commit cbd847f
Show file tree
Hide file tree
Showing 141 changed files with 1,269 additions and 897 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: d1154be3004e9db2d61533e16bb2cf85dd27a8cb
refs/heads/master: 7456337d1fd38e463674dcb5a3df21ca332cb8b0
23 changes: 0 additions & 23 deletions trunk/Documentation/local_ops.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,29 +45,6 @@ long fails. The definition looks like :
typedef struct { atomic_long_t a; } local_t;


* Rules to follow when using local atomic operations

- Variables touched by local ops must be per cpu variables.
- _Only_ the CPU owner of these variables must write to them.
- This CPU can use local ops from any context (process, irq, softirq, nmi, ...)
to update its local_t variables.
- Preemption (or interrupts) must be disabled when using local ops in
process context to make sure the process won't be migrated to a
different CPU between getting the per-cpu variable and doing the
actual local op.
- When using local ops in interrupt context, no special care must be
taken on a mainline kernel, since they will run on the local CPU with
preemption already disabled. I suggest, however, to explicitly
disable preemption anyway to make sure it will still work correctly on
-rt kernels.
- Reading the local cpu variable will provide the current copy of the
variable.
- Reads of these variables can be done from any CPU, because updates to
"long", aligned, variables are always atomic. Since no memory
synchronization is done by the writer CPU, an outdated copy of the
variable can be read when reading some _other_ cpu's variables.


* Rules to follow when using local atomic operations

- Variables touched by local ops must be per cpu variables.
Expand Down
5 changes: 4 additions & 1 deletion trunk/Documentation/networking/driver.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,10 @@ Transmit path guidelines:
2) Do not forget to update netdev->trans_start to jiffies after
each new tx packet is given to the hardware.

3) Do not forget that once you return 0 from your hard_start_xmit
3) A hard_start_xmit method must not modify the shared parts of a
cloned SKB.

4) Do not forget that once you return 0 from your hard_start_xmit
method, it is your driver's responsibility to free up the SKB
and in some finite amount of time.

Expand Down
4 changes: 2 additions & 2 deletions trunk/Documentation/networking/wavelan.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ and many Linux driver to support it.
"wavelan" driver (old ISA Wavelan)
----------------
o Config : Network device -> Wireless LAN -> AT&T WaveLAN
o Location : .../drivers/net/wavelan*
o in-line doc : .../drivers/net/wavelan.p.h
o Location : .../drivers/net/wireless/wavelan*
o in-line doc : .../drivers/net/wireless/wavelan.p.h
o on-line doc :
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wavelan.html

Expand Down
38 changes: 21 additions & 17 deletions trunk/Documentation/watchdog/watchdog-api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,23 +42,27 @@ like this source file: see Documentation/watchdog/src/watchdog-simple.c
A more advanced driver could for example check that a HTTP server is
still responding before doing the write call to ping the watchdog.

When the device is closed, the watchdog is disabled. This is not
always such a good idea, since if there is a bug in the watchdog
daemon and it crashes the system will not reboot. Because of this,
some of the drivers support the configuration option "Disable watchdog
shutdown on close", CONFIG_WATCHDOG_NOWAYOUT. If it is set to Y when
compiling the kernel, there is no way of disabling the watchdog once
it has been started. So, if the watchdog daemon crashes, the system
will reboot after the timeout has passed. Watchdog devices also usually
support the nowayout module parameter so that this option can be controlled
at runtime.

Drivers will not disable the watchdog, unless a specific magic character 'V'
has been sent /dev/watchdog just before closing the file. If the userspace
daemon closes the file without sending this special character, the driver
will assume that the daemon (and userspace in general) died, and will stop
pinging the watchdog without disabling it first. This will then cause a
reboot if the watchdog is not re-opened in sufficient time.
When the device is closed, the watchdog is disabled, unless the "Magic
Close" feature is supported (see below). This is not always such a
good idea, since if there is a bug in the watchdog daemon and it
crashes the system will not reboot. Because of this, some of the
drivers support the configuration option "Disable watchdog shutdown on
close", CONFIG_WATCHDOG_NOWAYOUT. If it is set to Y when compiling
the kernel, there is no way of disabling the watchdog once it has been
started. So, if the watchdog daemon crashes, the system will reboot
after the timeout has passed. Watchdog devices also usually support
the nowayout module parameter so that this option can be controlled at
runtime.

Magic Close feature:

If a driver supports "Magic Close", the driver will not disable the
watchdog unless a specific magic character 'V' has been sent to
/dev/watchdog just before closing the file. If the userspace daemon
closes the file without sending this special character, the driver
will assume that the daemon (and userspace in general) died, and will
stop pinging the watchdog without disabling it first. This will then
cause a reboot if the watchdog is not re-opened in sufficient time.

The ioctl API:

Expand Down
6 changes: 3 additions & 3 deletions trunk/Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 24
EXTRAVERSION = -rc7
EXTRAVERSION = -rc8
NAME = Arr Matey! A Hairy Bilge Rat!

# *DOCUMENTATION*
Expand All @@ -12,7 +12,7 @@ NAME = Arr Matey! A Hairy Bilge Rat!

# Do not:
# o use make's built-in rules and variables
# (this increases performance and avoid hard-to-debug behavour);
# (this increases performance and avoids hard-to-debug behaviour);
# o print "Entering directory ...";
MAKEFLAGS += -rR --no-print-directory

Expand Down Expand Up @@ -1329,7 +1329,7 @@ else
ALLINCLUDE_ARCHS := $(SRCARCH)
endif
else
#Allow user to specify only ALLSOURCE_PATHS on the command line, keeping existing behavour.
#Allow user to specify only ALLSOURCE_PATHS on the command line, keeping existing behaviour.
ALLINCLUDE_ARCHS := $(ALLSOURCE_ARCHS)
endif

Expand Down
2 changes: 2 additions & 0 deletions trunk/arch/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
i386
x86_64
2 changes: 1 addition & 1 deletion trunk/arch/alpha/math-emu/math.c
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ alpha_fp_emul (unsigned long pc)
FP_UNPACK_SP(SB, &vb);
DR_c = DB_c;
DR_s = DB_s;
DR_e = DB_e;
DR_e = DB_e + (1024 - 128);
DR_f = SB_f << (52 - 23);
goto pack_d;
}
Expand Down
4 changes: 3 additions & 1 deletion trunk/arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1072,11 +1072,13 @@ source "drivers/rtc/Kconfig"

source "drivers/dma/Kconfig"

source "drivers/dca/Kconfig"

endmenu

source "fs/Kconfig"

source "kernel/Kconfig.instrumentation"
source "arch/arm/Kconfig.instrumentation"

source "arch/arm/Kconfig.debug"

Expand Down
52 changes: 52 additions & 0 deletions trunk/arch/arm/Kconfig.instrumentation
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
menuconfig INSTRUMENTATION
bool "Instrumentation Support"
default y
---help---
Say Y here to get to see options related to performance measurement,
system-wide debugging, and testing. This option alone does not add any
kernel code.

If you say N, all options in this submenu will be skipped and
disabled. If you're trying to debug the kernel itself, go see the
Kernel Hacking menu.

if INSTRUMENTATION

config PROFILING
bool "Profiling support (EXPERIMENTAL)"
help
Say Y here to enable the extended profiling support mechanisms used
by profilers such as OProfile.

config OPROFILE
tristate "OProfile system profiling (EXPERIMENTAL)"
depends on PROFILING && !UML
help
OProfile is a profiling system capable of profiling the
whole system, include the kernel, kernel modules, libraries,
and applications.

If unsure, say N.

config OPROFILE_ARMV6
bool
depends on OPROFILE && CPU_V6 && !SMP
default y
select OPROFILE_ARM11_CORE

config OPROFILE_MPCORE
bool
depends on OPROFILE && CPU_V6 && SMP
default y
select OPROFILE_ARM11_CORE

config OPROFILE_ARM11_CORE
bool

config MARKERS
bool "Activate markers"
help
Place an empty function call at each marker site. Can be
dynamically changed for a probe function.

endif # INSTRUMENTATION
14 changes: 6 additions & 8 deletions trunk/arch/arm/mach-omap1/board-fsample.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,31 +40,29 @@ static int fsample_keymap[] = {
KEY(0,1,KEY_RIGHT),
KEY(0,2,KEY_LEFT),
KEY(0,3,KEY_DOWN),
KEY(0,4,KEY_CENTER),
KEY(0,5,KEY_0_5),
KEY(1,0,KEY_SOFT2),
KEY(0,4,KEY_ENTER),
KEY(1,0,KEY_F10),
KEY(1,1,KEY_SEND),
KEY(1,2,KEY_END),
KEY(1,3,KEY_VOLUMEDOWN),
KEY(1,4,KEY_VOLUMEUP),
KEY(1,5,KEY_RECORD),
KEY(2,0,KEY_SOFT1),
KEY(2,0,KEY_F9),
KEY(2,1,KEY_3),
KEY(2,2,KEY_6),
KEY(2,3,KEY_9),
KEY(2,4,KEY_SHARP),
KEY(2,5,KEY_2_5),
KEY(2,4,KEY_KPDOT),
KEY(3,0,KEY_BACK),
KEY(3,1,KEY_2),
KEY(3,2,KEY_5),
KEY(3,3,KEY_8),
KEY(3,4,KEY_0),
KEY(3,5,KEY_HEADSETHOOK),
KEY(3,5,KEY_KPSLASH),
KEY(4,0,KEY_HOME),
KEY(4,1,KEY_1),
KEY(4,2,KEY_4),
KEY(4,3,KEY_7),
KEY(4,4,KEY_STAR),
KEY(4,4,KEY_KPASTERISK),
KEY(4,5,KEY_POWER),
0
};
Expand Down
4 changes: 2 additions & 2 deletions trunk/arch/arm/mach-omap1/board-nokia770.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@
#include <asm/arch/omapfb.h>
#include <asm/arch/lcd_mipid.h>

#include "../plat-omap/dsp/dsp_common.h"

#define ADS7846_PENDOWN_GPIO 15

static void __init omap_nokia770_init_irq(void)
Expand Down Expand Up @@ -318,6 +316,8 @@ static __init int omap_dsp_init(void)
out:
return ret;
}
#else
#define omap_dsp_init() do {} while (0)
#endif /* CONFIG_OMAP_DSP */

static void __init omap_nokia770_init(void)
Expand Down
14 changes: 6 additions & 8 deletions trunk/arch/arm/mach-omap1/board-perseus2.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,31 +39,29 @@ static int p2_keymap[] = {
KEY(0,1,KEY_RIGHT),
KEY(0,2,KEY_LEFT),
KEY(0,3,KEY_DOWN),
KEY(0,4,KEY_CENTER),
KEY(0,5,KEY_0_5),
KEY(1,0,KEY_SOFT2),
KEY(0,4,KEY_ENTER),
KEY(1,0,KEY_F10),
KEY(1,1,KEY_SEND),
KEY(1,2,KEY_END),
KEY(1,3,KEY_VOLUMEDOWN),
KEY(1,4,KEY_VOLUMEUP),
KEY(1,5,KEY_RECORD),
KEY(2,0,KEY_SOFT1),
KEY(2,0,KEY_F9),
KEY(2,1,KEY_3),
KEY(2,2,KEY_6),
KEY(2,3,KEY_9),
KEY(2,4,KEY_SHARP),
KEY(2,5,KEY_2_5),
KEY(2,4,KEY_KPDOT),
KEY(3,0,KEY_BACK),
KEY(3,1,KEY_2),
KEY(3,2,KEY_5),
KEY(3,3,KEY_8),
KEY(3,4,KEY_0),
KEY(3,5,KEY_HEADSETHOOK),
KEY(3,5,KEY_KPSLASH),
KEY(4,0,KEY_HOME),
KEY(4,1,KEY_1),
KEY(4,2,KEY_4),
KEY(4,3,KEY_7),
KEY(4,4,KEY_STAR),
KEY(4,4,KEY_KPASTERISK),
KEY(4,5,KEY_POWER),
0
};
Expand Down
6 changes: 2 additions & 4 deletions trunk/arch/arm/mach-pxa/sleep.S
Original file line number Diff line number Diff line change
Expand Up @@ -43,11 +43,11 @@ pxa_cpu_save_cp:
pxa_cpu_save_sp:
@ preserve phys address of stack
mov r0, sp
mov r2, lr
str lr, [sp, #-4]!
bl sleep_phys_sp
ldr r1, =sleep_save_sp
str r0, [r1]
mov pc, r2
ldr pc, [sp], #4

/*
* pxa27x_cpu_suspend()
Expand Down Expand Up @@ -270,5 +270,3 @@ resume_after_mmu:
mar acc0, r2, r3
#endif
ldmfd sp!, {r4 - r12, pc} @ return to caller


4 changes: 4 additions & 0 deletions trunk/arch/blackfin/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@ config GENERIC_CALIBRATE_DELAY
bool
default y

config HARDWARE_PM
def_bool y
depends on OPROFILE

source "init/Kconfig"
source "kernel/Kconfig.preempt"

Expand Down
1 change: 1 addition & 0 deletions trunk/arch/cris/arch-v10/kernel/io_interface_mux.c
Original file line number Diff line number Diff line change
Expand Up @@ -392,6 +392,7 @@ int cris_request_io_interface(enum cris_io_interface ioif, const char *device_id
if (((interfaces[ioif].gpio_g_in & gpio_in_pins) != interfaces[ioif].gpio_g_in) ||
((interfaces[ioif].gpio_g_out & gpio_out_pins) != interfaces[ioif].gpio_g_out) ||
((interfaces[ioif].gpio_b & gpio_pb_pins) != interfaces[ioif].gpio_b)) {
local_irq_restore(flags);
printk(KERN_CRIT "cris_request_io_interface: Could not get required pins for interface %u\n",
ioif);
return -EBUSY;
Expand Down
Loading

0 comments on commit cbd847f

Please sign in to comment.