aboutsummaryrefslogtreecommitdiff
path: root/arch/sparc64
AgeCommit message (Collapse)Author
2008-08-30sparc64: Convert SUN4V PCI controller driver into a real driver.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-30sparc64: Convert SCHIZO PCI controller driver into a real driver.David S. Miller
The idea is to convert all of the PCI controller drivers into genuine OF drivers, then we can get rid of this terrible probing table and infrastructure in arch/sparc64/kernel/pci.c Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-30sparc64: Don't invoke power_init() from pcibios_init().David S. Miller
That's just silly, use device_initcall() instead. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-30sparc: Kill ebus_bus_type.David S. Miller
No longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-30sparc: Kill EBUS driver layer.David S. Miller
All that remains is the EBUS DMA programming library for sparc64. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Move EBUS DMA interfaces into seperate header file.David S. Miller
These have no dependencies on the EBUS probing layer, the clients setup the registers and all of those details. The EBUS DMA layer just programs and manages the DMA controller found in EBUS. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Propagate PCI device archdata into OF device tree for EBUS.David S. Miller
In order to convert EBUS drivers doing DMA into pure OF drivers, we need the of_device->dev.archdata setup properly. EBUS instances that can provide DMA for device nodes sit on PCI, so detect and propagate the information there. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Use generic starfire RTC driver.David S. Miller
Also, delete the mini RTC driver, no longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Use generic sun4v RTC driver.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Use generic BQ4802 RTC driver.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Use generic CMOS driver.David S. Miller
Based largely upon a patch by Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Convert Mostek rtc to use generic RTC layer driver.David S. Miller
Based largely upon a patch by Krzysztof Helt <krzysztof.h1@poczta.fm> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Check for RTC class device in update_persistent_clock().David S. Miller
As we convert the various by-hand sparc64 RTC drivers to use the generic RTC framework and drivers, we need to keep the NTP set_rtc_mmss() support via update_persistent_clock() working. In the end, after all the RTC device cases are converted, this local set_rtc_mmss() function will be deleted. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc64: Select RTC_CLASSDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Kill now spurious includes of sbus.hDavid S. Miller
In order to make this week I also had to add an include of linux/dma-mapping.h to asm/pci_32.h because drivers/pci/pci.c really depends upon getting this header somehow. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Kill sbus_bus_type.David S. Miller
No longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Remove generic SBUS probing layer.David S. Miller
The individual SBUS IOMMU arch code now sets the IOMMU information directly into the OF device objects. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Add OF archdata propagation helper.David S. Miller
Add a helper function that, given a bus of_device node, propagates all iommu, stc, and host_controller values down to the child nodes. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Kill sbus_arch_preinit().David S. Miller
32-bit sparc just needed it to register the ioport procfs bits, do this via an arch_initcall() instead. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Remove dinky old-style SBUS probing facilities.David S. Miller
No drivers or code uses this stuff any more, every driver has been converted over to OF device probing. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Remove SBUS layer resource and irq handling.David S. Miller
All the drivers use OF device objects now for this information. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Kill SBUS layer IRQ hooks.David S. Miller
IRQs are obtained by drivers from the of_device struct. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Move SBUS DMA attribute interfaces out of asm/sbus.hDavid S. Miller
This is in preparation for the subsequent asm/sbus.h removal. Also, make these routines take a "struct device" or no arguments, as appropriate. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Convert all SBUS drivers to dma_*() interfaces.David S. Miller
And all the SBUS dma interfaces are deleted. A private implementation remains inside of the 32-bit sparc port which exists only for the sake of the implementation of dma_*(). Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Make SBUS DMA interfaces take struct device.David S. Miller
This is the first step in converting all the SBUS drivers over to generic dma_*(). Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Kill SBUS DVMA layer.David S. Miller
This thing was completely pointless. Just find the OF device in the parent of drivers that want to program this device, and map the DMA regs inside such drivers too. This also moves the dummy claim_dma_lock() and release_dma_lock() implementation to floppy_32.h, which makes it handle this issue just like floppy_64.h does. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-29sparc: Delete bare sbus char bpp driver, obsoleted by parport_sunbppDavid S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-25sparc64: Fix irq_of_parse_and_map() and irq_dispose_mapping().David S. Miller
Stephen Rothwell noticed that I committed an earlier version of the patch that didn't have two things fixed: 1) irq_of_parse_and_map() should return "unsigned int" not "int" and it should return zero for "no irq" 2) irq_dispose_mapping() should be an inline function, not a macro, for type checking With feedback and suggestions from Anton Vorontsov. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-25sparc64: Use the cond_syscall()s in kernel/sys_ni.c instead of home-grown copy.David S. Miller
This also allows arch/sparc64/kernel/pci.c to be properly CONFIG_PCI conditional compiled in the Makefile. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-25sparc64: Add JBUS UltraSPARC-IIIi support to memory controller driver.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-24sparc64: Allow chmc to be built as a module.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-24sparc64: Add generic interface for registering a dimm printing handler.David S. Miller
The way to do this varies by platform type and the exact memory controller the cpu uses. For Spitfire cpus we currently just use prom_getunumber() and hope that works. For Cheetah cpus we have a memory controller driver that can compute this information. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-24sparc64: Use consistent chmc_ prefix in variables, types, and functions.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-24sparc64: Convert UltraSPARC-III memory controller driver to OF driver probing.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-24sparc64: Kill duplicated sys_pause() implementation.David S. Miller
sys32_pause() is identical to the generically provided sys_pause() in kernel/signal.c Noticed by Christoph Hellwig. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-24sparc64: Split syscall_trace() into two functions.David S. Miller
Christoph Hellwig noticed that having both entry and exit logic in one function no longer makes sense, and having seperate ones simplifies things a lot. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-24sparc: Add GPIO layer support.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-24sparc: Implement irq_of_parse_and_map() and irq_dispose_mapping().David S. Miller
This allows more OF layer code to be shared between powerpc and sparc. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-24sparc: Add mutex for set property calls.David S. Miller
On some platforms, the I2C controller is shared between the OS and OBP. OBP uses this I2C controller to access the EEPROM, and thus is programmed when the kernel calls prom_setprop(). Wrap such calls with the new of_set_property_mutex. Relevant I2C bus drivers can grab this mutex around top-level I2C operations to provide the proper protection. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-24sparc64: Add JBUS NUMA detection.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-14sparc64: Fix cmdline_memory_size handling bugs.David S. Miller
First, lmb_enforce_memory_limit() interprets it's argument (mostly, heh) as a size limit not an address limit. So pass the raw cmdline_memory_size value into it. And we don't need to check it against zero, lmb_enforce_memory_limit() does that for us. Next, free_initmem() needs special handling when the kernel command line trims the available memory. The problem case is if the trimmed out memory is where the kernel image itself resides. When that memory is trimmed out, we don't add those physical ram areas to the sparsemem active ranges, amongst other things. Which means that this free_initmem() code will free up invalid page structs, resulting in either crashes or hangs. Just quick fix this by not freeing initmem at all if "mem=" was given on the boot command line. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-14sparc64: Fix overshoot in nid_range().David S. Miller
If 'start' does not begin on a page boundary, we can overshoot past 'end'. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-13sparc64: Handle stack trace attempts before irqstacks are setup.David S. Miller
Things like lockdep can try to do stack backtraces before the irqstack blocks have been setup. So don't try to match their ranges so early on. Also, remove unused variable in save_stack_trace(). Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-12sparc64: Implement IRQ stacks.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-12sparc64: Fix recursion in stack overflow detection handling.David S. Miller
The calls down into prom_printf() when we detect an overflowed stack can recurse again since the overflow stack will be "below" the current kernel stack limit. Prevent this by just returning straight if we are on the stack overflow safe stack already. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-09sparc64: Don't MAGIC_SYSRQ ifdef smp_fetch_global_regs and support code.David S. Miller
Based upon a report and initial patch by Friedrich Oslage. The intention is to provide this facility for __trigger_all_cpu_backtrace even if MAGIC_SYSRQ is not set. The only part that should have MAGIC_SYSRQ ifdef protection is the sparc_globalreg_op sysrq regitration and immediate code. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-07sparc64: Fix end-of-stack checking in save_stack_trace().David S. Miller
Bug reported by Alexander Beregalov. Before we dereference the stack frame or try to peek at the pt_regs magic value, make sure the entire object is within the kernel stack bounds. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-07sparc: don't use asm/of_device.hStephen Rothwell
Use linux/of_device.h instead. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-06sparc64: Use kernel/uid16.c helpers instead of own copy.David S. Miller
Noticed by Adrian Bunk. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-04sparc64: Remove all cpumask_t local variables in xcall dispatch.David S. Miller
All of the xcall delivery implementation is cpumask agnostic, so we can pass around pointers to const cpumask_t objects everywhere. The sad remaining case is the argument to arch_send_call_function_ipi(). Signed-off-by: David S. Miller <davem@davemloft.net>