aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel
Commit message (Collapse)AuthorAge
* sparc32: Move sun4d show_leds() out of asm/obio.hDavid S. Miller2008-09-08
| | | | | | Put it, as well as cpu_leds[] array, into sun4d_irq.c Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: Fix coding style of sparc_cpu_model setting code.David S. Miller2008-09-08
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2008-09-08
|\ | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 Conflicts: arch/sparc/kernel/of_device.c
| * sparc: Fix resource flags for PCI children in OF device tree.David S. Miller2008-08-29
| | | | | | | | | | | | | | | | | | | | | | | | When a device is under an EBUS or ISA bus, the resource flags don't get set properly. Fix this by re-evaluating the resource flags at each level of bus as we apply ranges on the way to the root. And let PCI override any existing flags setting, but don't let the default flags calculator make such overrides. Signed-off-by: David S. Miller <davem@davemloft.net>
| * sparc32: Implement smp_call_function_single().David S. Miller2008-08-27
| | | | | | | | | | | | | | | | Reported by Stephen Rothwell. Needed to fix the build when CONFIG_RELAY is enabled. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: Kill remaining asm/mostek.h inclusions.David S. Miller2008-09-03
| | | | | | | | | | | | No longer needed. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: use RTC subsystemDavid S. Miller2008-09-03
| | | | | | | | | | | | | | | | | | | | | | | | Use rtc subsystem for sparc32 architecture. Actually, only one driver is needed: m48t59 as it supports the most common clocks on sparc32 machines: m48t08 and m48t02. [ Add proper RTC layer calls to set_rtc_mmss() -DaveM ] Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Fix handling of LANCE and ESP parent nodes in of_device.cDavid S. Miller2008-09-03
| | | | | | | | | | | | | | | | | | | | The device nodes that sit above 'esp' and 'le' on SBUS lack a 'ranges' property, but we should pass the translation up to the parent node so that the SBUS level ranges get applied. Based upon a bug report from Robert Reif. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: remove CONFIG_SUN4Adrian Bunk2008-08-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | While doing some easy cleanups on the sparc code I noticed that the CONFIG_SUN4 code seems to be worse than the rest - there were some "I don't know how it should work, but the current code definitely cannot work." places. And while I have seen people running Linux on machines like a SPARCstation 5 a few years ago I don't recall having seen sun4 machines, even less ones running Linux. Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Annotate of_device_id arrays with const or __initdata.David S. Miller2008-08-31
| | | | | | | | | | | | As suggested by Stephen Rothwell. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill ebus_bus_type.David S. Miller2008-08-30
| | | | | | | | | | | | No longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill EBUS driver layer.David S. Miller2008-08-30
| | | | | | | | | | | | | | All that remains is the EBUS DMA programming library for sparc64. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill now spurious includes of sbus.hDavid S. Miller2008-08-29
| | | | | | | | | | | | | | | | 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>
* | sparc32: Kill iounit_map_dma_*().David S. Miller2008-08-29
| | | | | | | | | | | | Unused. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill sbus_bus_type.David S. Miller2008-08-29
| | | | | | | | | | | | No longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Remove generic SBUS probing layer.David S. Miller2008-08-29
| | | | | | | | | | | | | | 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>
* | sparc: Add OF archdata propagation helper.David S. Miller2008-08-29
| | | | | | | | | | | | | | 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>
* | sparc: Kill sbus_arch_preinit().David S. Miller2008-08-29
| | | | | | | | | | | | | | 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>
* | sparc: Kill sbus_ioremap() and sbus_iounmap().David S. Miller2008-08-29
| | | | | | | | | | | | No more users. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Convert remaining sbus_ioremap() and sbus_iounmap() users.David S. Miller2008-08-29
| | | | | | | | | | | | Use of_ioremap() and of_iounmap() instead. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Remove dinky old-style SBUS probing facilities.David S. Miller2008-08-29
| | | | | | | | | | | | | | 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>
* | sparc: Remove SBUS layer resource and irq handling.David S. Miller2008-08-29
| | | | | | | | | | | | | | All the drivers use OF device objects now for this information. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill SBUS layer IRQ hooks.David S. Miller2008-08-29
| | | | | | | | | | | | IRQs are obtained by drivers from the of_device struct. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: Convert sun4d IRQ code to use generic device tree probing.David S. Miller2008-08-29
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: Convert pmc to OF driver.David S. Miller2008-08-29
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: Convert apc to OF driver.David S. Miller2008-08-29
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: Make mmu_map_dma_area and mmu_unmap_dma_area take a device pointer.David S. Miller2008-08-29
| | | | | | | | | | | | | | This lets us kill this "map it in every IOMMU" crazy code, and also some of the final references to sbus_root. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: Kill mmu_translate_dvma() usage.David S. Miller2008-08-29
| | | | | | | | | | | | | | | | Just simply use virt_to_page() on the provided virtual address pointer. Kill #if 0'd code. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Move SBUS DMA attribute interfaces out of asm/sbus.hDavid S. Miller2008-08-29
| | | | | | | | | | | | | | | | | | 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>
* | sparc: Convert all SBUS drivers to dma_*() interfaces.David S. Miller2008-08-29
| | | | | | | | | | | | | | | | | | 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>
* | sparc32: Implement more generic dma_*() interfaces.David S. Miller2008-08-29
| | | | | | | | | | | | | | | | | | These dispatch to either PCI or SBUS routines based upon the device bus type. This will allow us to let SBUS drivers call these routines. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: Make mmu_{get,release}_*() take a struct device pointer.David S. Miller2008-08-29
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Make SBUS DMA interfaces take struct device.David S. Miller2008-08-29
| | | | | | | | | | | | | | This is the first step in converting all the SBUS drivers over to generic dma_*(). Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: Make IOMMU and IO-UNIT init work with device nodes.David S. Miller2008-08-29
| | | | | | | | | | | | | | | | | | | | | | And stick the iommu archdata pointer into the generic OF device tree of_device struct as well. We still have to pass the sbus_bus object down into the routines so that the SBUS bus objects get the iommu cookies set properly. After drivers get converted to being pure OF drivers, that can go away. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill SBUS DVMA layer.David S. Miller2008-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | sparc: Delete bare sbus char bpp driver, obsoleted by parport_sunbppDavid S. Miller2008-08-29
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc64: Fix irq_of_parse_and_map() and irq_dispose_mapping().David S. Miller2008-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | sparc: Implement irq_of_parse_and_map() and irq_dispose_mapping().David S. Miller2008-08-24
| | | | | | | | | | | | | | This allows more OF layer code to be shared between powerpc and sparc. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Add mutex for set property calls.David S. Miller2008-08-24
|/ | | | | | | | | | | | | 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>
* sparc: don't use asm/of_device.hStephen Rothwell2008-08-07
| | | | | | | 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>
* sparc: Add call to tracehook_signal_handler().David S. Miller2008-07-27
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Create and use TIF_NOTIFY_RESUME.David S. Miller2008-07-27
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Use tracehook routines in syscall_trace().David S. Miller2008-07-27
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Wire up new system calls.David S. Miller2008-07-25
| | | | | | | This wires up the recently added Wire up signalfd4, eventfd2, epoll_create1, dup3, pipe2, and inotify_init1 system calls. Signed-off-by: David S. Miller <davem@davemloft.net>
* flag parameters: pipeUlrich Drepper2008-07-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch introduces the new syscall pipe2 which is like pipe but it also takes an additional parameter which takes a flag value. This patch implements the handling of O_CLOEXEC for the flag. I did not add support for the new syscall for the architectures which have a special sys_pipe implementation. I think the maintainers of those archs have the chance to go with the unified implementation but that's up to them. The implementation introduces do_pipe_flags. I did that instead of changing all callers of do_pipe because some of the callers are written in assembler. I would probably screw up changing the assembly code. To avoid breaking code do_pipe is now a small wrapper around do_pipe_flags. Once all callers are changed over to do_pipe_flags the old do_pipe function can be removed. The following test must be adjusted for architectures other than x86 and x86-64 and in case the syscall numbers changed. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #include <fcntl.h> #include <stdio.h> #include <unistd.h> #include <sys/syscall.h> #ifndef __NR_pipe2 # ifdef __x86_64__ # define __NR_pipe2 293 # elif defined __i386__ # define __NR_pipe2 331 # else # error "need __NR_pipe2" # endif #endif int main (void) { int fd[2]; if (syscall (__NR_pipe2, fd, 0) != 0) { puts ("pipe2(0) failed"); return 1; } for (int i = 0; i < 2; ++i) { int coe = fcntl (fd[i], F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if (coe & FD_CLOEXEC) { printf ("pipe2(0) set close-on-exit for fd[%d]\n", i); return 1; } } close (fd[0]); close (fd[1]); if (syscall (__NR_pipe2, fd, O_CLOEXEC) != 0) { puts ("pipe2(O_CLOEXEC) failed"); return 1; } for (int i = 0; i < 2; ++i) { int coe = fcntl (fd[i], F_GETFD); if (coe == -1) { puts ("fcntl failed"); return 1; } if ((coe & FD_CLOEXEC) == 0) { printf ("pipe2(O_CLOEXEC) does not set close-on-exit for fd[%d]\n", i); return 1; } } close (fd[0]); close (fd[1]); puts ("OK"); return 0; } ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Ulrich Drepper <drepper@redhat.com> Acked-by: Davide Libenzi <davidel@xmailserver.org> Cc: Michael Kerrisk <mtk.manpages@googlemail.com> Cc: <linux-arch@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* sparc: Remove Sparc's asm-offsets for sclow.SDavid Howells2008-07-19
| | | | | | | | | Remove Sparc's asm-offsets for sclow.S as the (E)UID/(E)GID size and offset definitions will cease to be correct if COW credentials are merged. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: Use new '%pS' infrastructure to print symbols.David S. Miller2008-07-18
| | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: arch/sparc/kernel/apc.c to unlocked_ioctlStoyan Gaydarov2008-07-18
| | | | | | | This changes arch/sparc/kernel/apc.c to use unlocked_ioctl Signed-off-by: Stoyan Gaydarov <stoyboyker@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: export openprom.h to userspaceSam Ravnborg2008-07-18
| | | | | | | | | | | | sparc64 exports openprom.h to userspace so let sparc follow the example. As openprom.h pulled in another not-for-export vaddrs.h header file it required a few changes to fix the build. The definition af VMALLOC_* were moved to pgtable as this is where sparc64 has them. Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
* sparc/kernel/: possible cleanupsAdrian Bunk2008-07-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch contains the following possible cleanups: - make the following needlessly global code static: - apc.c: apc_swift_idle() - ebus.c: ebus_blacklist_irq() - ebus.c: fill_ebus_child() - ebus.c: fill_ebus_device() - entry.S: syscall_is_too_hard - etra: tsetup_sun4c_stackchk - head.S: cputyp - head.S: prom_vector_p - idprom.c: Sun_Machines[] - ioport.c: _sparc_find_resource() - ioport.c: create_proc_read_entry() - irq.c: struct sparc_irq[] - rtrap.S: sun4c_rett_stackchk - setup.c: prom_sync_me() - setup.c: boot_flags - sun4c_irq.c: sun4c_sbint_to_irq() - sun4d_irq.c: sbus_tid[] - sun4d_irq.c: struct sbus_actions - sun4d_irq.c: sun4d_sbint_to_irq() - sun4m_irq.c: sun4m_sbint_to_irq() - sun4m_irq.c: sun4m_get_irqmask() - sun4m_irq.c: sun4m_timers - sun4m_smp.c: smp4m_cross_call() - sun4m_smp.c: smp4m_blackbox_id() - sun4m_smp.c: smp4m_blackbox_current() - time.c: sp_clock_typ - time.c: sbus_time_init() - traps.c: instruction_dump() - wof.S: spwin_sun4c_stackchk - wuf.S: sun4c_fwin_stackchk - #if 0 the following unused code: - process.c: sparc_backtrace_lock - process.c: __show_backtrace() - process.c: show_backtrace() - process.c: smp_show_backtrace_all_cpus() - remove the following unused code: - entry.S: __handle_exception - smp.c: smp_num_cpus - smp.c: smp_activated - smp.c: __cpu_number_map[] - smp.c: __cpu_logical_map[] - smp.c: bitops_spinlock - traps.c: trap_curbuf - traps.c: trapbuf[] - traps.c: linux_smp_still_initting - traps.c: thiscpus_tbr - traps.c: thiscpus_mid Signed-off-by: Adrian Bunk <bunk@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>