[PATCH 00/18] ARM: imx: make the imx timer driver implementation independent of SoCs.

Shawn Guo shawnguo at kernel.org
Fri May 15 00:54:06 PDT 2015


On Thu, Apr 30, 2015 at 09:44:15AM -0500, Shenwei Wang wrote:
> There are 4 versions of the timer hardware on Freescale MXC hardware.
> --Version 0: MX1/MXL
> --Version 1: MX21, MX27.
> --Version 2: MX25, MX31, MX35, MX37, MX51, MX6Q(Rev1.0)
> --Version 3: MX6DL, MX6SX, MX6Q(Rev1.1+)
> 
> This patch has removed the SoC related codes, and implemented the driver directly upon
> the hardware timer IP version. The new timer driver has redesigned the
> internal APIs, and limited the use of global variables as well.
> 
> As the new driver has become independent of the SoCs, it has
> been moved from the directory arch/arm/mach-imx into the
> directory drivers/clocksources.

Overall, I do not like how things get done here, the software version
numbering, the patch splitting, invasive changes than necessary.  So I
just worked out my version and will post for review shortly.

Shawn

> Shenwei Wang (18):
>   ARM: imx: Add a parameter to mxc_timer_init
>   ARM: imx: Add the definitions for imx_timer and its versions
>   ARM: imx: Add an array of timer IP block versions
>   ARM: imx: Added one more parameter for mxc_clockevent_init
>   ARM: imx: Added one more parameter for mxc_clocksource_init
>   ARM: imx: New timer driver APIs based on IP block
>   ARM: imx: Initialize the imx_timer structure
>   ARM: imx: Reimplemented the _mxc_timer_init based on IP version
>   ARM: imx: Removed the SoC relating codes in mxc_timer_interrupt
>   ARM: imx: Removed the SoC relating codes in mxc_set_mode
>   ARM: imx: Enabled the unused parameter
>   ARM: imx: Remove one global variable in mxc_clocksource_init
>   ARM: imx: Removed the unused functions and variables
>   ARM: imx: Removed the global variable "timer_base"
>   ARM: imx: Remove the SoC relating codes in mxc_clockevent_init
>   ARM: imx: Move the  variable clockevent_mode into mxc_set_mode
>   ARM: imx: Codes clean up
>   ARM: imx: Move time.c into drivers/clocksources
> 
>  arch/arm/mach-imx/Makefile      |   2 +-
>  arch/arm/mach-imx/time.c        | 388 ---------------------------
>  drivers/clk/imx/clk-imx1.c      |   3 +-
>  drivers/clk/imx/clk-imx21.c     |   3 +-
>  drivers/clk/imx/clk-imx27.c     |   3 +-
>  drivers/clk/imx/clk-imx31.c     |   3 +-
>  drivers/clk/imx/clk-imx35.c     |   5 +-
>  drivers/clk/imx/clk.h           |   2 +-
>  drivers/clocksource/Makefile    |   1 +
>  drivers/clocksource/timer-gpt.c | 572 ++++++++++++++++++++++++++++++++++++++++
>  10 files changed, 586 insertions(+), 396 deletions(-)
>  delete mode 100644 arch/arm/mach-imx/time.c
>  create mode 100644 drivers/clocksource/timer-gpt.c
> 
> --
> 1.9.1
> 
> 
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



More information about the linux-arm-kernel mailing list