[PATCH 0/5] ARM: OMAP: Fix OMAP1 dmtimer support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From: Jon Hunter <jon-hunter@xxxxxx>

OMAP1 dmtimer support is currently broken. When a dmtimer is requested by the
omap_dm_timer_request() function fails to allocate a dmtimer because the call
to clk_get() inside omap_dm_timer_prepare fails. The clk_get() fails simply
because the clock data for the OMAP1 dmtimers is not present.

Although we can simply fix the OMAP1 dmtimers by adding the clock data for the
dmtimers, this is simply the tip of the iceberg. The OMAP1 devices do not
currently support clk_set_parent to dynamically change the clock source. So if
we just add the clock data for the dmtimers, when the dmtimer clock source is
changed by the existing omap1_dm_timer_set_src() function, the clock framework
will not be updated to reflect the current parent clock.

This patch set addresses these issues by ...
1. Making the code to set a parent clock common between OMAP1 and OMAP2+
2. Adds the OMAP1 dmtimer clock data
3. Removes architecture specific code to set the dmtimer clock source and adds
   a common function that uses the clock framework

This series has been tested on an OMAP5912 OSK, OMAP2430 SDP, OMAP3430 Beagle
and OMAP4460 Panda.

Jon Hunter (5):
  ARM: OMAP: Move clkt_clksel.c to plat-omap directory
  ARM: OMAP2+: Remove omap2_clk_set_parent function
  ARM: OMAP2+: Simplify dmtimer clock aliases
  ARM: OMAP1: Add dmtimer clock data
  ARM: OMAP: For all OMAP devices use clock framework to set dmtimer
    clock source

 arch/arm/mach-omap1/clock.h               |    3 -
 arch/arm/mach-omap1/clock_data.c          |  142 +++++++-
 arch/arm/mach-omap1/timer.c               |   15 +-
 arch/arm/mach-omap2/Makefile              |    2 +-
 arch/arm/mach-omap2/clkt34xx_dpll3m2.c    |    2 +-
 arch/arm/mach-omap2/clkt_clksel.c         |  510 -----------------------------
 arch/arm/mach-omap2/clock.c               |   15 +-
 arch/arm/mach-omap2/clock.h               |   11 -
 arch/arm/mach-omap2/clock2420_data.c      |  177 ++++------
 arch/arm/mach-omap2/clock2430_data.c      |  175 ++++------
 arch/arm/mach-omap2/clock3xxx_data.c      |  252 +++++++-------
 arch/arm/mach-omap2/clock44xx_data.c      |  498 ++++++++++++++--------------
 arch/arm/mach-omap2/timer.c               |   61 ----
 arch/arm/plat-omap/Makefile               |    2 +-
 arch/arm/plat-omap/clkt_clksel.c          |  508 ++++++++++++++++++++++++++++
 arch/arm/plat-omap/clock.c                |    1 +
 arch/arm/plat-omap/dmtimer.c              |   43 ++-
 arch/arm/plat-omap/include/plat/clock.h   |   16 +-
 arch/arm/plat-omap/include/plat/dmtimer.h |    1 -
 19 files changed, 1211 insertions(+), 1223 deletions(-)
 delete mode 100644 arch/arm/mach-omap2/clkt_clksel.c
 create mode 100644 arch/arm/plat-omap/clkt_clksel.c


To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]    [Yosemite Photos]    [Free Online Dating]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux