aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include
Commit message (Collapse)AuthorAge
* sh: Convert ipc/shm bits to their asm-generic versions.Paul Mundt2009-06-14
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Convert to asm-generic/termbits.h and termios.h.Paul Mundt2009-06-14
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Convert to asm-generic/posix_types.h.Paul Mundt2009-06-14
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Convert to asm-generic/dma.h.Paul Mundt2009-06-14
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Convert to asm-generic/current.h.Paul Mundt2009-06-14
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'master' of ↵Paul Mundt2009-06-14
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
| * asm-generic: merge branch 'master' of torvalds/linux-2.6Arnd Bergmann2009-06-12
| |\ | | | | | | | | | | | | | | | | | | Fixes a merge conflict against the x86 tree caused by a fix to atomic.h which I renamed to atomic_long.h. Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | asm-generic: rename page.h and uaccess.hArnd Bergmann2009-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current asm-generic/page.h only contains the get_order function, and asm-generic/uaccess.h only implements unaligned accesses. This renames the file to getorder.h and uaccess-unaligned.h to make room for new page.h and uaccess.h file that will be usable by all simple (e.g. nommu) architectures. Signed-off-by: Remis Lima Baima <remis.developer@googlemail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | asm-generic: rename atomic.h to atomic-long.hArnd Bergmann2009-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing asm-generic/atomic.h only defines the atomic_long type. This renames it to atomic-long.h so we have a place to add a truly generic atomic.h that can be used on all non-SMP systems. Signed-off-by: Remis Lima Baima <remis.developer@googlemail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Ingo Molnar <mingo@elte.hu>
| * | asm-generic: introduce asm/bitsperlong.hArnd Bergmann2009-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This provides a reliable way for asm-generic/types.h and other files to find out if it is running on a 32 or 64 bit platform. We cannot use CONFIG_64BIT for this in headers that are included from user space because CONFIG symbols are not available there. We also cannot do it inside of asm/types.h because some headers need the word size but cannot include types.h. The solution is to introduce a new header <asm/bitsperlong.h> that defines both __BITS_PER_LONG for user space and BITS_PER_LONG for usage in the kernel. The asm-generic version falls back to 32 bit unless the architecture overrides it, which I did for all 64 bit platforms. Signed-off-by: Remis Lima Baima <remis.developer@googlemail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
| * | asm-generic: rename termios.h, signal.h and mman.hArnd Bergmann2009-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The existing asm-generic versions are incomplete and included by some architectures. New architectures should be able to use a generic version, so rename the existing files and change all users, which lets us add the new files. Signed-off-by: Remis Lima Baima <remis.developer@googlemail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
* | | cpumask: use mm_cpumask() wrapper: shRusty Russell2009-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Makes code futureproof against the impending change to mm->cpu_vm_mask. It's also a chance to use the new cpumask_ ops which take a pointer (the older ones are deprecated, but there's no hurry for arch code). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | cpumask: arch_send_call_function_ipi_mask: shRusty Russell2009-06-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | We're weaning the core code off handing cpumask's around on-stack. This introduces arch_send_call_function_ipi_mask(), and by defining it, the old arch_send_call_function_ipi is defined by the core code. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | cpumask: remove the now-obsoleted pcibus_to_cpumask(): shRusty Russell2009-06-14
| | | | | | | | | | | | | | | | | | | | | cpumask_of_pcibus() is the new version. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: Wire up sys_perf_counter_open.Paul Mundt2009-06-11
| |/ |/| | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Wire up sys_rt_tgsigqueueinfo.Paul Mundt2009-06-11
| | | | | | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: Fix sh4a llsc-based cmpxchg()Aoi Shinkai2009-06-11
| | | | | | | | | | | | | | | | | | | | This fixes up a typo in the ll/sc based cmpxchg code which apparently wasn't getting a lot of testing due to the swapped old/new pair. With that fixed up, the ll/sc code also starts using it and provides its own atomic_add_unless(). Signed-off-by: Aoi Shinkai <shinkoi2005@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: add enable()/disable()/set_rate() to div6 codeMagnus Damm2009-06-11
| | | | | | | | | | | | | | | | | | | | This patch updates the div6 clock helper code to add support for enable(), disable() and set_rate() callbacks. Needed by the camera clock enabling board code on Migo-R. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: sh7722 mode pin definitionsMagnus Damm2009-06-11
| | | | | | | | | | | | | | | | This patch adds sh7722 mode pin and pin function controller comments. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: sh7724 mode pin commentsMagnus Damm2009-06-11
| | | | | | | | | | | | | | | | This patch adds comments for the sh7724 mode pins and pin function controller. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: sh7723 mode pin V2Magnus Damm2009-06-11
| | | | | | | | | | | | | | | | This patch is sh7723 mode pin V2. Mode pins and pin function controller comments are added. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: rework mode pin codeMagnus Damm2009-06-11
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch reworks the mode pin code to keep the pin definitions in one place. The mode pins values are now the value of the bit instead of bit number. With this patch in place the sh7785 header file contains mode pin comments. The sh7785 clock code and the sh7785lcr board code are updated to reflect the new shared mode pins. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: clock div6 helper codeMagnus Damm2009-06-11
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds div6 clock helper code. The div6 clocks are simply 6-bit divide-by-n modules where n is 1 to 64. Needed for vclk on sh7722, sh7723, sh7343 and sh7366. sh7724 needs this even more for vclk, fclka, fclkb, irdaclk and spuclk. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | Merge branch 'master' of ↵Paul Mundt2009-06-11
|\| | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
| * flat: fix data sections alignmentOskar Schirmer2009-05-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The flat loader uses an architecture's flat_stack_align() to align the stack but assumes word-alignment is enough for the data sections. However, on the Xtensa S6000 we have registers up to 128bit width which can be used from userspace and therefor need userspace stack and data-section alignment of at least this size. This patch drops flat_stack_align() and uses the same alignment that is required for slab caches, ARCH_SLAB_MINALIGN, or wordsize if it's not defined by the architecture. It also fixes m32r which was obviously kaput, aligning an uninitialized stack entry instead of the stack pointer. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Oskar Schirmer <os@emlix.com> Cc: David Howells <dhowells@redhat.com> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Bryan Wu <cooloney@kernel.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Acked-by: Paul Mundt <lethal@linux-sh.org> Cc: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Johannes Weiner <jw@emlix.com> Acked-by: Mike Frysinger <vapier.adi@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | sh: 16-bit get_unaligned() sh4a fixMagnus Damm2009-06-04
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch fixes the 16-bit case of the sh4a specific unaligned access implementation. Without this patch the 16-bit version of sh4a get_unaligned() results in a 32-bit read which may read more data than intended and/or cross page boundaries. Unbreaks mtd NOR write handling on Migo-R. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: add RAMCR definition for sh4Kuninori Morimoto2009-06-01
| | | | | | | | | | Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: shared div4 clock codeMagnus Damm2009-06-01
| | | | | | | | | | | | | | | | | | | | | | Add shared code for 4-bit divisor clocks. Processor specific code can use SH_CLK_DIV4() to initialize div4 clocks, and then use sh_clk_div4_register() for registration. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: shared mstp32 clock codeMagnus Damm2009-06-01
| | | | | | | | | | | | | | | | | | | | | | Add shared 32-bit module stop bit clock support. Processor specific code can use SH_CLK_MSTP32() to initialize module stop bit clocks, and then use sh_clk_mstp32() for registration. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: sh7785 mode pin definitionsMagnus Damm2009-06-01
| | | | | | | | | | | | | | | | This patch adds sh7785 mode pin definitions. Mode pins and pin function controller comments are added as well. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: boot word / mode pin support V2Magnus Damm2009-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add mode pin support for the SuperH architecture V2. With this patch applied the board code can add their own function to export the cpu mode pin configuration. In most cases this will be a constant bitmap, but boards that allow reading this from a register can instead read out the pin state from hardware. The code warns if a pin is tested but no board specific mode pin function has been provided. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | Merge branch 'sh/clkfwk'Paul Mundt2009-05-26
|\ \
| * | sh: remove clk_ops->build_rate_table()Magnus Damm2009-05-26
| | | | | | | | | | | | | | | | | | | | | | | | This patch removes the ->build_rate_table() callback, ->recalc() may instead be used for this purpose. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: add shared clock framework frequency table codeMagnus Damm2009-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add SuperH-specific clock framework helper functions: - clk_rate_table_build() - build cpufreq table from divisors/multipliers - clk_rate_table_round() - use cpufreq table to find matching frequency Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clkfwk: Add MSTP bits to SH7785 clock framework.Paul Mundt2009-05-14
| | | | | | | | | | | | | | | | | | | | | This plugs in all of the MSTP functions in to the clock framework, and hands them off to the platform devices that want them. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clkfwk: Map tree hierarchy in debugfs.Paul Mundt2009-05-13
| | | | | | | | | | | | | | | | | | | | | | | | This adopts the OMAP clock framework debugfs bits and replaces the aging procfs bits. The procfs clocks entry was primarily a debugging aid, and used to be tied in to cpuinfo before the clock list grew too unweildly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clkfwk: rate table construction and rounding for SH7785.Paul Mundt2009-05-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for constructing a rate table by looking at potential divisors for a specified clock. Each FQRMR clock is given its own table. Presently each table is rebuilt when the parent propagates down a new rate, so some more logic needs to be added to do this more intelligently. Additionally, a fairly generic round_rate() implementation is then layered on top of it, which subsequently provides us with cpufreq support. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clkfwk: Update SH7785 for refactored clock framework.Paul Mundt2009-05-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | This updates the SH7785 CPU code as well as the SH7785LCR board support code for making use of the newly refactored clock framework. Support for the legacy CPG clocks is dropped at this point, with the extal frequency fed in from the board code. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: clkfwk: Rework legacy CPG clock handling.Paul Mundt2009-05-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | This moves out the old legacy CPG clocks to their own file, and converts over the existing users. With these clocks going away and each CPU dealing with them on their own, CPUs can gradually move over to the new interface. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | Merge branch 'master' into sh/clkfwkPaul Mundt2009-05-12
| |\ \
| * | | sh: clkfwk: Wire up clk_get_sys() support.Paul Mundt2009-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This stubs in clk_get_sys() from the ARM clkdev implementation. Tentatively conver the clk_get() lookup code to use this, and once the rest of the in-tree users are happy with this, it can replace the fallback lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: clkfwk: Kill off clk_recalc_rate().Paul Mundt2009-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The only user for this is the SH-Mobile r_clk, which is now added as a root clock and can be kicked via propagate_rate() as usual. Given that, there is no longer any need for the special clk_recalc_rate(), so we kill it off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: clkfwk: Improve the generic clk_set_parent() implementation.Paul Mundt2009-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This causes the generic clk_set_parent() implementation to be a bit more intelligent. A clk_reparent() is added to move the clock over to the new parent's sibling list, which then allows the generic rate propagation code to succeed. This also becomes a nop if the new and old parents are unchanged. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: clkfwk: Fix up the clk_enable() error path.Paul Mundt2009-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a couple of instances where a clk_enable() can fail, which the SH-Mobile code presently handles, but doesn't get reported all the way back up. This fixes up the return type so the errors make it all the way down to the drivers. Additionally, we now also error out properly if the parent enable fails. Prep work for aggressively turning off unused clocks on boot. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: clkfwk: Convert SH-Mobile CPUs to use CLK_ENABLE_ON_INIT.Paul Mundt2009-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Kill off all of the clk_always_enabled leftovers and use the new flag directly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: clkfwk: Consolidate the ALWAYS_ENABLED / NEEDS_INIT mess.Paul Mundt2009-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no real distinction here in behaviour, either a clock needs to be enabled on initialiation or not. The ALWAYS_ENABLED flag was always intended to only apply to clocks that were physically always on and could simply not be disabled at all from software. Unfortunately over time this was abused and the meaning became a bit blurry. So, we kill off both of all of those paths now, as well as the newer NEEDS_INIT flag, and consolidate on a CLK_ENABLE_ON_INIT. Clocks that need to be enabled on initialization can set this, and it will purposely enable them and bump the refcount up. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: clkfwk: refactor rate propagation.Paul Mundt2009-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This resyncs the rate propagation strategy with the scheme used by the OMAP clock framework. Child clocks are tracked on a list under each parent and propagation happens there specifically rather than constantly iterating over the global clock list. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: clkfwk: Add a followparent_recalc() helper.Paul Mundt2009-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a followparent_recalc() helper for clocks that just follow the parent's rate. Switch over the few CPUs that use this scheme for some of their clocks. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | | sh: clkfwk: Make recalc return an unsigned long.Paul Mundt2009-05-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This is prep work for cleaning up some of the rate propagation bits. Trivial conversion. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | | sh: pci: Disable MWI and make pci_dma_burst_advice() a bit more accurate.Paul Mundt2009-05-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | None of the SH PCI controllers support MWI, it is always treated as a direct memory write, so simply disable it outright. In the case of the PCI cache line size, consult that for the pci_dma_burst_advice() strategy, and switch over to PCI_DMA_BURST_MULTIPLE, as PPC64. Signed-off-by: Paul Mundt <lethal@linux-sh.org>