[PATCH 00/18] ARM: imx: make the imx timer driver implementation independent of SoCs.
Shenwei.Wang at freescale.com
Fri May 15 08:39:46 PDT 2015
> -----Original Message-----
> From: Shawn Guo [mailto:shawnguo at kernel.org]
> Sent: 2015年5月15日 2:54
> To: Wang Shenwei-B38339
> Cc: shawn.guo at linaro.org; linux-arm-kernel at lists.infradead.org
> Subject: Re: [PATCH 00/18] ARM: imx: make the imx timer driver implementation
> independent of SoCs.
> 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.
Agreed that the patch was splitting because I wanted to let the reviewers know the
Procedures of the changes. The idea for the series of patches is to re-implement
The gpt timer driver just based on the IP. I don't want to involve any SoC
Information inside the driver. A driver should have no knowledge of a SoC, but be simply
Implemented upon the IP block.
> > 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