GitHub/LineageOS/G12/android_kernel_amlogic_linux-4.9.git
19 years ago[PATCH] pciehp: request control of each hotplug controller individually
rajesh.shah@intel.com [Tue, 1 Nov 2005 00:20:11 +0000 (16:20 -0800)]
[PATCH] pciehp: request control of each hotplug controller individually

This patch tweaks the way pciehp requests control of the hotplug
hardware from BIOS. It now tries to invoke the ACPI _OSC method
for a specific hotplug controller only, rather than walking the
entire acpi namespace invoking all possible _OSC methods under
all host bridges. This allows us to gain control of each hotplug
controller individually, even if BIOS fails to give us control of
some other hotplug controller in the system.

Signed-off-by: Rajesh Shah <rajesh.shah@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] pciehp: reduce debug message verbosity
rajesh.shah@intel.com [Tue, 1 Nov 2005 00:20:10 +0000 (16:20 -0800)]
[PATCH] pciehp: reduce debug message verbosity

Reduce the number of debug messages generated if pciehp debug is
enabled. I tried to restrict this to removing debug messages that
are either early-driver-debug type messages, or print information
that can be inferred through other debug prints.

Signed-off-by: Rajesh Shah <rajesh.shah@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] pciehp: miscellaneous cleanups
rajesh.shah@intel.com [Tue, 1 Nov 2005 00:20:09 +0000 (16:20 -0800)]
[PATCH] pciehp: miscellaneous cleanups

Remove un-necessary header includes, remove dead code, remove
some hardcoded constants...

Signed-off-by: Rajesh Shah <rajesh.shah@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] pciehp: remove redundant data structures
rajesh.shah@intel.com [Tue, 1 Nov 2005 00:20:08 +0000 (16:20 -0800)]
[PATCH] pciehp: remove redundant data structures

State information is currently stored in per-slot as well as
per-pci-function data structures in pciehp. There's a lot of
overlap in the information kept, and some of it is never used.
This patch consolidates the state information to per-slot and
eliminates unused data structures. The biggest change is to
eliminate the pci_func structure and the code around managing
its lists.

Signed-off-by: Rajesh Shah <rajesh.shah@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] pciehp: reduce dependence on ACPI
rajesh.shah@intel.com [Tue, 1 Nov 2005 00:20:07 +0000 (16:20 -0800)]
[PATCH] pciehp: reduce dependence on ACPI

Reduce the PCI Express hotplug driver's dependence on ACPI.
We don't walk the acpi namespace anymore to build a list of
bridges and devices. We go to ACPI only to run the _OSC or
_OSHP methods to transition control of hotplug hardware from
system BIOS to the hotplug driver, and to run the _HPP
method to get hotplug device parameters like cache line size,
latency timer and SERR/PERR enable from BIOS.

Note that one of the side effects of this patch is that pciehp
does not automatically enable the hot-added device or its DMA
bus mastering capability now. It expects the device driver to
do that. This may break some drivers and we will have to fix
them as they are reported.

Signed-off-by: Rajesh Shah <rajesh.shah@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] patch 1/8] pciehp: use the PCI core for hotplug resource management
rajesh.shah@intel.com [Tue, 1 Nov 2005 00:20:06 +0000 (16:20 -0800)]
[PATCH] patch 1/8] pciehp: use the PCI core for hotplug resource management

This patch converts the pci express hotplug controller driver
to use the PCI core for resource management. This eliminates a
lot of duplicated code and integrates pciehp with the system's
normal PCI handling code.

Signed-off-by: Rajesh Shah <rajesh.shah@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years ago[PATCH] PCI: add pci_find_next_capability()
Roland Dreier [Sat, 29 Oct 2005 00:35:34 +0000 (17:35 -0700)]
[PATCH] PCI: add pci_find_next_capability()

Some devices have more than one capability of the same type.  For
example, the PCI header for the PathScale InfiniPath looks like:

04:01.0 InfiniBand: Unknown device 1fc1:000d (rev 02)
Subsystem: Unknown device 1fc1:000d
Flags: bus master, fast devsel, latency 0, IRQ 193
Memory at fea00000 (64-bit, non-prefetchable) [size=2M]
Capabilities: [c0] HyperTransport: Slave or Primary Interface
Capabilities: [f8] HyperTransport: Interrupt Discovery and Configuration

There are _two_ HyperTransport capabilities, and the PathScale driver
wants to look at both of them.

The current pci_find_capability() API doesn't work for this, since it
only allows us to get to the first capability of a given type.  The
patch below introduces a new pci_find_next_capability(), which can be
used in a loop like

for (pos = pci_find_capability(pdev, <ID>);
     pos;
     pos = pci_find_next_capability(pdev, pos, <ID>)) {
/* ... */
}

Signed-off-by: Roland Dreier <rolandd@cisco.com>
Signed-off-by: Matthew Wilcox <matthew@wil.cx>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
19 years agoMerge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6
Linus Torvalds [Thu, 10 Nov 2005 23:39:44 +0000 (15:39 -0800)]
Merge branch 'release' of git://git./linux/kernel/git/aegl/linux-2.6

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 10 Nov 2005 22:46:07 +0000 (14:46 -0800)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild
Linus Torvalds [Thu, 10 Nov 2005 21:45:34 +0000 (13:45 -0800)]
Merge /pub/scm/linux/kernel/git/sam/kbuild

19 years agoMerge branch 'for-linus' of master.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband
Linus Torvalds [Thu, 10 Nov 2005 21:27:06 +0000 (13:27 -0800)]
Merge branch 'for-linus' of /linux/kernel/git/roland/infiniband

19 years ago[PATCH] Don't print per-cpu vm stats for offline cpus.
Dave Jones [Thu, 10 Nov 2005 20:45:56 +0000 (15:45 -0500)]
[PATCH] Don't print per-cpu vm stats for offline cpus.

I just hit a page allocation error on a kernel configured to support
64 CPUs.  It spewed 60 completely useless unnecessary lines of info.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years ago[DCCP]: Alter website for DCCP in MAINTAINERS
Ian McDonald [Thu, 10 Nov 2005 21:05:01 +0000 (13:05 -0800)]
[DCCP]: Alter website for DCCP in MAINTAINERS

Website for DCCP is now hosted at OSDL

Signed-off-by: Ian McDonald <imcdnzl@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[DCCP]: Create Documentation/networking/dccp.txt
Ian McDonald [Thu, 10 Nov 2005 21:04:33 +0000 (13:04 -0800)]
[DCCP]: Create Documentation/networking/dccp.txt

This patch is a first go at some documentation. Please advise if gmail
has mangled patch and I will revert to an attachment:

Signed-off-by: Ian McDonald <imcdnzl@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Annotate h_proto in struct ethhdr
Pavel Roskin [Thu, 10 Nov 2005 21:03:08 +0000 (13:03 -0800)]
[NET]: Annotate h_proto in struct ethhdr

The protocol field in ethernet headers is big-endian and should be
annotated as such.  This patch allows detection of missing ntohs() calls
on the ethernet protocol field when sparse is run with __CHECK_ENDIAN__
defined.

This is a revised version that includes <linux/types.h> so that the
userspace programs are not confused by __be16.  Thanks to David S.
Miller.

Signed-off-by: Pavel Roskin <proski@gnu.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NET]: Detect hardware rx checksum faults correctly
Herbert Xu [Thu, 10 Nov 2005 21:01:24 +0000 (13:01 -0800)]
[NET]: Detect hardware rx checksum faults correctly

Here is the patch that introduces the generic skb_checksum_complete
which also checks for hardware RX checksum faults.  If that happens,
it'll call netdev_rx_csum_fault which currently prints out a stack
trace with the device name.  In future it can turn off RX checksum.

I've converted every spot under net/ that does RX checksum checks to
use skb_checksum_complete or __skb_checksum_complete with the
exceptions of:

* Those places where checksums are done bit by bit.  These will call
netdev_rx_csum_fault directly.

* The following have not been completely checked/converted:

ipmr
ip_vs
netfilter
dccp

This patch is based on patches and suggestions from Stephen Hemminger
and David S. Miller.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[BNX2]: simplify parameter checks in bnx2_{get,set}_eeprom
John W. Linville [Thu, 10 Nov 2005 20:58:24 +0000 (12:58 -0800)]
[BNX2]: simplify parameter checks in bnx2_{get,set}_eeprom

Remove the superfluous parameter checking in bnx2_{get,set}_eeprom.
The parameters are already validated in ethtool_{get,set}_eeprom.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[BNX2]: check return of dev_alloc_skb in bnx2_test_loopback
John W. Linville [Thu, 10 Nov 2005 20:58:00 +0000 (12:58 -0800)]
[BNX2]: check return of dev_alloc_skb in bnx2_test_loopback

Check return of dev_alloc_skb in bnx2_test_loopback, and handle
appropriately.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[BNX2]: output driver name as prefix in error message
John W. Linville [Thu, 10 Nov 2005 20:57:33 +0000 (12:57 -0800)]
[BNX2]: output driver name as prefix in error message

Output driver name as prefix to "Unknown flash/EEPROM type." message.

Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[ATM]: [horizon] fix sparse warnings
Dave Jones [Thu, 10 Nov 2005 20:55:52 +0000 (12:55 -0800)]
[ATM]: [horizon] fix sparse warnings

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Chas Williams <cmas@cmf.nrl.navy.mil>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[PATCH] kbuild: build breaks after -imacros was introduced
Zachary Amsden [Mon, 7 Nov 2005 23:27:51 +0000 (15:27 -0800)]
[PATCH] kbuild: build breaks after -imacros was introduced

I have to revert the recent addition of -imacros to the Makefile to get my
tool chain to build.  Without the change, below, I get:

Note that this looks entirely like a toolchain bug.  Here is the offending command:

[pid 12163] execve("/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/tradcpp0", ["/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/tradcpp0", "-lang-asm", "-nostdinc", "-Iinclude", "-Iinclude/asm-i386/mach-default", "-D__GNUC__=3", "-D__GNUC_MINOR__=2", "-D__GNUC_PATCHLEVEL__=2", "-D__GXX_ABI_VERSION=102", "-D__ELF__", "-Dunix", "-D__gnu_linux__", "-Dlinux", "-D__ELF__", "-D__unix__", "-D__gnu_linux__", "-D__linux__", "-D__unix", "-D__linux", "-Asystem=posix", "-D__NO_INLINE__", "-D__STDC_HOSTED__=1", "-Acpu=i386", "-Amachine=i386", "-Di386", "-D__i386", "-D__i386__", "-D__tune_i386__", "-D__KERNEL__", "-D__ASSEMBLY__", "-isystem", "/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/include", "-imacros", "include/linux/autoconf.h", "-MD", "arch/i386/kernel/.entry.o.d", "arch/i386/kernel/entry.S", "-o", "/tmp/ccOlsFJR.s"]

Which should execute properly, I think.  But it does not:

zach-dev:linux-2.6.14-zach-work $ make
  CHK     include/linux/version.h
  CHK     include/linux/compile.h
  CHK     usr/initramfs_list
  AS      arch/i386/kernel/entry.o
/usr/lib/gcc-lib/i386-redhat-linux/3.2.2/tradcpp0: output filename specified twice
make[1]: *** [arch/i386/kernel/entry.o] Error 1
make: *** [arch/i386/kernel] Error 2

gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)

Deprecating the -imacros fixes the build for me.  It does not appear to be a
simple argument overflow problem in trapcpp0, since deprecating all the defines
reproduces the problem as well.  Also, switching -imacros to -include fixes the
problem.

Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
19 years ago[SPARC64]: Re-export uts_sem for solaris compat module.
David S. Miller [Thu, 10 Nov 2005 20:47:50 +0000 (12:47 -0800)]
[SPARC64]: Re-export uts_sem for solaris compat module.

Revert: b26b9bc58263acda274f82a9dde8b6d96559878a

Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[IA64] utilize notify_die() for XPC disengage
Dean Nelson [Wed, 9 Nov 2005 20:41:57 +0000 (14:41 -0600)]
[IA64] utilize notify_die() for XPC disengage

XPC (as in arch/ia64/sn/kernel/xp*) has a need to notify other partitions
(SGI Altix) whenever a partition is going down in order to get them to
disengage from accessing the halting partition's memory. If this is not
done before the reset of the hardware, the other partitions can find
themselves encountering MCAs that bring them down.

Signed-off-by: Dean Nelson <dcn@sgi.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years ago[IA64] Replace kcalloc(1, with kzalloc.
Panagiotis Issaris [Wed, 9 Nov 2005 01:08:42 +0000 (02:08 +0100)]
[IA64] Replace kcalloc(1, with kzalloc.

Conversion from kcalloc(1, to kzalloc.

Signed-off-by: Panagiotis Issaris <takis@issaris.org>
Signed-off-by: Tony Luck <tony.luck@intel.com>
19 years agoPull add-mmio-to-proc-iomem into release branch
Tony Luck [Thu, 10 Nov 2005 18:40:32 +0000 (10:40 -0800)]
Pull add-mmio-to-proc-iomem into release branch

19 years agoPull context-bitmap into release branch
Tony Luck [Thu, 10 Nov 2005 18:39:49 +0000 (10:39 -0800)]
Pull context-bitmap into release branch

19 years agoPull extend-notify-die into release branch
Tony Luck [Thu, 10 Nov 2005 18:39:09 +0000 (10:39 -0800)]
Pull extend-notify-die into release branch

19 years agoPull memoryless-node-allocation into release branch
Tony Luck [Thu, 10 Nov 2005 18:38:41 +0000 (10:38 -0800)]
Pull memoryless-node-allocation into release branch

19 years agoPull mca-check-psp into release branch
Tony Luck [Thu, 10 Nov 2005 18:38:05 +0000 (10:38 -0800)]
Pull mca-check-psp into release branch

19 years agoPull align-sig-frame into release branch
Tony Luck [Thu, 10 Nov 2005 18:37:35 +0000 (10:37 -0800)]
Pull align-sig-frame into release branch

19 years ago[IB] umad: further ib_unregister_mad_agent() deadlock fixes
Roland Dreier [Thu, 10 Nov 2005 18:18:23 +0000 (10:18 -0800)]
[IB] umad: further ib_unregister_mad_agent() deadlock fixes

The previous umad deadlock fix left ib_umad_kill_port() still
vulnerable to deadlocking.  This patch fixes that by downgrading our
lock to a read lock when we might end up trying to reacquire the lock
for reading.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years ago[IB] mthca: fix posting long lists of receive work requests
Michael S. Tsirkin [Wed, 9 Nov 2005 22:59:57 +0000 (14:59 -0800)]
[IB] mthca: fix posting long lists of receive work requests

In Tavor mode, when posting a long list of receive work requests, a
doorbell must be rung every 256 requests.  Add code to do this when
required.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years ago[IB] mthca: fix wraparound handling in mthca_cq_clean()
Roland Dreier [Wed, 9 Nov 2005 20:23:17 +0000 (12:23 -0800)]
[IB] mthca: fix wraparound handling in mthca_cq_clean()

Handle case where prod_index has wrapped around and become less than
cq->cons_index by checking that their difference as a signed int is
positive rather than comparing directly.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years ago[IB] mthca: fix posting of atomic operations
Michael S. Tsirkin [Wed, 9 Nov 2005 19:30:14 +0000 (11:30 -0800)]
[IB] mthca: fix posting of atomic operations

The size of work requests for atomic operations was computed
incorrectly in mthca: all sizeofs need to be divided by 16.

Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years ago[IB] uverbs: have kernel return QP capabilities
Jack Morgenstein [Wed, 9 Nov 2005 19:26:07 +0000 (11:26 -0800)]
[IB] uverbs: have kernel return QP capabilities

Move the computation of QP capabilities (max scatter/gather entries,
max inline data, etc) into the kernel, and have the uverbs module
return the values as part of the create QP response.  This keeps
precise knowledge of device limits in the low-level kernel driver.

This requires an ABI bump, so while we're making changes, get rid of
the max_sge parameter for the modify SRQ command -- it's not used and
shouldn't be there.

Signed-off-by: Jack Morgenstein <jackm@mellanox.co.il>
Signed-off-by: Michael S. Tsirkin <mst@mellanox.co.il>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years ago[IB] umad: get rid of unused mr array
Roland Dreier [Wed, 9 Nov 2005 17:58:10 +0000 (09:58 -0800)]
[IB] umad: get rid of unused mr array

Now that ib_umad uses the new MAD sending interface, it no longer
needs its own L_Key.  So just delete the array of MRs that it keeps.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years ago[IB] Have cq_resize() method take an int, not int*
Roland Dreier [Tue, 8 Nov 2005 19:10:25 +0000 (11:10 -0800)]
[IB] Have cq_resize() method take an int, not int*

Change the struct ib_device.resize_cq() method to take a plain integer
that holds the new CQ size, rather than a pointer to an integer that
it uses to return the new size.  This makes the interface match the
exported ib_resize_cq() signature, and allows the low-level driver to
update the CQ size with proper locking if necessary.

No in-tree drivers are exporting this method yet.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years ago[IB] mthca: fix typo in catastrophic error polling
Roland Dreier [Tue, 8 Nov 2005 06:01:02 +0000 (22:01 -0800)]
[IB] mthca: fix typo in catastrophic error polling

Fix a typo in the rearming of the catastrophic error polling timer: we
should rearm the timer as long as the stop flag is _not_ set.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years ago[IPoIB] no need to set skb->dev right before freeing skb
Roland Dreier [Mon, 7 Nov 2005 18:49:38 +0000 (10:49 -0800)]
[IPoIB] no need to set skb->dev right before freeing skb

For cut-and-paste reasons, the IPoIB driver was setting skb->dev right
before calling dev_kfree_skb_any().  Get rid of this.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years ago[IB] umad: avoid potential deadlock when unregistering MAD agents
Roland Dreier [Mon, 7 Nov 2005 18:41:29 +0000 (10:41 -0800)]
[IB] umad: avoid potential deadlock when unregistering MAD agents

ib_unregister_mad_agent() completes all pending MAD sends and waits
for the agent's send_handler routine to return.  umad's send_handler()
calls queue_packet(), which does down_read() on the port mutex to look
up the agent ID.  This means that the port mutex cannot be held for
writing while calling ib_unregister_mad_agent(), or else it will
deadlock.  This patch fixes all the calls to ib_unregister_mad_agent()
in the umad module to avoid this deadlock.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years ago[IPoIB] add path record information in debugfs
Roland Dreier [Mon, 7 Nov 2005 18:33:11 +0000 (10:33 -0800)]
[IPoIB] add path record information in debugfs

Add ibX_path files to debugfs that contain information about the IPoIB
path cache.  IPoIB ARP only gives GIDs, which the IPoIB driver must
resolve to real IB paths through the ib_sa module.  For debugging,
when the ARP table looks OK but traffic isn't flowing, it's useful to
be able to see if the resolution from GID to path worked.

Also clean up the formatting of the existing _mcg debugfs files.

Signed-off-by: Roland Dreier <rolandd@cisco.com>
19 years agoMerge master.kernel.org:/home/rmk/linux-2.6-arm
Linus Torvalds [Thu, 10 Nov 2005 18:17:11 +0000 (10:17 -0800)]
Merge master.kernel.org:/home/rmk/linux-2.6-arm

19 years ago[PATCH] Don't auto-reap traced children
Oleg Nesterov [Thu, 10 Nov 2005 14:22:18 +0000 (17:22 +0300)]
[PATCH] Don't auto-reap traced children

If a task is being traced we never auto-reap it even if it might look
like its parent doesn't care. The tracer obviously _does_ care.

Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6
Linus Torvalds [Thu, 10 Nov 2005 17:48:34 +0000 (09:48 -0800)]
Merge git://git./linux/kernel/git/brodo/pcmcia-fixes-2.6

19 years ago[ARM] 3098/1: pxa2xx disable ssp irq
Liam Girdwood [Thu, 10 Nov 2005 17:45:39 +0000 (17:45 +0000)]
[ARM] 3098/1: pxa2xx disable ssp irq

Patch from Liam Girdwood

This patch allows users of the pxa SSP driver to register their own irq
handlers instead of using the default SSP handler. It also cleans up the
CKEN clock and irq detection as the values are now stored in a table.

This patch replaces 2845/1

Changes:-
o Added flags parameter to ssp_init()
o Added SSP_NO_IRQ flag to disable registering of ssp irq handler (for
drivers that want to register their own handler)
o Cleaned up clock and irq detection, values are now stored in table.
o Added build changes to allow other drivers (e.g audio) to select the
ssp driver.
o corgi_ssp.c changed to use new interface.

Signed-off-by: Liam Girdwood <liam.girdwood@wolfsonmicro.com>
Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3096/1: Add SharpSL Zaurus power and battery management core driver
Richard Purdie [Thu, 10 Nov 2005 17:42:29 +0000 (17:42 +0000)]
[ARM] 3096/1: Add SharpSL Zaurus power and battery management core driver

Patch from Richard Purdie

This patch adds a power and battery management core driver which with
the addition of the right device files, supports the c7x0 and cxx00
series of Sharp Zaurus handhelds.

The driver is complex for several reasons. Battery charging is manually
monitored and controlled. When suspended, the device needs to
periodically partially resume, check the charging status and then
re-suspend. It does without bothering the higher linux layers as
a full resume and re-suspend is unnecessary. The code is carefully
written to avoid interrupts or calling code outside the module under
these circumstances. It also vets the various wake up sources and
monitors the device's power situation.

Hooks to limit the backlight intensity and to notify the battery
monitoring code of backlight events are connected/added as the
backlight is one of the biggest users of power on the device.

Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years agoMerge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc-merge
Linus Torvalds [Thu, 10 Nov 2005 15:37:51 +0000 (07:37 -0800)]
Merge git://git./linux/kernel/git/paulus/powerpc-merge

19 years ago[ARM] 3144/1: OMAP 5/5: Update omap H2 defconfig
Tony Lindgren [Thu, 10 Nov 2005 14:26:54 +0000 (14:26 +0000)]
[ARM] 3144/1: OMAP 5/5: Update omap H2 defconfig

Patch from Tony Lindgren

This patch updates omap H2 defconfig.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3143/1: OMAP 4/5: Update omap include files
Tony Lindgren [Thu, 10 Nov 2005 14:26:53 +0000 (14:26 +0000)]
[ARM] 3143/1: OMAP 4/5: Update omap include files

Patch from Tony Lindgren

This patch syncs the mainline kernel with linux-omap tree.

This patch contains changes to common header files for
omap1xxx and omap24xx by various omap developers, and
improved cpu detection by Imre Deak

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3146/1: OMAP 3b/5: Add omap24xx clock framework
Tony Lindgren [Thu, 10 Nov 2005 14:26:52 +0000 (14:26 +0000)]
[ARM] 3146/1: OMAP 3b/5: Add omap24xx clock framework

Patch from Tony Lindgren

This patch adds omap24xx specific clock code by
Richard Woodruff, Nishant Menon, Tony Lindgren et al.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3145/1: OMAP 3a/5: Add support for omap24xx
Tony Lindgren [Thu, 10 Nov 2005 14:26:51 +0000 (14:26 +0000)]
[ARM] 3145/1: OMAP 3a/5: Add support for omap24xx

Patch from Tony Lindgren

This patch adds support for omap24xx series of processors.
The files live in arch/arm/mach-omap2, and share common
files with omap15xx and omap16xx processors in
arch/arm/plat-omap.

Omap24xx support was originally added for 2.6.9 by TI.
This code was then improved and integrated to share common
code with omap15xx and omap16xx processors by various
omap developers, such as Paul Mundt, Juha Yrjola, Imre Deak,
Tony Lindgren, Richard Woodruff, Nishant Menon, Komal Shah
et al.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3142/1: OMAP 2/5: Update files common to omap1 and omap2
Tony Lindgren [Thu, 10 Nov 2005 14:26:50 +0000 (14:26 +0000)]
[ARM] 3142/1: OMAP 2/5: Update files common to omap1 and omap2

Patch from Tony Lindgren

This patch syncs the mainline kernel with linux-omap tree.
The highlights of the patch are:

- Serial port and framebuffer init improvments by Imre Deak

- Common omap pin mux framework by Tony Lindgren

- Common omap clock framework by Tony Lindren

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3141/1: OMAP 1/5: Update omap1 specific files
Tony Lindgren [Thu, 10 Nov 2005 14:26:48 +0000 (14:26 +0000)]
[ARM] 3141/1: OMAP 1/5: Update omap1 specific files

Patch from Tony Lindgren

This patch syncs the mainline kernel with linux-omap tree.
The highlights of the patch are:

- Omap1 serial pport and framebuffer init updates by Imre Deak

- Add support for omap310 processor and Palm Tungsten E PDA
  by Laurent Gonzales, Romain Goyet, et al. Omap310 and
  omap1510 processors are now handled as omap15xx.

- Omap1 specific changes to shared omap clock framework
  by Tony Lindgren

- Omap1 specific changes to shared omap pin mux framework
  by Tony Lindgren

- Other misc fixes, such as update memory timings for smc91x,
  omap1 specific device initialization etc.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] 3140/1: NSLU2 machine support
Alessandro Zummo [Thu, 10 Nov 2005 14:05:04 +0000 (14:05 +0000)]
[ARM] 3140/1: NSLU2 machine support

Patch from Alessandro Zummo

This patch adds support for the LinkSys NSLU2 running with
both big and little-endian kernels. The LinkSys NSLU2 is
a cost engineered ARM, XScale 420 based system similar to
the the Intel IXDP425 evaluation board. It uses the
IXP4XX ARCH.

While this patch applies independently of other patches
the resultant kernel requires further patches to successfully
use onboard devices, including the onboard flash. Since these
patches are independent of this one they will be submitted
separately.

A defconfig is not included here because not all of
the required drivers are actually in the kernel.
We intend to provide one as soon as the patches
will be incorporated in mainstream.

This patch is the combined work of nslu2-linux.org

Signed-off-by: John Bowler <jbowler@acm.org>
Signed-off-by: Alessandro Zummo <a.zummo@towertech.it>
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[ARM] Fix csumpartial corner case
Russell King [Thu, 10 Nov 2005 11:40:53 +0000 (11:40 +0000)]
[ARM] Fix csumpartial corner case

Ji-In Park discovered a bug in csumpartial which caused wrong
checksums with misaligned buffers.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
19 years ago[PCMCIA] i82365: release all resources if no devices are found
Igor Popik [Thu, 6 Oct 2005 18:32:58 +0000 (20:32 +0200)]
[PCMCIA] i82365: release all resources if no devices are found

The i82365 driver does not release all the resources when the device is not
found. This can cause an oops when reading /proc/ioports after module
unload.

Signed-off-by: Igor Popik <igor.popik@gmail.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
19 years ago[PCMCIA] MPC8xx PCMCIA update
Marcelo Tosatti [Sat, 5 Nov 2005 15:03:32 +0000 (13:03 -0200)]
[PCMCIA] MPC8xx PCMCIA update

Kconfig entry: dependency on 8xx
Makefile: fix whitespace breakage
m8xx_pcmcia.c:
- asm/segment.h is gone
- use generic PCMCIA suspend/resume methods

Signed-off-by: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
19 years ago[PATCH] Alchemy PCMCIA: Fix config.h inclusion
Ralf Baechle [Wed, 2 Nov 2005 18:08:40 +0000 (18:08 +0000)]
[PATCH] Alchemy PCMCIA: Fix config.h inclusion

Add rsp. remove the inclusion of <linux/config.h> as needed.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
19 years agoMerge git://oak/home/sfr/kernels/iseries/work
Paul Mackerras [Thu, 10 Nov 2005 05:10:01 +0000 (16:10 +1100)]
Merge git://oak/home/sfr/kernels/iseries/work

19 years agopowerpc: fix iSeries build
Stephen Rothwell [Thu, 10 Nov 2005 05:07:12 +0000 (16:07 +1100)]
powerpc: fix iSeries build

Only MULTIPLATFORM has phbs_remap_io.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agoppc64: Add declarations to ppc64 headers as well as powerpc headers
Paul Mackerras [Thu, 10 Nov 2005 05:06:30 +0000 (16:06 +1100)]
ppc64: Add declarations to ppc64 headers as well as powerpc headers

For now, we need these declarations that we moved from C code in
the asm-ppc64 versions of these headers as well as the asm-powerpc
versions.  The asm-ppc64 versions will be disappearing shortly.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] ppc64: bugfix: crash on PHB add
Linas Vepstas [Fri, 4 Nov 2005 00:51:17 +0000 (18:51 -0600)]
[PATCH] ppc64: bugfix: crash on PHB add

19-rpaphp-crashing.patch

This patch fixes a bug related to dlpar PHB add, after a PHB removal.

-- The crash was due to the PHB not having a pci_dn structure yet,
   when the phb is being added.

This code survived testing, of adding and removeig the PHB and all slots
underneath it, 17 times so far, as of this writing.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] ppc64: mark failed devices
Linas Vepstas [Fri, 4 Nov 2005 00:50:48 +0000 (18:50 -0600)]
[PATCH] ppc64: mark failed devices

17-eeh-slot-marking-bug.patch

A device that experiences a PCI outage may be just one deivce out
of many that was affected. In order to avoid repeated reports of
a failure, the entire tree of affected devices should be marked
as failed. This patch marks up the entire tree.

Signed-off-by: Linas Vepstas <linas@linas.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoMerge git://oak/home/sfr/kernels/iseries/work
Paul Mackerras [Thu, 10 Nov 2005 04:54:00 +0000 (15:54 +1100)]
Merge git://oak/home/sfr/kernels/iseries/work

19 years agopowerpc: Move some extern declarations from C code into headers
Paul Mackerras [Thu, 10 Nov 2005 04:53:40 +0000 (15:53 +1100)]
powerpc: Move some extern declarations from C code into headers

This also make klimit have the same type on 32-bit as on 64-bit,
namely unsigned long, and defines and initializes it in one place.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: implement atomic64_t on ppc64
Stephen Rothwell [Thu, 10 Nov 2005 04:51:14 +0000 (15:51 +1100)]
powerpc: implement atomic64_t on ppc64

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years ago[PATCH] powerpc: Move more ppc64 files with no ppc32 equivalent to powerpc
David Gibson [Thu, 10 Nov 2005 04:26:20 +0000 (15:26 +1100)]
[PATCH] powerpc: Move more ppc64 files with no ppc32 equivalent to powerpc

This patch moves a bunch more files from arch/ppc64 and
include/asm-ppc64 which have no equivalents in ppc32 code into
arch/powerpc and include/asm-powerpc.  The file affected are:
hvcall.h
proc_ppc64.c
sysfs.c
lparcfg.c
rtas_pci.c

The only changes apart from the move and corresponding Makefile
changes are:
- #ifndef/#define in includes updated to _ASM_POWERPC_ form
- trailing whitespace removed
- comments giving full paths removed

Built and booted on POWER5 LPAR (ARCH=powerpc and ARCH=ppc64), built
for 32-bit powermac (ARCH=powerpc).

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] ppc64: fix PCI IO mapping
Benjamin Herrenschmidt [Thu, 10 Nov 2005 04:04:24 +0000 (15:04 +1100)]
[PATCH] ppc64: fix PCI IO mapping

phbs_remap_io(), which maps the PCI IO space into the kernel virtual space,
is called too early on powermac, and thus doesn't work.

This fixes it by removing the call from all platforms and putting it back
into the ppc64 common code where it belongs, after the actual probing of
the bus.

That means that before that call, only the ISA IO space (if any) is mapped,
any PIO access (from quirks for example) will fail. This happens not to be
a problem for now, but we'll have to rework that code if it becomes one in
the future.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: 64k pages vs. U3 iommu
Benjamin Herrenschmidt [Thu, 10 Nov 2005 03:54:58 +0000 (14:54 +1100)]
[PATCH] powerpc: 64k pages vs. U3 iommu

That DART (U3 iommu) code didn't properly scale the number of entries
when using !4k pages. That caused crashes when booting G5s with more
than 2Gb of RAM. This fixes it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: 64k pages pmd alloc fix
Benjamin Herrenschmidt [Thu, 10 Nov 2005 03:53:16 +0000 (14:53 +1100)]
[PATCH] powerpc: 64k pages pmd alloc fix

This patch makes the kernel use a different kmem cache for PMD pages
as they are smaller than PTE pages. Avoids waste of memory.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/bart/ide-2.6
Linus Torvalds [Thu, 10 Nov 2005 03:57:25 +0000 (19:57 -0800)]
Merge /pub/scm/linux/kernel/git/bart/ide-2.6

19 years agopowerpc: remove some warnings when building iSeries
Stephen Rothwell [Thu, 10 Nov 2005 03:16:21 +0000 (14:16 +1100)]
powerpc: remove some warnings when building iSeries

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
19 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Thu, 10 Nov 2005 03:32:25 +0000 (19:32 -0800)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

19 years ago[PATCH] SUNRPC: don't reencode when looping in call transmit.
Trond Myklebust [Thu, 10 Nov 2005 02:45:24 +0000 (21:45 -0500)]
[PATCH] SUNRPC: don't reencode when looping in call transmit.

If the call to xprt_transmit() fails due to socket buffer space
exhaustion, we do not need to re-encode the RPC message when we
loop back through call_transmit.

Re-encoding can actually end up triggering the WARN_ON() in
call_decode() if we re-encode something like a read() request and
auth->au_rslack has changed.
It can also cause us to increment the RPCSEC_GSS sequence number
beyond the limits of the allowed window.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
19 years agopowerpc: 32-bit fixes for xmon
Paul Mackerras [Thu, 10 Nov 2005 03:30:20 +0000 (14:30 +1100)]
powerpc: 32-bit fixes for xmon

This makes the memory examine/change command print the address as
8 digits instead of 16, and makes the memory dump command print
4 4-byte values per line instead of 2 8-byte values.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Add user CPU features for POWER4, POWER5, POWER5+ and Cell.
Paul Mackerras [Thu, 10 Nov 2005 03:29:18 +0000 (14:29 +1100)]
powerpc: Add user CPU features for POWER4, POWER5, POWER5+ and Cell.

This is at the request of the glibc folks, who want to use these bits
to select libraries optimized for the microarchitecture and new
instructions in these processors.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Fix SMP time initialization problem
Paul Mackerras [Thu, 10 Nov 2005 03:28:03 +0000 (14:28 +1100)]
powerpc: Fix SMP time initialization problem

We were getting the last_jiffy per-cpu variable set ahead of the current
timebase in smp_space_timers on SMP machines.  This caused the loop in
timer_interrupt to loop virtually forever, since tb_ticks_since assumes
that it will never be called with the timebase behind the last_jiffy
value.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Fixes for 32-bit powermac SMP
Paul Mackerras [Thu, 10 Nov 2005 03:26:12 +0000 (14:26 +1100)]
powerpc: Fixes for 32-bit powermac SMP

A couple of bugs crept in with the merge of smp.c...

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Fix compile error in EEH code with gcc4
Paul Mackerras [Thu, 10 Nov 2005 03:23:54 +0000 (14:23 +1100)]
powerpc: Fix compile error in EEH code with gcc4

Gcc 4 doesn't like being told to inline a recursive function...

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agopowerpc: Fix typo introduced in merging platform codes
Paul Mackerras [Thu, 10 Nov 2005 03:23:18 +0000 (14:23 +1100)]
powerpc: Fix typo introduced in merging platform codes

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: merge code values for identifying platforms
Paul Mackerras [Thu, 10 Nov 2005 02:37:51 +0000 (13:37 +1100)]
[PATCH] powerpc: merge code values for identifying platforms

This patch merges platform codes.  systemcfg->platform is no longer used,
systemcfg use in general is deprecated as much as possible (and renamed
_systemcfg before it gets completely moved elsewhere in a future patch),
_machine is now used on ppc64 along as ppc32.  Platform codes aren't gone
yet but we are getting a step closer. A bunch of asm code in head[_64].S
is also turned into C code.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: Consolidate asm compatibility macros
David Gibson [Thu, 10 Nov 2005 01:56:55 +0000 (12:56 +1100)]
[PATCH] powerpc: Consolidate asm compatibility macros

This patch consolidates macros used to generate assembly for
compatibility across different CPUs or configs.  A new header,
asm-powerpc/asm-compat.h contains the main compatibility macros.  It
uses some preprocessor magic to make the macros suitable both for use
in .S files, and in inline asm in .c files.  Headers (bitops.h,
uaccess.h, atomic.h, bug.h) which had their own such compatibility
macros are changed to use asm-compat.h.

ppc_asm.h is now for use in .S files *only*, and a #error enforces
that.  As such, we're a lot more careless about namespace pollution
here than in asm-compat.h.

While we're at it, this patch adds a call to the PPC405_ERR77 macro in
futex.h which should have had it already, but didn't.

Built and booted on pSeries, Maple and iSeries (ARCH=powerpc).  Built
for 32-bit powermac (ARCH=powerpc) and Walnut (ARCH=ppc).

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: Move scanlog.c to platforms/pseries
David Gibson [Thu, 10 Nov 2005 01:42:17 +0000 (12:42 +1100)]
[PATCH] powerpc: Move scanlog.c to platforms/pseries

scanlog.c is only compiled on pSeries.  Thus, this patch moves it to
platforms/pseries.

Built and booted on pSeries LPAR (ARCH=powerpc and ARCH=ppc64).  Built
for iSeries (ARCH=powerpc).

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] powerpc: Merge cacheflush.h and cache.h
David Gibson [Thu, 10 Nov 2005 00:50:16 +0000 (11:50 +1100)]
[PATCH] powerpc: Merge cacheflush.h and cache.h

The ppc32 and ppc64 versions of cacheflush.h were almost identical.
The two versions of cache.h are fairly similar, except for a bunch of
register definitions in the ppc32 version which probably belong better
elsewhere.  This patch, therefore, merges both headers.  Notable
points:
- there are several functions in cacheflush.h which exist only
on ppc32 or only on ppc64.  These are handled by #ifdef for now, but
these should probably be consolidated, along with the actual code
behind them later.
- Confusingly, both ppc32 and ppc64 have a
flush_dcache_range(), but they're subtly different: it uses dcbf on
ppc32 and dcbst on ppc64, ppc64 has a flush_inval_dcache_range() which
uses dcbf.  These too should be merged and consolidated later.
- Also flush_dcache_range() was defined in cacheflush.h on
ppc64, and in cache.h on ppc32.  In the merged version it's in
cacheflush.h
- On ppc32 flush_icache_range() is a normal function from
misc.S.  On ppc64, it was wrapper, testing a feature bit before
calling __flush_icache_range() which does the actual flush.  This
patch takes the ppc64 approach, which amounts to no change on ppc32,
since CPU_FTR_COHERENT_ICACHE will never be set there, but does mean
renaming flush_icache_range() to __flush_icache_range() in
arch/ppc/kernel/misc.S and arch/powerpc/kernel/misc_32.S
- The PReP register info from asm-ppc/cache.h has moved to
arch/ppc/platforms/prep_setup.c
- The 8xx register info from asm-ppc/cache.h has moved to a
new asm-powerpc/reg_8xx.h, included from reg.h
- flush_dcache_all() was defined on ppc32 (only), but was
never called (although it was exported).  Thus this patch removes it
from cacheflush.h and from ARCH=powerpc (misc_32.S) entirely.  It's
left in ARCH=ppc for now, with the prototype moved to ppc_ksyms.c.

Built for Walnut (ARCH=ppc), 32-bit multiplatform (pmac, CHRP and PReP
ARCH=ppc, pmac and CHRP ARCH=powerpc).  Built and booted on POWER5
LPAR (ARCH=powerpc and ARCH=ppc64).

Built for 32-bit powermac (ARCH=ppc and ARCH=powerpc).  Built and
booted on POWER5 LPAR (ARCH=powerpc and ARCH=ppc64).  Built and booted
on G5 (ARCH=powerpc)

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoMerge git://oak/home/sfr/kernels/iseries/work
Paul Mackerras [Thu, 10 Nov 2005 02:08:55 +0000 (13:08 +1100)]
Merge git://oak/home/sfr/kernels/iseries/work

19 years ago[NETLINK]: Generic netlink family
Thomas Graf [Thu, 10 Nov 2005 01:25:56 +0000 (02:25 +0100)]
[NETLINK]: Generic netlink family

The generic netlink family builds on top of netlink and provides
simplifies access for the less demanding netlink users. It solves
the problem of protocol numbers running out by introducing a so
called controller taking care of id management and name resolving.

Generic netlink modules register themself after filling out their
id card (struct genl_family), after successful registration the
modules are able to register callbacks to command numbers by
filling out a struct genl_ops and calling genl_register_op(). The
registered callbacks are invoked with attributes parsed making
life of simple modules a lot easier.

Although generic netlink modules can request static identifiers,
it is recommended to use GENL_ID_GENERATE and to let the controller
assign a unique identifier to the module. Userspace applications
will then ask the controller and lookup the idenfier by the module
name.

Due to the current multicast implementation of netlink, the number
of generic netlink modules is restricted to 1024 to avoid wasting
memory for the per socket multiacst subscription bitmask.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[RTNETLINK]: Use generic netlink receive queue processor
Thomas Graf [Thu, 10 Nov 2005 01:25:55 +0000 (02:25 +0100)]
[RTNETLINK]: Use generic netlink receive queue processor

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[XFRM]: Use generic netlink receive queue processor
Thomas Graf [Thu, 10 Nov 2005 01:25:54 +0000 (02:25 +0100)]
[XFRM]: Use generic netlink receive queue processor

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Generic netlink receive queue processor
Thomas Graf [Thu, 10 Nov 2005 01:25:53 +0000 (02:25 +0100)]
[NETLINK]: Generic netlink receive queue processor

Introduces netlink_run_queue() to handle the receive queue of
a netlink socket in a generic way. Processes as much as there
was in the queue upon entry and invokes a callback function
for each netlink message found. The callback function may
refuse a message by returning a negative error code but setting
the error pointer to 0 in which case netlink_run_queue() will
return with a qlen != 0.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Make netlink_callback->done() optional
Thomas Graf [Thu, 10 Nov 2005 01:25:52 +0000 (02:25 +0100)]
[NETLINK]: Make netlink_callback->done() optional

Most netlink families make no use of the done() callback, making
it optional gets rid of all unnecessary dummy implementations.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years ago[NETLINK]: Type-safe netlink messages/attributes interface
Thomas Graf [Thu, 10 Nov 2005 01:25:51 +0000 (02:25 +0100)]
[NETLINK]: Type-safe netlink messages/attributes interface

Introduces a new type-safe interface for netlink message and
attributes handling. The interface is fully binary compatible
with the old interface towards userspace. Besides type safety,
this interface features attribute validation capabilities,
simplified message contstruction, and documentation.

The resulting netlink code should be smaller, less error prone
and easier to understand.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 years agopowerpc: Fix find_next_bit on 32-bit
Paul Mackerras [Thu, 10 Nov 2005 01:01:41 +0000 (12:01 +1100)]
powerpc: Fix find_next_bit on 32-bit

We had a "64" that didn't get changed to BITS_PER_LONG, resulting
in find_next_bit not working correctly.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years agoppc/powerpc: workarounds for old Open Firmware versions
Paul Mackerras [Thu, 10 Nov 2005 01:00:55 +0000 (12:00 +1100)]
ppc/powerpc: workarounds for old Open Firmware versions

This adds code to work around some problems with old versions of
Open Firmware, such as on the early powermacs (7500 etc.) and the
"Longtrail" CHRP machine.  On these machines we have to claim
the physical and virtual address ranges explicitly when claiming
memory and then set up a V->P mapping.

The Longtrail has more problems: setprop doesn't work, and we have
to set an "allow-reclaim" variable to 0 in order to get claim on
physical memory ranges to fail if the memory is already claimed.

Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[NETFILTER]: Add nf_conntrack subsystem.
Yasuyuki Kozakai [Thu, 10 Nov 2005 00:38:16 +0000 (16:38 -0800)]
[NETFILTER]: Add nf_conntrack subsystem.

The existing connection tracking subsystem in netfilter can only
handle ipv4.  There were basically two choices present to add
connection tracking support for ipv6.  We could either duplicate all
of the ipv4 connection tracking code into an ipv6 counterpart, or (the
choice taken by these patches) we could design a generic layer that
could handle both ipv4 and ipv6 and thus requiring only one sub-protocol
(TCP, UDP, etc.) connection tracking helper module to be written.

In fact nf_conntrack is capable of working with any layer 3
protocol.

The existing ipv4 specific conntrack code could also not deal
with the pecularities of doing connection tracking on ipv6,
which is also cured here.  For example, these issues include:

1) ICMPv6 handling, which is used for neighbour discovery in
   ipv6 thus some messages such as these should not participate
   in connection tracking since effectively they are like ARP
   messages

2) fragmentation must be handled differently in ipv6, because
   the simplistic "defrag, connection track and NAT, refrag"
   (which the existing ipv4 connection tracking does) approach simply
   isn't feasible in ipv6

3) ipv6 extension header parsing must occur at the correct spots
   before and after connection tracking decisions, and there were
   no provisions for this in the existing connection tracking
   design

4) ipv6 has no need for stateful NAT

The ipv4 specific conntrack layer is kept around, until all of
the ipv4 specific conntrack helpers are ported over to nf_conntrack
and it is feature complete.  Once that occurs, the old conntrack
stuff will get placed into the feature-removal-schedule and we will
fully kill it off 6 months later.

Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>
Signed-off-by: Harald Welte <laforge@netfilter.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
19 years ago[PATCH] ppc64: Save & restore of PCI device BARS
Linas Vepstas [Fri, 4 Nov 2005 00:50:17 +0000 (18:50 -0600)]
[PATCH] ppc64: Save & restore of PCI device BARS

14-eeh-device-bar-save.patch

After a PCI device has been resest, the device BAR's and other config
space info must be restored to the same state as they were in when
the firmware first handed us this device.  This will allow the
PCI device driver, when restarted, to correctly recognize and set up
the device.

Tis patch saves the device config space as early as reasonable after
the firmware has handed over the device.  Te state resore funcion
is inteded for use by the EEH recovery routines.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] ppc64: PCI reset support routines
Linas Vepstas [Fri, 4 Nov 2005 00:50:10 +0000 (18:50 -0600)]
[PATCH] ppc64: PCI reset support routines

13-eeh-recovery-support-routines.patch

EEH Recovery support routines

This patch adds routines required to help drive the recovery of
EEH-frozen slots.  The main function is to drive the PCI #RST
signal line high for a qurter of a second, and then allow for
a second & a half of settle time.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] ppc64: PCI error event dispatcher
Linas Vepstas [Fri, 4 Nov 2005 00:50:04 +0000 (18:50 -0600)]
[PATCH] ppc64: PCI error event dispatcher

12-eeh-event-dispatcher.patch

ppc64: EEH Recovery dispatcher thread

This patch adds a mechanism to create recovery threads when an
EEH event is received.  Since an EEH freeze state may be detected
within an interrupt context, we need to get out of the interrupt
context before starting recovery. This dispatcher does this in
two steps: first, it uses a workqueue to get out, and then
lanuches a kernel thread, so that the recovery routine can
sleep for exteded periods without upseting the keventd.

A kernel thread is created with each EEH event, rather than
having one long-running daemon started at boot time.  This is
because it is anticipated that EEH events will be very rare
(very very rare, ideally) and so its pointless to cluter the
process tables with a daemon that will almost never run.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] ppc64: move eeh.c to powerpc directory from ppc64
Linas Vepstas [Fri, 4 Nov 2005 00:49:51 +0000 (18:49 -0600)]
[PATCH] ppc64: move eeh.c to powerpc directory from ppc64

11-eeh-move-to-powerpc.patch

Move arch/ppc64/kernel/eeh.c to arch//powerpc/platforms/pseries/eeh.c
No other changes (except for Makefile to build it)

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] ppc64: bugfix: don't silently ignore PCI errors
Linas Vepstas [Fri, 4 Nov 2005 00:49:45 +0000 (18:49 -0600)]
[PATCH] ppc64: bugfix: don't silently ignore PCI errors

10-EEH-enable-bugfix.patch

Bugfix: With the curent linux-2.6.14-rc2-git6, EEH errors are
ignored because thier detection requires an unused, uninitialized
flag to be set.  This patch removes the unused flag.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
19 years ago[PATCH] ppc64: bugfix: crash on PCI hotplug
Linas Vepstas [Fri, 4 Nov 2005 00:49:38 +0000 (18:49 -0600)]
[PATCH] ppc64: bugfix: crash on PCI hotplug

09-hotplug-bugfix.patch

In the current 2.6.14-rc2-git6 kernel, performing a Dynamic LPAR Add
of a hotplug slot will crash the system, with the following (abbreviated)
stack trace:

cpu 0x3: Vector: 700 (Program Check) at [c000000053dff7f0]
    pc: c0000000004f5974: .__alloc_bootmem+0x0/0xb0
    lr: c0000000000258a0: .update_dn_pci_info+0x108/0x118
        c0000000000257c8 .update_dn_pci_info+0x30/0x118 (unreliable)
        c0000000000258fc .pci_dn_reconfig_notifier+0x4c/0x64
        c000000000060754 .notifier_call_chain+0x68/0x9c

The root cause was that __init __alloc_bootmem() was called long after
boot had finished, resulting in a crash because this routine is undefined
after boot time.  The patch below fixes this crash, and adds some docs to
clarify the code.

Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>