GitHub/moto-9609/android_kernel_motorola_exynos9610.git
19 years ago[PATCH] m68knommu: add 5208 ColdFire support defines for its internal map
Greg Ungerer [Wed, 2 Nov 2005 04:59:09 +0000 (14:59 +1000)]
[PATCH] m68knommu: add 5208 ColdFire support defines for its internal map

Define the register space of the new 5208 ColdFire family (which includes
to 5207). It is mostly similar to the other ColdFire parts.

Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m68knommu: use board name defines to differentiate board definitions
Greg Ungerer [Wed, 2 Nov 2005 04:56:46 +0000 (14:56 +1000)]
[PATCH] m68knommu: use board name defines to differentiate board definitions

Use board name define to differentiate boards, not combination
of more generic defines.

Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m68knommu: updated defconfig
Greg Ungerer [Wed, 2 Nov 2005 04:53:58 +0000 (14:53 +1000)]
[PATCH] m68knommu: updated defconfig

Updated m68knommu defconfig. Part of changing the "Motorola" names
to their new name "Freescale".

Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m68knommu: remove unmaintained asm-m68knommu/ide.h
Greg Ungerer [Wed, 2 Nov 2005 04:52:21 +0000 (14:52 +1000)]
[PATCH] m68knommu: remove unmaintained asm-m68knommu/ide.h

Remove unmaintained asm-m68knommu/ide.h. It is completely out of
date - and there is no underlying support for it.

Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m68knommu: remove auto-generated asm-offsets.h
Greg Ungerer [Wed, 2 Nov 2005 04:50:04 +0000 (14:50 +1000)]
[PATCH] m68knommu: remove auto-generated asm-offsets.h

Remove auto-generated file from source base.

Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] m68knommu: change use of extern inline to static inline in headers
Greg Ungerer [Wed, 2 Nov 2005 04:42:03 +0000 (14:42 +1000)]
[PATCH] m68knommu: change use of extern inline to static inline in headers

"extern inline" doesn't make much sense here.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Greg Ungerer <gerg@uclinux.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/acme/net-2.6
Linus Torvalds [Wed, 2 Nov 2005 05:33:06 +0000 (21:33 -0800)]
Merge /pub/scm/linux/kernel/git/acme/net-2.6

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-serial
Linus Torvalds [Wed, 2 Nov 2005 05:32:46 +0000 (21:32 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-serial

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Wed, 2 Nov 2005 05:32:14 +0000 (21:32 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog
Linus Torvalds [Wed, 2 Nov 2005 05:29:57 +0000 (21:29 -0800)]
Merge /linux/kernel/git/wim/linux-2.6-watchdog

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6
Linus Torvalds [Wed, 2 Nov 2005 05:28:53 +0000 (21:28 -0800)]
Merge /pub/scm/linux/kernel/git/sfrench/cifs-2.6

19 years ago[PATCH] toshiba_ohci1394_dmi_table should be __devinitdata, not __devinit
Roland Dreier [Sat, 29 Oct 2005 04:50:35 +0000 (21:50 -0700)]
[PATCH] toshiba_ohci1394_dmi_table should be __devinitdata, not __devinit

I don't really understand why gcc gives the error it does, but without
this patch, when building with CONFIG_HOTPLUG=n, I get errors like:

      CC      arch/x86_64/pci/../../i386/pci/fixup.o
    arch/x86_64/pci/../../i386/pci/fixup.c: In function `pci_fixup_i450nx':
    arch/x86_64/pci/../../i386/pci/fixup.c:13: error: pci_fixup_i450nx causes a section type conflict

The change is obviously correct: an array should be declared
__devinitdata rather that __devinit.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Acked-by: Martin J. Bligh <mbligh@mbligh.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[ARM] 3081/1: Remove GTWX5715 from ixp4xx_defconfig
Deepak Saxena [Tue, 1 Nov 2005 22:32:12 +0000 (22:32 +0000)]
[ARM] 3081/1: Remove GTWX5715 from ixp4xx_defconfig

Patch from Deepak Saxena

CONFIG_MACH_GTWX5715 hardcodes the machine type in head-xscale.S so we
can no longer boot on any other machine types. The proper fix would be
to remove the hardcoding, but that machine is an off-the-shelf system
and most users won't have access to the bootloader. :(

Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3079/1: Fix typo in i2c-iop3xx.c (invalid pointer passed to release_mem_region)
Dan Williams [Tue, 1 Nov 2005 22:31:12 +0000 (22:31 +0000)]
[ARM] 3079/1: Fix typo in i2c-iop3xx.c (invalid pointer passed to release_mem_region)

Patch from Dan Williams

* If request_irq fails then a call to release_mem_region will be made with an invalid pointer.
* Two formatting fixes

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3052/1: add ixp2000 microcode loader
Lennert Buytenhek [Tue, 1 Nov 2005 19:53:50 +0000 (19:53 +0000)]
[ARM] 3052/1: add ixp2000 microcode loader

Patch from Lennert Buytenhek

This patch adds a microcode loader for the ixp2000 architecture.

The ixp2000 is an xscale-based CPU with a number of additional small
CPUs ('microengines') on die that can be programmed to do various
things.  Depending on the ixp2000 model, there are between 2 and 16
microengines.

This code provides an API that allows configuring the microengines,
loading code into them, and starting and stopping them and reading
out a number of status registers, and is used by the microengine
network driver that was recently announced to netdev.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2948/1: new preemption safe copy_{to|from}_user implementation
Nicolas Pitre [Tue, 1 Nov 2005 19:52:24 +0000 (19:52 +0000)]
[ARM] 2948/1: new preemption safe copy_{to|from}_user implementation

Patch from Nicolas Pitre

This patch provides a preemption safe implementation of copy_to_user
and copy_from_user based on the copy template also used for memcpy.
It is enabled unconditionally when CONFIG_PREEMPT=y.  Otherwise if the
configured architecture is not ARMv3 then it is enabled as well as it
gives better performances at least on StrongARM and XScale cores.  If
ARMv3 is not too affected or if it doesn't matter too much then
uaccess.S could be removed altogether.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2947/1: copy template with new memcpy/memmove
Nicolas Pitre [Tue, 1 Nov 2005 19:52:23 +0000 (19:52 +0000)]
[ARM] 2947/1: copy template with new memcpy/memmove

Patch from Nicolas Pitre

This patch provides a new implementation for optimized memory copy
functions on ARM.  It is made of two levels: a template that consists of
the core copy code and separate files that define macros to be used with
the core code depending on the type of copy needed. This allows for best
performances while sharing the same core for implementing memcpy(),
copy_from_user() and copy_to_user() for instance.

Two reasons for this work:

1) the current copy_to_user/copy_from_user implementation assumes no
   task switch will ever occur in the middle of each copied page making
   it completely unsafe with CONFIG_PREEMPT=y.

2) current copy implementations are measurably suboptimal and optimizing
   different implementations separately is a pain and more opportunities
   for bugs.

The reason for (1) is the fact that copy inside user pages are performed
with the ldm instruction which has no mean for testing user protections
and could possibly race with process preemption bypassing the COW mechanism
for example.  This is a longstanding issue that we said ought to be fixed
for about two years now.  The solution is to substitute those ldm insns
with a series of ldrt or strt insns to enforce user memory protection.
At least on StrongARM and XScale cores the ldm is not faster than the
equivalent ldr/str insns with a warm i-cache so there is no measurable
performance degradation with that change. The fact that the copy code is
a template makes it pretty easy to reuse the same core code as for memcpy
and benefit from the same performance optimizations.

Now (2) is best demonstrated with actual throughput measurements.
First, here is a summary of memcopy tests performed on a StrongARM core:

PTR alignment buffer size kernel version this version
------------------------------------------------------------
  aligned      32  59.73 107.43
unaligned      32  61.31  74.72
  aligned     100 132.47 136.15
unaligned     100      103.84 123.76
  aligned    4096 130.67 130.80
unaligned    4096      130.68 130.64
  aligned 1048576  68.03 68.18
unaligned 1048576  68.03 68.18

The buffer size is in bytes and the measured speed in MB/s.  The copy
was performed repeatedly with given buffer and throughput averaged over
3 seconds.

Here we can see that the current kernel version has a higher entry cost
that shows up with small buffers.  As buffer size grows both implementation
converge to the same throughput.

Now here's the exact same test performed on an XScale core (PXA255):

PTR alignment buffer size kernel version this version
------------------------------------------------------------
  aligned      32  46.99  77.58
unaligned      32  53.61  59.59
  aligned     100 107.19 136.59
unaligned     100  83.61  97.58
  aligned    4096 129.13 129.98
unaligned    4096 128.36 128.53
  aligned 1048576  53.76  59.41
unaligned 1048576  33.67  56.96

Again we can see the entry setup cost being higher for the current kernel
before getting to the main copy loop.  Then throughput results converge
as long as the buffer remains in the cache. Then the 1MB case shows more
differences probably due to better pld placement and/or less instruction
interlocks in this proposed implementation.

Disclaimer: The PXA system was running with slower clocks than the
StrongARM system so trying to infer any conclusion by comparing those
separate sets of results side by side would be completely inappropriate.

So...  What this patch does is to replace both memcpy and memmove with
an implementation based on the provided copy code template.  The memmove
code is kept separate since it is used only if the memory areas involved
do overlap in which case the code is a transposition of the template but
with the copy occurring in the opposite direction (trying to fit that
mode into the template turned it into a mess not worth it for memmove
alone).  And obviously both memcpy and memmove were tested with all kinds
of pointer alignments and buffer sizes to exercise all code paths for
correctness.

The next patch will provide the now trivial replacement implementation
copy_to_user and copy_from_user.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 2946/2: split --arch_clear_user() out of lib/uaccess.S
Nicolas Pitre [Tue, 1 Nov 2005 19:52:22 +0000 (19:52 +0000)]
[ARM] 2946/2: split --arch_clear_user() out of lib/uaccess.S

Patch from Nicolas Pitre

Required for future enhancement patches.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3078/1: lubbock platform updates, mostly mmc detection
David Brownell [Tue, 1 Nov 2005 19:44:30 +0000 (19:44 +0000)]
[ARM] 3078/1: lubbock platform updates, mostly mmc detection

Patch from David Brownell

Lubbock updates:

  * Provide an address for the SMC91x chip that doesn't generate
    a boot-time warning (matching the EEPROM).

  * Update MMC support to (a) detect card insert/remove, and
    (b) report the readonly switch setting for SD cards.

Previously, MMC/SD cards had to be present at boot time else they
couldn't be detected.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3077/1: S3C2410 - regs-iis.h missing mask for IISMOD_FS
Ben Dooks [Tue, 1 Nov 2005 19:44:30 +0000 (19:44 +0000)]
[ARM] 3077/1: S3C2410 - regs-iis.h missing mask for IISMOD_FS

Patch from Ben Dooks

Add definition for S3C2410_IISMOD_FS_MASK

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3076/1: S3C2410 - updated documentation for platfrom data init
Ben Dooks [Tue, 1 Nov 2005 19:44:29 +0000 (19:44 +0000)]
[ARM] 3076/1: S3C2410 - updated documentation for platfrom data init

Patch from Ben Dooks

Update the Documentation/arm/Samsung-S3C24XX to add
example platform data initialisation, and add the
linux-arm mailing list URL.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3071/1: RX3715 - add lcd/fb platform setup
Ben Dooks [Tue, 1 Nov 2005 19:44:28 +0000 (19:44 +0000)]
[ARM] 3071/1: RX3715 - add lcd/fb platform setup

Patch from Ben Dooks

Platform data for the LCD/framebuffer driver for
the RX3715 LCD panel.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3065/1: ixp2000 typo and whitespace fixes
Lennert Buytenhek [Tue, 1 Nov 2005 19:44:27 +0000 (19:44 +0000)]
[ARM] 3065/1: ixp2000 typo and whitespace fixes

Patch from Lennert Buytenhek

Misc ixp2000 typo and whitespace fixes.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3064/1: start using ixp2000_reg_wrb
Lennert Buytenhek [Tue, 1 Nov 2005 19:44:26 +0000 (19:44 +0000)]
[ARM] 3064/1: start using ixp2000_reg_wrb

Patch from Lennert Buytenhek

Switch the users of ixp2000_reg_write that depend on writes being
flushed out of the write buffer by the time that function returns
over to ixp2000_reg_wrb.

When using XCB=101, writes to the same functional unit are still
guaranteed to complete in order, so we only need to protect against:
- reordering of writes to different functional units
- masking an interrupt and then reenabling the IRQ bit in CPSR

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3063/1: allow slave ixp2000 cpu reset
Lennert Buytenhek [Tue, 1 Nov 2005 19:44:25 +0000 (19:44 +0000)]
[ARM] 3063/1: allow slave ixp2000 cpu reset

Patch from Lennert Buytenhek

On the ixdp2x00, the slave CPU is currently not allowed to reset itself
for fear that it will do something 'funky' on the PCI bus.  This fear is
ungrounded -- the slave CPU is wired up such that a CPU reset will not
cause a PCI bus reset to be done.  This patch changes arch_reset() so
that the slave CPU also executes the reset sequence, allowing it to
reboot itself using /sbin/reboot.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3062/1: map in various enp2611 peripherals for the ixp2000 netdev driver
Lennert Buytenhek [Tue, 1 Nov 2005 19:44:24 +0000 (19:44 +0000)]
[ARM] 3062/1: map in various enp2611 peripherals for the ixp2000 netdev driver

Patch from Lennert Buytenhek

The enp2611 version of the ixp2000 netdev driver needs to be able to
access a number of on-board peripherals.  ioremap() is not suitable
for this, as that will cause XCB=000 mappings to be done, which will
make the cpu susceptible to crashing on ixp2400 erratum #66.  Properly
aligned iotable mappings with MT_IXP2000_DEVICE will cause section
mappings with XCB=101 to be done, which is safe.

Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[WATCHDOG] adds device_driver .owner field
Wim Van Sebroeck [Sun, 23 Oct 2005 13:21:44 +0000 (15:21 +0200)]
[WATCHDOG] adds device_driver .owner field

Initialise the .owner field of the device driver
with the module that owns it, for easier tracking
of device driver ownership. (probably also better
for sysfs...)

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
19 years ago[WATCHDOG] pcwd_pci.c update comments
Wim Van Sebroeck [Sat, 22 Oct 2005 14:27:19 +0000 (16:27 +0200)]
[WATCHDOG] pcwd_pci.c update comments

update copyright + update bells and whistles driver for v2.6

Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
19 years ago[WATCHDOG] w83627hf_wdt trivial typo
Pozsar Balazs [Fri, 21 Oct 2005 09:52:01 +0000 (10:52 +0100)]
[WATCHDOG] w83627hf_wdt trivial typo

The most trivial typo fix in the world.

Signed-off-by: Pozsar Balazs <pozsy@uhulinux.hu>
Signed-off-by: Pádraig Brady <P@draigBrady.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
19 years ago[WATCHDOG] s3c2410 wdt - add .owner field
Ben Dooks [Mon, 10 Oct 2005 00:28:30 +0000 (01:28 +0100)]
[WATCHDOG] s3c2410 wdt - add .owner field

Initialise the .owner field of the device driver
with the module that owns it, for easier tracking
of device driver ownership.

Signed-off-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
19 years agoExport __pagevec_release and pagevec_lookup_tag
Steve French [Tue, 1 Nov 2005 18:22:55 +0000 (10:22 -0800)]
Export __pagevec_release and pagevec_lookup_tag

These are needed to implement cifs_writepages

Signed-off-by: Dave Kleikamp <shaggy@austin.ibm.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
19 years agoMerge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Steve French [Tue, 1 Nov 2005 17:02:10 +0000 (09:02 -0800)]
Merge ... /linux/kernel/git/torvalds/linux-2.6.git

19 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs-2.6
Linus Torvalds [Tue, 1 Nov 2005 16:30:05 +0000 (08:30 -0800)]
Merge git://git./linux/kernel/git/aia21/ntfs-2.6

19 years agoMerge branch 'master' of /home/src/linux-2.6/
Anton Altaparmakov [Tue, 1 Nov 2005 15:51:32 +0000 (15:51 +0000)]
Merge branch 'master' of /home/src/linux-2.6/

19 years agoNTFS: Fix a stupid bug causing writes to non-initialized pages to segfault.
Anton Altaparmakov [Tue, 1 Nov 2005 15:49:31 +0000 (15:49 +0000)]
NTFS: Fix a stupid bug causing writes to non-initialized pages to segfault.

Signed-off-by: Anton Altaparmakov <aia21@cantab.net>
19 years agoDon't touch USB controller IO registers when they are disabled
Linus Torvalds [Tue, 1 Nov 2005 05:12:40 +0000 (21:12 -0800)]
Don't touch USB controller IO registers when they are disabled

The USB "handoff" code is an early PCI quirk to make sure we own the USB
controller (as opposed to the BIOS/SMM).  But if the controller isn't
even enabled yet, don't try to access it.

Acked-by: Paul Mackerras <paulus@samba.org> (who had an alternate patch)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoRevert "i386: move apic init in init_IRQs"
Linus Torvalds [Tue, 1 Nov 2005 03:16:17 +0000 (19:16 -0800)]
Revert "i386: move apic init in init_IRQs"

Commit f2b36db692b7ff6972320ad9839ae656a3b0ee3e causes a bootup hang on
at least one machine.  Revert for now until we understand why.  The old
code may be ugly, but it works.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[MCAST] IPv6: Check packet size when process Multicast
Yan Zheng [Mon, 31 Oct 2005 12:09:45 +0000 (20:09 +0800)]
[MCAST] IPv6: Check packet size when process Multicast

Signed-off-by: Yan Zheng <yanzheng@21cn.com
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
19 years ago[DCCP]: Set socket owner iff packet is not data
Herbert Xu [Sun, 30 Oct 2005 00:20:59 +0000 (11:20 +1100)]
[DCCP]: Set socket owner iff packet is not data

Here is a complimentary insurance policy for those feeling a bit insecure.
You don't have to accept this.  However, if you do, you can't blame me for
it :)

> 1) dccp_transmit_skb sets the owner for all packets except data packets.

We can actually verify this by looking at pkt_type.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
19 years ago[PATCH] Creative Audigy 2 cardbus: Add IO window wakeup magic
James Courtier-Dutton [Mon, 31 Oct 2005 10:27:41 +0000 (10:27 +0000)]
[PATCH] Creative Audigy 2 cardbus: Add IO window wakeup magic

This adds the magic IO wakeup code for the CardBus version of the
Creative Labs Audigy 2 to the snd-emu10k1 driver.

Without the magic IO enable sequence, reading from the IO region of the
card will fail spectacularly, and the machine will hang.

My next task will be getting the driver to actually play sound without
distortion.

Signed-off-by: James Courtier-Dutton <James@superbug.co.uk>
[ This is a work-in-progress, but since it avoids a total lockup
  if the emu10k module is loaded on a machine with the cardbus
  card inserted, we're better off with it than without it, even
  if sound quality is bad right now ]

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix __writeback_single_inode WARN_ON
Andrea Arcangeli [Mon, 31 Oct 2005 22:08:54 +0000 (14:08 -0800)]
[PATCH] fix __writeback_single_inode WARN_ON

When the inode count is zero in inode writeback, the

WARN_ON(!(inode->i_state & I_WILL_FREE));

is broken, and needs to test for either I_WILL_FREE|I_FREEING.

When the inode is in I_FREEING state, it's already out of the visibility
of the vm so it can't be freed so it doesn't require the __iget and the
generic_delete_inode path can call the sync internally to the lowlevel
fs callback during the last iput. So the inode being in I_FREEING is
also a valid condition for calling the sync with i_count == 0.

The specific stack trace is this:

  0xc00000007b8fb6e0  0xc00000000010118c  .__writeback_single_inode +0x5c
  0xc00000007b8fb6e0  0xc0000000001014dc (lr) .sync_inode +0x3c
  0xc00000007b8fb790  0xc0000000001014dc  .sync_inode +0x3c
  0xc00000007b8fb820  0xc0000000001a5020  .ext2_sync_inode +0x64
  0xc00000007b8fb8f0  0xc0000000001a65b4  .ext2_truncate +0x3f8
  0xc00000007b8fba40  0xc0000000001a6940  .ext2_delete_inode +0xdc
  0xc00000007b8fbac0  0xc0000000000f7a5c  .generic_delete_inode +0x124
  0xc00000007b8fbb50  0xc0000000000f5fe0  .iput +0xb8
  0xc00000007b8fbbe0  0xc0000000000e9fd4  .sys_unlink +0x2a8
  0xc00000007b8fbd10  0xc00000000001048c  .ret_from_syscall_1 +0x0

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] revert ide-scsi highmem cleanup
Andrew Morton [Mon, 31 Oct 2005 22:08:53 +0000 (14:08 -0800)]
[PATCH] revert ide-scsi highmem cleanup

Jeff Garzik <jgarzik@pobox.com> points out that this was wrong: we need to
disable local interrupts while holding KM_IRQ0 due to IRQ sharing.

And holding interrupts off during a big PIO opration is expensive, so we only
want to do that if we know the page was highmem.

So revert commit 17fd47ab4d33e764216b87006d8118fa050b4c92

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[DCCP]: Simplify skb_set_owner_w semantics
Herbert Xu [Sun, 30 Oct 2005 00:20:59 +0000 (11:20 +1100)]
[DCCP]: Simplify skb_set_owner_w semantics

While we're at it let's reorganise the set_owner_w calls a little so that:

1) dccp_transmit_skb sets the owner for all packets except data packets.
2) Add dccp_skb_entail to set owner for packets queued for retransmission.
3) Make dccp_transmit_skb static.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
19 years ago[IPV6]: Fix behavior of ip6_route_input() for link local address
Yan Zheng [Fri, 28 Oct 2005 22:12:00 +0000 (15:12 -0700)]
[IPV6]: Fix behavior of ip6_route_input() for link local address

I find that linux will reply echo request destined to an address which
belongs to an interface other than the one from which the request received.
This behavior doesn't make sense for link local address.

YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> said:

Please note that sender does need to setup neighbor entry by hand to reproduce
this bug.  (Link-local address on eth1 is not visible on eth0, from the point
of view of neighbor discovery in IPv6.)

 +--------+               +--------+
 | sender |               | router |
 +---+----+               +-+----+-+
     |eth0              eth0|    |eth1
-----+----------------------+-  -+--------------

Signed-off-by: Yan Zheng <yanzheng@21cn.com>
Acked-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: Andrew Morton <akpm@osdl.org> (forwarded)
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
19 years ago[ROSE]: rose_heartbeat_expiry() locking fix
Andrew Morton [Fri, 28 Oct 2005 22:12:02 +0000 (15:12 -0700)]
[ROSE]: rose_heartbeat_expiry() locking fix

Missing unlock, as noted by Ted Unangst <tedu@coverity.com>.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
19 years ago[NETFILTER]: Add "revision" support to arp_tables and ip6_tables
Harald Welte [Wed, 26 Oct 2005 07:34:24 +0000 (09:34 +0200)]
[NETFILTER]: Add "revision" support to arp_tables and ip6_tables

Like ip_tables already has it for some time, this adds support for
having multiple revisions for each match/target.  We steal one byte from
the name in order to accomodate a 8 bit version number.

Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
19 years ago[BRIDGE]: Use ether_compare
Stephen Hemminger [Tue, 25 Oct 2005 22:04:59 +0000 (15:04 -0700)]
[BRIDGE]: Use ether_compare

Use compare_ether_addr in bridge code.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
19 years ago[PATCH] i386: CONFIG_PC removal
Arthur Othieno [Mon, 31 Oct 2005 04:04:05 +0000 (23:04 -0500)]
[PATCH] i386: CONFIG_PC removal

CONFIG_PC is left-over cruft after the introduction of CONFIG_X86_PC with
the subarch split.  Remove it, and fixup the remaining users to depend on
CONFIG_X86_PC instead.

Signed-off-by: Arthur Othieno <a.othieno@bluewin.ch>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[ARM] Convert EBSA110 network driver to a platform driver
Russell King [Mon, 31 Oct 2005 17:14:57 +0000 (17:14 +0000)]
[ARM] Convert EBSA110 network driver to a platform driver

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Fixup platform device.h includes for realview board
Russell King [Mon, 31 Oct 2005 16:57:06 +0000 (16:57 +0000)]
[ARM] Fixup platform device.h includes for realview board

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoMerge with /pub/scm/linux/kernel/git/torvalds/linux-2.6.git
Steve French [Mon, 31 Oct 2005 16:36:11 +0000 (08:36 -0800)]
Merge ... /linux/kernel/git/torvalds/linux-2.6.git

19 years ago[PATCH] noop-iosched: avoid corrupted request merging
Jens Axboe [Mon, 31 Oct 2005 08:23:54 +0000 (09:23 +0100)]
[PATCH] noop-iosched: avoid corrupted request merging

Tejun Heo notes:

   "I'm currently debugging this.  The problem is that we are using the
    generic dispatch queue directly in the noop sched and merging is NOT
    allowed on dispatch queues but generic handling of last_merge tries
    to merge requests.  I'm still trying to verify this, so I'll be back
    with results soon."

In the meantime, disable merging for noop by setting REQ_NOMERGE in
elevator_noop_add_request().

Eventually, we should add a noop_list and do the dispatching like in the
other io schedulers.  Merging is still beneficial for noop (and it has
always done it).

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Fix on-the-fly switch from cfq i/o scheduler
Jens Axboe [Mon, 31 Oct 2005 12:51:33 +0000 (13:51 +0100)]
[PATCH] Fix on-the-fly switch from cfq i/o scheduler

Don't clear ->elevator_data on exit, if we are switching queues we are
overwriting the data of the new io scheduler.

Signed-off-by: Jens Axboe <axboe@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/aia21/ntfs-2.6
Linus Torvalds [Mon, 31 Oct 2005 15:36:08 +0000 (07:36 -0800)]
Merge git://git./linux/kernel/git/aia21/ntfs-2.6

19 years agoMerge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik...
Linus Torvalds [Mon, 31 Oct 2005 15:34:07 +0000 (07:34 -0800)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-drvmodel
Linus Torvalds [Mon, 31 Oct 2005 15:32:56 +0000 (07:32 -0800)]
Merge kernel.org:/home/rmk/linux-2.6-drvmodel

Manual #include fixups for clashes - there may be some unnecessary

19 years ago[ARM] Add support for ARM RealView board
Catalin Marinas [Mon, 31 Oct 2005 14:25:02 +0000 (14:25 +0000)]
[ARM] Add support for ARM RealView board

Support for RealView EB.

Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[SERIAL] Fix port numbering
Russell King [Mon, 31 Oct 2005 13:53:26 +0000 (13:53 +0000)]
[SERIAL] Fix port numbering

The PORT_* macros must be uniquely numbered.  This fixes the
definitions.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[SERIAL] Update serial_core documentation
Russell King [Mon, 31 Oct 2005 11:53:19 +0000 (11:53 +0000)]
[SERIAL] Update serial_core documentation

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[SERIAL] Arrange better identification of ports
Russell King [Mon, 31 Oct 2005 11:42:22 +0000 (11:42 +0000)]
[SERIAL] Arrange better identification of ports

Folk seem to get confused when they see two or more ttyS0 ports
appearing at boot time.  One comes from the legacy table, and
one from PNP.

Hence, display the bus ID of the device which supplied the port.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoMerge branch 'master' of /usr/src/ntfs-2.6/
Anton Altaparmakov [Mon, 31 Oct 2005 10:06:46 +0000 (10:06 +0000)]
Merge branch 'master' of /usr/src/ntfs-2.6/

19 years agoInput: adbhid - fix OOPS introduced by dynalloc conversion
Paul Mackerras [Mon, 31 Oct 2005 06:30:32 +0000 (01:30 -0500)]
Input: adbhid - fix OOPS introduced by dynalloc conversion

The problem is that adbhid[]->input is NULL, so the kernel oopses with
a null pointer dereference as soon as a key is pressed.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
19 years agoInput: lkkbd - fix debug message in lkkbd_interrupt()
Dmitry Torokhov [Mon, 31 Oct 2005 06:30:19 +0000 (01:30 -0500)]
Input: lkkbd - fix debug message in lkkbd_interrupt()

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
19 years agoInput: pcspkr - fix setting name and phys for the device
Dmitry Torokhov [Mon, 31 Oct 2005 06:30:05 +0000 (01:30 -0500)]
Input: pcspkr - fix setting name and phys for the device

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
19 years agoInput: fix input_dev registration message
Dmitry Torokhov [Mon, 31 Oct 2005 06:29:51 +0000 (01:29 -0500)]
Input: fix input_dev registration message

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
19 years agoInput: evdev - allow querying SW state from compat ioctl
Dmitry Torokhov [Mon, 31 Oct 2005 06:29:37 +0000 (01:29 -0500)]
Input: evdev - allow querying SW state from compat ioctl

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
19 years agoInput: evdev - allow querying EV_SW bits from compat_ioctl
Dmitry Torokhov [Mon, 31 Oct 2005 06:29:23 +0000 (01:29 -0500)]
Input: evdev - allow querying EV_SW bits from compat_ioctl

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
19 years ago[libata] locking rewrite (== fix)
Jeff Garzik [Mon, 31 Oct 2005 04:31:48 +0000 (23:31 -0500)]
[libata] locking rewrite (== fix)

A lot of power packed into a little patch.

This change eliminates the sharing between our controller-wide spinlock
and the SCSI core's Scsi_Host lock.  As the locking in libata was
already highly compartmentalized, always referencing our own lock, and
never scsi_host::host_lock.

As a side effect, this change eliminates a deadlock from calling
scsi_finish_command() while inside our spinlock.

19 years agopowerpc: import a fix from arch/ppc/mm/pgtable.c
Paul Mackerras [Mon, 31 Oct 2005 03:40:03 +0000 (14:40 +1100)]
powerpc: import a fix from arch/ppc/mm/pgtable.c

... namely, the change to the 2-argument pte_alloc_kernel.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: apply recent changes to merged code
Paul Mackerras [Mon, 31 Oct 2005 02:57:01 +0000 (13:57 +1100)]
powerpc: apply recent changes to merged code

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[libata] ata_tf_to_host cleanups
Jeff Garzik [Mon, 31 Oct 2005 02:37:17 +0000 (21:37 -0500)]
[libata] ata_tf_to_host cleanups

Integrate ata_exec() and ata_tf_to_host() into their only caller,
ata_bus_edd().

Rename ata_tf_to_host_nolock() to ata_tf_to_host().

This makes locking a bit easier to review, and may help pave the way for
future changes.

19 years agoMerge ../linux-2.6 by hand
Paul Mackerras [Mon, 31 Oct 2005 02:37:12 +0000 (13:37 +1100)]
Merge ../linux-2.6 by hand

19 years agoppc: remove duplicate export of cur_cpu_spec
Paul Mackerras [Mon, 31 Oct 2005 02:08:54 +0000 (13:08 +1100)]
ppc: remove duplicate export of cur_cpu_spec

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Fix bug arising from having multiple memory_limit variables
Paul Mackerras [Mon, 31 Oct 2005 02:07:02 +0000 (13:07 +1100)]
powerpc: Fix bug arising from having multiple memory_limit variables

We had a static memory_limit in prom.c, and then another one defined
in setup_64.c and used in numa.c, which resulted in the kernel crashing
when mem=xxx was given on the command line.  This puts the declaration
in system.h and the definition in mem.c.  This also moves the
definition of tce_alloc_start/end out of setup_64.c.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-serial
Linus Torvalds [Mon, 31 Oct 2005 01:48:37 +0000 (17:48 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-serial

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Mon, 31 Oct 2005 01:48:00 +0000 (17:48 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-mmc
Linus Torvalds [Mon, 31 Oct 2005 01:47:00 +0000 (17:47 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-mmc

19 years ago[PATCH] fat: Remove duplicate directory scanning code
Pekka Enberg [Sun, 30 Oct 2005 23:03:50 +0000 (15:03 -0800)]
[PATCH] fat: Remove duplicate directory scanning code

This patch removes duplicate directory scanning code from fs/fat/dir.c.  The
two functions that share identical code are fat_readdirx() and
fat_search_long().  This patch also renames fat_readdirx to __fat_readdir().

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fat: remove the unneeded vfat_find() in vfat_rename()
OGAWA Hirofumi [Sun, 30 Oct 2005 23:03:50 +0000 (15:03 -0800)]
[PATCH] fat: remove the unneeded vfat_find() in vfat_rename()

Now, vfat_rename() is using vfat_find() for sanity check.  This removes that
sanity check, the cost of sanity check is too high.

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fat: cleanup and optimization of checksum
OGAWA Hirofumi [Sun, 30 Oct 2005 23:03:49 +0000 (15:03 -0800)]
[PATCH] fat: cleanup and optimization of checksum

Signed-off-by: OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] fix missing includes
Tim Schmielau [Sun, 30 Oct 2005 23:03:48 +0000 (15:03 -0800)]
[PATCH] fix missing includes

I recently picked up my older work to remove unnecessary #includes of
sched.h, starting from a patch by Dave Jones to not include sched.h
from module.h. This reduces the number of indirect includes of sched.h
by ~300. Another ~400 pointless direct includes can be removed after
this disentangling (patch to follow later).
However, quite a few indirect includes need to be fixed up for this.

In order to feed the patches through -mm with as little disturbance as
possible, I've split out the fixes I accumulated up to now (complete for
i386 and x86_64, more archs to follow later) and post them before the real
patch.  This way this large part of the patch is kept simple with only
adding #includes, and all hunks are independent of each other.  So if any
hunk rejects or gets in the way of other patches, just drop it.  My scripts
will pick it up again in the next round.

Signed-off-by: Tim Schmielau <tim@physik3.uni-rostock.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] Remove duplicate code in signal.c
Paul E. McKenney [Sun, 30 Oct 2005 23:03:46 +0000 (15:03 -0800)]
[PATCH] Remove duplicate code in signal.c

Combine a bit of redundant code between force_sig_info() and
force_sig_specific().

Signed-off-by: paulmck@us.ibm.com
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] remove unneeded SI_TIMER checks
Oleg Nesterov [Sun, 30 Oct 2005 23:03:46 +0000 (15:03 -0800)]
[PATCH] remove unneeded SI_TIMER checks

This patch removes checks for ->si_code == SI_TIMER from send_signal,
specific_send_sig_info, __group_send_sig_info.

I think posix-timers.c used these functions some time ago, now it sends
signals via send_{,group_}sigqueue, so these hooks are unneeded.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] cleanup the usage of SEND_SIG_xxx constants
Oleg Nesterov [Sun, 30 Oct 2005 23:03:45 +0000 (15:03 -0800)]
[PATCH] cleanup the usage of SEND_SIG_xxx constants

This patch simplifies some checks for magic siginfo values.  It should not
change the behaviour in any way.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] remove hardcoded SEND_SIG_xxx constants
Oleg Nesterov [Sun, 30 Oct 2005 23:03:44 +0000 (15:03 -0800)]
[PATCH] remove hardcoded SEND_SIG_xxx constants

This patch replaces hardcoded SEND_SIG_xxx constants with
their symbolic names.

No changes in affected .o files.

Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: hpet driver cleanups
Randy Dunlap [Sun, 30 Oct 2005 23:03:44 +0000 (15:03 -0800)]
[PATCH] hpet: hpet driver cleanups

- Use kzalloc() instead of kmalloc + memset.
- Clean/fix some printk's.
- Use NULL for pointers instead of 0.
- Combine hpet busy searching locations into a function call.

Signed-off-by: Randy Dunlap <randy_d_dunlap@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: use HPET physical addresses for dup. detection
Randy Dunlap [Sun, 30 Oct 2005 23:03:43 +0000 (15:03 -0800)]
[PATCH] hpet: use HPET physical addresses for dup. detection

- Use HPET physical address to detect duplicates, not logical addresses.
  Using logical (mapped) addresses fails to detect duplicates
  because ioremap() returns a new mapped address each time.

- iounmap() regions when duplicate/busy areas are found.

Signed-off-by: Randy Dunlap <randy_d_dunlap@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: allow HPET FIXED_MEM32 resource type
Randy Dunlap [Sun, 30 Oct 2005 23:03:42 +0000 (15:03 -0800)]
[PATCH] hpet: allow HPET FIXED_MEM32 resource type

Allow the ACPI HPET description table to use a resource type of FIXED_MEM32
for the HPET reource.  Use the fixed resoure size of 1 KB for the HPET
resource as per the HPET spec.

Signed-off-by: Randy Dunlap <randy_d_dunlap@linux.intel.com>
Acked-by: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: simplify initialization message
Clemens Ladisch [Sun, 30 Oct 2005 23:03:41 +0000 (15:03 -0800)]
[PATCH] hpet: simplify initialization message

When booting, display the timer frequency in Hertz instead of as tick length
in nanoseconds.  Apart from saving a local variable, this makes the message
more easily comprehensible.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: remove superfluous indirections
Clemens Ladisch [Sun, 30 Oct 2005 23:03:40 +0000 (15:03 -0800)]
[PATCH] hpet: remove superfluous indirections

In the hpet_ioctl_common() function, devp->hd_hpets is already cached in the
hpetp variable, so we can use just that.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: fix access to multiple HPET devices
Clemens Ladisch [Sun, 30 Oct 2005 23:03:39 +0000 (15:03 -0800)]
[PATCH] hpet: fix access to multiple HPET devices

Fix two instances where a function would access the first HPET device instead
of the current one.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: fix uninitialized variable in hpet_register()
Clemens Ladisch [Sun, 30 Oct 2005 23:03:39 +0000 (15:03 -0800)]
[PATCH] hpet: fix uninitialized variable in hpet_register()

Clear the ht_opaque field in the hpet_register() function before searching for
a free timer to prevent the function from incorrectly assuming that the search
succeeded afterwards.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: fix division by zero in HPET_INFO
Clemens Ladisch [Sun, 30 Oct 2005 23:03:38 +0000 (15:03 -0800)]
[PATCH] hpet: fix division by zero in HPET_INFO

Fix a division by zero that happened when the HPET_INFO ioctl was called
before a timer frequency had been set.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: fix HPET_INFO calls from kernel space
Clemens Ladisch [Sun, 30 Oct 2005 23:03:37 +0000 (15:03 -0800)]
[PATCH] hpet: fix HPET_INFO calls from kernel space

Fix a wrong memory access in hpet_ioctl_common().  It was not possible to use
the HPET_INFO ioctl from kernel space because it always called copy_to_user().

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Cc: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet-RTC: cache the comparator register
Clemens Ladisch [Sun, 30 Oct 2005 23:03:36 +0000 (15:03 -0800)]
[PATCH] hpet-RTC: cache the comparator register

Reads from an HPET register require a round trip to the south bridge and are
almost as slow as PCI reads.  By caching the last value we've written to the
comparator register, we can eliminate all HPET reads from the fast path in the
emulated RTC interrupt handler.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Acked-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet-RTC: fix timer config register accesses
Clemens Ladisch [Sun, 30 Oct 2005 23:03:36 +0000 (15:03 -0800)]
[PATCH] hpet-RTC: fix timer config register accesses

Make sure that the RTC timer is in non-periodic mode; some stupid BIOS might
have initialized it to periodic mode.

Furthermore, don't set the SETVAL bit in the config register.  This wouldn't
have any effect unless the timer was in period mode (which it isn't), and then
the actual timer frequency would be half that of the desired one because
incrementing the comparator in the interrupt handler would be done after the
hardware has already incremented it itself.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Acked-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet-RTC: disable interrupt when no longer needed
Clemens Ladisch [Sun, 30 Oct 2005 23:03:35 +0000 (15:03 -0800)]
[PATCH] hpet-RTC: disable interrupt when no longer needed

When the emulated RTC interrupt is no longer needed, we better disable it;
otherwise, we get a spurious interrupt whenever the timer has rolled over and
reaches the same comparator value.

Having a superfluous interrupt every five minutes doesn't hurt much, but it's
bad style anyway.  ;-)

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Acked-by: "Pallipadi, Venkatesh" <venkatesh.pallipadi@intel.com>
Cc: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: allow shared interrupts
Clemens Ladisch [Sun, 30 Oct 2005 23:03:34 +0000 (15:03 -0800)]
[PATCH] hpet: allow shared interrupts

This patch adds support for shared HPET interrupts.

The driver previously acknowledged interrupts for both edge and level
interrupts, but didn't actually allow a shared interrupt in the latter case.

We use a new per-timer flag to save whether the timer's interrupt might be
shared, and use it to do the processing required for level interrupts only if
necessary.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Acked-by: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: allow non-power-of-two frequencies
Clemens Ladisch [Sun, 30 Oct 2005 23:03:33 +0000 (15:03 -0800)]
[PATCH] hpet: allow non-power-of-two frequencies

It was only the RTC hardware that restricted interrupt frequencies to a power
of two.  There is no reason to take over this restriction into the HPET
driver, so remove the offending check.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Acked-by: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[PATCH] hpet: remove superfluous register reads
Clemens Ladisch [Sun, 30 Oct 2005 23:03:32 +0000 (15:03 -0800)]
[PATCH] hpet: remove superfluous register reads

This patch removes several reads of a timer's config register that serve no
purpose whatsoever.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Acked-by: Bob Picco <bob.picco@hp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>