aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms
Commit message (Collapse)AuthorAge
* backlight: Separate backlight properties from backlight ops pointersRichard Purdie2007-02-20
| | | | | | | | | 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-20
| | | | | | | | | | | | | | | | | | 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-19
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-17
| |\
| | * [POWERPC] 85xx: Renamed MPC8568 MDS board code to match other boardsKumar Gala2007-02-17
| | | | | | | | | | | | | | | | | | | | | | | | 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-17
| | | | | | | | | | | | | | | | | | | | | 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-17
| | |\
| * | \ Merge branch '83xx' into for_paulusKumar Gala2007-02-17
| |\ \ \
| | * | | [POWERPC] 83xx: Updated and renamed MPC8360PB to MPC836x MDSKumar Gala2007-02-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-17
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
| | * | | [POWERPC] 83xx: Cleaning up machine probing and board initcallsKumar Gala2007-02-17
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-16
| |\ \ \ | | | |/ | | |/|
| | * | [POWERPC] 8[56]xx: Remove obsolete setting of ROOT_DEV for 85xx and 86xx ↵Jon Loeliger2007-02-16
| | |/ | | | | | | | | | | | | | | | | | | 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-16
| |/ | | | | | | | | 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-15
| | | | | | | | | | | | | | | | 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-15
| | | | | | | | | | | | | | | | | | 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-15
| | | | | | | | | | | | | | | | 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-15
| | | | | | | | | | | | | | | | | | | | | | | | 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-16
|/ | | | | | | | | | 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-13
| | | | | | | | | | | | | 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-13
| | | | | | | | | 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-13
| | | | | | | | | | | | 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-13
|\ | | | | | | git+ssh://master.kernel.org/pub/scm/linux/kernel/git/arnd/cell-2.6
| * [POWERPC] cell: PPU Oprofile cleanup patchCarl Love2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-13
| | | | | | | | | | | | | | | | | | | | | | | | | | 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-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-13
| | | | | | | | | | | | | | 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-13
| | | | | | | | | | | | | | | | | | | | 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-13
| | | | | | | | | | | | | | | | | | 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-13
| | | | | | | | | | | | | | | | | | | | 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-13
| | | | | | | | | | | | | | | | 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-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-13
| | | | | | | | | | | | | | | | 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-13
| | | | | | | | | | | | | | | | | | | | | | 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-13
| | | | | | | | | | | | | | | | | | 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>
| * [POWERPC] spufs: sched.c cleanupsChristoph Hellwig2007-02-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * [POWERPC] spufs: bind_context sets SPU_STATE_RUNNABLEChristoph Hellwig2007-02-13
| | | | | | | | | | | | | | | | | | 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>
| * [POWERPC] spufs: remove superfluous SPU_STATE_SAVED assignmentsChristoph Hellwig2007-02-13
| | | | | | | | | | | | | | | | 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>
| * [POWERPC] spufs: remove empty last line in run.cChristoph Hellwig2007-02-13
| | | | | | | | | | | | | | 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>
| * [POWERPC] spufs: remove SPU_CONTEXT_PREEMPTChristoph Hellwig2007-02-13
| | | | | | | | | | | | | | | | 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>
* | [POWERPC] 85xx: Add support for the 8568 MDS boardAndy Fleming2007-02-13
|/ | | | | | | 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>
* [POWERPC] spufs: Fix bitrot of the SPU mmap facilityBenjamin Herrenschmidt2007-02-12
| | | | | | | | | | | | | | | | | | | | | | | 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>
* [POWERPC] powerpc: Remove SPU struct pages for PS3Benjamin Herrenschmidt2007-02-12
| | | | | | | | 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>
* [POWERPC] spufs: remove need for struct page for SPEsBenjamin Herrenschmidt2007-02-12
| | | | | | | | | | | | | | | | 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>
* [POWERPC] Small cleanup of EFIKA platformSylvain Munaut2007-02-12
| | | | | | | | | | | | | 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>
* [POWERPC] Fix unbalanced of_node_{get,put} in efika-setup.cSylvain Munaut2007-02-12
| | | | | | Signed-off-by: Sylvain Munaut <tnt@246tNt.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Signed-off-by: Paul Mackerras <paulus@samba.org>
* [POWERPC] Use common 52xx of_platform probe code for EFIKASylvain Munaut2007-02-12
| | | | | | | | | | | | 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>