aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel
Commit message (Collapse)AuthorAge
...
* sh: enable TMU clocksource on sh7722Magnus Damm2009-05-08
| | | | | | | | | This patch enables the TMU clocksource on sh7722. To prioritize TMU over CMT we also adjust the CMT clock source rating. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: clock framework update, fix count and kill off krefMagnus Damm2009-05-08
| | | | | | | | | | This patch updates the clock framework use count code. With this patch the enable() and disable() callbacks only get called when counting from and to zero. While at it the kref stuff gets replaced with an int. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off sh64's hand-rolled syscall tracer.Paul Mundt2009-05-08
| | | | | | | This is no longer necessary, as there are now sufficient generic alternatives available. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off the global rtc_lock with extreme prejudice.Paul Mundt2009-05-08
| | | | | | | | | | Now that all of the possible users for rtc_lock have gone away, it is no longer necessary to keep this lock definition around. This follows several other architectures that have either recently dropped it or never supported it in the first place. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off dead timer sysclass pm hooks.Paul Mundt2009-05-08
| | | | | | | With the conversion to generic clockevents these are completely unused, so just kill it off. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off dead handle_timer_tick() code.Paul Mundt2009-05-08
| | | | | | | Nothing is using this anymore now that we have fully converted to generic time, so kill it off completely. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Wire up GENERIC_CMOS_UPDATE for the platforms that need it.Paul Mundt2009-05-08
| | | | | | | | | | Now that everything has converted over to generic timekeeping, we need an alternate method for keeping the RTC updated for those platforms that are still using the rtc_sh_get/set_time pairs, presently limited to SH-03 and the Dreamcast. This wires up the GENERIC_CMOS_UPDATE hooks for those to maintain the same behaviour. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Rename arch/sh/kernel/time_32.c to arch/sh/kernel/time.c.Paul Mundt2009-05-08
| | | | | | | This is now fully generic, and used both by _32 and _64 variants. Rename it accordingly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Finish the sh64 migration off of ARCH_USES_GETTIMEOFFSET.Paul Mundt2009-05-08
| | | | | | | | This adds sh_tmu support to the SH-5 subtypes, which subsequently allows us to kill off time_64.c and use the now generic time_32.c. As a bonus, SH-5 now supports highres timers and tickless for the first time. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Move out rtc-sh registration from time_64.c to setup-sh5.cPaul Mundt2009-05-08
| | | | | | | Now that the onchip_remap() mess is sorted out, the rtc-sh support code for SH-5 can follow the same approach as the other CPUs. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: TMU platform data for sh7785Magnus Damm2009-05-07
| | | | | | | | This patch adds TMU platform data for sh7785. Both clockevent and clocksource support is enabled. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: call clock framework init() callback onceMagnus Damm2009-05-07
| | | | | | | | | Make sure that clk->ops->init() only gets called once in the case of CLK_ALWAYS_ENABLED. Without this patch the init() callback may be called multiple times. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off unused SH-5 irq_describe cruft.Paul Mundt2009-05-07
| | | | Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Integrate the SH-5 onchip_remap() more coherently.Paul Mundt2009-05-07
| | | | | | | | | | | Presently this is special-cased for early initialization. While there are situations where these static early initializations are still necessary, with minor changes it is possible to use this for the regular ioremap implementation as well. This allows us to kill off the special-casing for the remap completely and to start tidying up all of the SH-5 special-casing in drivers. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Move dummy clockevents broadcast timer to its new home.Paul Mundt2009-05-03
| | | | | | | | The old arch/sh/kernel/timers/ directly will be going away completely once the rest of the TMU users are migrated, so move the dummy broadcast driver up a level in preparation. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Kill off the now unused ARCH_USES_GETTIMEOFFSET code.Paul Mundt2009-05-03
| | | | | | | | | Now that the stragglers (MTU2/CMT/etc.) have been rewritten and we are selecting both GENERIC_TIME and GENERIC_CLOCKEVENTS, the get_offset() timer op is completely unused. As a result, we are now able to kill off the ARCH_USES_GETTIMEOFFSET references. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: Consolidate MTU2/CMT/TMU timer platform data.Paul Mundt2009-05-03
| | | | | | | | | All of the SH timers use a roughly identical structure for platform data, which presently is broken out for each block. Consolidate all of these definitions, as there is no reason for them to be broken out in the first place. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: TMU platform data for sh7722Magnus Damm2009-05-03
| | | | | | | | | This patch adds TMU platform data for sh7722. Only clockevent mode is enabled for now, clocksource requires this patch: "clocksource: setup mult_orig in clocksource_enable()" Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: remove old MTU2 driverMagnus Damm2009-05-03
| | | | | | | | | | | | | | | | | This patch removes the old MTU2 driver (CONFIG_SH_MTU2/timer-mtu2.c) As replacement, select the sh_cmt driver with CONFIG_SH_TIMER_MTU2 and configure timer channel using platform data. If multiple MTU channels are enabled using platform data, use the earlytimer parameter on the kernel command line to select channel. For instance, use "earlytimer=sh_mtu2.0" to select the first channel. To verify which timer is being used, look at printouts or the timer irq count in /proc/interrupts. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: sh2a MTU2 platform dataMagnus Damm2009-05-03
| | | | | | | | | | | This patch adds MTU2 platform data for the following cpus: - sh7201 (3/5 channels) - sh7203/sh7263 (2/4 channels) - sh7206 (3/5 channels) - MXG (3/5 channels) Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* time: sh: convert to use arch_getoffset() infrastructurejohn stultz2009-05-03
| | | | | | | | Convert sh to use GENERIC_TIME via the arch_getoffset() infrastructure. Signed-off-by: John Stultz <johnstul@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: remove obsolete hw_interrupt_typeThomas Gleixner2009-05-03
| | | | | | | | | | Impact: cleanup Convert the last remaining users to struct irq_chip and remove the define. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* sh: remove obsolete no_irq_typeThomas Gleixner2009-05-03
| | | | | | | | | Impact: cleanup convert the last remaining users to no_irq_chip Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* Merge branch 'timers/clocksource' of ↵Paul Mundt2009-05-03
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-tip
| * sh: Use __INIT macro instead of .text.init.Tim Abbott2009-04-27
| | | | | | | | | | | | | | | | | | | | | | | | | | The sh architecture has some code in the .text.init section, but it does not reference that section in its linker scripts. This change moves this code from the .text.init section to the .init.text section, which is presumably where it belongs. Signed-off-by: Tim Abbott <tabbott@mit.edu> Acked-by: Sam Ravnborg <sam@ravnborg.org> Acked-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | sh: remove old CMT driverMagnus Damm2009-04-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the old CMT driver (CONFIG_SH_CMT/timer-cmt.c) As replacement, select the sh_cmt driver with CONFIG_SH_TIMER_CMT and configure timer channel using platform data. If multiple CMT channels are enabled using platform data, use the earlytimer parameter on the kernel command line to select channel. For instance, use "earlytimer=sh_cmt.0" to select the first channel. To verify which timer is being used, look at printouts or the timer irq count in /proc/interrupts. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: sh2/sh2a 16-bit CMT platform dataMagnus Damm2009-04-30
| | | | | | | | | | | | | | | | | | | | This patch adds 16-bit cmt platform data for the following cpus: - sh7619 (2 channels) - sh7203/sh7263 (2 channels) - sh7206 (2 channels) Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: register the rtc-generic platform device properly.Paul Mundt2009-04-28
| | | | | | | | | | | | | | | | The device registration was accidentally omitted, add it back in. Do some basic device probing as well, so this doesn't show up for platforms that tie in to the RTC interface properly. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: setup timers in late_time_init()Magnus Damm2009-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch moves the SuperH timer setup code from time_init() to late_time_init(). Good things about this change: - interrupts: they are enabled at late_time_init() - mm: regular kmalloc() can be used at late_time_init() Together with moving to late_time_init() this patch changes the sh_cmt driver to always allocate with kmalloc(). This simplifies the code a bit and also fixes section mismatches. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: rtc-generic support.Paul Mundt2009-04-27
| | | | | | | | | | | | This adds rtc-generic support for SUPERH32. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| |
| \
*-. \ Merge branches 'sh/stable-updates' and 'sh/pci-rework'Paul Mundt2009-04-26
|\ \ \ | | |/ | |/|
| | * sh: pci: Consolidate pci_iomap() and use the generic I/O base.Paul Mundt2009-04-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This consolidates the pci_iomap() definitions and reworks how the I/O port base is handled. PCI channels can register their own I/O map base, or if none is provided, the system-wide generic I/O base is used instead. Functionally nothing changes, while this allows us to kill off lots of I/O address special casing and lookups. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * sh: pci io port base address codeMagnus Damm2009-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a __get_pci_io_base() function which is used to match a port range against struct pci_channel. This allows us to detect if a port range is assigned to pci or happens to be legacy port io. While at it, remove unused cpu-specific cruft. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: convert to use __HEAD and HEAD_TEXT macros.Tim Abbott2009-04-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has the consequence of changing the section name use for head code from ".text.head" to ".head.text". Since this commit changes all users in the architecture, this change should be harmless. Signed-off-by: Tim Abbott <tabbott@mit.edu> Cc: Paul Mundt <lethal@linux-sh.org> Acked-by: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | Merge branch 'master' of ↵Paul Mundt2009-04-21
|\| | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
| * | clocksource: pass clocksource to read() callbackMagnus Damm2009-04-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pass clocksource pointer to the read() callback for clocksources. This allows us to share the callback between multiple instances. [hugh@veritas.com: fix powerpc build of clocksource pass clocksource mods] [akpm@linux-foundation.org: cleanup] Signed-off-by: Magnus Damm <damm@igel.co.jp> Acked-by: John Stultz <johnstul@us.ibm.com> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
| * | Merge branch 'sh/stable-updates' into sh/for-2.6.30Paul Mundt2009-04-21
| |\ \
| | * | sh: Fix mmap2 for handling differing PAGE_SIZEs.Toshinobu Sugioka2009-04-20
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mmap2 uses a fixed page shift of 12, regardless of the PAGE_SIZE setting. Fix up the mmap2 code to add some sanity checks on the mapping, and to update pgoff accordingly. Error handling bits based on 4280e3126f641898f0ed1a931645373d3489e2a6 ("frv: fix mmap2 error handling"). Signed-off-by: Toshinobu Sugioka <sugioka@itonet.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: sh7724: Register CMT as an early platform device here too.Paul Mundt2009-04-19
| | | | | | | | | | | | | | | | | | Follows the SH7722/SH7723 changes. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | | sh: sh7724: Don't default enable the RTC clock.Paul Mundt2009-04-19
| | | | | | | | | | | | | | | | | | rtc-sh takes care of this now, so no need to have this always enabled. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | |
| \ \
*-. \ \ Merge branches 'sh/earlytimer' and 'sh/shmobile-r2r-staging'Paul Mundt2009-04-19
|\ \ \ \ | |_|/ / |/| | |
| | * | sh: sh7724: Add CMT clockevents support.Paul Mundt2009-04-16
| | | | | | | | | | | | | | | | | | | | | | | | This enables support for the CMT clockevents driver on SH7724. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | sh: sh7724: Add VEU support.Kuninori Morimoto2009-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds uio_pdrv_genirq support for the VEU. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | sh: sh7724: Add VPU support.Kuninori Morimoto2009-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds uio_pdrv_genirq support for the VPU. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | sh: sh7724: Add I2C support.Kuninori Morimoto2009-04-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for the SH-Mobile I2C controller on the SH7724. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| | * | sh: Add support for SH7724 (SH-Mobile R2R) CPU subtype.Kuninori Morimoto2009-04-16
| | |/ | | | | | | | | | | | | | | | | | | | | | This implements initial support for the SH-Mobile R2R CPU. Based on Rev 0.11 of the initial SH7724 hardware manual. Signed-off-by: Kuninori Morimoto <morimoto.kuninori@renesas.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Early Platform Data for SuperH MobileMagnus Damm2009-04-19
| | | | | | | | | | | | | | | | | | | | | | | | Use plat_early_device_setup() to register Early Platform Data for SuperH Mobile processors. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: Add plat_early_device_setup()Magnus Damm2009-04-19
| | | | | | | | | | | | | | | | | | | | | | | | Add a plat_early_device_setup() function to allow processor-specific code to register Early Platform Data. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
| * | sh: arch earlytimer supportMagnus Damm2009-04-19
| |/ | | | | | | | | | | | | | | | | | | Extend the 32-bit SuperH timer code to register and probe the earlytimer class of Early Platform Drivers. This registers the sh_cmt driver if compiled-in. Signed-off-by: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
* | sh: sh7723: Don't default enable the RTC clock.Paul Mundt2009-04-16
| | | | | | | | | | | | rtc-sh takes care of this now, so no need to have this always enabled. Signed-off-by: Paul Mundt <lethal@linux-sh.org>