summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms
Commit message (Collapse)AuthorAgeFilesLines
* [POWERPC] ps3: always make sure were running on a PS3Geert Uytterhoeven2007-03-102-2/+2
| | | | | | | | | | | Add missing checks to PS3 specific drivers ps3av and sys-manager to verify that we are actually running on a PS3 (pointed out by Arnd). Correct existing checks in other subsystems/drivers to return -ENODEV instead of zero. Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
* [POWERPC] Fix spu SLB invalidationsBenjamin Herrenschmidt2007-03-103-82/+74
| | | | | | | | | | | | | | | | | The SPU code doesn't properly invalidate SPUs SLBs when necessary, for example when changing a segment size from the hugetlbfs code. In addition, it saves and restores the SLB content on context switches which makes it harder to properly handle those invalidations. This patch removes the saving & restoring for now, something more efficient might be found later on. It also adds a spu_flush_all_slbs(mm) that can be used by the core mm code to flush the SLBs of all SPEs that are running a given mm at the time of the flush. In order to do that, it adds a spinlock to the list of all SPEs and move some bits & pieces from spufs to spu_base.c Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
* [POWERPC] avoid SPU_ACTIVATE_NOWAKE optimizationChristoph Hellwig2007-03-103-11/+6
| | | | | | | This optimization was added recently but is still buggy, so back it out for now. Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
* [POWERPC] spufs: fix possible memory corruption is spufs_mem_writeArnd Bergmann2007-03-101-10/+14
| | | | | | | | | | | | Due to a buggy unsigned comparison, it was possible to write beyond the end of the local store file in spufs under some circumstances. This rewrites the buggy function to look more like simple_copy_from_buffer. Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com> Cc: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
* [POWERPC] 85xx: Enable CONFIG_SERIAL_8250_SHARE_IRQKumar Gala2007-03-071-0/+1
| | | | | | On chip 8250 UARTs share an interrupts on existing 85xx processors. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* [POWERPC] Select u-image as default image for LinkstationSegher Boessenkool2007-03-071-0/+1
| | | | | | | | | | | | Fixes image build error: ln: accessing `arch/powerpc/boot/zImage': No such file or directory make[1]: *** [arch/powerpc/boot/zImage] Error 1 make: *** [zImage] Error 2 Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org> Acked-by: G. Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* [POWERPC] 83xx: Minor fixes for 834x_mds USB setup codeLi Yang2007-03-071-4/+4
| | | | | | | Fix broken node manipulating code, and clarify inaccurate comment. Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* [POWERPC] Fix warning in powermac pci.cBenjamin Herrenschmidt2007-03-081-2/+5
| | | | | | | | This fixes a warning due to unused result from pci_enable_device() in powermac pci.c Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Fix warning in powermac feature.cBenjamin Herrenschmidt2007-03-081-1/+4
| | | | | | | | This fixes a warning due to unused return from pci_enable_device() in powermac feature.c core99_ata100_enable() function. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Celleb: bug fix caused by not casting pointer typesIshizaki Kou2007-03-081-21/+61
| | | | | | | | | | | | | | | | This fixes a bug caused by changes of pointer type in commit f1fda89522c5aaa1bd4ef69605e85e6ee9c85faf. hose->cfg_addr type is "volatile unsigned int __iomem *", so "hose->cfg_addr + X" will not make an intended address. This patch also adds comments for usage of cfg_addr and cfg_data in pci_controller structure. We use them in irregular way, and the original code is short of explanations about them. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
* mv643xx_eth: Place explicit port number in mv643xx_eth_platform_dataDale Farnsworth2007-03-061-0/+2
| | | | | | | | | | | | | | We were using the platform_device.id field to identify which ethernet port is used for mv643xx_eth device. This is not generally correct. It will be incorrect, for example, if a hardware platform uses a single port but not the first port. Here, we add an explicit port_number field to struct mv643xx_eth_platform_data. This makes the mv643xx_eth_platform_data structure required, but that isn't an issue since all users currently provide it already. Signed-off-by: Dale Farnsworth <dale@farnsworth.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ps3: introduce CONFIG_PS3_ADVANCEDGeert Uytterhoeven2007-03-011-7/+21
| | | | | | | | | | | | | | | | | ps3: Introduce CONFIG_PS3_ADVANCED, as suggested by Roman Zippel, and use it to control questions about PS3 subsystems that may not be obvious for the casual user. This gets rid of the following warning on non-powerpc platforms: | drivers/video/Kconfig:1604:warning: 'select' used by config symbol 'FB_PS3' refer to undefined symbol 'PS3_PS3AV' Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com> Acked-by: Geoff Levand <geoffrey.levand@am.sony.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Roman Zippel <zippel@linux-m68k.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* backlight: Separate backlight properties from backlight ops pointersRichard Purdie2007-02-201-4/+4
| | | | | | | | | Per device data such as brightness belongs to the indivdual device and should therefore be separate from the the backlight operation function pointers. This patch splits the two types of data and allows simplifcation of some code. Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
* backlight: Fix external uses of backlight internal semaphoreRichard Purdie2007-02-201-14/+5
| | | | | | | | | | | | | | | | | | backlight_device->sem has a very specific use as documented in the header file. The external users of this are using it for a different reason, to serialise access to the update_status() method. backlight users were supposed to implement their own internal serialisation of update_status() if needed but everyone is doing things differently and incorrectly. Therefore add a global mutex to take care of serialisation for everyone, once and for all. Locking for get_brightness remains optional since most users don't need it. Also update the lcd class in a similar way. Signed-off-by: Richard Purdie <rpurdie@rpsys.net>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpcLinus Torvalds2007-02-1921-242/+253
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: (34 commits) [POWERPC] 86xx: Cleaned up platform dts files [POWERPC] 85xx: Renamed MPC8568 MDS board code to match other boards [POWERPC] 85xx: Cleaning up machine probing [POWERPC] QE: clean up ucc_slow.c and ucc_fast.c [POWERPC] 85xx: Cleaned up platform dts files [POWERPC] 83xx: Renamed MPC8323 MDS dts and defconfig to match other boards [POWERPC] 83xx: Updated and renamed MPC8360PB to MPC836x MDS [POWERPC] 83xx: Use of_platform_bus_probe to setup QE devices [POWERPC] 83xx: use default value of loops_per_jiffy [POWERPC] 83xx: Remove obsolete setting of ROOT_DEV. [POWERPC] 83xx: Cleaning up machine probing and board initcalls [POWERPC] Dispose irq mapping when done in mpc52xx_serial.c [POWERPC] 86xx: Add missing of_node_put() in mpc86xx_hpcn_init_irq(). [POWERPC] 8[56]xx: Remove obsolete setting of ROOT_DEV for 85xx and 86xx platforms. [POWERPC] pseries: Enabling auto poweron after power is restored. [POWERPC] use winbond libata instead of ide driver for pseries CD drives [POWERPC] powerpc: remove references to the obsolete linux,platform property [POWERPC] add of_get_mac_address and update fsl_soc.c to use it [POWERPC] 83xx: Cleaned up 83xx platform dts files [POWERPC] Fix bug with early ioremap and 64k pages ...
| * Merge branch '85xx' into for_paulusKumar Gala2007-02-175-42/+28
| |\
| | * [POWERPC] 85xx: Renamed MPC8568 MDS board code to match other boardsKumar Gala2007-02-173-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | Renamed the MPC8568 MDS platform code to follow other 85xx boards. There isn't anything specific about the 8568 MDS code that wouldn't apply to another 85xx MDS system at this point. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * [POWERPC] 85xx: Cleaning up machine probingKumar Gala2007-02-173-23/+9
| | | | | | | | | | | | | | | | | | | | | Cleaned up the probing functionality to be more consistent across all 85xx boards and actually check to see if we should be running on a given board. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * Merge branch 'master' into 85xxKumar Gala2007-02-174-2/+120
| | |\
| * | \ Merge branch '83xx' into for_paulusKumar Gala2007-02-1711-170/+185
| |\ \ \
| | * | | [POWERPC] 83xx: Updated and renamed MPC8360PB to MPC836x MDSKumar Gala2007-02-173-28/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MPC836x PB board is really just one part of the MPC836x MDS. We currently name all other PB boards as MDS. Removed all references to PB and replaced with MDS. Additionally renamed the .dts to match the defconfig (mpc836x_mds*). Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | | [POWERPC] 83xx: Use of_platform_bus_probe to setup QE devicesKumar Gala2007-02-172-26/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use of_platform_bus_probe to setup devices on the of_platform_bus since its much cleaner. We explicitly specify the bus ids since the we want to get rid of the default mechanism in the future. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | | [POWERPC] 83xx: use default value of loops_per_jiffyKumar Gala2007-02-174-43/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the default value setup by initialization of loops_per_jiffy, its close enough for 83xx and will get fixed up by calibrate_delay(). Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | | [POWERPC] 83xx: Remove obsolete setting of ROOT_DEV.Kumar Gala2007-02-174-34/+0
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | | [POWERPC] 83xx: Cleaning up machine probing and board initcallsKumar Gala2007-02-175-41/+27
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cleaned up the probing functionality to be more consistent across all 83xx boards and added machine_is() protection around board initcalls to ensure they only do something if we are actually running on that board. Additionally, removed some dead code on mpc832x_mds. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | [POWERPC] pseries: Enabling auto poweron after power is restored.Manish Ahuja2007-02-174-2/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | During power outages, the UPS notifies the system for a shutdown. In the current setup, it isn't possible to poweron when power is restored. This patch fixes the issue by calling the right ibm,power-off-ups token during such events. It also adds a sysfs interface so userspace can specify whether or not to power on when power is restored. Signed-off-by: Manish Ahuja <ahuja@austin.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | | Merge branch '85xx' into for_paulusKumar Gala2007-02-164-22/+0
| |\ \ \ | | | |/ | | |/|
| | * | [POWERPC] 8[56]xx: Remove obsolete setting of ROOT_DEV for 85xx and 86xx ↵Jon Loeliger2007-02-164-22/+0
| | |/ | | | | | | | | | | | | | | | | | | platforms. Signed-off-by: Jon Loeliger <jdl@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * / [POWERPC] 86xx: Add missing of_node_put() in mpc86xx_hpcn_init_irq().Jon Loeliger2007-02-161-0/+2
| |/ | | | | | | | | Signed-off-by: Jon Loeliger <jdl@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| * [POWERPC] Fix cut and paste breakage in arch/powerpc/platforms/pseries/pseries.hMichael Ellerman2007-02-161-2/+2
| | | | | | | | | | | | | | | | My "cleanup" patch (dce623e0827e8d0ad60ce7f385c3394bf1b0bae0) had a cut and paste error for the !CONFIG_KEXEC case. Fifty lashes for me. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [POWERPC] celleb: fix scc_uhc.c dependencyIshizaki Kou2007-02-161-2/+1
| | | | | | | | | | | | | | | | | | scc_uhc.c depends on CONFIG_PCI, not CONFIG_USB. Because CONFIG_PCI is always "y" on Celleb platform, we move scc_uhc.o to obj-y. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [POWERPC] celleb: fix CONFIG_KEXEC dependencyIshizaki Kou2007-02-161-0/+2
| | | | | | | | | | | | | | | | celleb_kexec_cpu_down() depends on CONFIG_KEXEC. Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp> Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| * [POWERPC] PS3: System manager supportGeoff Levand2007-02-162-4/+33
| | | | | | | | | | | | | | | | | | | | | | | | Add PS3 system manager support and the ppc_md routines restart() and power_off(). The system manager provides an event notification mechanism for reporting events like thermal alert and button presses. It also provides support to control system shutdown and startup. Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
* | [PATCH] genirq: remove IRQ_DISABLEDIngo Molnar2007-02-161-2/+0
|/ | | | | | | | | | Now that disable_irq() defaults to delayed-disable semantics, the IRQ_DISABLED flag is not needed anymore. Signed-off-by: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* [POWERPC] Cleanup pseries kexec codeMichael Ellerman2007-02-144-48/+83
| | | | | | | | | | | | | 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>
* [POWERPC] Cleanup pseries smp initialisation codeMichael Ellerman2007-02-143-6/+9
| | | | | | | | | 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>
* [POWERPC] Consolidate pseries platform header files into pseries.hMichael Ellerman2007-02-145-29/+23
| | | | | | | | | | | | 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>
* Merge branch 'cell-merge' of ↵Paul Mackerras2007-02-146-217/+379
|\ | | | | | | git+ssh://master.kernel.org/pub/scm/linux/kernel/git/arnd/cell-2.6
| * [POWERPC] cell: PPU Oprofile cleanup patchCarl Love2007-02-131-10/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * [POWERPC] spufs: avoid accessing kernel memory through mmapped /mem nodeMasato Noguchi2007-02-131-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * [POWERPC] spu sched: static timeslicing for SCHED_RR contextsChristoph Hellwig2007-02-134-3/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * [POWERPC] spu sched: use DECLARE_BITMAPChristoph Hellwig2007-02-131-2/+1
| | | | | | | | | | | | | | 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>
| * [POWERPC] spu sched: forced preemption at executionChristoph Hellwig2007-02-133-0/+76
| | | | | | | | | | | | | | | | | | | | 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>
| * [POWERPC] spu sched: update some commentsChristoph Hellwig2007-02-131-8/+8
| | | | | | | | | | | | | | | | | | 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>
| * [POWERPC] spu sched: simplity spu_remove_from_active_listChristoph Hellwig2007-02-131-29/+15
| | | | | | | | | | | | | | | | | | | | 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>
| * [POWERPC] spufs: optimize spu_runChristoph Hellwig2007-02-135-12/+23
| | | | | | | | | | | | | | | | 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>
| * [POWERPC] spufs: runqueue simplificationChristoph Hellwig2007-02-132-67/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * [POWERPC] spufs: move prio to spu_contextChristoph Hellwig2007-02-133-7/+6
| | | | | | | | | | | | | | | | 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>
| * [POWERPC] spufs: state_mutex cleanupChristoph Hellwig2007-02-133-53/+64
| | | | | | | | | | | | | | | | | | | | | | 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>
| * [POWERPC] spufs: simplify state_mutexChristoph Hellwig2007-02-133-30/+17
| | | | | | | | | | | | | | | | | | 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>