Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 75664
b: refs/heads/master
c: d1154be
h: refs/heads/master
v: v3
  • Loading branch information
Alexey Starikovskiy authored and Len Brown committed Jan 15, 2008
1 parent 0827945 commit b60dee1
Show file tree
Hide file tree
Showing 168 changed files with 957 additions and 1,386 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: 9c09a95cf431fcf5720f2e408befa24b32b8cf4d
refs/heads/master: d1154be3004e9db2d61533e16bb2cf85dd27a8cb
23 changes: 23 additions & 0 deletions trunk/Documentation/local_ops.txt
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,29 @@ 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: 1 addition & 4 deletions trunk/Documentation/networking/driver.txt
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,7 @@ 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) 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
3) 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/wireless/wavelan*
o in-line doc : .../drivers/net/wireless/wavelan.p.h
o Location : .../drivers/net/wavelan*
o in-line doc : .../drivers/net/wavelan.p.h
o on-line doc :
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wavelan.html

Expand Down
38 changes: 17 additions & 21 deletions trunk/Documentation/watchdog/watchdog-api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -42,27 +42,23 @@ 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, 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.
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.

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 = -rc8
EXTRAVERSION = -rc7
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 avoids hard-to-debug behaviour);
# (this increases performance and avoid hard-to-debug behavour);
# 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 behaviour.
#Allow user to specify only ALLSOURCE_PATHS on the command line, keeping existing behavour.
ALLINCLUDE_ARCHS := $(ALLSOURCE_ARCHS)
endif

Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/.gitignore

This file was deleted.

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 + (1024 - 128);
DR_e = DB_e;
DR_f = SB_f << (52 - 23);
goto pack_d;
}
Expand Down
4 changes: 1 addition & 3 deletions trunk/arch/arm/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1072,13 +1072,11 @@ source "drivers/rtc/Kconfig"

source "drivers/dma/Kconfig"

source "drivers/dca/Kconfig"

endmenu

source "fs/Kconfig"

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

source "arch/arm/Kconfig.debug"

Expand Down
52 changes: 0 additions & 52 deletions trunk/arch/arm/Kconfig.instrumentation

This file was deleted.

14 changes: 8 additions & 6 deletions trunk/arch/arm/mach-omap1/board-fsample.c
Original file line number Diff line number Diff line change
Expand Up @@ -40,29 +40,31 @@ static int fsample_keymap[] = {
KEY(0,1,KEY_RIGHT),
KEY(0,2,KEY_LEFT),
KEY(0,3,KEY_DOWN),
KEY(0,4,KEY_ENTER),
KEY(1,0,KEY_F10),
KEY(0,4,KEY_CENTER),
KEY(0,5,KEY_0_5),
KEY(1,0,KEY_SOFT2),
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_F9),
KEY(2,0,KEY_SOFT1),
KEY(2,1,KEY_3),
KEY(2,2,KEY_6),
KEY(2,3,KEY_9),
KEY(2,4,KEY_KPDOT),
KEY(2,4,KEY_SHARP),
KEY(2,5,KEY_2_5),
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_KPSLASH),
KEY(3,5,KEY_HEADSETHOOK),
KEY(4,0,KEY_HOME),
KEY(4,1,KEY_1),
KEY(4,2,KEY_4),
KEY(4,3,KEY_7),
KEY(4,4,KEY_KPASTERISK),
KEY(4,4,KEY_STAR),
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,6 +36,8 @@
#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 @@ -316,8 +318,6 @@ 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: 8 additions & 6 deletions trunk/arch/arm/mach-omap1/board-perseus2.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,29 +39,31 @@ static int p2_keymap[] = {
KEY(0,1,KEY_RIGHT),
KEY(0,2,KEY_LEFT),
KEY(0,3,KEY_DOWN),
KEY(0,4,KEY_ENTER),
KEY(1,0,KEY_F10),
KEY(0,4,KEY_CENTER),
KEY(0,5,KEY_0_5),
KEY(1,0,KEY_SOFT2),
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_F9),
KEY(2,0,KEY_SOFT1),
KEY(2,1,KEY_3),
KEY(2,2,KEY_6),
KEY(2,3,KEY_9),
KEY(2,4,KEY_KPDOT),
KEY(2,4,KEY_SHARP),
KEY(2,5,KEY_2_5),
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_KPSLASH),
KEY(3,5,KEY_HEADSETHOOK),
KEY(4,0,KEY_HOME),
KEY(4,1,KEY_1),
KEY(4,2,KEY_4),
KEY(4,3,KEY_7),
KEY(4,4,KEY_KPASTERISK),
KEY(4,4,KEY_STAR),
KEY(4,5,KEY_POWER),
0
};
Expand Down
6 changes: 4 additions & 2 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
str lr, [sp, #-4]!
mov r2, lr
bl sleep_phys_sp
ldr r1, =sleep_save_sp
str r0, [r1]
ldr pc, [sp], #4
mov pc, r2

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


4 changes: 0 additions & 4 deletions trunk/arch/blackfin/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,6 @@ 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: 0 additions & 1 deletion trunk/arch/cris/arch-v10/kernel/io_interface_mux.c
Original file line number Diff line number Diff line change
Expand Up @@ -392,7 +392,6 @@ 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 b60dee1

Please sign in to comment.