aboutsummaryrefslogtreecommitdiff
path: root/arch/sparc64/kernel
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-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: 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-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-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>
2008-08-04sparc64: Kill error_mask from hypervisor_xcall_deliver().David S. Miller
It can eat up a lot of stack space when NR_CPUS is large. We retain some of it's functionality by reporting at least one of the cpu's which are seen in error state. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-04sparc64: Build cpu list and mondo block at top-level xcall_deliver().David S. Miller
Then modify all of the xcall dispatch implementations get passed and use this information. Now all of the xcall dispatch implementations do not need to be mindful of details such as "is current cpu in the list?" and "is cpu online?" Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-04sparc64: Disable local interrupts around xcall_deliver_impl() invocation.David S. Miller
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-04sparc64: Make all xcall_deliver's go through common helper function.David S. Miller
This just facilitates the next changeset where we'll be building the cpu list and mondo block in this helper function. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-04sparc64: Always allocate the send mondo blocks, even on non-sun4v.David S. Miller
The idea is that we'll use this cpu list array and mondo block even for non-hypervisor platforms. Signed-off-by: David S. Miller <davem@davemloft.net>
2008-08-04sparc64: Make smp_cross_call_masked() take a cpumask_t pointer.David S. Miller
Ideally this could be simplified further such that we could pass the pointer down directly into the xcall_deliver() implementation. But if we do that we need to do the "cpu_online(cpu)" and "cpu != self" checks down in those functions. Signed-off-by: David S. Miller <davem@davemloft.net>