Selected commits to mm-sources between 14/02/2006 and 25/02/2006, covering 581 new patches.

Editors notes: The Ruby script works great, I am now able to update mm-traffic much more often.


Patch list

3c509: use proper suspend/resume API
Add cpia2 camera support
Add Wake on LAN support to sis900
au1200fb: Alchemy Au1200 framebuffer driver
autofs4: add new packet type for v5 communications
autofs4: add v5 expire logic
autofs4: add v5 follow_link mount trigger method
axnet_cs: support amb8110
console: UTF-8 mode compatibility fixes
fbdev: Make BIOS EDID reading configurable
hwmon: add LM82 support
ide: Allow IDE interface to specify its not capable of 32-bit operations
Let DAC960 supply entropy to random pool
mm: Implement swap prefetching
MSI(X) save/restore for suspend/resume
multimedia keys on dell inspiron 8200s.
neofb: avoid resetting display config on unblank (v2)
Notifier chain update: API changes
Notifier chain update: Remaining changes for new API
Notifier chain update: Remove unneeded protection
Notifier chain update: Simple definition changes
pc-speaker: add SND_SILENT
PCI/Cardbus cards hidden, needs pci=assign-busses to fix
pm-suspend-eisa-and-mca-devices-fix
pm: suspend EISA and MCA devices
powermac: Fix loss of ethernet PHY on sleep
proc: Remove the hard coded inode numbers
r8169: enable wake on lan
RTC subsystem, class
RTC subsystem, dev interface
RTC subsystem, DS1672 driver
RTC subsystem, PCF8563 driver
RTC subsystem, proc interface
RTC subsystem, RS5C372 driver
RTC subsystem, sysfs interface
RTC subsystem, test device/driver
RTC subsystem, X1205 driver
sched: implement smpnice
serial: serial_txx9 driver update
skge: protect interrupt mask
swsusp/pm: refuse to suspend devices if wrong console is active
swsusp: fix writing progress meter
update OBSOLETE_OSS_DRIVER schedule and dependencies
vgacon: no vertical resizing on EGA
x25: allow ITU-T DTE facilities for x25
x86: "make isoimage" support; FDINITRD= support; minor cleanups




3c509: use proper suspend/resume API Pekka Enberg Wed, 15 Feb 2006 02:25:38 -0800 1 files changed, 19 insertions(+), 47 deletions(-) 2431 Bytes
Convert 3c509 driver to use proper suspend/resume API instead of the deprecated pm_register/pm_unregister.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: Andrew Morton <akpm@osdl.org>


Add CPIA2 camera support Alan Cox Thu, 23 Feb 2006 16:49:22 -0800 12 files changed, 6981 insertions(+) 217023 Bytes
There has been a CPIA2 driver out of kernel for a long time and it has been pretty clean for some time too. This is an import of the sourceforge driver which has been stripped of

- 2.4 back compatibility
- 2.4 old style MJPEG ioctls

A couple of functions have been made static and the docs have been repackaged into Documentation/video4linux. The rvmalloc/free functions now match the cpia driver again. Other than that this is the code as is.

Tested on x86-64 with a QX5 microscope.

Signed-off-by: Alan Cox <alan@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>


Add Wake on LAN support to sis900 Daniele Venzano Fri, 24 Feb 2006 14:39:23 -0800 1 files changed, 2 insertions(+), 2 deletions(-) 1119 Bytes
Fix two bugs in the WoL implementation of sis900. The first causes hangs on some system on driver load, the second causes troubles when disabling WoL support. Both fixes are one liner and really simple.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Daniele Venzano <venza@brownhat.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>


au1200fb: Alchemy Au1200 framebuffer driver Ralf Baechle Thu, 23 Feb 2006 16:41:50 -0800 4 files changed, 4428 insertions(+) 130417 Bytes
Add support for Alchemy Au1200 framebuffer driver

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Antonino Daplas <adaplas@pol.net>
Signed-off-by: Andrew Morton <akpm@osdl.org>


autofs4: add new packet type for v5 communications Ian Kent Fri, 17 Feb 2006 00:51:52 -0800 3 files changed, 136 insertions(+), 24 deletions(-) 756 Bytes
autofs4: add v5 expire logic Ian Kent Fri, 17 Feb 2006 00:51:50 -0800 1 files changed, 87 insertions(+), 9 deletions(-) 5821 Bytes
autofs4: add v5 follow_link mount trigger method Ian Kent Fri, 17 Feb 2006 00:51:48 -0800 3 files changed, 103 insertions(+), 21 deletions(-) 4723 Bytes
These patches are for autofs version 5. This is the second set of patches for autofs to support the user space daemon (automount from the autofs package) implementation of direct mounts and lazy mount and expire of nested mount maps, such as those found in mounting the NFS exports from a host, known as a "hosts" map.

I'd like to thank my collegue, Jeff Moyer at RedHat for his efforts reviewing all the autofs patches, both this set and previous patches. His efforts have made a big difference to the quality and accuracy of autofs in general for a long time now.

The changes implemented in the patch set are:

1) update-nameidata-on-follow_link - autofs needs the nameidata struct to be up to date wrt the dentry passed to the inode follow_link operation.
2) v5-follow_link - defines the version 5 inode follow_link operation used to trigger direct mounts.
3) v5-expire - update expire to handle version 5 direct mounts.
4) v5-packet-proto - update communication packet to support version 5 extended packet information.

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


axnet_cs: support amb8110 Jesse Allen Mon, 20 Feb 2006 22:08:18 -0800 1 files changed, 1 insertion(+) 966 Bytes
The axnet_cs driver can support the AMB8110 PC Card, so add the id for it.

In the old pcmcia-cs config file, this card is listed with the comment "not specific enough". The last entry in the axnet_ids has the same comment. They are disabled, and for good reason as it was originally identified by the MANFID, and that is shared with several cards that use both the pcnet_cs driver and axnet_cs driver. I tried my AMB8110 with pcnet_cs, and found that it works fine, and I cannot find a reason for either, except that the old config file recommended axnet_cs.

Signed-off-by: Jesse Allen <the3dfxdude@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>


console: UTF-8 mode compatibility fixes Adam Tla/lka Sat, 18 Feb 2006 02:59:29 -0800 1 files changed, 49 insertions(+), 15 deletions(-) 4317 Bytes
Changed console behaviour so in UTF-8 mode vt100 alternate character sequences work as described in terminfo/termcap linux terminal definition. Programs can use vt100 control seqences - smacs, rmacs and acsc characters in UTF-8 mode in the same way as in normal mode so one definition is always valid - current behaviour make these seqences not working in UTF-8 mode.

Added reporting malformed UTF-8 seqences as replacement glyphs. I think that terminal should always display something rather then ignoring these kind of data as it does now. Also it sticks to Unicode standards saying that every wrong byte should be reported. It is more human readable too in case of Latin subsets including ASCII chars.

Signed-off-by: Adam Tla/lka <atlka@pg.gda.pl>
Signed-off-by: Andrew Morton <akpm@osdl.org>


fbdev: Make BIOS EDID reading configurable "Antonino A. Daplas" Thu, 23 Feb 2006 16:41:55 -0800 3 files changed, 17 insertions(+), 3 deletions(-) 2550 Bytes
DDC reading via the Video BIOS may take several tens of seconds with some combination of display cards and monitors.

Make this option configurable and select only for drivers that need it.

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


hwmon: add LM82 support "Jordan Crouse" Fri, 17 Feb 2006 00:04:24 -0800 1 files changed, 46 insertions(+), 16 deletions(-) 4602 Bytes
Add support for the LM82 temperature sensor from National Semiconductor. The chip is very much like the LM83 with less temperature sensors. The really only goofy thing here, is that the registers for the 2nd temperature sensor on the LM82 are marked as the *3rd* sensor on the LM83, so I play a little magic to keep things all nice and linear.

For Geode users, the LM82 is the temperature sensor of choice on most of our platforms, so this should be valuable for you.

Add LM82 thermal detector support (similar to the LM83, but less featureful).

Signed-off-by: Jordan Crouse <jordan.crouse@amd.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>


ide: Allow IDE interface to specify its not capable of 32-bit operations Kumar Gala Tue, 14 Feb 2006 21:42:41 -0800 3 files changed, 10 insertions(+), 2 deletions(-) 524 Bytes
In some embedded systems the IDE hardware interface may only support 16-bit or smaller accesses. Allow the interface to specify if this is the case and don't allow the drive or user to override the setting.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>


Let DAC960 supply entropy to random pool "Anders K. Pedersen" Fri, 24 Feb 2006 14:32:37 -0800 1 files changed, 1 insertion(+), 1 deletion(-) 837 Bytes
We have a couple of servers with Mylex RAID controllers (handled by the DAC960 block device driver). There's normally no keyboard or mouse attached, and neither the DAC960 nor the NIC driver (e100) provides entropy to the random pool, so it was impossible to get any data from /dev/random.

The patch below lets the DAC960 IRQ provide entropy to the random pool, and after applying this (to 2.6.15.4), /dev/random is able to provide data on
these servers.

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


mm: Implement swap prefetching Con Kolivas Fri, 24 Feb 2006 14:41:59 -0800 11 files changed, 660 insertions(+), 1 deletion(-) 24778 Bytes
Implement swap prefetching when the vm is relatively idle and there is free ram available. The code is based on some preliminary code by Thomas Schlichter.

This stores a list of swapped entries in a list ordered most recently used and a radix tree. It generates a low priority kernel thread running at nice 19 to do the prefetching at a later stage.

Once pages have been added to the swapped list, a timer is started, testing for conditions suitable to prefetch swap pages every 5 seconds. Suitable conditions are defined as lack of swapping out or in any pages, and no watermark tests failing. Significant amounts of dirtied ram and changes in free ram representing disk writes or reads also prevent prefetching.

It then checks that we have spare ram looking for at least 3* pages_high free per zone and if it succeeds that will prefetch pages from swap into the swap cache. The pages are added to the tail of the inactive list to preserve LRU ordering. Pages are prefetched until the list is empty or the vm is seen as busy according to the previously described criteria. Node data on numa is stored with the entries and an appropriate zonelist based on this is used when allocating ram.

The pages are copied to swap cache and kept on backing store. This allows pressure on either physical ram or swap to readily find free pages without further I/O. Prefetching can be enabled/disabled via the tunable in /proc/sys/vm/swap_prefetch initially set to 1 (enabled). Enabling laptop_mode disables swap prefetching to prevent unnecessary spin ups. In testing on modern pc hardware this results in wall-clock time activation
of the firefox browser to speed up 5 fold after a worst case complete swap-out of the browser on a static web page.

Signed-off-by: Con Kolivas <kernel@kolivas.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>


MSI(X) save/restore for suspend/resume Shaohua Li Wed, 22 Feb 2006 01:36:33 -0800 4 files changed, 282 insertions(+), 31 deletions(-) 7437 Bytes
Add MSI(X) configure space save/restore in generic PCI helper.

Signed-off-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>


multimedia keys on dell inspiron 8200s. Dave Jones Fri, 24 Feb 2006 14:36:28 -0800 1 files changed, 3 insertions(+), 3 deletions(-) 1603 Bytes
Make multimedia buttons on Dell Inspiron 8200's produce keycodes. The only reference to this I found was at http://linux.siprell.com/, but I don't know if that's its origin.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>


neofb: avoid resetting display config on unblank (v2) Christian Trefzer Tue, 14 Feb 2006 22:00:36 -0800 2 files changed, 12 insertions(+) 1972 Bytes
We definitely need the patch below to get the LCD's backlight to a sane state after unblanking. Otherwise, it is disabled unconditionally, because the LCD is turned of literally in the registers during blank. Reading those again on unblank will simply not reactivate the LCD, yet DPMS was handled properly, leading me to wrong conclusions.

This adds a new variable to struct neo_par for storing a boolean whether to read the register values next time we (un)blank. For some reason it was not sufficient to check against !blank_mode while reading registers in the beginning of neofb_blank().

Signed-off-by: Christian Trefzer <ctrefzer@gmx.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>


Notifier chain update: API changes Alan Stern Thu, 16 Feb 2006 15:47:35 -0800 2 files changed, 326 insertions(+), 62 deletions(-) 14491 Bytes
The kernel's implementation of notifier chains is unsafe. There is no protection against entries being added to or removed from a chain while the chain is in use. The issues were discussed in this thread:

http://marc.theaimsgroup.com/?l=linux-kernel&m=113018709002036&w=2

We noticed that notifier chains in the kernel fall into two basic usage classes:

"Blocking" chains are always called from a process context and the callout routines are allowed to sleep;

"Atomic" chains can be called from an atomic context and the callout routines are not allowed to sleep.

We decided to codify this distinction and make it part of the API. Therefore this set of patches introduces three new, parallel APIs: one for blocking notifiers, one for atomic notifiers, and one for "raw" notifiers (which is really just the old API under a new name). New kinds of data structures are used for the heads of the chains, and new routines are defined for registration, unregistration, and calling a chain. The three APIs are explained in include/linux/notifier.h and their implementation is in kernel/sys.c.

With atomic and blocking chains, the implementation guarantees that the chain links will not be corrupted and that chain callers will not get messed up by entries being added or removed. For raw chains the implementation provides no guarantees at all; users of this API must provide their own protections. (The idea was that situations may come up where the assumptions of the atomic and blocking APIs are not appropriate, so it should be possible for users to handle these things in their own way.)

There are some limitations, which should not be too hard to live with. For atomic/blocking chains, registration and unregistration must always be done in a process context since the chain is protected by a mutex/rwsem. Also, a callout routine for a non-raw chain must not try to register or unregister entries on its own chain. (This did happen in a couple of places and the code had to be changed to avoid it.)

Since atomic chains may be called from within an NMI handler, they cannot use spinlocks for synchronization. Instead we use RCU. The overhead falls almost entirely in the unregister routine, which is okay since unregistration is much less frequent that calling a chain.

The patch set was written by Alan Stern and Chandra Seetharaman, incorporating material written by Keith Owens and suggestions from Paul McKenney and Andrew Morton.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>


Notifier chain update: Remaining changes for new API Alan Stern Thu, 16 Feb 2006 15:47:49 -0800 16 files changed, 30 insertions(+), 20 deletions(-) 11600 Bytes
Notifier chain re-implementation (as639b): Change the remaining places that refer to functions from the old API over to the new API.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>


Notifier chain update: Remove unneeded protection Alan Stern Thu, 16 Feb 2006 15:47:39 -0800 5 files changed, 63 insertions(+), 117 deletions(-) 2776 Bytes
Notifier chain re-implementation (as634b): Changes to chain head definitions and removal of local protection schemes that are no longer needed.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Chandra Seetharaman <sekharan@us.ibm.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>


pc-speaker: add SND_SILENT Stas Sergeev Wed, 22 Feb 2006 15:29:59 -0800 2 files changed, 56 insertions(+), 22 deletions(-) 855 Bytes
Added SND_SILENT event that permits us to disable (and enable) the driver,
either to grant the hardware access to some other driver, or to disable the
annoying beeps.

Signed-off-by: Stas Sergeev <stsp@aknet.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>


PCI/Cardbus cards hidden, needs pci=assign-busses to fix Bernhard Kaindl Sat, 18 Feb 2006 01:36:55 -0800 2 files changed, 33 insertions(+), 1 deletion(-) 2841 Bytes
"In some cases, especially on modern laptops with a lot of PCI and cardbus bridges, we're unable to assign correct secondary/subordinate bus numbers to all cardbus bridges due to BIOS limitations unless we are using "pci=assign-busses" boot option."
   -- Ivan Kokshaysky (from a patch comment)

Without it, Cardbus cards inserted are never seen by PCI because the parent PCI-PCI Bridge of the Cardbus bridge will not pass and translate Type 1 PCI configuration cycles correctly and the system will fail to find and initialise the PCI devices in the system.

Reference: PCI-PCI Bridges: PCI Configuration Cycles and PCI Bus Numbering: http://www.science.unitn.it/~fiorella/guidelinux/tlk/node72.html

The reason for this is that: ``All PCI busses located behind a PCI-PCI bridge must reside between the secondary bus number and the subordinate bus number (inclusive).''

"pci=assign-busses" makes pcibios_assign_all_busses return 1 and this turns on PCI renumbering during PCI probing. Alan suggested to use DMI automatically set assign-busses on problem systems. The only question for me was where to put it. I put it directly before scanning PCI bus into pcibios_scan_root() because it's called from legacy, acpi and numa and so it can be one place for all systems and configurations which may need it. AMD64 Laptops are also affected and fixed by assign-busses, and the code is also incuded from arch/x86_64/pci/ that place will also work for x86_64 kernels, I only ifdef'-ed the x86-only Laptop in this example.

Affected and known or assumed to be fixed with it are (found by googling):

* ASUS Z71V and L3s
* Samsung X20
* Compaq R3140us and all Compaq R3000 series laptops with TI1620 Controller, also Compaq R4000 series (from a kernel.org bugreport)
* HP zv5000z (AMD64 3700+, known that fixup_parent_subordinate_busnr fixes it)
* HP zv5200z
* IBM ThinkPad 240
* An IBM ThinkPad (1.8 GHz Pentium M) debugged by Pavel Machek< gives the correspondig message which detects the possible problem.
* MSI S260 / Medion SIM 2100 MD 95600

The patch also expands the "try pci=assign-busses" warning so testers will help us to update the DMI table.

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


pm-suspend-eisa-and-mca-devices-fix Andrew Morton Wed, 15 Feb 2006 04:47:21 -0800 2 files changed, 14 insertions(+), 5 deletions(-) 1782 Bytes
Signed-off-by: Andrew Morton <akpm@osdl.org>



pm: suspend EISA and MCA devices Pekka J Enberg Wed, 15 Feb 2006 04:45:30 -0800 2 files changed, 45 insertions(+) 1934 Bytes
We don't even attempt suspend/resume for eisa and mca bus devices.

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


powermac: Fix loss of ethernet PHY on sleep Benjamin Herrenschmidt Sun, 19 Feb 2006 21:38:02 -0800 1 files changed, 5 insertions(+), 5 deletions(-) 2329 Bytes
Some recent PowerBook models tend to lose the ethernet PHY on suspend/resume. It -seems- that they use a combo ethernet-firewire PHY chip and the firewire PHY seems to die the same way when that happens. Not trying to toggle the firewire cable power appears to fix it. So this patch disables changes to the firewire cable power control GPIO on those models.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>


proc: Remove the hard coded inode numbers Eric W. Biederman Sat, 25 Feb 2006 04:10:47 -0800 1 files changed, 163 insertions(+), 191 deletions(-) 409 Bytes
The hard coded inode numbers in proc currently limit it's maintainability, it's flexibility, and what can be done with the rest of system. /proc limits pid-max to 32768 on 32 bit systems it limits fd-max to 32768 on all systems, and placing the pid in the inode number really gets in the way of implementing multiple pid namespaces.

Ever since people started adding to the middle of the file type enumeration we haven't been maintaing the historical inode numbers, all we have really succeeded in doing is keeping the pid in the proc inode number. The pid is already available in the directory name so no information is lost removing it from the inode number.

So if something in user space cares if we remove the inode number from the
/proc inode it is almost certainly broken.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>


r8169: enable wake on lan Francois Romieu Wed, 22 Feb 2006 16:53:36 -0800 1 files changed, 87 insertions(+) 4107 Bytes
Similar to 8139cp code but more inspired/lucky.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>


RTC subsystem, class Alessandro Zummo Wed, 22 Feb 2006 14:16:02 -0800 9 files changed, 724 insertions(+) 21416 Bytes
This is a proposal for the implementation of a kernel-wide RTC subsystem.

The current state of RTCs under linux is that each one of the current drivers is actually self-contained and has a lot of redundant functions [1]. The lack of a kernel-wide subsystem is particulary important on embedded devices, where the RTC is usually implemented on an I2C chip. Of the current I2C RTC drivers, no-one actually interfaces with the kernel [2]: the driver is actually useless without further patches that are probably provided as part of an external project.

When new driver are to be implemented [3], I've noticed authors are oftenc onfused on how to do it, resulting in drivers that will not work on different architectures and that will probably never be merged in the kernel. They also happen to use ioctls over (struct i2c_client *)->command, which has recently been deprecated [4]. The architecture is quite simple. Each RTC device should register to the RTC class, providing a set of pointers to functions. The class will provide access to the RTC to the whole kernel and userspace.

For this purpose, the class supports multiple interfaces, like sysfs, proc and dev. The user has complete control over which interfaces gets added using the standard Kconfig mechanism. Proc and dev, due to their nature, will only expose the first RTC that registers to the subsystem. The RTC code is derived from the one of the ARM subsystem.

This patchset has been verify to properly work under Linux/ARM on several NSLU2s (http://www.linux-nslu2.org) and applies successfully on the 2.6.15-rc6 kernel . If this is the right way to go, I will port the x86 rtc driver in
order to get broader testing.

[1]
http://lkml.org/lkml/2005/11/17/180

[2]
drivers/i2c/chips/m41t00.c
drivers/i2c/chips/rtc8564.c
drivers/i2c/chips/ds1337.c
drivers/i2c/chips/ds1374.c

[3]
http://lists.lm-sensors.org/pipermail/lm-sensors/2005-November/014428.html
http://lists.lm-sensors.org/pipermail/lm-sensors/2005-November/014386.html

[4]
http://lists.lm-sensors.org/pipermail/lm-sensors/2005-December/014688.html
http://lists.lm-sensors.org/pipermail/lm-sensors/2005-November/014369.html

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>


RTC subsystem, dev interface Alessandro Zummo Wed, 22 Feb 2006 14:16:13 -0800 3 files changed, 382 insertions(+) 10462 Bytes
Add the dev interface to the RTC subsystem. Each RTC will be available under /dev/rtcX . A symlink from /dev/rtc0 to /dev/rtc can be obtained with the following udev rule:

KERNEL=="rtc0", SYMLINK+="rtc"

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>


RTC subsystem, proc interface Alessandro Zummo Wed, 22 Feb 2006 14:16:11 -0800 3 files changed, 170 insertions(+) 5884 Bytes
Add the proc interface to the RTC subsystem. The first RTC driver which registers with the class will be accessible by /proc/driver/rtc.

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>


RTC subsystem, sysfs interface Alessandro Zummo Wed, 22 Feb 2006 14:16:09 -0800 3 files changed, 132 insertions(+), 1 deletion(-) 1089 Bytes
Add the sysfs interface to the RTC subsystem. Each RTC client will have his own entry under /sys/classs/rtc/rtcN . Within this entry some attributes are exported by the subsystem, like date and
time.

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>


RTC subsystem, X1205 driver Alessandro Zummo Wed, 22 Feb 2006 14:16:15 -0800 3 files changed, 632 insertions(+) 17832 Bytes
RTC subsystem, DS1672 driver Alessandro Zummo Wed, 22 Feb 2006 14:16:19 -0800 3 files changed, 244 insertions(+) 7433 Bytes
RTC subsystem, PCF8563 driver Alessandro Zummo Wed, 22 Feb 2006 14:16:21 -0800 3 files changed, 367 insertions(+) 11125 Bytes
RTC subsystem, RS5C372 driver Alessandro Zummo Wed, 22 Feb 2006 14:16:23 -0800 3 files changed, 306 insertions(+) 9266 Bytes
RTC subsystem, test device/driver Alessandro Zummo Wed, 22 Feb 2006 14:16:17 -0800 3 files changed, 222 insertions(+) 6718 Bytes
A port of the existing x1205 driver under the new RTC subsystem. It is actually under test within the NSLU2 project (http://www.nslu2-linux.org) and it is working quite well. It is the first driver under this new subsystem and should be used as a guide to port other drivers. Ideally, at some point in the future, all RTC drivers will reside under linux/rtc.

Driver for the Dallas/Maxim DS1672 chip, found on the Loft (http://www.giantshoulderinc.com).

An RTC class aware driver for the Philips PCF8563 RTC and Epson RTC8564 chips. This chip is used on the Iomega NAS100D.

RTC class aware driver for the Ricoh RS5C372 chip used, among others, on the Synology DS101.

Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>


sched: implement smpnice Peter Williams Sun, 19 Feb 2006 21:49:14 -0800 2 files changed, 183 insertions(+), 50 deletions(-) 13999 Bytes
Problem:

The introduction of separate run queues per CPU has brought with it "nice" enforcement problems that are best described by a simple example.

For the sake of argument suppose that on a single CPU machine with a nice==19 hard spinner and a nice==0 hard spinner running that the nice==0 task gets 95% of the CPU and the nice==19 task gets 5% of the CPU. Now suppose that there is a system with 2 CPUs and 2 nice==19 hard spinners and 2 nice==0 hard spinners running. The user of this system would be entitled to expect that the nice==0 tasks each get 95% of a CPU and the nice==19 tasks only get 5% each. However, whether this expectation is met is pretty much down to luck as there are four equally likely distributions of the tasks to the CPUs that the load balancing code will consider to be balanced with loads of 2.0 for each CPU. Two of these distributions involve one nice==0 and one nice==19 task per CPU and in these circumstances the users expectations will be met.

The other two distributions both involve both nice==0 tasks being on one CPU and both nice==19 being on the other CPU and each task will get 50% of a CPU and the user's expectations will not be met.

Solution:

The solution to this problem that is implemented in the attached patch is to use weighted loads when determining if the system is balanced and, when an imbalance is detected, to move an amount of weighted load between run queues (as opposed to a number of tasks) to restore the balance. Once again, the easiest way to explain why both of these measures are necessary is to use a simple example.

Suppose that (in a slight variation of the above example) that we have a two CPU system with 4 nice==0 and 4 nice=19 hard spinning tasks running and that the 4 nice==0 tasks are on one CPU and the 4 nice==19 tasks are on the other CPU. The weighted loads for the two CPUs would be 4.0 and 0.2 respectively and the load balancing code would move 2 tasks resulting in one CPU with a load of 2.0 and the other with load of 2.2. If this was considered to be a big enough imbalance to justify moving a task and that task was moved using the current move_tasks() then it would move the highest priority task that it found and this would result in one CPU with a load of 3.0 and the other with a load of 1.2 which would result in the movement of a task in the opposite direction and so on -- infinite loop. If, on the other hand, an amount of load to be moved is calculated from the imbalance (in this case 0.1) and move_tasks() skips tasks until it find ones whose contributions to the weighted load are less than this amount it would move two of the nice==19 tasks resulting in a system with 2 nice==0 and 2 nice=19 on each CPU with loads of 2.1 for each CPU.

One of the advantages of this mechanism is that on a system where all tasks have nice==0 the load balancing calculations would be mathematically identical to the current load balancing code.

Signed-off-by: Peter Williams <pwil3058@bigpond.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>


serial: serial_txx9 driver update Atsushi Nemoto Tue, 21 Feb 2006 02:05:22 -0800 2 files changed, 42 insertions(+), 37 deletions(-) 2383 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>
Signed-off-by: Andrew Morton <akpm@osdl.org>


skge: protect interrupt mask Stephen Hemminger Wed, 22 Feb 2006 15:31:26 -0800 2 files changed, 15 insertions(+), 7 deletions(-) 3236 Bytes
There is a race between updating the irq mask and setting it which can be triggered on SMP with a bad cable. [Similar patch from Ingo Molnar and Thomas Gleixner]

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


swsusp/pm: refuse to suspend devices if wrong console is active "Rafael J. Wysocki" Sun, 19 Feb 2006 21:35:34 -0800 2 files changed, 9 insertions(+), 3 deletions(-) 2441 Bytes
1) Remove the console-switching code from the suspend part of the swsusp userland interface and let the userland tools switch the console.
2) It is unsafe to suspend devices if the hardware is controlled by X. Add an extra check to prevent this from happening.

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


swsusp: fix writing progress meter "Rafael J. Wysocki" Wed, 15 Feb 2006 20:49:22 -0800 1 files changed, 2 insertions(+), 5 deletions(-) 1598 Bytes
Due to the wrong value passed to load_image() in swap.c the writing progress meter could run over 100%. Fix it.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Andrew Morton <akpm@osdl.org>


update OBSOLETE_OSS_DRIVER schedule and dependencies Adrian Bunk Tue, 14 Feb 2006 22:23:49 -0800 2 files changed, 9 insertions(+), 9 deletions(-) 6187 Bytes
Update the schedule for the removal of drivers depending on OBSOLETE_OSS_DRIVER as follows:

- adjust OBSOLETE_OSS_DRIVER dependencie
- from the release of 2.6.16 till the release of 2.6.17: approx. two months for users to report problems with the ALSA drivers for the same hardware
- after the release of 2.6.17 (and before 2.6.18): remove the subset of drivers marked at OBSOLETE_OSS_DRIVER without known regressions in the ALSA drivers for the same hardware

Additionally, correct some OBSOLETE_OSS_DRIVER dependencies. A rationale of the changes is in http://lkml.org/lkml/2006/1/28/135

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


vgacon: no vertical resizing on EGA Samuel Thibault Tue, 21 Feb 2006 17:57:27 -0800 1 files changed, 41 insertions(+), 38 deletions(-) 742 Bytes
EGA boards suck: they mostly have write-only registers. This is particularly problematic for the overflow register: for being able to write to it, we would have to handle vertical sync & such too, which (I'd say) would potentially break a lot of configurations. Instead, just disabling vertical resize for EGA boards is just nice enough (horizontal resize still works).

Fixes http://bugzilla.kernel.org/show_bug.cgi?id=6106

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>


x25: allow ITU-T DTE facilities for x25 Shaun Pereira Fri, 17 Feb 2006 00:22:01 -0800 6 files changed, 162 insertions(+), 17 deletions(-) 13394 Bytes
Allows use of the optional user facility to insert ITU-T (http://www.itu.int/ITU-T/) specified DTE facilities in call set-up x25 packets. This feature is optional; no facilities will be added if the ioctl is not used, and call setup packet remains the same as before. If the ioctls provided by the patch are used, then a facility marker will be added to the x25 packet header so that the called dte address extension facility can be differentiated from other types of facilities (as described in the ITU-T X.25 recommendation) that are also allowed in the x25 packet header.

Facility markers are made up of two octets, and may be present in the x25 packet headers of call-request, incoming call, call accepted, clear request, and clear indication packets. The first of the two octets represents the facility code field and is set to zero by this patch. The second octet of the marker represents the facility parameter field and is set to 0x0F because the marker will be inserted before ITU-T type DTE facilities.

Since according to ITU-T X.25 Recommendation X.25(10/96)- 7.1 "All networks will support the facility markers with a facility parameter field set to all ones or to 00001111", therefore this patch should work with all x.25 networks. While there are many ITU-T DTE facilities, this patch implements only the called and calling address extension, with placeholders in the x25_dte_facilities structure for the rest of the facilities.

Testing:
This patch was tested using a cisco xot router connected on its serial ports to an X.25 network, and on its lan ports to a host running an xotd daemon. It is also possible to test this patch using an xotd daemon and an x25tap patch, where the xotd daemons work back-to-back without actually using an x.25 network. See www.fyonne.net for details on how to do this.

Signed-off-by: Shaun Pereira <spereira@tusc.com.au>
Acked-by: Andrew Hendry <ahendry@tusc.com.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>


x86: "make isoimage" support; FDINITRD= support; minor cleanups "H. Peter Anvin" Thu, 16 Feb 2006 14:54:18 -0800 4 files changed, 81 insertions(+), 17 deletions(-) 9493 Bytes
Add a "make isoimage" to i386 and x86-64, which allows the automatic creation of a bootable CD image. It also adds an option FDINITRD= to include an initrd of the user's choice in generated floppy- or CD boot images. Finally, some minor cleanups of the image generation code.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>


Created using parse-mm-commits.rb