summaryrefslogtreecommitdiffstats
path: root/arch/sh
Commit message (Collapse)AuthorAgeFilesLines
* sh: oprofile: Refactor common setup code for multiple driver support.Paul Mundt2008-12-224-30/+178
| | | | | | | | This re-implements the old op_model_null code in to something more generic, where multiple drivers, backtrace, etc. can all be interfaced. Based largely on arch/mips/oprofile/common.c. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Enable GENERIC_HARDIRQS_NO__DO_IRQ for all SuperH machinesMatt Fleming2008-12-221-2/+0
| | | | | | | | | After the recent changes to switch SuperH board support over to irq_chip it is now possible to set GENERIC_HARDIRQS_NO__DO_IRQ for all SuperH boards. Signed-off-by: Matt Fleming <mjf@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Convert Cayman boards from hw_interrupt_type to irq_chipMatt Fleming2008-12-221-27/+8
| | | | | | | | | I've been unable to even compile-test this change because I don't have an sh5 toolchain. All uses of hw_interrupt_type for SuperH boards have now been converted to use irq_chip. Signed-off-by: Matt Fleming <mjf@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Convert Dreamcast support from hw_interrupt_type to irq_chipMatt Fleming2008-12-222-106/+91
| | | | | | | | | | | | | | | Switch the dreamcast IRQ code over to the irq_chip way of doing things, so that we can set GENERIC_HARDIRQS_NO__DO_IRQ for all SuperH boards. Also, whilst I'm here change some things to make checkpatch.pl happy: - Indent with tabs, not with spaces - Include <linux/io.h>, not <asm/io.h> - Fix the multi-line comment style - Fix some typos in the comments Tested-by: Adrian McMenamin <adrian@newgolddream.dyndns.info> Signed-off-by: Matt Fleming <mjf@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Convert SystemH board support from hw_interrupt_type to irq_chipMatt Fleming2008-12-221-31/+6
| | | | | | | ... as part of the hw_interrupt_type to irq_chip crusade. Signed-off-by: Matt Fleming <mjf@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Convert Microdev boards from hw_interrupt_type to irq_chipMatt Fleming2008-12-221-29/+7
| | | | | | | This is part of the SH move to irq_chip. Signed-off-by: Matt Fleming <mjf@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Provide sdivsi3/udivsi3/udivdi3 for sh64, kill off libgcc linking.Paul Mundt2008-12-226-5/+314
| | | | | | | This moves in the necessary libgcc bits and kills off the libgcc linking for sh64 kernels as well. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add SH-5 optimized memcpy()/memset()/strcpy()/strlen().Paul Mundt2008-12-228-94/+440
| | | | | | Adopted from the uClibc optimized string versions. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off remaining CONFIG_SH_KGDB bits.Paul Mundt2008-12-221-1/+0
| | | | | | | Now that we use the generic stub, kill off all of the left over references. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Generic kgdb stub support.Paul Mundt2008-12-2215-1244/+328
| | | | | | | | This migrates from the old bitrotted kgdb stub implementation and moves to the generic stub. In the process support for SH-2/SH-2A is also added, which the old stub never provided. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Enable HAVE_ARCH_TRACEHOOK for all SH, now that SH-5 supports it too.Paul Mundt2008-12-223-4/+4
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Provide linux/regset.h interface for SH-5.Paul Mundt2008-12-223-4/+186
| | | | | | Plugs in general and FPU regsets. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Provide asm/syscall.h for SH-5.Paul Mundt2008-12-223-32/+108
| | | | | | This provides the asm/syscall.h implementation for sh64 parts. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Handle cases where setup{_rt,}_frame() fail on SH-5 signal delivery.Paul Mundt2008-12-221-45/+48
| | | | | | | | Presently these cases are not handled properly due to the return value not being passed back. This needs to be correct to get proper behaviour out of things like the tracehook signal notifier, amongst others. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up syscall_get_nr() comment in syscall_32.h.Paul Mundt2008-12-221-1/+1
| | | | | | Residual copy-and-paste damage, fix it up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up the cpu_asid() return value on nommu.Paul Mundt2008-12-222-3/+3
| | | | | | This ought to be unsigned long, rather than defaulting to int. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Convert sh64 /proc/asids to debugfs and generic sh.Paul Mundt2008-12-225-43/+81
| | | | | | | | | | | This converts the sh64 /proc/asids entry to debugfs and enables it for all SH parts that have debugfs enabled. On MMU systems this can be used to determine which processes are using which ASIDs which in turn can be used for finer grained cache tag analysis. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off sh64's unused alloc/free_task_struct() definitions.Paul Mundt2008-12-221-12/+0
| | | | | | | | These were left over from some time ago, sh64 never got around to defining __HAVE_ARCH_TASK_STRUCT_ALLOCATOR during the conversion, and it has no need to. Kill these off and use the generic versions instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: mach-migor: Kill off unused Migo-R machvec.Paul Mundt2008-12-221-9/+0
| | | | | | | | This kills off the special Migo-R machvec, as nothing is using it. By default this will switch to using the generic machvec, which provides the same functionality. This saves us a bit of space in the machvec section. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: add ov772x reset delay on Migo-RMagnus Damm2008-12-221-0/+1
| | | | | | | Add reset delay for the ov772x device on Migo-R. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Drop the special qemu defconfig.Paul Mundt2008-12-221-949/+0
| | | | | | | QEMU can now use rts7751r2dplus_defconfig directly, there is no more need for a neutered defconfig. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Delete unnecessary mov in the interrupt exception entry point.Aoi Shinkai2008-12-221-2/+2
| | | | | | | | | The INTEVT read at interrupt exception entry is uneccessary, as the read is deferred until we are ready to enter do_IRQ(). The kgdb nmi path still requires it, so move it there. Signed-off-by: Aoi Shinkai <shinkoi2005@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix an off-by-1 check in __mutex_fastpath_unlock().Paul Mundt2008-12-221-1/+1
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Update rsk701_defconfig to reflect mach-rsk changes.Paul Mundt2008-12-221-1/+13
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Enable leds-gpio in rsk7203 defconfig.Paul Mundt2008-12-221-12/+53
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Consolidate rsk7203/7201 in to a new mach-rsk.Paul Mundt2008-12-228-100/+44
| | | | | | | RSK+ platforms have quite a few characteristics in common, so roll them together in to a shiny new RSK mach-type. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Provide ftrace_make_call()/ftrace_make_nop().Paul Mundt2008-12-221-0/+24
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Disable -Werror for arch/sh/oprofile/.Paul Mundt2008-12-221-2/+0
| | | | | | | drivers/oprofile/ objects have proven to be problematic in this regard, so simply disable -Werror for now. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add plain udivsi3 (not _i4*) for gcc-4.1 and lower.Takashi YOSHII2008-12-224-629/+713
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We chan't share code for udivsi3 and udivsi3_i4, because they have a different clobber list. Copy udivsi3 from gcc-4.1.2. As shown in arch/sh/lib/udivsi3.S (and -Os.S), .global __udivsi3_i4i .global __udivsi3_i4 .global __udivsi3 __udivsi3_i4i: ... Three symbols are sharing one code, which is actually udivsi3_i4i. But, this results unwanted code with gcc 4.1. In gcc, these three are treated as pseudo instructions that have their own clobber list apart from the usual calling convention. According to sh's machine description. The clobber list is as follows: - udivsi3_i4i : t,r1,pr,mach,macl - udivsi3_i4 : t,r0,r1,r4,r5,pr,dr0,dr2,dr4 - udivsi3 : t,r4,pr The caller of udivsi3 will be left with a broken r1 and mac*. gcc-4.1.x and older(at least to 3.4) generate udivsi3. ST's gcc-4.1.1 seems to be OK because it has _i4i. Signed-off-by: Takashi YOSHII <yoshii.takashi@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Fix incorrect use of loose in c-checksum.cNick Andrew2008-12-221-2/+2
| | | | | | | | | Fix incorrect use of loose in c-checksum.c It should be 'lose', not 'loose'. Signed-off-by: Nick Andrew <nick@nick-andrew.net> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Fix up the SH-4A mutex fastpath semantics.Paul Mundt2008-12-221-16/+21
| | | | | | | | | This fixes up the __mutex_fastpath_xxx() routines to match the semantics noted in the comment. Previously these were looping rather than doing a single-pass, which is counter-intuitive, as the slow path takes care of the looping for us in the event of contention. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: allow CONFIG_CPU_IDLEMagnus Damm2008-12-221-1/+3
| | | | | | | Allow users to select CONFIG_CPU_IDLE regardless of processor type or board. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: allow CONFIG_PMMagnus Damm2008-12-221-6/+9
| | | | | | | | Allow users to select CONFIG_PM regardless of processor type or board. Suspend and hibernation are only allowed on supported platforms. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: move the hp6xx pm codeMagnus Damm2008-12-225-108/+77
| | | | | | | | | | Move the not-so-generic pm code from arch/sh/kernel/pm.c to the platform directory together with the rest of the hp6xx pm code. This is done to let non-hp6xx platforms enable CONFIG_PM. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: update se7343 defconfigMagnus Damm2008-12-221-29/+274
| | | | | | | | | | | | | | | | Update the se7343 defconfig with: - use 33MHz PCLK - increase max number of SCIFs - add serial console configuration to compiled-in kernel command line - add 8250 serial port support - add sh-mobile-i2c driver - add uio driver to export VEU and VPU - add usb support and isp1161 host controller - add dm9601 ethernet-over-usb support - remove smc91x support Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: remove ioport cruft and smc91x from se7343Magnus Damm2008-12-224-323/+1
| | | | | | | | | Remove out-of-date se7343 ioport code including some old support for unknown-ne2000-pcmcia-card, cf-over-pcmcia and a mysterical smc91x that once must have been on a special daughterboard. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: add isp1161 usb host device to se7343Magnus Damm2008-12-221-0/+45
| | | | | | | Add isp1161 platform data to get usb host working on se7343. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: add st16c2550 devices to se7343Magnus Damm2008-12-222-1/+38
| | | | | | | Add 8250 platform data to setup the ST16C2550C chip on se7343. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: fix number of interrupts on se7343Magnus Damm2008-12-221-1/+1
| | | | | | | | Fix to make sure that the on-board interrupt sources are included in the interrupt count on se7343. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh7343 scif configuration updateMagnus Damm2008-12-221-2/+17
| | | | | | | | Fix interrupt values for the first sh7343 SCIF port and update the configuration to include the remaining 3 ones. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: propagate r_clkMagnus Damm2008-12-221-0/+2
| | | | | | | | Make sure the 32 KHz r_clk rate gets propagated correctly. Without this fix the clocks for RTC, CMT, KEYSC and RWDT are stuck at 0 Hz. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: RSK+ 7201 board support.Peter Griffin2008-12-225-0/+802
| | | | | | | This patch adds support for the RTE RSK+ 7201 board. Signed-off-by: Peter Griffin <pgriffin@mpc-data.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Add support for SH7201 CPU subtype.Peter Griffin2008-12-229-6/+435
| | | | | | | This patch adds support for the SH-2A FPU based SH7201 processor subtype. Signed-off-by: Peter Griffin <pgriffin@mpc-data.co.uk> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Switch HD64461 from hw_interrupt_type to irq_chipMatt Fleming2008-12-221-90/+25
| | | | | | | | | | | | | | Use struct irq_chip for the interrupt handler for the HD64461. Also convert some in{b,w} and out{b,w} calls to the equivalent __raw_* calls. Include <linux/io.h> and not <asm/io.h> to stop checkpatch.pl complaining. This change should now allow machines with HD64461 to define GENERIC_HARDIRQS_NO__DO_IRQ. Acked-by: Kristoffer Ericson <Kristoffer.Ericson@gmail.com> Signed-off-by: Matt Fleming <mjf@gentoo.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: pci-sh7780: fix pci memory address maskYoshihiro Shimoda2008-12-221-7/+5
| | | | | | | | Fix the problem that cannot work a PCI device when system memory size is 256Mbyte in 29bit address mode. Signed-off-by: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Provide a dyn_arch_ftrace struct definition.Paul Mundt2008-12-221-2/+7
| | | | | | Needed for dynamic ftrace API changes. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Split out the idle loop for reuse between _32/_64 variants.Paul Mundt2008-12-225-123/+83
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Consolidate cpu_relax()/cpu_sleep() definitions across _32/_64.Paul Mundt2008-12-223-5/+3
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: do not latency trace idle.Paul Mundt2008-12-221-0/+4
| | | | | | | | | | | | | Description snipped from Steven Rostedt's PPC patch: When idle is called, interrupts are blocked, but the idle function will still wake up on an interrupt. The problem is that the interrupt disabled latency tracer will take this call to idle as a latency. This patch disables the latency tracing when going into idle. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Tidy up backtrace formatting with kallsyms disabled.Paul Mundt2008-12-222-6/+3
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
OpenPOWER on IntegriCloud