summaryrefslogtreecommitdiffstats
path: root/arch/sparc/kernel
Commit message (Collapse)AuthorAgeFilesLines
* Revert "sparc: correct section of current_pc()"David S. Miller2008-11-101-1/+0
| | | | | | | | | This reverts commit 8dd9453737822469837d48d5da3785ce70fb2118. This fixes a boot failure reported by Robert Reif. The code above the section change expects to fallthrough, so we can't make such a section change here.
* rtc-m48t59: shift zero year to 1968 on sparc (rev 2)Krzysztof Helt2008-10-291-23/+4
| | | | | | | | | | | Shift the first year to 1968 for Sun SPARC machines. Move this logic from platform specific files to rtc driver as this fixes problems with calculating a century bit. Signed-off-by: Krzysztof Helt <krzysztof.h1@wp.pl> Tested-by: Alexander Beregalov Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: correct section of current_pc()Frederic Weisbecker2008-10-221-0/+1
| | | | | | | | | | | | | | | Latest mainline gives this section mismatch on sparc: The function current_pc() references the variable __init no_sun4u_here. This is often because current_pc lacks a __init annotation or the annotation of no_sun4u_here is wrong. Since current_pc() is used only in early time, it is correct to put it in .init section. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc: correct section of apc_no_idleFrederic Weisbecker2008-10-221-1/+1
| | | | | | | | | | | | | | | | The latest mainline gives this section mismatch on sparc: The function __devinit apc_probe() references a variable __initdata apc_no_idle. If apc_no_idle is only used by apc_probe then annotate apc_no_idle with a matching annotation. Since the commit 7e7e2f035663c5ceb029bfb9d91e75099b0a5625, apc_probe() is on __devinit so we have to correct apc_no_idle which is referenced by this function. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* sparc32: fix build errorsRobert Reif2008-10-122-0/+2
| | | | | | | | | | arch/sparc/kernel/sun4d_smp.c: In function ‘smp4d_callin’: arch/sparc/kernel/sun4d_smp.c:101: error: implicit declaration of function ‘notify_cpu_starting’ arch/sparc/kernel/sun4m_smp.c: In function ‘smp4m_callin’: arch/sparc/kernel/sun4m_smp.c:74: error: implicit declaration of function ‘notify_cpu_starting’ Signed-off-by: Robert Reif <reif@earthlink.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2008-10-112-0/+3
|\ | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: sound/core/memalloc.c
| * Merge branches 'sched/devel', 'sched/cpu-hotplug', 'sched/cpusets' and ↵Ingo Molnar2008-10-082-0/+3
| |\ | | | | | | | | | 'sched/urgent' into sched/core
| | * kernel/cpu.c: create a CPU_STARTING cpu_chain notifierManfred Spraul2008-09-082-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now, there is no notifier that is called on a new cpu, before the new cpu begins processing interrupts/softirqs. Various kernel function would need that notification, e.g. kvm works around by calling smp_call_function_single(), rcu polls cpu_online_map. The patch adds a CPU_STARTING notification. It also adds a helper function that sends the message to all cpu_chain handlers. Tested on x86-64. All other archs are untested. Especially on sparc, I'm not sure if I got it right. Signed-off-by: Manfred Spraul <manfred@colorfullife.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
* | | sparc32: sun4m interrupt mask cleanupRobert Reif2008-10-072-71/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Here is an updated version of a patch I wrote 6 years ago http://marc.info/?l=linux-sparc&m=103939103607617&w=2 that simplifies interrupt mask lookup. It's main purpose is to add VME bus support but it's really a cleanup of the mask code. Signed-off-by: Robert Reif <reif@earthlink.net> Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc: arch/sparc/kernel/pmc.c -- extra #include?David Brownell2008-09-211-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | I have no SPARC compiler handy to verify, but it looks like this is another file that doesn't need <linux/miscdevices.h> ... Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Add more extensive documentation of sun4m interrupts.David S. Miller2008-09-191-0/+53
| | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Kill irq_rcvreg from sun4m_irq.cDavid S. Miller2008-09-191-6/+2
| | | | | | | | | | | | | | | | | | Unused. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Delete master_l10_limit.David S. Miller2008-09-194-4/+0
| | | | | | | | | | | | | | | | | | It is only set, never used. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Use PROM device probing for sun4c timers.David S. Miller2008-09-191-20/+39
| | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Use PROM device probing for sun4c interrupt register.David S. Miller2008-09-191-26/+21
| | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Delete claim_ticker14().David S. Miller2008-09-191-46/+0
| | | | | | | | | | | | | | | | | | No more users. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Stop calling claim_ticker14() from sun4c_irq.cDavid S. Miller2008-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | Since the first argument is always NULL, the only side effect is to disable the PROFILE_IRQ, so just do that directly. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Kill clear_profile_irq btfixup entry.David S. Miller2008-09-195-25/+0
| | | | | | | | | | | | | | | | | | Unused. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Call sun4m_clear_profile_irq() directly from sun4m_smp.cDavid S. Miller2008-09-192-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the only use of the clear_profile_irq() btfixup entry, which just eats up lots of dead space on other platform types. A subsequent commit will delete the other implementations and the btfixup entry as well. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Remove #if 0'd code from sun4c_irq.cDavid S. Miller2008-09-191-9/+0
| | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Remove some SMP ifdefs in sun4d_irq.cDavid S. Miller2008-09-191-26/+16
| | | | | | | | | | | | | | | | | | Always do the sbus_tid[] handling. Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Use PROM infrastructure for probing and mapping sun4d timers.David S. Miller2008-09-191-56/+83
| | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | | sparc32: Use PROM device probing for sun4m irq registers.David S. Miller2008-09-192-129/+74
| | | | | | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | | Merge branch 'master' of ↵David S. Miller2008-09-161-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | master.kernel.org:/pub/scm/linux/kernel/git/davem/sparc-2.6 Conflicts: arch/sparc64/kernel/pci_psycho.c
| * | sparc: Fix user_regset 'n' field values.David S. Miller2008-09-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As noticed by Russell King, we were not setting this properly to the number of entries, but rather the total size. This results in the core dumping code allocating waayyyy too much memory. Signed-off-by: David S. Miller <davem@davemloft.net>
| * | sparc32: Fix function signature of of_bus_sbus_get_flags().David S. Miller2008-09-101-1/+1
| |/ | | | | | | | | | | | | This doesn't match the function pointer type it gets assigned to. Luckily, this was harmless. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: Use PROM device probing for sun4m timer registers.David S. Miller2008-09-131-64/+57
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Fix user_regset 'n' field values.David S. Miller2008-09-121-2/+2
| | | | | | | | | | | | | | | | | | | | As noticed by Russell King, we were not setting this properly to the number of entries, but rather the total size. This results in the core dumping code allocating waayyyy too much memory. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: Call parse_early_param() in setup_arch().David S. Miller2008-09-101-0/+1
| | | | | | | | | | | | | | Mirror sparc64. This will allow us to use early_param() on sparc32 too. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: Need to close openned RTC device just like sparc64.David S. Miller2008-09-101-3/+6
| | | | | | | | | | | | Otherwise we get refcount problems. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: Move sun4d show_leds() out of asm/obio.hDavid S. Miller2008-09-082-1/+11
| | | | | | | | | | | | 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-081-7/+14
| | | | | | | | Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge branch 'master' of ↵David S. Miller2008-09-083-15/+32
|\ \ | |/ | | | | | | | | | | | | 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-281-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | 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-272-10/+18
| | | | | | | | | | | | | | | | 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-032-2/+0
| | | | | | | | | | | | No longer needed. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc32: use RTC subsystemDavid S. Miller2008-09-032-159/+60
| | | | | | | | | | | | | | | | | | | | | | | | 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-031-4/+22
| | | | | | | | | | | | | | | | | | | | 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-3112-379/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-313-3/+3
| | | | | | | | | | | | As suggested by Stephen Rothwell. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill ebus_bus_type.David S. Miller2008-08-301-10/+0
| | | | | | | | | | | | No longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill EBUS driver layer.David S. Miller2008-08-304-404/+1
| | | | | | | | | | | | | | 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-294-4/+0
| | | | | | | | | | | | | | | | 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-291-3/+0
| | | | | | | | | | | | Unused. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Kill sbus_bus_type.David S. Miller2008-08-291-9/+0
| | | | | | | | | | | | No longer used. Signed-off-by: David S. Miller <davem@davemloft.net>
* | sparc: Remove generic SBUS probing layer.David S. Miller2008-08-291-23/+0
| | | | | | | | | | | | | | 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-291-0/+22
| | | | | | | | | | | | | | 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-291-9/+3
| | | | | | | | | | | | | | 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-292-18/+0
| | | | | | | | | | | | 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-295-13/+19
| | | | | | | | | | | | Use of_ioremap() and of_iounmap() instead. Signed-off-by: David S. Miller <davem@davemloft.net>
OpenPOWER on IntegriCloud