openwrt/staging/blogic.git
17 years ago[POWERPC] Move MPIC smp routines into mpic.c
Michael Ellerman [Thu, 8 Feb 2007 07:34:04 +0000 (18:34 +1100)]
[POWERPC] Move MPIC smp routines into mpic.c

Move a couple of MPIC smp routines into mpic.c, they're inside an SMP
block in mpic.c - so they're still only built for SMP.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Cleanup pseries kexec code
Michael Ellerman [Thu, 8 Feb 2007 07:33:55 +0000 (18:33 +1100)]
[POWERPC] Cleanup pseries kexec code

Move all the pseries kexec code into one file, platforms/pseries/kexec.c
Provide helpers for setting up ppc_md.kexec_cpu_down, so that we don't
have to have #ifdef CONFIG_KEXEC in setup.c

Move the initialisation of the ppc_md kexec callbacks into an init routine.
This is well and truly early enough to cause no change in behaviour, we
can't kexec until userspace has given us a kernel to kexec into.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Cleanup pseries smp initialisation code
Michael Ellerman [Thu, 8 Feb 2007 07:33:55 +0000 (18:33 +1100)]
[POWERPC] Cleanup pseries smp initialisation code

Move some extern declarations from setup.c into the new pseries.h.
While we're at it, provide dummy implementations for !SMP, to avoid
cluttering the C file with more #ifdefs.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Consolidate pseries platform header files into pseries.h
Michael Ellerman [Thu, 8 Feb 2007 07:33:51 +0000 (18:33 +1100)]
[POWERPC] Consolidate pseries platform header files into pseries.h

Following the example of platforms/pasemi, consolidate a couple of
tiny header files in platforms/pseries into pseries.h.

This gives us a convenient place to put things that need to be
available to the platform code, but not public. And hopefully will
help people resist the temptation of sticking externs in C files.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years agoMerge branch 'cell-merge' of git+ssh://master.kernel.org/pub/scm/linux/kernel/git...
Paul Mackerras [Wed, 14 Feb 2007 00:33:39 +0000 (11:33 +1100)]
Merge branch 'cell-merge' of git+ssh:///linux/kernel/git/arnd/cell-2.6

17 years agoMerge branch '85xx' into for_paulus
Kumar Gala [Tue, 13 Feb 2007 22:14:01 +0000 (16:14 -0600)]
Merge branch '85xx' into for_paulus

17 years ago[POWERPC] 85xx: Drop use of SYNC macro in head_fsl_booke.S
Becky Bruce [Tue, 13 Feb 2007 22:00:49 +0000 (16:00 -0600)]
[POWERPC] 85xx: Drop use of SYNC macro in head_fsl_booke.S

Eliminate needless invocation of the SYNC macro (which always evaluates to
nothing on BookE) from head_fsl_booke.S (for both arch/ppc & arch/powerpc).

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years ago[POWERPC] cell: pm_rtas_activat_signals routine cleanup
Maynard Johnson [Tue, 13 Feb 2007 21:02:03 +0000 (22:02 +0100)]
[POWERPC] cell: pm_rtas_activat_signals routine cleanup

The code was setting up the debug bus for group 21 when profiling on the
event PPU CYCLES.  The debug bus is not actually used by the hardware
performance counters when counting PPU CYCLES.  Setting up the debug bus
for PPU CYCLES causes signal routing conflicts on the debug bus when
profiling PPU cycles and another PPU event.  This patch fixes the code to
only setup the debug bus to route the performance signals for the non
PPU CYCLE events.

Signed-off-by: Maynard Johnson <mpjohn@us.ibm.com>
Signed-off-by: Carl Love <carll@us.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] cell: PPU Oprofile cleanup patch
Carl Love [Tue, 13 Feb 2007 21:02:02 +0000 (22:02 +0100)]
[POWERPC] cell: PPU Oprofile cleanup patch

This is a clean up patch that includes the following changes:

 -Some comments were added to clarify the code based on feedback
  from the community.
 -The write_pm_cntrl() and set_count_mode() were passed a
  structure element from a global variable.  The argument was
  removed so the functions now just operate on the global directly.
 -The set_pm_event() function call in the cell_virtual_cntr()
  routine was moved to a for-loop before the for_each_cpu loop

Signed-off-by: Carl Love <carll@us.ibm.com>
Signed-off-by: Maynard Johnson <mpjohn@us.ibm.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spufs: avoid accessing kernel memory through mmapped /mem node
Masato Noguchi [Tue, 13 Feb 2007 20:54:30 +0000 (21:54 +0100)]
[POWERPC] spufs: avoid accessing kernel memory through mmapped /mem node

I found an exploit in current kernel.
Currently, there is no range check about mmapping "/mem" node in
spufs. Thus, an application can access privilege memory region.

In case this kernel already worked on a public server, I send this
information only here.
If there are such servers in somewhere, please replace it, ASAP.

Signed-off-by: Masato Noguchi <Masato.Noguchi@jp.sony.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spu sched: static timeslicing for SCHED_RR contexts
Christoph Hellwig [Tue, 13 Feb 2007 20:54:29 +0000 (21:54 +0100)]
[POWERPC] spu sched: static timeslicing for SCHED_RR contexts

For SCHED_RR tasks we can do some really trivial timeslicing.  Basically
we fire up a time for every scheduler tick that searches for a higher
or same priority thread that is on the runqueue and if there is one
context switches to it.  Because we can't lock spus from timer context
we actually run this from a delayed runqueue instead of a timer.

A nice optimization would be to skip the actual priority bitmap search
when there are less contexts than physical spus available.  To implement
this I need a so far unpublished patch from Andre, and it will be added
after we have that patch in.

Note that right now we only do the time slicing for SCHED_RR tasks.
The code would work for SCHED_OTHER tasks aswell, but their prio
value is defered from the one the PPU thread has at time of spu_run,
and using this for spu scheduling decisions would make the code very
unfair.  SCHED_OTHER support will be enabled once we the spu scheduler
knows how to calculcate cpu_context.prio (very soon)

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spu sched: use DECLARE_BITMAP
Christoph Hellwig [Tue, 13 Feb 2007 20:54:28 +0000 (21:54 +0100)]
[POWERPC] spu sched: use DECLARE_BITMAP

use DECLARE_BITMAP in the spu scheduler instead of reimplementing it.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spu sched: forced preemption at execution
Christoph Hellwig [Tue, 13 Feb 2007 20:54:27 +0000 (21:54 +0100)]
[POWERPC] spu sched: forced preemption at execution

If we start a spu context with realtime priority we want it to run
immediately and not wait until some other lower priority thread has
finished.  Try to find a suitable victim and use it's spu in this
case.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spu sched: update some comments
Christoph Hellwig [Tue, 13 Feb 2007 20:54:26 +0000 (21:54 +0100)]
[POWERPC] spu sched: update some comments

Give spu_yield a kerneldoc comment and remove the old comment
documenting spu_activate, spu_deactive and spu_yield as all of them
now have descriptive kerneldoc comments of their own.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spu sched: simplity spu_remove_from_active_list
Christoph Hellwig [Tue, 13 Feb 2007 20:54:25 +0000 (21:54 +0100)]
[POWERPC] spu sched: simplity spu_remove_from_active_list

If we call spu_remove_from_active_list that spu is always guaranteed
to be on the active list and in runnable state, so we can simply
do a list_del to remove it and unconditionally take the was_active
codepath.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spufs: optimize spu_run
Christoph Hellwig [Tue, 13 Feb 2007 20:54:24 +0000 (21:54 +0100)]
[POWERPC] spufs: optimize spu_run

There is no need to directly wake up contexts in spu_activate when
called from spu_run, so add a flag to surpress this wakeup.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spufs: runqueue simplification
Christoph Hellwig [Tue, 13 Feb 2007 20:54:23 +0000 (21:54 +0100)]
[POWERPC] spufs: runqueue simplification

This is the biggest patch in this series, and it reworks the guts of
the spu scheduler runqueue mechanism:

 - instead of embedding a waitqueue in the runqueue there is now a
   simple doubly-linked list, the actual wakeups happen by reusing
   the stop_wq in the spu context (maybe we should rename it one day)
 - spu_free and spu_prio_wakeup are merged into a single spu_reschedule
   function
 - various functionality is split out into small helpers, and kerneldoc
   comments are added in various places to document what's going on.
 - spu_activate is rewritten into a tight loop by removing test for
   various impossible conditions and using the infrastructure in this
   patch.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spufs: move prio to spu_context
Christoph Hellwig [Tue, 13 Feb 2007 20:54:22 +0000 (21:54 +0100)]
[POWERPC] spufs: move prio to spu_context

It doesn't make any sense to have a priority field in the physical spu
structure.  Move it into the spu context instead.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spufs: state_mutex cleanup
Christoph Hellwig [Tue, 13 Feb 2007 20:54:21 +0000 (21:54 +0100)]
[POWERPC] spufs: state_mutex cleanup

Various cleanups in code surrounding the state semaphore:

 - inline spu_acquire/spu_release
 - cleanup spu_acquire_* and add kerneldoc comments to these functions
 - remove spu_release_exclusive and replace it with spu_release

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spufs: simplify state_mutex
Christoph Hellwig [Tue, 13 Feb 2007 20:36:50 +0000 (21:36 +0100)]
[POWERPC] spufs: simplify state_mutex

The r/w semaphore to lock the spus was overkill and can be replaced
with a mutex to make it faster, simpler and easier to debug.  It also
helps to allow making most spufs interruptible in future patches.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spufs: sched.c cleanups
Christoph Hellwig [Tue, 13 Feb 2007 20:36:49 +0000 (21:36 +0100)]
[POWERPC] spufs: sched.c cleanups

Various cleanups to sched.c that don't change the global control flow:

 - add kerneldoc comments to various functions
 - add spu_ prefixes to various functions
 - add/remove context from the runqueue in bind/unbind_context as
   it's part of the logical operation
 - add a call to put_active_spu to spu_unbind_contex as it's logically
   part of the unbind operation

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spufs: bind_context sets SPU_STATE_RUNNABLE
Christoph Hellwig [Tue, 13 Feb 2007 20:36:48 +0000 (21:36 +0100)]
[POWERPC] spufs: bind_context sets SPU_STATE_RUNNABLE

Only bind_context/unbind_context change the spu context state.  Thus
we can move all assignents of SPU_STATE_RUNNABLE into bind_context,
which parallels the unbind side aswell.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spufs: remove superfluous SPU_STATE_SAVED assignments
Christoph Hellwig [Tue, 13 Feb 2007 20:36:47 +0000 (21:36 +0100)]
[POWERPC] spufs: remove superfluous SPU_STATE_SAVED assignments

unbind_context already sets the context state to SPU_STATE_SAVED, thus
the spu_deactivate callers don't need to do it again.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spufs: remove empty last line in run.c
Christoph Hellwig [Tue, 13 Feb 2007 20:36:46 +0000 (21:36 +0100)]
[POWERPC] spufs: remove empty last line in run.c

Remove the empty last line in arch/powerpc/platforms/cell/spufs/run.c.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years ago[POWERPC] spufs: remove SPU_CONTEXT_PREEMPT
Christoph Hellwig [Tue, 13 Feb 2007 20:36:45 +0000 (21:36 +0100)]
[POWERPC] spufs: remove SPU_CONTEXT_PREEMPT

Remove the SPU_CONTEXT_PREEMPT define.  It's unused and won't be used
in this form after the scheduler rework.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
17 years agoMerge branch '83xx' into for_paulus
Kumar Gala [Tue, 13 Feb 2007 18:51:38 +0000 (12:51 -0600)]
Merge branch '83xx' into for_paulus

17 years ago[POWERPC] 83xx: Updated mpc834x_itx_defconfig
Timur Tabi [Fri, 9 Feb 2007 16:01:50 +0000 (10:01 -0600)]
[POWERPC] 83xx: Updated mpc834x_itx_defconfig

This patch updates the defconfig for the MPC8349E-mITX.  In addition to picking
up changes from recent kernels, disables support for e100 (which doesn't ship
with the system), turns off input devices, turns on some I2C support, turns
off HW monitoring (HW not yet supported), turns off OHCI USB (not used), turns
off USB gadget support (HW not yet supported), turns on DOS FS support, and
turns off kernel debugging.

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years ago[POWERPC] 83xx: Add support for MPC8349E-mITX-GP
Timur Tabi [Fri, 9 Feb 2007 20:00:36 +0000 (14:00 -0600)]
[POWERPC] 83xx: Add support for MPC8349E-mITX-GP

This patch adds a defconfig and a DTS for the MPC8349E-mITX-GP, a variant of
the MPC8349E-mITX.

USB is disabled because the only USB port is not setup properly by
firmware/kernel

Signed-off-by: Timur Tabi <timur@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years agoMerge branch '85xx' into for_paulus
Kumar Gala [Tue, 13 Feb 2007 18:41:23 +0000 (12:41 -0600)]
Merge branch '85xx' into for_paulus

17 years ago[POWERPC] 85xx: Add a defconfig for the 8568 MDS
Andy Fleming [Fri, 9 Feb 2007 23:30:09 +0000 (17:30 -0600)]
[POWERPC] 85xx: Add a defconfig for the 8568 MDS

Add defconfig for the MPC8568 MDS reference board

Signed-off-by: Andrew Fleming <afleming@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years ago[POWERPC] 85xx: Add support for the 8568 MDS board
Andy Fleming [Fri, 9 Feb 2007 23:28:31 +0000 (17:28 -0600)]
[POWERPC] 85xx: Add support for the 8568 MDS board

Add support for the MPC8568 MDS reference board

Signed-off-by: Andrew Fleming <afleming@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years agoMerge branch 'master' into 85xx
Kumar Gala [Tue, 13 Feb 2007 05:57:21 +0000 (23:57 -0600)]
Merge branch 'master' into 85xx

17 years agoMerge branch 'master' into 83xx
Kumar Gala [Tue, 13 Feb 2007 05:56:24 +0000 (23:56 -0600)]
Merge branch 'master' into 83xx

17 years agoMerge branch 'master' into for_paulus
Kumar Gala [Tue, 13 Feb 2007 05:52:26 +0000 (23:52 -0600)]
Merge branch 'master' into for_paulus

17 years ago[POWERPC] spufs: Fix bitrot of the SPU mmap facility
Benjamin Herrenschmidt [Tue, 13 Feb 2007 00:46:08 +0000 (11:46 +1100)]
[POWERPC] spufs: Fix bitrot of the SPU mmap facility

It looks like we've had some serious bitrot there mostly due to tracking
of address_space's of mmap'ed files getting out of sync with the actual
mmap code. The mfc, mss and psmap were not tracked properly and thus
not invalidated on context switches (oops !)

I also removed the various file->f_mapping = inode->i_mapping;
assignments that were done in the other open() routines since that
is already done for us by __dentry_open.

One improvement we might want to do later is to assign the various
ctx-> fields at mmap time instead of file open/close time so that we
don't call unmap_mapping_range() on thing that have not been mmap'ed

Finally, I added some smp_wmb's after assigning the ctx-> fields to make
sure they are visible to other CPUs. I don't think this is really
necessary as I suspect locking in the fs layer will make that happen
anyway but better safe than sorry.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] powerpc: Remove SPU struct pages for PS3
Benjamin Herrenschmidt [Tue, 13 Feb 2007 00:46:07 +0000 (11:46 +1100)]
[POWERPC] powerpc: Remove SPU struct pages for PS3

Struct page are no longer needed for SPUs, so let's not create them
on PS3 anymore.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] spufs: remove need for struct page for SPEs
Benjamin Herrenschmidt [Tue, 13 Feb 2007 00:46:06 +0000 (11:46 +1100)]
[POWERPC] spufs: remove need for struct page for SPEs

This patch removes the need for struct page for SPE local store
and registers from spufs. It also makes the locking much more
obvious and no longer relying on the truncate logic black magic
for protecting against races between unmap_mapping_range() and
new pages faulted in. It does so by switching to a nopfn() handler
and using the new vm_insert_pfn() to setup the PTEs itself while
holding a lock on the SPE.

The nice thing is that this patch actually removes a lot more code
than it adds :-)

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Small cleanup of EFIKA platform
Sylvain Munaut [Mon, 12 Feb 2007 22:13:24 +0000 (23:13 +0100)]
[POWERPC] Small cleanup of EFIKA platform

The efika platform used three files efika-pci.c efika-setup.c and
a 2 line efika.h to link the two. The total of code in those is
really not much and therefore, I think they're better merged
in a single file.

There is absolutely _no_code_change_ at all, just merged the files.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix unbalanced of_node_{get,put} in efika-setup.c
Sylvain Munaut [Mon, 12 Feb 2007 22:13:23 +0000 (23:13 +0100)]
[POWERPC] Fix unbalanced of_node_{get,put} in efika-setup.c

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Use common 52xx of_platform probe code for EFIKA
Sylvain Munaut [Mon, 12 Feb 2007 22:13:22 +0000 (23:13 +0100)]
[POWERPC] Use common 52xx of_platform probe code for EFIKA

Now that the device tree has the good properties, we can
remove all the efika_init code by a single call to common code.

While we're modifying that file, a few whitespaces/alignement/typo
fixes are made (nothing significant).

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Restore 'proper' link order in platform
Sylvain Munaut [Mon, 12 Feb 2007 22:13:21 +0000 (23:13 +0100)]
[POWERPC] Restore 'proper' link order in platform

The 52xx was put before CHRP to allow EFIKA to be recognized
properly. Now the efika tree is fixed up in prom_init so
no need for this ugly hack. So we restore the 'normal'
order.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Add device tree fixups for the EFIKA
Sylvain Munaut [Mon, 12 Feb 2007 22:13:20 +0000 (23:13 +0100)]
[POWERPC] Add device tree fixups for the EFIKA

We make the efika device tree compliant with the defined bindings
(at least compliant enough). This is mostly done by mangling
the device_type and compatible properties, but also adding
some missing bits.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Acked-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] mpc5200 device tree bindings refinement
Grant Likely [Mon, 12 Feb 2007 20:36:54 +0000 (13:36 -0700)]
[POWERPC] mpc5200 device tree bindings refinement

Much needed refinement of mpc5200 device tree binding specifications.

Short list:
- drop mpc52xx designator; only two supported chips exist, 5200 and 5200b.
  It's premature to refer to them as '52xx'.
- Specify optional 'model' and 'revision' properties in the soc5200 node
- Specify reqiured 'cell-index' property to identify between multiple SOC
  devices of the same type.  (Useful for arbitrating shared register access)
- Specify optional 'port-number' property for adjusting the logical serial
  port assignments.
- Specify optional 'has-wdt' property for gpt0 node.
- Add system-frequency property to soc5200 node

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fixup mp5200 drivers to match device tree changes
Grant Likely [Mon, 12 Feb 2007 20:36:55 +0000 (13:36 -0700)]
[POWERPC] Fixup mp5200 drivers to match device tree changes

Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] correct a prototype
Stephen Rothwell [Mon, 12 Feb 2007 11:10:48 +0000 (22:10 +1100)]
[POWERPC] correct a prototype

This rids us of a warning.

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Wire up sys_getcpu
Stephen Rothwell [Mon, 12 Feb 2007 11:09:18 +0000 (22:09 +1100)]
[POWERPC] Wire up sys_getcpu

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] ppc: Add support for AMCC Taishan 440GX eval board
Stefan Roese [Mon, 12 Feb 2007 10:29:04 +0000 (11:29 +0100)]
[POWERPC] ppc: Add support for AMCC Taishan 440GX eval board

This patch adds support for the AMCC Taishan PPC440GX evaluation
board.

This is still an arch/ppc port. I'm aware that the move of
4xx to arch/powerpc is making good progress right now. So this
patch is mainly intended to make the Taishan support available
for the community right now.

Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Fix vDSO page count calculation
Benjamin Herrenschmidt [Mon, 12 Feb 2007 02:31:08 +0000 (13:31 +1100)]
[POWERPC] Fix vDSO page count calculation

The recent vDSO consolidation patches broke powerpc due to a mistake
in the definition of MAXPAGES constants. This fixes it by moving to
a dynamically allocated array of pages instead as I don't like much
hard coded size limits. Also move the vdso initialisation to an initcall
since it doesn't really need to be done -that- early.

Applogies for not catching the breakage earlier, Roland _did_ CC me on
his patches a while ago, I got busy with other things and forgot to test
them.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Correct AC Power: in /proc/pmu/info on ibook1
Olaf Hering [Sat, 10 Feb 2007 20:40:00 +0000 (21:40 +0100)]
[POWERPC] Correct AC Power: in /proc/pmu/info on ibook1

/proc/pmu/info contains AC Power: 0 when booting without battery.
Force AC Power, it will be updated whenever the battery state changes.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Mark winbond IDE PCI resources with start 0 as unassigned
Olaf Hering [Sat, 10 Feb 2007 20:38:37 +0000 (21:38 +0100)]
[POWERPC] Mark winbond IDE PCI resources with start 0 as unassigned

libata calls pci_request_regions to claim PCI BAR 0 - 5
pci_request_regions fails if one of the regions cant be claimed.
bar 5 has start == 0,  __request_resource will fail.

Tested on a p630 in SMP mode with pata_sl82c105

 00:03.1 IDE interface: Symphony Labs SL82c105 (rev 05) (prog-if 8f [Master SecP SecO PriP PriO])
         Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B-
         Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
         Interrupt: pin A routed to IRQ 86
         Region 0: I/O ports at 3fd3000f000 [size=8]
         Region 1: I/O ports at 3fd3000f010 [size=4]
         Region 2: I/O ports at 3fd3000f020 [size=8]
         Region 3: I/O ports at 3fd3000f030 [size=4]
         Region 4: I/O ports at 3fd3000f040 [size=16]
         Region 5: I/O ports at 3fd30000000 [size=16]
 00: ad 10 05 01 41 01 80 02 05 8f 01 01 08 48 80 00
 10: 01 f0 00 00 11 f0 00 00 21 f0 00 00 31 f0 00 00
 20: 41 f0 00 00 01 00 00 00 00 00 00 00 00 00 00 00
 30: 00 00 00 00 00 00 00 00 00 00 00 00 56 01 02 28
 40: b3 08 ff 00 09 09 00 00 09 09 00 00 09 09 00 00
 50: 09 09 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 70: 00 00 00 00 00 00 00 00 00 00 00 00 ff 00 00 00
 80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
 f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

 name             "ide"
 linux,phandle    00d5cdc0 (14011840)
 assigned-addresses 81001910 00000000 0000f000 00000000 00000008 81001914
                  00000000 0000f010 00000000 00000004 81001918 00000000
                  0000f020 00000000 00000008 8100191c 00000000 0000f030
                  00000000 00000004 81001920 00000000 0000f040 00000000
                  00000010 81001924 00000000 00000000 00000000 00000010
 interrupts       00000003
 built-in
 #size-cells      00000000
 #address-cells   00000001
 device_type      "ide"
 reg              00001900 00000000 00000000 00000000 00000000
                  41001910 00000000 00000000 00000000 00000008
                  41001914 00000000 00000000 00000000 00000004
                  41001918 00000000 00000000 00000000 00000008
                  4100191c 00000000 00000000 00000000 00000004
                  41001920 00000000 00000000 00000000 00000010
                  41001924 00000000 00000000 00000000 00000010
 compatible       "pci10ad,105"
                  "pciclass,01018f"
 ibm,fw-slot-number 00000000
 fast-back-to-back
 devsel-speed     00000001
 max-latency      00000028 (40)
 min-grant        00000002
 class-code       0001018f (65935)
 revision-id      00000005
 device-id        00000105 (261)
 vendor-id        000010ad (4269)
 ibm,loc-code     "U0.1-P1/Q6"

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] move variables in drivers/macintosh to bss
Olaf Hering [Sat, 10 Feb 2007 20:35:12 +0000 (21:35 +0100)]
[POWERPC] move variables in drivers/macintosh to bss

Move all the initialized variables to bss.
Mark a version string as const.

Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Virtual DMA support for floppy driver for new powerpc architecture
Pavel Fedin [Mon, 29 Jan 2007 12:13:03 +0000 (15:13 +0300)]
[POWERPC] Virtual DMA support for floppy driver for new powerpc architecture

During ppc64+ppc merge virtual DMA code for floppy driver was not
ported.  This patch restores virtual DMA support for floppy in new
powerpc target.

It is necessary at least on Pegasos and AmigaOne machines for the
floppy drive to function.  ISA DMA controller works incorrectly there
due to its addressing limitations.

Virtual DMA mode is activated by floppy=nodma option passed to the
kernel (or module).  There's no automatic switch like on i386.

Signed-off-by: Pavel Fedin <sonic_amiga@rambler.ru>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Celleb: improve MMU hashtable locking
Akira Iguchi [Fri, 9 Feb 2007 07:53:59 +0000 (16:53 +0900)]
[POWERPC] Celleb: improve MMU hashtable locking

Disabling IRQ is required only in invalidation.  This changes
"spin_lock_irqsave" to "spin_lock" in other ops.

Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Signed-off-by: Akira Iguchi <akira2.iguchi@toshiba.co.jp>
Acked-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] Remove ibm4{xx,4x}.h from arch/powerpc
David Gibson [Tue, 6 Feb 2007 01:48:31 +0000 (12:48 +1100)]
[POWERPC] Remove ibm4{xx,4x}.h from arch/powerpc

ARCH=powerpc should not use the ghastly un-multiplatformable tangle of
includes that starts with asm-ppc/ibm4xx.h.  This patch removes a
compile-breaking include of it from head_44x.S.

Signed-off-by: David Gibson <dwg@au1.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
17 years ago[POWERPC] 85xx: Don't write reserved values to MAS1[TSIZE]
Becky Bruce [Mon, 12 Feb 2007 23:43:46 +0000 (17:43 -0600)]
[POWERPC] 85xx: Don't write reserved values to MAS1[TSIZE]

Some of the current tlbwe instructions early on in head_fsl_booke.S take
advantage of unarchitected behavior that allows the writing of reserved
values to the TSIZE field.  This patch corrects that, as well as an error
where an uninitialized (by linux) value was written into a MAS register and
used for a tlbwe.

Correct this for both arch/ppc and arch/powerpc.

Signed-off-by: Becky Bruce <becky.bruce@freescale.com>
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
17 years agoMerge branch 'master' into 83xx
Kumar Gala [Tue, 13 Feb 2007 03:28:39 +0000 (21:28 -0600)]
Merge branch 'master' into 83xx

17 years agoMerge branch 'master' into 85xx
Kumar Gala [Tue, 13 Feb 2007 03:27:10 +0000 (21:27 -0600)]
Merge branch 'master' into 85xx

17 years agoMerge branch 'master' into for_paulus
Kumar Gala [Tue, 13 Feb 2007 03:17:37 +0000 (21:17 -0600)]
Merge branch 'master' into for_paulus

17 years agoMerge branch 'for_paulus' of master.kernel.org:/pub/scm/linux/kernel/git/galak/powerpc
Paul Mackerras [Tue, 13 Feb 2007 02:28:00 +0000 (13:28 +1100)]
Merge branch 'for_paulus' of /linux/kernel/git/galak/powerpc

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6
Linus Torvalds [Mon, 12 Feb 2007 23:35:30 +0000 (15:35 -0800)]
Merge /pub/scm/linux/kernel/git/davem/sparc-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6:
  [SPARC]: Re-export saved_command_line to modules.
  [SPARC64]: Increase command line size to 2048 like other arches.
  [SPARC64]: We do not need ZONE_DMA.

17 years agoMerge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Linus Torvalds [Mon, 12 Feb 2007 23:34:17 +0000 (15:34 -0800)]
Merge /pub/scm/linux/kernel/git/davem/net-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (25 commits)
  [XFRM]: Fix OOPSes in xfrm_audit_log().
  [TCP]: cleanup of htcp (resend)
  [TCP]: Use read mostly for CUBIC parameters.
  [NETFILTER]: nf_conntrack_tcp: make sysctl variables static
  [NETFILTER]: ip6t_mh: drop piggyback payload packet on MH packets
  [NETFILTER]: Fix whitespace errors
  [NETFILTER]: Kconfig: improve dependency handling
  [NETFILTER]: xt_mac/xt_CLASSIFY: use IPv6 hook names for IPv6 registration
  [NETFILTER]: nf_conntrack: change nf_conntrack_l[34]proto_unregister to void
  [NETFILTER]: nf_conntrack: properly use RCU for nf_conntrack_destroyed callback
  [NETFILTER]: ip_conntrack: properly use RCU for ip_conntrack_destroyed callback
  [NETFILTER]: nf_conntrack: fix invalid conntrack statistics RCU assumption
  [NETFILTER]: ip_conntrack: fix invalid conntrack statistics RCU assumption
  [NETFILTER]: nf_conntrack: properly use RCU API for nf_ct_protos/nf_ct_l3protos arrays
  [NETFILTER]: ip_conntrack: properly use RCU API for ip_ct_protos array
  [NETFILTER]: nf_nat: properly use RCU API for nf_nat_protos array
  [NETFILTER]: ip_nat: properly use RCU API for ip_nat_protos array
  [NETFILTER]: nf_log: minor cleanups
  [NETFILTER]: nf_log: switch logger registration/unregistration to mutex
  [NETFILTER]: nf_log: make nf_log_unregister_pf return void
  ...

17 years ago[SPARC]: Re-export saved_command_line to modules.
David S. Miller [Mon, 12 Feb 2007 23:10:56 +0000 (15:10 -0800)]
[SPARC]: Re-export saved_command_line to modules.

This reverts some bogosity from the dynamic command-line
changes made on sparc32 and sparc64.

Drivers such as drivers/sbus/char/openprom.c reference
saved_command_line, and can be modular.

The boot_command_line is __initdata, yet the dynamic command-line
changes add modular exports of that symbol, obviously wrong.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: Increase command line size to 2048 like other arches.
David S. Miller [Mon, 12 Feb 2007 19:01:21 +0000 (11:01 -0800)]
[SPARC64]: Increase command line size to 2048 like other arches.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[SPARC64]: We do not need ZONE_DMA.
David S. Miller [Mon, 12 Feb 2007 08:13:31 +0000 (00:13 -0800)]
[SPARC64]: We do not need ZONE_DMA.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agodon't use 'localversion*' files twice
Linus Torvalds [Mon, 12 Feb 2007 23:05:15 +0000 (15:05 -0800)]
don't use 'localversion*' files twice

Since we look in both source and object directories for localversion*
files, we accidentally ended up getting them twice.  Use 'sort -u' to
avoid that.

Reported-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[XFRM]: Fix OOPSes in xfrm_audit_log().
David S. Miller [Mon, 12 Feb 2007 21:53:54 +0000 (13:53 -0800)]
[XFRM]: Fix OOPSes in xfrm_audit_log().

Make sure that this function is called correctly, and
add BUG() checking to ensure the arguments are sane.

Based upon a patch by Joy Latten.

Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: cleanup of htcp (resend)
Stephen Hemminger [Mon, 12 Feb 2007 21:34:03 +0000 (13:34 -0800)]
[TCP]: cleanup of htcp (resend)

Minor non-invasive cleanups:
 * white space around operators and line wrapping
 * use const
 * use __read_mostly

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[TCP]: Use read mostly for CUBIC parameters.
Stephen Hemminger [Mon, 12 Feb 2007 21:15:20 +0000 (13:15 -0800)]
[TCP]: Use read mostly for CUBIC parameters.

These module parameters should be in the read mostly area to avoid
cache pollution.

Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_conntrack_tcp: make sysctl variables static
Patrick McHardy [Mon, 12 Feb 2007 19:16:58 +0000 (11:16 -0800)]
[NETFILTER]: nf_conntrack_tcp: make sysctl variables static

sysctls are registered by the protocol module itself since 2.6.19, no need
to have them visible to others.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: ip6t_mh: drop piggyback payload packet on MH packets
Masahide NAKAMURA [Mon, 12 Feb 2007 19:16:17 +0000 (11:16 -0800)]
[NETFILTER]: ip6t_mh: drop piggyback payload packet on MH packets

Regarding RFC3775, MH payload proto field should be IPPROTO_NONE. Otherwise
it must be discarded (and the receiver should send ICMP error).

We assume filter should drop such piggyback everytime to disallow slipping
through firewall rules, even the final receiver will discard it.

Signed-off-by: Masahide NAKAMURA <nakam@linux-ipv6.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: Fix whitespace errors
YOSHIFUJI Hideaki [Mon, 12 Feb 2007 19:15:49 +0000 (11:15 -0800)]
[NETFILTER]: Fix whitespace errors

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: Kconfig: improve dependency handling
Patrick McHardy [Mon, 12 Feb 2007 19:15:02 +0000 (11:15 -0800)]
[NETFILTER]: Kconfig: improve dependency handling

Instead of depending on internally needed options and letting users
figure out what is needed, select them when needed:

- IP_NF_IPTABLES, IP_NF_ARPTABLES and IP6_NF_IPTABLES select
  NETFILTER_XTABLES

- NETFILTER_XT_TARGET_CONNMARK, NETFILTER_XT_MATCH_CONNMARK and
  IP_NF_TARGET_CLUSTERIP select NF_CONNTRACK_MARK

- NETFILTER_XT_MATCH_CONNBYTES selects NF_CT_ACCT

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: xt_mac/xt_CLASSIFY: use IPv6 hook names for IPv6 registration
Patrick McHardy [Mon, 12 Feb 2007 19:14:43 +0000 (11:14 -0800)]
[NETFILTER]: xt_mac/xt_CLASSIFY: use IPv6 hook names for IPv6 registration

Use NF_IP6_ instead of NF_IP_. The values are identical, this is merely
cleanup.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_conntrack: change nf_conntrack_l[34]proto_unregister to void
Patrick McHardy [Mon, 12 Feb 2007 19:14:28 +0000 (11:14 -0800)]
[NETFILTER]: nf_conntrack: change nf_conntrack_l[34]proto_unregister to void

No caller checks the return value, and since its usually called within the
module unload path there's nothing a module could do about errors anyway,
so BUG on invalid conditions and return void.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_conntrack: properly use RCU for nf_conntrack_destroyed callback
Patrick McHardy [Mon, 12 Feb 2007 19:14:11 +0000 (11:14 -0800)]
[NETFILTER]: nf_conntrack: properly use RCU for nf_conntrack_destroyed callback

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: ip_conntrack: properly use RCU for ip_conntrack_destroyed callback
Patrick McHardy [Mon, 12 Feb 2007 19:13:58 +0000 (11:13 -0800)]
[NETFILTER]: ip_conntrack: properly use RCU for ip_conntrack_destroyed callback

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_conntrack: fix invalid conntrack statistics RCU assumption
Patrick McHardy [Mon, 12 Feb 2007 19:13:43 +0000 (11:13 -0800)]
[NETFILTER]: nf_conntrack: fix invalid conntrack statistics RCU assumption

NF_CT_STAT_INC assumes rcu_read_lock in nf_hook_slow disables
preemption as well, making it legal to use __get_cpu_var without
disabling preemption manually. The assumption is not correct anymore
with preemptable RCU, additionally we need to protect against softirqs
when not holding nf_conntrack_lock.

Add NF_CT_STAT_INC_ATOMIC macro, which disables local softirqs,
and use where necessary.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: ip_conntrack: fix invalid conntrack statistics RCU assumption
Patrick McHardy [Mon, 12 Feb 2007 19:13:14 +0000 (11:13 -0800)]
[NETFILTER]: ip_conntrack: fix invalid conntrack statistics RCU assumption

CONNTRACK_STAT_INC assumes rcu_read_lock in nf_hook_slow disables
preemption as well, making it legal to use __get_cpu_var without
disabling preemption manually. The assumption is not correct anymore
with preemptable RCU, additionally we need to protect against softirqs
when not holding ip_conntrack_lock.

Add CONNTRACK_STAT_INC_ATOMIC macro, which disables local softirqs,
and use where necessary.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_conntrack: properly use RCU API for nf_ct_protos/nf_ct_l3protos arrays
Patrick McHardy [Mon, 12 Feb 2007 19:12:57 +0000 (11:12 -0800)]
[NETFILTER]: nf_conntrack: properly use RCU API for nf_ct_protos/nf_ct_l3protos arrays

Replace preempt_{enable,disable} based RCU by proper use of the
RCU API and add missing rcu_read_lock/rcu_read_unlock calls in
all paths not obviously only used within packet process context
(nfnetlink_conntrack).

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: ip_conntrack: properly use RCU API for ip_ct_protos array
Patrick McHardy [Mon, 12 Feb 2007 19:12:40 +0000 (11:12 -0800)]
[NETFILTER]: ip_conntrack: properly use RCU API for ip_ct_protos array

Replace preempt_{enable,disable} based RCU by proper use of the
RCU API and add missing rcu_read_lock/rcu_read_unlock calls in
all paths not obviously only used within packet process context
(nfnetlink_conntrack).

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_nat: properly use RCU API for nf_nat_protos array
Patrick McHardy [Mon, 12 Feb 2007 19:12:26 +0000 (11:12 -0800)]
[NETFILTER]: nf_nat: properly use RCU API for nf_nat_protos array

Replace preempt_{enable,disable} based RCU by proper use of the
RCU API and add missing rcu_read_lock/rcu_read_unlock calls in
paths used outside of packet processing context (nfnetlink_conntrack).

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: ip_nat: properly use RCU API for ip_nat_protos array
Patrick McHardy [Mon, 12 Feb 2007 19:12:09 +0000 (11:12 -0800)]
[NETFILTER]: ip_nat: properly use RCU API for ip_nat_protos array

Replace preempt_{enable,disable} based RCU by proper use of the
RCU API and add missing rcu_read_lock/rcu_read_unlock calls in
paths used outside of packet processing context (nfnetlink_conntrack).

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_log: minor cleanups
Patrick McHardy [Mon, 12 Feb 2007 19:11:55 +0000 (11:11 -0800)]
[NETFILTER]: nf_log: minor cleanups

- rename nf_logging to nf_loggers since its an array of registered loggers

- rename nf_log_unregister_logger() to nf_log_unregister() to make it
  symetrical to nf_log_register() and convert all users

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_log: switch logger registration/unregistration to mutex
Patrick McHardy [Mon, 12 Feb 2007 19:11:39 +0000 (11:11 -0800)]
[NETFILTER]: nf_log: switch logger registration/unregistration to mutex

The spinlock is only used in process context (register/unregister),
switch to a mutex.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_log: make nf_log_unregister_pf return void
Patrick McHardy [Mon, 12 Feb 2007 19:11:24 +0000 (11:11 -0800)]
[NETFILTER]: nf_log: make nf_log_unregister_pf return void

Since the only user of nf_log_unregister_pf (nfnetlink_log) doesn't
check the return value, change it to void and bail out silently when
a non-existant address family is supplied.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: nf_log: use rcu_assign_pointer for RCU protected pointer
Patrick McHardy [Mon, 12 Feb 2007 19:11:06 +0000 (11:11 -0800)]
[NETFILTER]: nf_log: use rcu_assign_pointer for RCU protected pointer

Also replace synchronize_net() calls by synchronize_rcu() since the
RCU protected data is also used for sysfs.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: Switch nf_register_hook/nf_unregister_hook to mutex
Patrick McHardy [Mon, 12 Feb 2007 19:10:14 +0000 (11:10 -0800)]
[NETFILTER]: Switch nf_register_hook/nf_unregister_hook to mutex

The spinlock is only used in process context (register/unregister)
since RCU is used for the nf_hook lists, switch to a mutex.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: Switch nf_register_afinfo/nf_unregister_afinfo to mutex
Patrick McHardy [Mon, 12 Feb 2007 19:09:55 +0000 (11:09 -0800)]
[NETFILTER]: Switch nf_register_afinfo/nf_unregister_afinfo to mutex

The spinlock is only used in process context (register/unregister),
switch to a mutex.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: Remove unnecessary synchronize_net() in nf_register_hook
Patrick McHardy [Mon, 12 Feb 2007 19:09:35 +0000 (11:09 -0800)]
[NETFILTER]: Remove unnecessary synchronize_net() in nf_register_hook

We're only adding to the list, no need to synchronize.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years ago[NETFILTER]: Properly use RCU in nf_ct_attach
Patrick McHardy [Mon, 12 Feb 2007 19:09:19 +0000 (11:09 -0800)]
[NETFILTER]: Properly use RCU in nf_ct_attach

Use rcu_assign_pointer/rcu_dereference for ip_ct_attach pointer instead
of self-made RCU and use rcu_read_lock to make sure the conntrack module
doesn't disappear below us while calling it, since this function can be
called from outside the netfilter hooks.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
17 years agoMerge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
Linus Torvalds [Mon, 12 Feb 2007 17:57:44 +0000 (09:57 -0800)]
Merge branch 'for-linus' of git://git390.osdl.marist.edu/linux-2.6

* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
  [S390] remove __io_virt and mmiowb.
  [S390] cio: use ARRAY_SIZE in device_id.c
  [S390] cio: Fixup interface for setting options on ccw devices.
  [S390] smp_call_function/smp_call_function_on locking.

17 years ago[PATCH] Mark struct super_operations const
Josef 'Jeff' Sipek [Mon, 12 Feb 2007 08:55:41 +0000 (00:55 -0800)]
[PATCH] Mark struct super_operations const

This patch is inspired by Arjan's "Patch series to mark struct
file_operations and struct inode_operations const".

Compile tested with gcc & sparse.

Signed-off-by: Josef 'Jeff' Sipek <jsipek@cs.sunysb.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] mark struct inode_operations const 3
Arjan van de Ven [Mon, 12 Feb 2007 08:55:40 +0000 (00:55 -0800)]
[PATCH] mark struct inode_operations const 3

Many struct inode_operations in the kernel can be "const".  Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data.  In addition it'll catch accidental writes at compile time to
these shared resources.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] mark struct inode_operations const 2
Arjan van de Ven [Mon, 12 Feb 2007 08:55:39 +0000 (00:55 -0800)]
[PATCH] mark struct inode_operations const 2

Many struct inode_operations in the kernel can be "const".  Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data.  In addition it'll catch accidental writes at compile time to
these shared resources.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] mark struct inode_operations const 1
Arjan van de Ven [Mon, 12 Feb 2007 08:55:38 +0000 (00:55 -0800)]
[PATCH] mark struct inode_operations const 1

Many struct inode_operations in the kernel can be "const".  Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data.  In addition it'll catch accidental writes at compile time to
these shared resources.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] mark struct file_operations const 9
Arjan van de Ven [Mon, 12 Feb 2007 08:55:37 +0000 (00:55 -0800)]
[PATCH] mark struct file_operations const 9

Many struct file_operations in the kernel can be "const".  Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data.  In addition it'll catch accidental writes at compile time to
these shared resources.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] mark struct file_operations const 8
Arjan van de Ven [Mon, 12 Feb 2007 08:55:36 +0000 (00:55 -0800)]
[PATCH] mark struct file_operations const 8

Many struct file_operations in the kernel can be "const".  Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data.  In addition it'll catch accidental writes at compile time to
these shared resources.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] mark struct file_operations const 7
Arjan van de Ven [Mon, 12 Feb 2007 08:55:35 +0000 (00:55 -0800)]
[PATCH] mark struct file_operations const 7

Many struct file_operations in the kernel can be "const".  Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data.  In addition it'll catch accidental writes at compile time to
these shared resources.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] mark struct file_operations const 6
Arjan van de Ven [Mon, 12 Feb 2007 08:55:34 +0000 (00:55 -0800)]
[PATCH] mark struct file_operations const 6

Many struct file_operations in the kernel can be "const".  Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data.  In addition it'll catch accidental writes at compile time to
these shared resources.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
17 years ago[PATCH] mark struct file_operations const 5
Arjan van de Ven [Mon, 12 Feb 2007 08:55:34 +0000 (00:55 -0800)]
[PATCH] mark struct file_operations const 5

Many struct file_operations in the kernel can be "const".  Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data.  In addition it'll catch accidental writes at compile time to
these shared resources.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>