Selected commits to mm-sources between 15.01.2006 and 14.02.2006, covering 1106 new and 1060 removed patches.

Editors notes: I finally wrote a Ruby script that parses the E-Mails Andrew sends to the mm-commits mailing list and automatically converts them to HTML. It is far from ideal (to be honest, this is my first Ruby script ever) but already speeds up everything a lot. It even extract some additional information, like the timestamp the commit message was received and the size of the patch (maybe plus/minus some Bytes). Thanks to Andrew for sending mails in an already preprocessed format :)


Patch list

Add logitech mouse type 99
amd76x_pm: C3 powersaving for AMD K7
Areca RAID driver (arcmsr) update3 for -mm4
auerswald: support more TK-Devices
autofs4: increase module version
Bug fixes and cleanup for the BSD Secure Levels LSM
cpuset memory spread basic implementation
cpuset memory spread page cache implementation and hooks
cpusets: memory spread page cache implementation and hooks
cpusets: memory spread slab cache implementation
cpusets: memory spread slab cache optimizations
e1000 fixes
elevator=as back-compatibility
Export cpu topology in sysfs
fbdev-framebuffer-driver-for-geode-gx update
fbdev: framebuffer driver for Geode GX
fusion update
fusion: add support for raid hot add/del support
fusion: bump version
hfs: add HFSX support
IDE: always enable CONFIG_PDC202XX_FORCE
ide: AMD756 no host side cable detection
IPW2100 fails to load firmware when booting on battery
isdn4linux: Siemens Gigaset drivers - common module
isdn4linux: Siemens Gigaset drivers - direct USB connection
isdn4linux: Siemens Gigaset drivers - event layer
isdn4linux: Siemens Gigaset drivers - isdn4linux interface
isdn4linux: Siemens Gigaset drivers - isochronous data handler
isdn4linux: Siemens Gigaset drivers - Kconfigs and Makefiles
isdn4linux: Siemens Gigaset drivers - M105 USB DECT adapter
isdn4linux: Siemens Gigaset drivers - procfs interface
isdn4linux: Siemens Gigaset drivers - tty interface
jsm: fix for high baud rates problem
LED: add device support for tosa
LED: add IDE disk activity LED trigger
LED: add LED class
LED: add LED device support for ixp4xx devices
LED: add LED device support for locomo devices
LED: add LED device support for the zaurus corgi and spitz models
LED: add LED timer trigger
LED: add LED trigger tupport
LED: add NAND MTD activity LED trigger
LED: add sharp charger status LED trigger
LED: class documentation
mmc: Secure Digital Host Controller Interface driver
nvidiafb: Add support for Geforce4 MX 4000
nvidiafb: add suspend and resume hooks
OOM kill: children accounting
orinoco: support smc2532w
parport: add parallel port support for SGI O2
pktcdvd: Allow larger packets
pktcdvd: Allow non-writable media to be mounted
pktcdvd: Don't unlock the door if the disc is in use
radeonfb resume support for Samsung P35 laptops
revert [PPP]: add PPP MPPE encryption module
s390: dasd extended error reporting module
s390: hangcheck timer support
sched: new sched domain for representing multi-core
sched: remove smpnice
sched: restore smpnice
serial: add new PCI serial card support
serial: serial_txx9 driver update
sh: consolidate hp620/hp680/hp690 targets into hp6xx
sh: DMA updates
sh: IRQ handler updates.
sh: Simple timer framework
sh: Simplistic clock framework.
sis5513: support sis 965L
swsusp: userland interface
tulip: Make ALi (ULi) integrated 100BaseTX Ethernet work
uml: implement soft interrupts
Update -mm acx driver to version 0.3.31
vgacon: Add support for soft scrollback
video: hp680 backlight driver.
x86: SMP alternatives




Add logitech mouse type 99 Meelis Roos Sun, 05 Feb 2006 16:46:37 -0800 1 files changed, 1 insertion(+) 779 Bytes

Add Logitech mouse type 99 (Premium Optical Wheel Mouse, model M-BT58,
plain 3 buttons + wheel) to cure the following message: logips2pp: Detected
unknown logitech mouse model 99

Signed-off-by: Meelis Roos <mroos@linux.ee>
Cc: Dmitry Torokhov <dtor_core@ameritech.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>



amd76x_pm: C3 powersaving for AMD K7 Joerg Sommrey Tue, 31 Jan 2006 19:34:52 -0800 5 files changed, 1187 insertions(+) 34278 Bytes

This is a processor idle module for AMD SMP 760MP(X) based systems.

The patch was originally written by Tony Lindgren and has been around since
2002. It enables C2 mode on AMD SMP systems and thus saves about 70 - 90 W
of energy in the idle mode compared to the default idle mode. The idle
function has been rewritten and is now free of locking issues and is
independent from the number of CPUs. The impact from this module on the
system clock and on i/o transfer are now fairly low.

This patch can also be found at
http://www.sommrey.de/amd76x_pm/amd76x_pm-2.6.15-4.patch

In this version more locking was added to make sure all or no CPU enter C3
mode.

Signed-off-by: Joerg Sommrey <jo@sommrey.de>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



Areca RAID driver (arcmsr) update3 for -mm4 Erich Chen Tue, 17 Jan 2006 00:49:31 -0800 3 files changed, 822 insertions(+), 811 deletions(-) 30671 Bytes
1. add SCSI_ARCMSR_MSI at Kconfig
2. use spaces after ','
3. add spaces around the '=' sign
4. define sense ErrorCode instead of magic numbers 0x70
5. include linux/dma-mapping.h
6. correct message of "unknow" => "unknown"
7. run sparse on it and fix it with none warning

Signed-off-by: Erich Chen <erich@areca.com.tw>
Signed-off-by: Andrew Morton <akpm@osdl.org>



auerswald: support more TK-Devices Andrew Morton Tue, 17 Jan 2006 15:37:22 -0800 1 files changed, 2 insertions(+) 3892 Bytes
Add device support for a couple more Auerswald TK-devices, namely COMpact 4406 DSL and COMpact 2204 USB.

Via Thomas Jackle <dj-tj@gmx.de>, typed in from
http://bugzilla.kernel.org/show_bug.cgi?id=5908.

Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



autofs4: increase module version Ian Kent Wed, 18 Jan 2006 18:23:17 -0800 1 files changed, 1 insertion(+), 1 deletion(-) 1300 Bytes

From: Ian Kent <raven@themaw.net>

Update autofs4 version.

Signed-off-by: Ian Kent <raven@themaw.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>



Bug fixes and cleanup for the BSD Secure Levels LSM Davi Arnaut Mon, 16 Jan 2006 20:19:21 -0800 1 files changed, 105 insertions(+), 98 deletions(-) 11277 Bytes
This patch address several issues in the current BSD Secure Levels code:

o plaintext_to_sha1: Missing check for a NULL return from __get_free_page

o passwd_write_file: A page is leaked if the password is wrong.

o fix securityfs registration order

o seclvl_init is a mess and can't properly tolerate failures, failure
path is upside down (deldif and delf should be switched)

Cleanups:

o plaintext_to_sha1: Use buffers passed in
o passwd_write_file: Use kmalloc() instead of get_zeroed_page()
o passwd_write_file: hashedPassword comparison is just memcmp
o s/ENOSYS/EINVAL/
o misc

Only compile tested.

Signed-off-by: Davi Arnaut <davi.arnaut@gmail.com>
Cc: Michael Halcrow <mhalcrow@us.ibm.com>
Cc: Chris Wright <chrisw@osdl.org>
Cc: Stephen Smalley <sds@epoch.ncsc.mil>
Cc: James Morris <jmorris@namei.org>
Cc: Serge Hallyn <serue@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



cpuset memory spread basic implementation Paul Jackson Thu, 09 Feb 2006 20:50:04 -0800 4 files changed, 203 insertions(+), 9 deletions(-) 14203 Bytes

This patch provides the implementation and cpuset interface for an alternative memory allocation policy that can be applied to certain kinds of memory allocations, such as the page cache (file system buffers) and some slab caches (such as inode caches).

The policy is called "memory spreading." If enabled, it spreads out these kinds of memory allocations over all the nodes allowed to a task, instead of preferring to place them on the node where the task is executing.

All other kinds of allocations, including anonymous pages for a tasks stack and data regions, are not affected by this policy choice, and continue to be allocated preferring the node local to execution, as modified by the NUMA mempolicy.

There are two boolean flag files per cpuset that control where the kernel allocates pages for the file system buffers and related in kernel data structures. They are called 'memory_spread_page' and 'memory_spread_slab'.

If the per-cpuset boolean flag file 'memory_spread_page' is set, then the kernel will spread the file system buffers (page cache) evenly over all the nodes that the faulting task is allowed to use, instead of preferring to put those pages on the node where the task is running.

If the per-cpuset boolean flag file 'memory_spread_slab' is set, then the kernel will spread some file system related slab caches, such as for inodes and dentries evenly over all the nodes that the faulting task is allowed to use, instead of preferring to put those pages on the node where the task is running.

The implementation is simple. Setting the cpuset flags 'memory_spread_page' or 'memory_spread_cache' turns on the per-process flags PF_SPREAD_PAGE or PF_SPREAD_SLAB, respectively, for each task that is in the cpuset or subsequently joins that cpuset. In subsequent patches, the page allocation calls for the affected page cache and slab caches are modified to perform an inline check for these flags, and if set, a call to a new routine cpuset_mem_spread_node() returns the node to prefer for the allocation.

The cpuset_mem_spread_node() routine is also simple. It uses the value of a per-task rotor cpuset_mem_spread_rotor to select the next node in the current tasks mems_allowed to prefer for the allocation.

This policy can provide substantial improvements for jobs that need to place thread local data on the corresponding node, but that need to access large file system data sets that need to be spread across the several nodes in the jobs cpuset in order to fit. Without this patch, especially for jobs that might have one thread reading in the data set, the memory allocation across the nodes in the jobs cpuset can become very uneven.

A couple of Copyright year ranges are updated as well. And a couple of email addresses that can be found in the MAINTAINERS file are removed.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



cpuset memory spread page cache implementation and hooks Paul Jackson Thu, 09 Feb 2006 20:50:06 -0800 2 files changed, 28 insertions(+) 3089 Bytes
Change the page cache allocation calls to support cpuset memory spreading.

See the previous patch, cpuset_mem_spread, for an explanation of cpuset memory
spreading.

On systems without cpusets configured in the kernel, this is no change.

On systems with cpusets configured in the kernel, but the "memory_spread"
cpuset option not enabled for the current tasks cpuset, this adds a call to a
cpuset routine and failed bit test of the processor state flag PF_SPREAD_PAGE.

On tasks in cpusets with "memory_spread" enabled, this adds a call to a cpuset
routine that computes which of the tasks mems_allowed nodes should be
preferred for this allocation.

If memory spreading applies to a particular allocation, then any other NUMA
mempolicy does not apply.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



cpusets: memory spread page cache implementation and hooks Paul Jackson Sat, 04 Feb 2006 15:26:05 -0800 1 files changed, 9 insertions(+) 1740 Bytes
Change the page cache allocation calls to support cpuset memory spreading.

See the previous patch, cpuset_mem_spread, for an explanation of cpuset memory
spreading.

On systems without cpusets configured in the kernel, this is no change.

On systems with cpusets configured in the kernel, but the "memory_spread"
cpuset option not enabled for the current tasks cpuset, this adds one failed
bit test of the processor state flag PF_MEM_SPREAD.

On tasks in cpusets with "memory_spread" enabled, this adds a call to a cpuset
routine that computes which of the tasks mems_allowed nodes should be
preferred for this allocation.

If memory spreading applies to a particular allocation, then any other NUMA
mempolicy does not apply.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



cpusets: memory spread slab cache implementation Paul Jackson Sat, 04 Feb 2006 15:26:07 -0800 2 files changed, 12 insertions(+), 2 deletions(-) 2754 Bytes
Provide the slab cache infrastructure to support cpuset memory spreading.

See the previous patches, cpuset_mem_spread, for an explanation of cpuset
memory spreading.

This patch provides a slab cache SLAB_MEM_SPREAD flag. If set in the
kmem_cache_create() call defining a slab cache, then any task marked with the
process state flag PF_MEMSPREAD will spread memory page allocations for that
cache over all the allowed nodes, instead of preferring the local (faulting)
node.

On systems not configured with CONFIG_NUMA, this results in no change to the
page allocation code path for slab caches.

On systems with cpusets configured in the kernel, but the "memory_spread"
cpuset option not enabled for the current tasks cpuset, this adds one failed
bit test of the processor state flag PF_MEM_SPREAD on each page allocation for
slab caches.

For tasks so marked, a second inline test is done for the slab cache flag
SLAB_MEM_SPREAD, and if that is set and if the allocation is not
in_interrupt(), this adds a call to to a cpuset routine that computes which of
the tasks mems_allowed nodes should be preferred for this allocation.

==> This patch adds another hook into the performance critical
code path to allocating objects from the slab cache, in the
____cache_alloc() chunk, below. The next patch optimizes this
hook, reducing the impact of the combined mempolicy plus memory
spreading hooks on this critical code path to a single check
against the tasks task_struct flags word.

This patch provides the generic slab flags and logic needed to apply memory
spreading to a particular slab.

A subsequent patch will mark a few specific slab caches for this placement
policy.

Signed-off-by: Paul Jackson <pj@sgi.com>

Signed-off-by: Andrew Morton <akpm@osdl.org>



cpusets: memory spread slab cache optimizations Paul Jackson Sat, 04 Feb 2006 15:26:09 -0800 5 files changed, 48 insertions(+), 14 deletions(-) 4057 Bytes
The hooks in the slab cache allocator code path for support of NUMA
mempolicies and cpuset memory spreading are in an important code path. Many
systems will use neither feature.

This patch optimizes those hooks down to a single check of some bits in the
current tasks task_struct flags. For non NUMA systems, this hook and related
code is already ifdef'd out.

The optimization is done by using another task flag, set if the task is using
a non-default NUMA mempolicy. Taking this flag bit along with the
PF_MEM_SPREAD flag bit added earlier in this 'cpuset memory spreading' patch
set, one can check for the combination of either of these special case memory
placement mechanisms with a single test of the current tasks task_struct
flags.

This patch also tightens up the code, to save a few bytes of kernel text
space, and moves some of it out of line. Due to the nested inlines called
from multiple places, we were ending up with three copies of this code, which
once we get off the main code path (for local node allocation) seems a bit
wasteful of instruction memory.

Signed-off-by: Paul Jackson <pj@sgi.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



e1000 fixes Jeff Garzik Wed, 18 Jan 2006 14:04:05 -0800 31 files changed, 709 insertions(+), 518 deletions(-) 50238 Bytes
Jesse Brandeburg:
e1000: Added disable packet split capability
e1000: Added RX buffer enhancements
e1000: Added functions to save and restore config
e1000: Added functions declarations
e1000: Fix whitespace
e1000: Added driver comments
e1000: fix receive breakage
e1000: fix compile warning


Signed-off-by: Andrew Morton <akpm@osdl.org>



elevator=as back-compatibility Chuck Ebbert Sun, 15 Jan 2006 22:15:41 -0800 1 files changed, 7 insertions(+) 859 Bytes
As of 2.6.15 you need to use "anticipatory" instead of "as". Fix that up
so that `elevator=as' still works.

Signed-off-by: Chuck Ebbert <76306.1226@compuserve.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



Export cpu topology in sysfs Zhang, Yanmin Wed, 25 Jan 2006 10:59:41 -0800 7 files changed, 216 insertions(+), 1 deletion(-) 9312 Bytes
The patch implements cpu topology exportation by sysfs.

Items (attributes) are similar to /proc/cpuinfo.

1) /sys/devices/system/cpu/cpuX/topology/physical_package_id:
represent the physical package id of cpu X;
2) /sys/devices/system/cpu/cpuX/topology/core_id:
represent the cpu core id to cpu X;
3) /sys/devices/system/cpu/cpuX/topology/thread_siblings:
represent the thread siblings to cpu X in the same core;
4) /sys/devices/system/cpu/cpuX/topology/core_siblings: represent the thread siblings to cpu X in the same physical package;

To implement it in an architecture-neutral way, a new source file, driver/base/topology.c, is to export the 5 attributes.

If one architecture wants to support this feature, it just needs to implement 4 defines, typically in file include/asm-XXX/topology.h. The 4 defines are:
#define topology_physical_package_id(cpu)
#define topology_core_id(cpu)
#define topology_thread_siblings(cpu)
#define topology_core_siblings(cpu)

The type of **_id is int.
The type of siblings is cpumask_t.

To be consistent on all architectures, the 4 attributes should have default values if their values are unavailable. Below is the rule.

1) physical_package_id: If cpu has no physical package id, -1 is the default value.

2) core_id: If cpu doesn't support multi-core, its core id is 0.

3) thread_siblings: Just include itself, if the cpu doesn't support HT/multi-thread.

4) core_siblings: Just include itself, if the cpu doesn't support multi-core and HT/Multi-thread.

So be careful when declaring the 4 defines in include/asm-XXX/topology.h.

If an attribute isn't defined on an architecture, it won't be exported.

Thank Nathan, Greg, Andi, Paul and Venki.

The patch provides defines for i386/x86_64/ia64.

Signed-off-by: Zhang, Yanmin <yanmin.zhang@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



fbdev-framebuffer-driver-for-geode-gx update David Vrabel Thu, 09 Feb 2006 02:36:48 -0800 1 files changed, 53 insertions(+), 8 deletions(-) 3826 Bytes
Add support for rev. 1 Geode GXes. Unfortunatly, I don't have access to such hardware so it's not tested. It's taken from AMD's original 2.4 driver so it should be fine...

Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>



fbdev: framebuffer driver for Geode GX David Vrabel Tue, 07 Feb 2006 18:15:26 -0800 7 files changed, 957 insertions(+), 1 deletion(-) 31394 Bytes
A framebuffer driver for the display controller in AMD Geode GX processors (Geode GX533, Geode GX500 etc.). Tested at 640x480, 800x600, 1024x768 and 1280x1024 at 8, 16, and 24 bpp with both CRT and TFT. No accelerated features currently implemented and compression remains disabled.

This driver requires that the BIOS (or the SoftVG/Firmbase code in the BIOS) has created an appropriate virtual PCI header.

Signed-off-by: David Vrabel <dvrabel@arcom.com>
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>



fusion update "Moore, Eric" Sun, 22 Jan 2006 22:02:16 -0800 5 files changed, 244 insertions(+), 15 deletions(-) 13361 Bytes

Signed-off-by: Andrew Morton <akpm@osdl.org>



fusion: add support for raid hot add/del support "Moore, Eric" Fri, 27 Jan 2006 16:03:39 -0800 1 files changed, 173 insertions(+), 25 deletions(-) 3002 Bytes
RAID event support.

This will hot add and remove raid volumes when managment application creates and deletes the volumes. The driver is basically responding to firmware asyn events, and reporting the changes to the above layers.

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>



fusion: bump version "Moore, Eric" Fri, 27 Jan 2006 13:51:57 -0800 1 files changed, 2 insertions(+), 2 deletions(-) 1224 Bytes
Bump Version:

#define MPT_LINUX_VERSION_COMMON "3.03.07"

Signed-off-by: Eric Moore <Eric.Moore@lsil.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



hfs: add HFSX support David Elliott Mon, 16 Jan 2006 20:01:52 -0800 8 files changed, 90 insertions(+), 23 deletions(-) 10317 Bytes
Add support for HFSX, which allows for case-sensitive filenames.

Signed-off-by: Roman Zippel <zippel@linux-m68k.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>



IDE: always enable CONFIG_PDC202XX_FORCE Adrian Bunk Sun, 29 Jan 2006 00:13:22 -0800 3 files changed, 28 deletions(-) 681 Bytes

From: Adrian Bunk <bunk@stusta.de>

Remove the CONFIG_PDC202XX_FORCE=n case, making CONFIG_PDC202XX default.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>



ide: AMD756 no host side cable detection Rene Herman Sun, 22 Jan 2006 00:00:34 -0800 1 files changed, 2 insertions(+), 6 deletions(-) 1263 Bytes
Bartlomiej Zolnierkiewicz wrote:
> Ugh, I checked AMD datasheets and AMD756 doesn't support host
> side cable detection. Well, we can try doing disk side only for it.
> [ ATi and ITE (in -ac kernels) drivers are also doing this. ]

Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>



IPW2100 fails to load firmware when booting on battery Olaf Hering Sun, 22 Jan 2006 23:08:28 -0800 1 files changed, 1 insertion(+), 1 deletion(-) 972 Bytes
We carry this patch around since a while. Is it safe to increase the timeout also in mainline?

References: https://bugzilla.novell.com/show_bug.cgi?id=74526

IPW2100 fails to load firmware when booting on battery; increasing the timeout solves the problem.

Cc: Yi Zhu <yi.zhu@intel.com>
Cc: James Ketrenos <jketreno@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



isdn4linux: Siemens Gigaset drivers - Kconfigs and Makefiles Hansjoerg Lipp Sun, 12 Feb 2006 02:31:36 -0800 5 files changed, 59 insertions(+) 3971 Bytes
isdn4linux: Siemens Gigaset drivers - isochronous data handler Hansjoerg Lipp Sun, 12 Feb 2006 02:31:53 -0800 1 files changed, 1009 insertions(+) 39272 Bytes
isdn4linux: Siemens Gigaset drivers - isdn4linux interface Hansjoerg Lipp Sun, 12 Feb 2006 02:31:44 -0800 1 files changed, 567 insertions(+) 17729 Bytes
isdn4linux: Siemens Gigaset drivers - event layer Hansjoerg Lipp, Tilman Schmidt Sun, 12 Feb 2006 02:31:41 -0800 1 files changed, 1983 insertions(+) 59829 Bytes
isdn4linux: Siemens Gigaset drivers - direct USB connection Hansjoerg Lipp, Tilman Schmidt Sun, 12 Feb 2006 02:31:50 -0800 1 files changed, 2365 insertions(+) 67506 Bytes
isdn4linux: Siemens Gigaset drivers - common module Hansjoerg Lipp, Tilman Schmidt Sun, 12 Feb 2006 02:31:38 -0800 2 files changed, 2141 insertions(+) 65688 Bytes
isdn4linux: Siemens Gigaset drivers - M105 USB DECT adapter Hansjoerg Lipp Sun, 12 Feb 2006 02:52:28 -0800 2 files changed, 1605 insertions(+) 46723 Bytes
isdn4linux: Siemens Gigaset drivers - procfs interface Hansjoerg Lipp Sun, 12 Feb 2006 02:31:48 -0800 1 files changed, 81 insertions(+) 3489 Bytes
isdn4linux: Siemens Gigaset drivers - tty interface Hansjoerg Lipp Sun, 12 Feb 2006 02:31:46 -0800 2 files changed, 750 insertions(+) 20403 Bytes
The following patches add drivers for the Siemens Gigaset 3070 family of ISDN DECT PABXes connected via USB, either directly or over a DECT link using a Gigaset M105 or compatible DECT data adapter. The devices are integrated as ISDN adapters within the isdn4linux framework, supporting incoming and outgoing voice and data connections, and also as tty devices providing access to device specific AT commands.

Supported devices include models 3070, 3075, 4170, 4175, SX205, SX255, and SX353 from the Siemens Gigaset product family, as well as the technically identical models 45isdn and 721X from the Deutsche Telekom Sinus series. Supported DECT adapters are the Gigaset M105 data and the technically identical Gigaset USB Adapter DECT, Sinus 45 data 2, and Sinus 721 data (but not the Gigaset M34 and Sinus 702 data which advertise themselves as CDC-ACM devices).

These drivers have been developed over the last four years within the SourceForge project http://sourceforge.net/projects/gigaset307x/. They are being used successfully in several installations for dial-in Internet access and for voice call switching with Asterisk.

This is our second attempt at submitting these drivers, taking into account the comments we received to our first submission on 2005-12-11.

The patch set adds three kernel modules:

- a common module "gigaset" encapsulating the common logic for controlling the PABX and the interfaces to userspace and the isdn4linux subsystem.

- a connection-specific module "bas_gigaset" which handles communication with the PABX over a direct USB connection.

- a connection-specific module "usb_gigaset" which does the same for a DECT connection using the Gigaset M105 USB DECT adapter.

We also have a module "ser_gigaset" which supports the Gigaset M101 RS232 DECT
adapter, but we didn't judge it fit for inclusion in the kernel, as it does direct programming of a i8250 serial port. It should probably be rewritten as a serial line discipline but so far we lack the neccessary knowledge about writing a line discipline for that.

The drivers have been working with kernel releases 2.2 and 2.4 as well as 2.6, and although we took efforts to remove the compatibility code for this submission, it probably still shows in places. Please make allowances.


This patch:

Prepare the kernel build infrastructure for addition of the Gigaset ISDN drivers. It creates a Makefile and Kconfig file for the Gigaset driver and hooks them into those of the isdn4linux subsystem. It also adds a MAINTAINERS entry for the driver.

This patch depends on patches 2 to 9 of the present set, as without the actual
source files, activating the options added here will cause the kernel build to fail.

Signed-off-by: Hansjoerg Lipp <hjlipp@web.de>
Signed-off-by: Tilman Schmidt <tilman@imap.cc>
Signed-off-by: Andrew Morton <akpm@osdl.org>



jsm: fix for high baud rates problem "V. Ananda Krishnan" Tue, 31 Jan 2006 16:01:59 -0800 1 files changed, 31 insertions(+), 37 deletions(-) 502 Bytes

From: "V. Ananda Krishnan" <mansarov@us.ibm.com>,
Scott Kilau <Scott_Kilau@digi.com>

Digi serial port console doesn't work when baud rates are set higher than
38400. So the lookup table and code in jsm_neo.c has been modified and
tested. Please let me have the feed-back.

Signed-off-by: V.Ananda Krishnan <mansarov@us.ibm.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>



LED: add LED class Richard Purdie Sun, 05 Feb 2006 18:29:32 -0800 9 files changed, 275 insertions(+) 10217 Bytes
Add the foundations of a new LEDs subsystem. This patch adds a class which
presents LED devices within sysfs and allows their brightness to be
controlled.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



LED: add device support for tosa Dirk Opfer Sun, 05 Feb 2006 18:30:03 -0800 4 files changed, 140 insertions(+) 5275 Bytes
Adds LED drivers for LEDs found on the Sharp Zaurus c6000 model (tosa).

Signed-off-by: Dirk Opfer <dirk@opfer-online.de>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>



LED: add LED device support for ixp4xx devices John Bowler Sun, 05 Feb 2006 18:29:58 -0800 3 files changed, 219 insertions(+) 8360 Bytes
NEW_LEDS support for ixp4xx boards where LEDs are connected to the GPIO lines.

This includes a new generic ixp4xx driver (leds-ixp4xx-gpio.c name
"IXP4XX-GPIO-LED")

Signed-off-by: John Bowler <jbowler@acm.org>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>



LED: add LED device support for locomo devices Richard Purdie Sun, 05 Feb 2006 18:29:53 -0800 3 files changed, 99 insertions(+) 4510 Bytes
LED: add LED device support for the zaurus corgi and spitz models Richard Purdie Sun, 05 Feb 2006 18:29:48 -0800 6 files changed, 284 insertions(+) 10340 Bytes
Adds an LED driver for LEDs exported by the Sharp LOCOMO chip as found on some
models of Sharp Zaurus.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>



LED: add LED trigger support Richard Purdie Sun, 05 Feb 2006 18:29:35 -0800 6 files changed, 318 insertions(+) 12802 Bytes
LED: add LED timer trigger Richard Purdie Sun, 05 Feb 2006 18:29:39 -0800 3 files changed, 215 insertions(+) 7511 Bytes
LED: add NAND MTD activity LED trigger Richard Purdie Sun, 05 Feb 2006 18:30:08 -0800 1 files changed, 25 insertions(+), 1 deletion(-) 2925 Bytes
LED: add sharp charger status LED trigger Richard Purdie Sun, 05 Feb 2006 18:29:43 -0800 1 files changed, 8 insertions(+), 2 deletions(-) 1040 Bytes
LED: add IDE disk activity LED trigger Richard Purdie Sun, 05 Feb 2006 18:30:13 -0800 1 files changed, 15 insertions(+), 2 deletions(-) 2878 Bytes
Add support for LED triggers to the LED subsystem. "Triggers" are events
which change the state of an LED. Two kinds of trigger are available, simple
ones which can be added to exising code with minimum disruption and complex
ones for implementing new or more complex functionality.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>



LED: class documentation Richard Purdie Sun, 05 Feb 2006 18:29:26 -0800 1 files changed, 71 insertions(+) 3685 Bytes
The LED class/subsystem takes John Lenz's work and extends and alters it to >give what I think should be a fairly universal LED implementation.

The series consists of several logical units:

* LED Core + Class implementation
* LED Trigger Core implementation
* LED timer trigger (example of a complex trigger)
* LED device drivers for corgi, spitz and tosa Zaurus models
* LED device driver for locomo LEDs
* LED device driver for ARM ixp4xx LEDs
* Zaurus charging LED trigger
* IDE disk activity LED trigger
* NAND MTD activity LED trigger


Why?
====

LEDs are really simple devices usually amounting to a GPIO that can be turned
on and off so why do we need all this code? On handheld or embedded devices
they're an important part of an often limited user interface. Both users and developers want to be able to control and configure what the LED does and the number of different things they'd potentially want the LED to show is large.

A subsystem is needed to try and provide all this different functionality in an architecture independent, simple but complete, generic and scalable manner.

The alternative is for everyone to implement just what they need hidden away in different corners of the kernel source tree and to provide an inconsistent interface to userspace.


Other Implementations
=====================

I'm aware of the existing arm led implementation. Currently the new subsystem and the arm code can coexist quite happily. Its up to the arm community to decide whether this new interface is acceptable to them. As far as I can see, the new interface can do everything the existing arm implementation can with the advantage that the new code is architecture independent and much more generic, configurable and scalable.

I'm prepared to make the conversion to the LED subsystem (or assist with it) if appropriate.


Implementation Details
======================

I've stripped a lot of code out of John's original LED class. Colours were
removed as LED colour is now part of the device name. Multiple colours are to be handled as multiple led devices. This means you get full control over each colour. I also removed the LED hardware timer code as the generic timer isn't going to add much overhead and is just as useful. I also decided to have the LED core track the current LED status (to ease suspend/resume handling) removing the need for brightness_get implementations in the LED drivers.

An underlying design philosophy is simplicity. The aim is to keep a small amount of code giving as much functionality as possible.

The major new idea is the led "trigger". A trigger is a source of led events. Triggers can either be simple or complex. A simple trigger isn't configurable and is designed to slot into existing subsystems with minimal additional code. Examples are the ide-disk, nand-disk and zaurus-charging triggers. With leds disabled, the code optimises away. Examples are nand-disk and ide-disk.

Complex triggers whilst available to all LEDs have LED specific parameters and work on a per LED basis. The timer trigger is an example.

You can change triggers in a similar manner to the way an IO scheduler is chosen (via /sys/class/leds/somedevice/trigger).

So far there are only a handful of examples but it should easy to add further LED triggers without too much interference into other subsystems.


Known Issues
============

The LED Trigger core cannot be a module as the simple trigger functions would cause nightmare dependency issues. I see this as a minor issue compared to the benefits the simple trigger functionality brings. The rest of the LED subsystem can be modular.

Some leds can be programmed to flash in hardware. As this isn't a generic LED device property, I think this should be exported as a device specific sysfs attribute rather than part of the class if this functionality is required (eg. to keep the led flashing whilst the device is suspended).


Future Development
==================

At the moment, a trigger can't be created specifically for a single LED. There are a number of cases where a trigger might only be mappable to a particular LED. The addition of triggers provided by the LED driver should cover this option and be possible to add without breaking the current interface.

A CPU activity trigger similar to that found in the arm led implementation should be trivial to add.



This patch:

Add some brief documentation of the design decisions behind the LED class and how it appears to users.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>



mmc: Secure Digital Host Controller Interface driver Pierre Ossman Sun, 12 Feb 2006 02:01:45 -0800 5 files changed, 1441 insertions(+) 40465 Bytes
Driver for the Secure Digital Host Controller Interface specification.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Andrew Morton <akpm@osdl.org>



nvidiafb: Add support for Geforce4 MX 4000 "Antonino A. Daplas" Tue, 07 Feb 2006 18:15:16 -0800 2 files changed, 3 insertions(+) 1767 Bytes
Add support for Geforce4 MX 4000 (0x185)

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>



nvidiafb: add suspend and resume hooks "Antonino A. Daplas" Tue, 07 Feb 2006 18:15:20 -0800 3 files changed, 92 insertions(+), 31 deletions(-) 2940 Bytes
Add suspend and resume hooks to make software suspend more reliable. Resuming from standby should generally work. Resuming from mem and from disk requires that the GPU is disabled. Adding these to the suspend script...

fbset -accel false -a
/* suspend here */
fbset -accel true -a

... should generally work. In addition, resuming from mem requires that the video card has to be POSTed by the BIOS or some other utility.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>



OOM kill: children accounting Kurt Garloff Tue, 31 Jan 2006 18:51:21 -0800 1 files changed, 16 insertions(+), 10 deletions(-) 3171 Bytes
In the badness() calculation, there's currently this piece of code:

/*
* Processes which fork a lot of child processes are likely
* a good choice. We add the vmsize of the children if they
* have an own mm. This prevents forking servers to flood the
* machine with an endless amount of children
*/
list_for_each(tsk, &p->children) {
struct task_struct *chld;
chld list_entry(tsk, struct task_struct, sibling);
if (chld->mm ! p->mm && chld->mm)
points += chld->mm->total_vm;
}

The intention is clear: If some server (apache) keeps spawning new children and we run OOM, we want to kill the father rather than picking a child.

This -- to some degree -- also helps a bit with getting fork bombs under control, though I'd consider this a desirable side-effect rather than a feature.

There's one problem with this: No matter how many or few children there are, if just one of them misbehaves, and all others (including the father) do everything right, we still always kill the whole family. This hits in real life; whether it's javascript in konqueror resulting in kdeinit (and thus the whole KDE session) being hit or just a classical server that spawns children.

Sidenote: The killer does kill all direct children as well, not only the selected father, see oom_kill_process().

The idea in attached patch is that we do want to account the memory consumption of the (direct) children to the father -- however not fully. This maintains the property that fathers with too many children will still very likely be picked, whereas a single misbehaving child has the chance to be picked by the OOM killer.

In the patch I account only half (rounded up) of the children's vm_size to the parent. This means that if one child eats more mem than the rest of the family, it will be picked, otherwise it's still the father and thus the whole family that gets selected.

This is heuristics -- we could debate whether accounting for a fourth would
be better than for half of it. Or -- if people would consider it worth the trouble -- make it a sysctl. For now I sticked to accounting for half, which should IMHO be a significant improvement.

The patch does one more thing: As users tend to be irritated by the choice of killed processes (mainly because the children are killed first, despite some of them having a very low OOM score), I added some more output: The selected (father) process will be reported first and it's oom_score printed to syslog.


Description:

Only account for half of children's vm size in oom score calculation

This should still give the parent enough point in case of fork bombs. If any child however has more than 50% of the vm size of all children together, it'll get a higher score and be elected.

This patch also makes the kernel display the oom_score.

Signed-off-by: Kurt Garloff <garloff@suse.de>
Cc: Rik van Riel <riel@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



orinoco: support smc2532w Jesse Allen Sun, 12 Feb 2006 02:48:26 -0800 1 files changed, 1 insertion(+) 1188 Bytes
The orinoco wireless driver can support the SMC 2532W-B PC Card, so add the
id for it.

Signed-off-by: Jesse Allen <the3dfxdude@gmail.com>
Cc: Pavel Roskin <proski@gnu.org>
Cc: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>



parport: add parallel port support for SGI O2 Arnaud Giersch Sun, 22 Jan 2006 22:24:33 -0800 4 files changed, 2233 insertions(+) 73258 Bytes
Add support for the built-in parallel port on SGI O2 (a.k.a. IP32).
Define a new configuration option: PARPORT_IP32. The module is named
parport_ip32.

Hardware support for SPP, EPP and ECP modes along with DMA support when
available are currently implemented.

Signed-off-by: Arnaud Giersch <arnaud.giersch@free.fr>
Signed-off-by: Andrew Morton <akpm@osdl.org>



pktcdvd: Allow larger packets Phillip Susi Fri, 3 Feb 2006 13:58:24 -0800 1 files changed, 1 insertion(+), 1 deletion(-) 766 Bytes
The pktcdvd driver uses a compile time macro constant to define the maximum supported packet length. I changed this from 32 sectors to 128 sectors because that allows over 100 MB of additional usable space on a 700 MB cdrw, and increases throughput.

Note that you need a modified cdrwtool program that can format a CDRW disc with larger packets to benefit from this change.

Signed-off-by: Peter Osterlund <petero2@telia.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



pktcdvd: Allow non-writable media to be mounted Peter Osterlund Sun, 12 Feb 2006 13:31:25 -0800 1 files changed, 3 insertions(+), 4 deletions(-) 1279 Bytes
If opening for write fails, the open method should return -EROFS. This makes "mount" try again with a read-only mount, instead of just giving up.

Signed-off-by: Peter Osterlund <petero2@telia.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



pktcdvd: Don't unlock the door if the disc is in use Peter Osterlund Sun, 12 Feb 2006 13:31:27 -0800 1 files changed, 2 insertions(+), 1 deletion(-) 1017 Bytes
Unlocking the door when the disc is in use is obviously not good, because then it's possible to eject the disc at the wrong time and cause severe disc data corruption.

Signed-off-by: Peter Osterlund <petero2@telia.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



radeonfb resume support for Samsung P35 laptops Carl-Daniel Hailfinger Sun, 12 Feb 2006 13:30:08 -0800 1 files changed, 15 insertions(+), 4 deletions(-) 480 Bytes
Make resume from suspend-to-ram possible for Samsung P35 laptops.

The radeon mobility 9700 chip on Samsung P35 laptops locks up everything on resume from suspend-to-ram if it is not reinitialized.

VGA compatible controller: ATI Technologies Inc RV350 [Mobility Radeon 9600 M10]
Class 0300: 1002:4e50
Subsystem: 144d:c00c

Unfortunately, the DMI strings are mostly identical for all Samsung laptops. So we match the PCI ID and subsystem ID of the graphics card which is unique for each Samsung laptop model.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>



revert [PPP]: add PPP MPPE encryption module Andrew Morton Mon, 16 Jan 2006 21:14:58 -0800 6 files changed, 26 insertions(+), 902 deletions(-) 840 Bytes
See if this fixes recent PPP regressions.

Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>



s390: dasd extended error reporting module Stefan Weinhuber Thu, 2 Feb 2006 15:22:28 -0800 8 files changed, 1231 insertions(+), 5 deletions(-) 42970 Bytes
The DASD extended error reporting is a facility that allows to get detailed information about certain problems in the DASD I/O. This information can be used to implement fail-over applications that can recover these problems.

Signed-off-by: Stefan Weinhuber <wein@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



s390: hangcheck timer support Jan Glauber Wed, 18 Jan 2006 20:11:33 -0800 3 files changed, 9 insertions(+), 12 deletions(-) 3032 Bytes
Remove useless s390 define from hangcheck-timer, remove wrong definition of a TOD second and other s390 ifdefs. Use monotonic_clock instead.

Add hangcheck-timer option, copied from drivers/char/Kconfig. This is ugly but unless we have a big Kconfig cleanup we cannot include drivers/char/Kconfig...

Signed-off-by: Jan Glauber <jan.glauber@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



sched: new sched domain for representing multi-core "Siddha, Suresh B" Tue, 31 Jan 2006 17:13:50 -0800 14 files changed, 184 insertions(+), 11 deletions(-) 17825 Bytes
Add a new sched domain for representing multi-core with shared caches between cores. Consider a dual package system, each package containing two cores and with last level cache shared between cores with in a package. If there are two runnable processes, with this appended patch those two processes will be scheduled on different packages.

On such systems, with this patch we have observed 8% perf improvement with specJBB(2 warehouse) benchmark and 35% improvement with CFP2000 rate(with 2 users).

This new domain will come into play only on multi-core systems with shared caches. On other systems, this sched domain will be removed by domain degeneration code. This new domain can be also used for implementing power savings policy (see OLS 2005 CMP kernel scheduler paper for more details..
I will post another patch for power savings policy soon)

Most of the arch/* file changes are for cpu_coregroup_map() implementation.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Andrew Morton <akpm@osdl.org>



sched: remove smpnice Nick Piggin Tue, 7 Feb 2006 14:16:35 -0800 1 files changed, 18 insertions(+), 111 deletions(-) 624 Bytes
I don't think the code is quite ready, which is why I asked for Peter's additions to also be merged before I acked it (although it turned out that it still isn't quite ready with his additions either).

Basically I have had similar observations to Suresh in that it does not play nicely with the rest of the balancing infrastructure (and raised similar concerns in my review).

The samples (group of 4) I got for "maximum recorded imbalance" on a 2x2 SMP+HT Xeon are as follows:

           | Following boot | hackbench 20        | hackbench 40
-----------+----------------+---------------------+---------------------
2.6.16-rc2 | 30,37,100,112 | 5600,5530,6020,6090 | 6390,7090,8760,8470
+nosmpnice | 3, 2, 4, 2 | 28, 150, 294, 132 | 348, 348, 294, 347

Hackbench raw performance is down around 15% with smpnice (but that in itself isn't a huge deal because it is just a benchmark). However, the samples show that the imbalance passed into move_tasks is increased by about a factor of 10-30. I think this would also go some way to explaining latency blips turning up in the balancing code (though I haven't actually measured that).


Signed-off-by: Andrew Morton <akpm@osdl.org>



sched: restore smpnice Con Kolivas Thu, 09 Feb 2006 23:33:26 -0800 1 files changed, 111 insertions(+), 18 deletions(-) 6848 Bytes
Restore smp-nice support.

Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Williams <pwil3058@bigpond.net.au>
Cc: "Martin J. Bligh" <mbligh@aracnet.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



serial: serial_txx9 driver update Atsushi Nemoto Sat, 21 Jan 2006 23:36:57 -0800 2 files changed, 39 insertions(+), 37 deletions(-) 2183 Bytes
Update the serial_txx9 driver.

* More strict check in verify_port. Cleanup.
* Do not insert a char caused previous overrun.
* Fix some spin_locks.
* Do not call uart_add_one_port for absent ports.

Also, this patch removes a BROKEN tag from Kconfig. This driver has been marked as BROKEN by removal of uart_register_port, but it has been solved already on Sep 2005.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: Russell King <rmk@arm.linux.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>



sh: consolidate hp620/hp680/hp690 targets into hp6xx Paul Mundt Sun, 15 Jan 2006 22:50:44 -0800 7 files changed, 852 insertions(+), 816 deletions(-) 595 Bytes
Most of the reasons for keeping these separate before was due to hp690 discontig, and since we have a workaround for that now (abusing some shadow space so everything is magically contiguous), there's no reason to keep the targets separate.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>



sh: DMA updates Paul Mundt Sun, 15 Jan 2006 22:50:46 -0800 13 files changed, 291 insertions(+), 120 deletions(-) 1231 Bytes
This extends the current SH DMA API somewhat to support a proper virtual channel abstraction, and also works to represent this through the driver model by giving each DMAC its own platform device.

There's also a few other minor changes to support a few new CPU subtypes, and make TEI generation for the SH DMAC configurable.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>



sh: IRQ handler updates. Paul Mundt Sun, 15 Jan 2006 22:50:52 -0800 10 files changed, 1232 insertions(+), 786 deletions(-) 498 Bytes
This moves the various IRQ controller drivers into a new subdirectory, and
also extends the INTC2 IRQ handler to also deal with SH7760 and SH7780
interrupts, rather than just ST-40.

The old CONFIG_SH_GENERIC has also been removed from the IRQ definitions, as
new ports are expected to be based off of CONFIG_SH_UNKNOWN. Since there are
plenty of incompatible machvecs, CONFIG_SH_GENERIC doesn't make sense anymore.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>



sh: Simple timer framework Paul Mundt Sun, 15 Jan 2006 22:50:59 -0800 4 files changed, 329 insertions(+) 9100 Bytes
This builds on some of the clock framework code to support a simple system
timer interface.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Cc: john stultz <johnstul@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



sh: Simplistic clock framework. Paul Mundt Sun, 15 Jan 2006 22:50:57 -0800 19 files changed, 1287 insertions(+), 623 deletions(-) 1027 Bytes
This adds a relatively simplistic clock framework for sh. The initial goal behind this is to clean up the arch/sh/kernel/time.c mess and to get the CPU subtype-specific frequency setting and calculation code moved somewhere more sensible.

This only deals with the core clocks at the moment, though it's trivial for other drivers to define their own clocks as desired.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Cc: john stultz <johnstul@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



sis5513: support sis 965L Rudolph Pereira Thu, 2 Feb 2006 17:30:42 -0800 1 files changed, 6 insertions(+) 1206 Bytes
Cc: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Cc: Dave Jones <davej@codemonkey.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>



swsusp: userland interface "Rafael J. Wysocki" Sun, 15 Jan 2006 23:43:20 -0800 9 files changed, 477 insertions(+), 12 deletions(-) 21009 Bytes
This patch introduces a user space interface for swsusp.

The interface is based on a special character device, called the snapshot device, that allows user space processes to perform suspend and resume-related operations with the help of some ioctls and the read()/write() functions. Additionally it allows these processes to allocate free swap pages from a selected swap partition, called the resume partition, so that they know which sectors of the resume partition are available to them.

The interface uses the same low-level system memory snapshot-handling functions that are used by the built-it swap-writing/reading code of swsusp.

The interface documentation is included in the patch.

The patch assumes that the major and minor numbers of the snapshot device will be 10 (ie. misc device) and 231, the registration of which has already been requested.

The patch does not affect the existing swsusp code, except that it changes the behavior of the /sys/power/image_size interface so that the preferred image size is always specified in bytes (for consistency).

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Acked-by: Pavel Machek <pavel@suse.cz>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



tulip: Make ALi (ULi) integrated 100BaseTX Ethernet work Olaf Hering Sun, 22 Jan 2006 23:19:09 -0800 2 files changed, 10 insertions(+), 4 deletions(-) 2011 Bytes
In the suse kenrel since 2005-03-13. Otherwise unchangelogged :(

Signed-off-by: Olaf Hering <olh@suse.de>
Cc: Jiri Benc <jbenc@suse.cz>
Cc: Jeff Garzik <jgarzik@pobox.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>



uml: implement soft interrupts Jeff Dike Sun, 15 Jan 2006 23:50:54 -0800 8 files changed, 182 insertions(+), 117 deletions(-) 1126 Bytes
This patch implements soft interrupts. Interrupt enabling and disabling no longer map to sigprocmask. Rather, a flag is set indicating whether interrupts may be handled. If a signal comes in and interrupts are marked as OK, then it is handled normally. If interrupts are marked as off, then the signal handler simply returns after noting that a signal needs handling. When interrupts are enabled later on, this pending signals flag is checked, and the IRQ handlers are called at that point.

The point of this is to reduce the cost of local_irq_save et al, since they are very much more common than the signals that they are enabling and disabling. Soft interrupts produce a speed-up of ~25% on a kernel build.

Subtleties -

UML uses sigsetjmp/siglongjmp to switch contexts. sigsetjmp has been wrapped in a save_flags-like macro which remembers the interrupt state at setjmp time, and restores it when it is longjmp-ed back to.

The enable_signals function has to loop because the IRQ handler disables interrupts before returning. enable_signals has to return with signals enabled, and signals may come in between the disabling and the return to enable_signals. So, it loops for as long as there are pending signals, ensuring that signals are enabled when it finally returns, and that there are no pending signals that need to be dealt with.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>



Update -mm acx driver to version 0.3.31 Denis Vlasenko Tue, 31 Jan 2006 18:11:13 -0800 13 files changed, 4411 insertions(+), 4738 deletions(-) 18538 Bytes
Signed-off-by: Denis Vlasenko <vda@ilport.com.ua>
Signed-off-by: Andrew Morton <akpm@osdl.org>



vgacon: Add support for soft scrollback "Antonino A. Daplas" Mon, 23 Jan 2006 01:20:09 -0800 2 files changed, 226 insertions(+), 43 deletions(-) 1957 Bytes
The scrollback buffer of the VGA console is located in VGA RAM. This RAM is fixed in size and is very small. To make the scrollback buffer larger, it must be placed instead in System RAM.

This patch adds this feature. The feature and the size of the buffer are made as a kernel config option. Besides consuming kernel memory, this feature will slow down the console by approximately 20%.

Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>



video: hp680 backlight driver. Andriy Skulysh Sun, 15 Jan 2006 22:46:01 -0800 3 files changed, 198 insertions(+) 5986 Bytes
This adds support for the hp680 backlight, as found in the hp6xx series of sh devices.

Signed-off-by: Andriy Skulysh <askulysh@image.kiev.ua>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Cc: "Antonino A. Daplas" <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>



x86: SMP alternatives Gerd Hoffmann Tue, 24 Jan 2006 13:24:08 -0800 19 files changed, 603 insertions(+), 258 deletions(-) 9977 Bytes
Implement SMP alternatives, i.e. switching at runtime between different code versions for UP and SMP. The code can patch both SMP->UP and UP->SMP. The UP->SMP case is useful for CPU hotplug.

With CONFIG_CPU_HOTPLUG enabled the code switches to UP at boot time and when the number of CPUs goes down to 1, and switches to SMP when the number of CPUs goes up to 2.

Without CONFIG_CPU_HOTPLUG or on non-SMP-capable systems the code is patched once at boot time (if needed) and the tables are released afterwards.

The changes in detail:

* The current alternatives bits are moved to a separate file, the SMP alternatives code is added there.

* The patch adds some new elf sections to the kernel:
.smp_altinstructions
like .altinstructions, also contains a list of alt_instr structs.
.smp_altinstr_replacement
like .altinstr_replacement, but also has some space to save original instruction before replaving it.
.smp_locks
list of pointers to lock prefixes which can be nop'ed out on UP.
The first two are used to replace more complex instruction sequences such as spinlocks and semaphores. It would be possible to deal with the lock prefixes with that as well, but by handling them as special case the table sizes become much smaller.

* The sections are page-aligned and padded up to page size, so they can be free if they are not needed.

* Splitted the code to release init pages to a separate function and
use it to release the elf sections if they are unused.

Signed-off-by: Gerd Knorr <kraxel@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>



Created using parse-mm-commits.rb