summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel (follow)
Commit message (Collapse)AuthorAgeFilesLines
* sh: machvec IO death.Paul Mundt2010-11-015-203/+213
| | | | | | | | | | | | | This takes a bit of a sledgehammer to the machvec I/O routines. The iomem case requires no special casing and so can just be dropped outright. This only leaves the ioport casing for PCI and SuperIO mangling. With the SuperIO case going through the standard ioport mapping, it's possible to replace everything with generic routines. With this done the standard I/O routines are tidied up and NO_IOPORT now gets default-enabled for the vast majority of boards. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2010-10-289-87/+68
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (32 commits) sh: intc: switch irq_desc iteration to new active IRQ iterator. sh: fix up cpu hotplug IRQ migration for irq_data changes. sh: oprofile: Make sure the backtrace op is available for timer-fallback. sh64: oprofile: Fix up kernel stack pointer size mismatch. sh: oprofile: Fix up and extend op_name_from_perf_id(). sh: lockless get_user_pages_fast() sh64: _PAGE_SPECIAL support. sound: sh: ctrl_in/outX to __raw_read/writeX conversion. sh: disable deprecated genirq support. sh: update show_interrupts() for irq_data chip lookup. sh: intc: irq_data conversion. sh64: irq_data conversion. sh64: update for IRQ flag handling naming changes. rtc: rtc-rs5c313: ctrl_in/outX to __raw_read/writeX conversion. sh: mach-se: irq_data conversion. input: hp680_ts_input: ctrl_in/outX to __raw_read/writeX conversion. input: jornada680_kbd: ctrl_in/outX to __raw_read/writeX conversion. sh: hd64461: irq_data conversion. sh: mach-x3proto: irq_data conversion. sh: mach-systemh: irq_data conversion. ...
| * sh: fix up cpu hotplug IRQ migration for irq_data changes.Paul Mundt2010-10-281-10/+14
| | | | | | | | | | | | | | This fixes up the __cpu_disable() path's IRQ migration for the irq_data changes. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: oprofile: Fix up and extend op_name_from_perf_id().Paul Mundt2010-10-272-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | op_name_from_perf_id() currently returns a local variable, which isn't terribly productive. As we only handle a single PMU case for now, simply allocate and free the string from the arch init/exit context and have op_name_from_perf_id() hand back the cached string. This also takes UTS_MACHINE in to account, given that we build for multiple architectures. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: update show_interrupts() for irq_data chip lookup.Paul Mundt2010-10-271-1/+6
| | | | | | | | | | | | | | Presently the irq chip is found through the irq_desc, but as this is going away convert over to an irq_data lookup instead. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh64: irq_data conversion.Paul Mundt2010-10-271-40/+9
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh64: update for IRQ flag handling naming changes.Paul Mundt2010-10-271-8/+8
| | | | | | | | | | | | | | irq_32.c was updated for the new API, while irq_64.c was overlooked. This syncs them up and gets things building again. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: imask IRQs irq_data conversion.Paul Mundt2010-10-271-5/+9
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: IPR IRQs irq_data conversion.Paul Mundt2010-10-271-13/+12
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Fix the sparsemem disabled build.Paul Mundt2010-10-271-0/+1
| | | | | | | | | | | | | | | | The introduction of MAX_PHYSMEM_BITS in to the initial cpuinfo struct causes a build error when sparsemem is disabled and asm/sparsemem.h is not brought in by other means. Include it explicitly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Switch dynamic IRQ creation to generic irq allocator.Paul Mundt2010-10-261-6/+0
| | | | | | | | | | | | | | | | | | | | | | Now that the genirq code provides an IRQ bitmap of its own and the necessary API to manipulate it, there's no need to keep our own version around anymore. In the process we kill off some unused IRQ reservation code, with future users now having to tie in to the genirq API as normal. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Sanitize sparse irqThomas Gleixner2010-10-261-3/+3
| | | | | | | | | | | | | | Switch over to the new allocator functions. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * sh: Expose physical addressing mode through cpuinfo.Paul Mundt2010-10-262-0/+5
| | | | | | | | | | | | | | | | | | | | | | CPUs can be in either the legacy 29-bit or 32-bit physical addressing modes. This follows the x86 approach of tracking the phys bits in cpuinfo and exposing it to userspace through procfs. This change was requested to permit kexec-tools to detect the physical addressing mode in order to determine the appropriate address mangling. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | ptrace: cleanup arch_ptrace() on shNamhyung Kim2010-10-282-24/+33
| | | | | | | | | | | | | | | | | | | | | | Remove unnecessary castings and get rid of dummy pointer in favor of offsetof() macro in ptrace_32.c. Also use temporary variables and break long lines in order to improve readability. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Cc: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | ptrace: change signature of arch_ptrace()Namhyung Kim2010-10-282-12/+15
|/ | | | | | | | | | | | | | | Fix up the arguments to arch_ptrace() to take account of the fact that @addr and @data are now unsigned long rather than long as of a preceding patch in this series. Signed-off-by: Namhyung Kim <namhyung@gmail.com> Cc: <linux-arch@vger.kernel.org> Acked-by: Roland McGrath <roland@redhat.com> Acked-by: David Howells <dhowells@redhat.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* Merge branch 'for-linus' of ↵Linus Torvalds2010-10-251-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (365 commits) ALSA: hda - Disable sticky PCM stream assignment for AD codecs ALSA: usb - Creative USB X-Fi volume knob support ALSA: ca0106: Use card specific dac id for mute controls. ALSA: ca0106: Allow different sound cards to use different SPI channel mappings. ALSA: ca0106: Create a nice spot for mapping channels to dacs. ALSA: ca0106: Move enabling of front dac out of hardcoded setup sequence. ALSA: ca0106: Pull out dac powering routine into separate function. ALSA: ca0106 - add Sound Blaster 5.1vx info. ASoC: tlv320dac33: Use usleep_range for delays ALSA: usb-audio: add Novation Launchpad support ALSA: hda - Add workarounds for CT-IBG controllers ALSA: hda - Fix wrong TLV mute bit for STAC/IDT codecs ASoC: tpa6130a2: Error handling for broken chip ASoC: max98088: Staticise m98088_eq_band ASoC: soc-core: Fix codec->name memory leak ALSA: hda - Apply ideapad quirk to Acer laptops with Cxt5066 ALSA: hda - Add some workarounds for Creative IBG ALSA: hda - Fix wrong SPDIF NID assignment for CA0110 ALSA: hda - Fix codec rename rules for ALC662-compatible codecs ALSA: hda - Add alc_init_jacks() call to other codecs ...
| * Merge branch 'topic/asoc' into for-linusTakashi Iwai2010-10-251-1/+1
| |\ | | | | | | | | | | | | Conflicts: arch/powerpc/platforms/85xx/p1022_ds.c
| | * sh: fix an SIU device name mismatchGuennadi Liakhovetski2010-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | Recent ASoC changes unified all PCM names, fix the platform code to match. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
* | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6Linus Torvalds2010-10-2528-1051/+2432
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (110 commits) sh: i2c-sh7760: Replase from ctrl_* to __raw_* sh: clkfwk: Shuffle around to match the intc split up. sh: clkfwk: modify for_each_frequency end condition sh: fix clk_get() error handling sh: clkfwk: Fix fault in frequency iterator. sh: clkfwk: Add a helper for rate rounding by divisor ranges. sh: clkfwk: Abstract rate rounding helper. sh: clkfwk: support clock remapping. sh: pci: Convert to upper/lower_32_bits() helpers. sh: mach-sdk7786: Add support for the FPGA SRAM. sh: Provide a generic SRAM pool for tiny memories. sh: pci: Support secondary FPGA-driven PCIe clocks on SDK7786. sh: pci: Support slot 4 routing on SDK7786. sh: Fix up PMB locking. sh: mach-sdk7786: Add support for fpga gpios. sh: use pr_fmt for clock framework, too. sh: remove name and id from struct clk sh: free-without-alloc fix for sh_mobile_lcdcfb sh: perf: Set up perf_max_events. sh: perf: Support SH-X3 hardware counters. ... Fix up trivial conflicts (perf_max_events got removed) in arch/sh/kernel/perf_event.c
| * | | sh: perf: Set up perf_max_events.Paul Mundt2010-10-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Presently this is uninitialized in the architecture code, so it's artificlally capped to the default initialization value. Set it up at registration time. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: perf: Support SH-X3 hardware counters.Paul Mundt2010-10-131-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PMCAT location has conveniently moved on newer SH-X3 parts, special case this for now with a note. This will probably want to be redone in a less visually offensive way when/if more information becomes available. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: wire up perf alignment and emulation faults.Paul Mundt2010-10-123-8/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This plugs in the alignment and emulation fault reporting for perf sw events. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Fix address calculation of InitrdNobuhiro Iwamatsu2010-10-061-3/+4
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: fix uninitialized spinlockAkinobu Mita2010-10-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The spinlock in traps_64.c is used without initialization. This fixes it by declaring DEFINE_SPINLOCK() and makes the spinlock static variable. Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com> Cc: Paul Mundt <lethal@linux-sh.org> Cc: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Wire up INTC subgroup splitting for SH7786 SCIF1.Paul Mundt2010-10-051-38/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | SH7786 is the big user for subgroup splitting, mostly for the PCIe block, but those will follow later. For now we simply split up SCIF1, as used by the serial console on SDK7786 and others. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: intc: Support virtual mappings for IRQ subgroups.Paul Mundt2010-10-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many interrupts that share a single mask source but are on different hardware vectors will have an associated register tied to an INTEVT that denotes the precise cause for the interrupt exception being triggered. This introduces the concept of IRQ subgroups in the intc core, where a virtual IRQ map is constructed for each of the pre-defined cause bits, and a higher level chained handler takes control of the parent INTEVT. This enables CPUs with heavily muxed IRQ vectors (especially across disjoint blocks) to break things out in to a series of managed chained handlers while being able to dynamically lookup and adopt the IRQs created for them. This is largely an opt-in interface, requiring CPUs to manually submit IRQs for subgroup splitting, in addition to providing identifiers in their enum maps that can be used for lazy lookup via the radix tree. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Drop __initdata for SH-X3 pinmux tables.Paul Mundt2010-10-031-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The gpio sysfs support needs to get at these later, so drop the __initdata annotations. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Support early IRQ vector map reservation for delayed controllers.Paul Mundt2010-10-021-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some controllers will need to be initialized lazily due to pinmux constraints, while others may simply have no need to be brought online if there are no backing devices for them attached. In this case it's still necessary to be able to reserve their hardware vector map before dynamic IRQs get a hold of them. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Handle pinmux for SH-X3 proto IRQ/IRL modes.Paul Mundt2010-10-021-0/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The SH-X3 proto CPU has all of the external IRQ and IRL pins muxed, make sure that we're able to grab them before attempting to register their respective IRQ controllers. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: pinmux support for SH-X3 proto CPUs.Paul Mundt2010-10-022-0/+588
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds in support for GPIO/pinmux on the SH-X3 proto CPUs. This will subsequently be used by the x3proto board. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Support IRQ balancing for SH-X3 proto cores, too.Paul Mundt2010-10-011-4/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds in hardware IRQ auto-distribution support for SH-X3 proto CPUs, following the SH7786 support. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Support userimask for all SH-X3 interrupt controllers.Paul Mundt2010-10-013-18/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This shuffles some of the shared bits out of the 7786 code and in to a shared SH-X3 support file. Presently just for userimask, but also a good place for the IRQ balancing wrappers. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Update SH-X3 subtype for clkdev lookups.Paul Mundt2010-10-011-83/+142
| | | | | | | | | | | | | | | | | | | | | | | | Rewrite the SH-X3 proto CPU clock framework for clkdev. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: boot kernel with SR.BL setMagnus Damm2010-09-302-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the SH kernel to keep SR.BL set until the VBR register has been initialized. Useful to allow boot of the kernel even though exceptions are pending. Without this patch there is a window of time when exceptions such as NMI are enabled but no exception handlers are installed. This patch modifies both the zImage loader and the actual kernel to boot with BL=1, but the zImage loader is modfied in such a way that the init_sr value is unchanged to not break the zImage loader provided by kexec. Tested on sh7724 Ecovec and on the SH4AL-DSP core included in sh7372. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: fix a kfree address in clkdev codeGuennadi Liakhovetski2010-09-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kfree() in clkdev_drop() function should actually be called with an address of a struct clk_lookup_alloc object, and not struct clk_lookup, as presently done. This just happens to work, because "struct clk_lookup cl" is the first member in struct clk_lookup_alloc. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: provide generic arch_debugfs_dir.Paul Mundt2010-09-233-17/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While sh previously had its own debugfs root, there now exists a common arch_debugfs_dir prototype, so we switch everything over to that. Presumably once more architectures start making use of this we'll be able to just kill off the stub kdebugfs wrapper. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: change to new flag variablematt mooney2010-09-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace EXTRA_CFLAGS with ccflags-y. Signed-off-by: matt mooney <mfm@muteddisk.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: kill big kernel lockArnd Bergmann2010-09-161-6/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only BKL user in arch/sh protects a single bit, so we can trivially replace it with test_and_set_bit. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Paul Mundt <lethal@linux-sh.org> Cc: linux-sh@vger.kernel.org Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Provide a non-multiplexed sys_recvmmsg path.Paul Mundt2010-09-141-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Now that the rest of the socket calls are provided through their own paths, do the same for sys_recvmmsg. It's unlikely we'll ever be able to kill off the socketcall path, but this at least permits userspace to gradually begin migrating. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: Add syscall entries for non multiplexed socket callsCarmelo AMOROSO2010-09-141-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Linux kernel already has socket syscalls that can be invoked without the multiplexing sys_socketcall wrapper. C library wrappers are ready to use them directly. It needs just to define the missing syscall numbers and provide the related entries into the syscalls table, like sh64 aleady does. Signed-off-by: Francesco Rundo <francesco.rundo@st.com> Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | Merge branch 'master' of ↵Paul Mundt2010-08-204-7/+11
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: arch/sh/kernel/process_32.c Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | | sh: fix up fallout from syscall arg constification.Paul Mundt2010-08-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | sys_execve() now takes a const pointer, so reflect this change where the syscall is actually defined, too. Fixes up a build error due to prototype mismatch. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | | sh: wire up fanotify/prlimit64 syscalls.Paul Mundt2010-08-162-0/+6
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | | Merge branch 'master' of ↵Paul Mundt2010-08-163-5/+5
| |\ \ \ \ | | | |_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 Conflicts: arch/sh/include/asm/Kbuild drivers/Makefile Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | | sh: Add sh7724 BEU resourcesPhil Edworthy2010-08-041-0/+66
| | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | | Merge branch 'master' of ↵Paul Mundt2010-08-042-13/+13
| |\ \ \ \ | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
| * | | | | sh: modify clock framework of SH7757Yoshihiro Shimoda2010-07-061-88/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | | | sh: modify pinmux for SH7757 2nd cutYoshihiro Shimoda2010-07-061-657/+925
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | | | sh: add some INTC_VECT for setup-sh7757Yoshihiro Shimoda2010-07-061-69/+147
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | | | sh: fix the id of scif in setup-sh7757Yoshihiro Shimoda2010-07-061-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because the value of CONFIG_SERIAL_SH_SCI_NR_UARTS is 3. Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>