[U-Boot] [PATCH v1 (WIP) 00/16] [Timer]API Rewrite

Graeme Russ graeme.russ at gmail.com
Tue Jun 28 13:40:53 CEST 2011


The following series is a work-in-progress revamp of the timer API. The aim
is to create a new userland API consisting of the following functions
(along with a few arch level support functions):

u32 time_now_ms(void);
u32 time_since_ms(u32 from, u32 to);
u32 time_max_since_ms(u32 from, u32 to);

This current patch series migrates the users of the existing timer API
consisting of get_timer() and reset_timer() to the new API while still
retaining the arch specific framework in the background.

I feel that the arch level implementation should be left for a completely
separate patch series. This will allow the migration to progress in a
series of very neatly defined and distinct (and therefore easily
bisectable) steps.

Note: I have included my SOB on each patch - I am marking this as the
start of the official patch series to bring the following discussion
threads to conclusion:

http://lists.denx.de/pipermail/u-boot/2011-May/093093.html
http://lists.denx.de/pipermail/u-boot/2011-May/093141.html
http://lists.denx.de/pipermail/u-boot/2011-May/093209.html
http://lists.denx.de/pipermail/u-boot/2011-May/093404.html

And the Timer API Task on the wiki:

http://www.denx.de/wiki/U-Boot/TaskTimerAPI

There are 18 days left in the current merge window (and I am going on
holidays for a week during that) so I kind of doubt that this will make
2011.09 - If it does not, However, I _really_ want to pound this out ready
for 2011.12

Comments please

Graeme Russ (16):
  [Timer]Fix misuse of ARM *timer_masked() functions outside arch/arm
  [Timer]Remove calls to set_timer outside arch/
  [Timer]Remove calls to set_timer in arch/
  [Timer]Allow reset_timer() only for Nios2
  [Timer]Remove reset_timer() for non-Nios2 arches
  [Timer]Fix at91rm9200/spi.c timer usage
  [Timer]Remove reset_timer_masked()
  [Timer]Create new userland timer API
  [Timer]Replace get_timer() usage in drivers/block/
  [Timer]Replace get_timer() usage in driver/mtd and driver/block
  [Timer]Remove reset_timer() completely
  [Timer]Replace get_timer() usage in drivers/
  [Timer]Replace get_timer() usage in net/
  [Timer]Replace get_timer() usage in common/
  [Timer]Replace get_timer() usage in board/
  [Timer]Replace get_timer() usage in arch/

 arch/arm/cpu/arm1136/mx31/timer.c          |   17 --------
 arch/arm/cpu/arm1136/mx35/timer.c          |    9 ----
 arch/arm/cpu/arm1136/omap24xx/timer.c      |   24 +++--------
 arch/arm/cpu/arm1176/s3c64xx/timer.c       |   17 --------
 arch/arm/cpu/arm1176/tnetv107x/timer.c     |   14 -------
 arch/arm/cpu/arm720t/interrupts.c          |   17 --------
 arch/arm/cpu/arm920t/a320/timer.c          |   12 ------
 arch/arm/cpu/arm920t/at91/timer.c          |   19 ---------
 arch/arm/cpu/arm920t/at91rm9200/spi.c      |    5 +-
 arch/arm/cpu/arm920t/at91rm9200/timer.c    |   18 ---------
 arch/arm/cpu/arm920t/ep93xx/timer.c        |   15 +------
 arch/arm/cpu/arm920t/imx/timer.c           |   21 +---------
 arch/arm/cpu/arm920t/ks8695/timer.c        |   25 ++----------
 arch/arm/cpu/arm920t/s3c24x0/timer.c       |   18 ---------
 arch/arm/cpu/arm925t/timer.c               |   23 +----------
 arch/arm/cpu/arm926ejs/armada100/timer.c   |   20 +---------
 arch/arm/cpu/arm926ejs/davinci/timer.c     |    5 --
 arch/arm/cpu/arm926ejs/kirkwood/timer.c    |   20 +---------
 arch/arm/cpu/arm926ejs/mb86r0x/timer.c     |   19 +--------
 arch/arm/cpu/arm926ejs/mx25/timer.c        |   19 ---------
 arch/arm/cpu/arm926ejs/mx27/timer.c        |   19 ---------
 arch/arm/cpu/arm926ejs/nomadik/timer.c     |   12 ++---
 arch/arm/cpu/arm926ejs/omap/timer.c        |   11 -----
 arch/arm/cpu/arm926ejs/orion5x/timer.c     |   20 +---------
 arch/arm/cpu/arm926ejs/pantheon/timer.c    |   20 +---------
 arch/arm/cpu/arm926ejs/spear/timer.c       |   22 +---------
 arch/arm/cpu/arm926ejs/versatile/timer.c   |   11 -----
 arch/arm/cpu/armv7/mx5/timer.c             |   20 ++--------
 arch/arm/cpu/armv7/omap-common/timer.c     |   21 +---------
 arch/arm/cpu/armv7/s5p-common/timer.c      |   10 -----
 arch/arm/cpu/armv7/tegra2/timer.c          |   17 --------
 arch/arm/cpu/ixp/timer.c                   |   13 ------
 arch/arm/cpu/lh7a40x/timer.c               |   11 -----
 arch/arm/cpu/pxa/timer.c                   |   18 +--------
 arch/arm/cpu/s3c44b0/timer.c               |   18 ---------
 arch/arm/cpu/sa1100/timer.c                |   16 --------
 arch/avr32/cpu/interrupts.c                |   23 -----------
 arch/blackfin/cpu/interrupts.c             |    5 --
 arch/blackfin/cpu/jtag-console.c           |    4 +-
 arch/m68k/cpu/mcf547x_8x/slicetimer.c      |    9 ----
 arch/m68k/lib/board.c                      |    2 -
 arch/m68k/lib/time.c                       |   21 +---------
 arch/microblaze/cpu/timer.c                |   12 +-----
 arch/microblaze/lib/time.c                 |    4 +-
 arch/mips/cpu/mips32/time.c                |   12 ------
 arch/nios2/cpu/epcs.c                      |   12 +++---
 arch/nios2/cpu/interrupts.c                |   44 ---------------------
 arch/powerpc/cpu/mpc824x/drivers/i2c/i2c.c |    8 ++--
 arch/powerpc/cpu/mpc8260/ether_fcc.c       |   12 +++---
 arch/powerpc/lib/board.c                   |    2 -
 arch/powerpc/lib/interrupts.c              |   10 -----
 arch/sh/lib/time.c                         |   12 ------
 arch/sh/lib/time_sh2.c                     |   15 +-------
 arch/sparc/lib/board.c                     |    2 -
 arch/sparc/lib/interrupts.c                |   12 +-----
 arch/x86/lib/board.c                       |    2 -
 arch/x86/lib/timer.c                       |   10 -----
 board/BuS/EB+MCF-EV123/flash.c             |   10 +++--
 board/LEOX/elpt860/flash.c                 |   12 +++---
 board/Marvell/common/flash.c               |   16 ++++----
 board/Marvell/common/intel_flash.c         |   19 ++++-----
 board/RPXClassic/flash.c                   |    8 ++--
 board/RPXlite/flash.c                      |    8 ++--
 board/RPXlite_dw/flash.c                   |    8 ++--
 board/RRvision/flash.c                     |    8 ++--
 board/a3000/flash.c                        |    8 ++--
 board/alaska/flash.c                       |   34 ++++++++--------
 board/altera/common/AMDLV065D.c            |    8 ++--
 board/altera/common/flash.c                |   10 ++--
 board/amcc/common/flash.c                  |   16 ++++----
 board/amcc/taihu/flash.c                   |   16 ++++----
 board/amcc/yucca/flash.c                   |   16 ++++----
 board/amirix/ap1000/flash.c                |    4 +-
 board/armadillo/flash.c                    |    6 ++-
 board/armltd/integrator/timer.c            |   24 ++----------
 board/armltd/vexpress/ca9x4_ct_vxp.c       |    5 --
 board/astro/mcf5373l/mcf5373l.c            |    4 +-
 board/atc/flash.c                          |   22 +++++-----
 board/atmel/at91rm9200dk/flash.c           |   10 +++--
 board/atmel/atstk1000/flash.c              |    2 +-
 board/bmw/flash.c                          |    8 ++--
 board/c2mon/flash.c                        |    8 ++--
 board/cerf250/flash.c                      |   14 +++----
 board/cm4008/flash.c                       |   10 +++--
 board/cm41xx/flash.c                       |   10 +++--
 board/cmc_pu2/flash.c                      |   11 +++--
 board/cmi/flash.c                          |   12 +++---
 board/cobra5272/flash.c                    |   10 +++--
 board/cogent/flash.c                       |   14 +++---
 board/cpc45/flash.c                        |    8 ++--
 board/cpu86/flash.c                        |   16 ++++----
 board/cpu87/flash.c                        |   16 ++++----
 board/cradle/flash.c                       |   10 +++--
 board/cray/L1/flash.c                      |    8 ++--
 board/csb226/flash.c                       |   10 +++--
 board/cu824/flash.c                        |    8 ++--
 board/dave/common/flash.c                  |    8 ++--
 board/dnp1110/flash.c                      |   14 +++----
 board/earthlcd/favr-32-ezkit/flash.c       |    2 +-
 board/eltec/bab7xx/flash.c                 |    8 ++--
 board/eltec/elppc/flash.c                  |    8 ++--
 board/eltec/mhpc/flash.c                   |    8 ++--
 board/emk/common/flash.c                   |   18 ++++----
 board/ep7312/flash.c                       |   10 +++--
 board/ep8260/flash.c                       |    8 ++--
 board/esd/common/flash.c                   |    8 ++--
 board/esd/cpci5200/strataflash.c           |    4 +-
 board/esd/pf5200/flash.c                   |   18 ++++----
 board/esteem192e/flash.c                   |   18 ++++----
 board/etin/debris/flash.c                  |   16 ++++----
 board/etx094/flash.c                       |   12 +++---
 board/evb4510/flash.c                      |    4 +-
 board/evb64260/flash.c                     |    8 ++--
 board/evb64260/intel_flash.c               |   18 ++++-----
 board/fads/flash.c                         |    8 ++--
 board/flagadm/flash.c                      |   22 +++++-----
 board/freescale/m5253demo/flash.c          |   14 +++---
 board/freescale/mpc8260ads/flash.c         |   12 +++---
 board/freescale/mpc8266ads/flash.c         |   12 +++---
 board/funkwerk/vovpn-gw/flash.c            |   16 ++++----
 board/g2000/strataflash.c                  |    4 +-
 board/gcplus/flash.c                       |   14 +++----
 board/gen860t/flash.c                      |   16 ++++----
 board/genietv/flash.c                      |    8 ++--
 board/gw8260/flash.c                       |    8 ++--
 board/hermes/flash.c                       |    8 ++--
 board/hidden_dragon/flash.c                |    8 ++--
 board/hymod/flash.c                        |   10 ++--
 board/icecube/flash.c                      |   18 ++++----
 board/icu862/flash.c                       |    8 ++--
 board/idmr/flash.c                         |   10 +++--
 board/impa7/flash.c                        |   10 +++--
 board/incaip/flash.c                       |   22 +++++-----
 board/innokom/flash.c                      |   10 +++--
 board/ip860/flash.c                        |    8 ++--
 board/iphase4539/flash.c                   |    8 ++--
 board/ivm/flash.c                          |    8 ++--
 board/ixdp425/flash.c                      |   10 +++--
 board/jse/flash.c                          |    8 ++--
 board/kup/common/flash.c                   |   12 +++---
 board/lantec/flash.c                       |    8 ++--
 board/lart/flash.c                         |   10 +++--
 board/linkstation/avr.c                    |   40 ++++++++++----------
 board/lpd7a40x/flash.c                     |   10 +++--
 board/lubbock/flash.c                      |   14 +++----
 board/lwmon/flash.c                        |   10 ++--
 board/mbx8xx/flash.c                       |    8 ++--
 board/modnet50/flash.c                     |   14 ++++---
 board/mpl/common/flash.c                   |   16 ++++----
 board/mpl/mip405/mip405.c                  |   11 ++---
 board/mpl/vcma9/flash.c                    |   10 +++--
 board/musenki/flash.c                      |    8 ++--
 board/mvblue/flash.c                       |    8 ++--
 board/mx1ads/syncflash.c                   |    2 +-
 board/mx1fs2/flash.c                       |   16 ++++----
 board/netphone/flash.c                     |    8 ++--
 board/netta/flash.c                        |    8 ++--
 board/netta2/flash.c                       |    8 ++--
 board/netvia/flash.c                       |    8 ++--
 board/ns9750dev/flash.c                    |   15 +++----
 board/nvidia/common/board.c                |    1 -
 board/nx823/flash.c                        |    8 ++--
 board/o2dnt/flash.c                        |   26 ++++++------
 board/oxc/flash.c                          |    8 ++--
 board/pcippc2/flash.c                      |    8 ++--
 board/pcs440ep/flash.c                     |   12 +++---
 board/pleb2/flash.c                        |   18 ++++----
 board/pm520/flash.c                        |   22 +++++-----
 board/pm826/flash.c                        |    8 ++--
 board/pm828/flash.c                        |    8 ++--
 board/ppmc7xx/flash.c                      |    8 ++--
 board/ppmc8260/strataflash.c               |    4 +-
 board/prodrive/common/flash.c              |   12 +++---
 board/psyent/common/AMDLV065D.c            |    8 ++--
 board/r360mpi/flash.c                      |    8 ++--
 board/rbc823/flash.c                       |    8 ++--
 board/rmu/flash.c                          |    8 ++--
 board/rpxsuper/flash.c                     |    8 ++--
 board/rsdproto/flash.c                     |    8 ++--
 board/sacsng/flash.c                       |    8 ++--
 board/samsung/smdk2400/flash.c             |   10 +++--
 board/sandburst/common/flash.c             |    8 ++--
 board/sandpoint/flash.c                    |    8 ++--
 board/sbc2410x/flash.c                     |   10 +++--
 board/sbc405/strataflash.c                 |    4 +-
 board/sbc8240/flash.c                      |    8 ++--
 board/sbc8260/flash.c                      |    8 ++--
 board/scb9328/flash.c                      |    5 +-
 board/shannon/flash.c                      |   10 +++--
 board/siemens/IAD210/flash.c               |    8 ++--
 board/siemens/SCM/flash.c                  |    8 ++--
 board/siemens/SMN42/flash.c                |    8 ++--
 board/sixnet/flash.c                       |   12 +++---
 board/snmc/qs850/flash.c                   |    8 ++--
 board/snmc/qs860t/flash.c                  |   18 ++++----
 board/stx/stxgp3/flash.c                   |   12 +++---
 board/svm_sc8xx/flash.c                    |   16 ++++----
 board/tb0229/flash.c                       |   18 ++++----
 board/ti/omap1610inn/flash.c               |   15 +++----
 board/ti/omap730p2/flash.c                 |   15 +++----
 board/tqc/tqm5200/cam5200_flash.c          |   16 ++++----
 board/trab/cmd_trab.c                      |    6 +-
 board/trab/flash.c                         |   10 +++--
 board/utx8245/flash.c                      |    8 ++--
 board/v37/flash.c                          |   12 +++---
 board/w7o/flash.c                          |   20 +++++-----
 board/w7o/fpga.c                           |   10 ++--
 board/westel/amx860/flash.c                |    8 ++--
 board/xaeniax/flash.c                      |   14 +++----
 board/xm250/flash.c                        |   23 +++++------
 board/zeus/zeus.c                          |    4 +-
 board/zylonite/flash.c                     |   14 +++----
 common/cmd_misc.c                          |    4 +-
 drivers/block/mg_disk.c                    |   10 ++---
 drivers/fpga/ACEX1K.c                      |    5 +-
 drivers/fpga/cyclon2.c                     |    5 +-
 drivers/fpga/spartan2.c                    |   30 +++++++++------
 drivers/fpga/spartan3.c                    |   32 ++++++++++------
 drivers/fpga/virtex2.c                     |   20 ++++++----
 drivers/i2c/bfin-twi_i2c.c                 |    6 +-
 drivers/i2c/spr_i2c.c                      |   28 ++++++++------
 drivers/i2c/u8500_i2c.c                    |    8 ++--
 drivers/input/ps2mult.c                    |    6 +-
 drivers/mmc/omap_hsmmc.c                   |   57 +++++++++++++++-------------
 drivers/mtd/cfi_flash.c                    |   14 +++----
 drivers/mtd/nand/nand_base.c               |   17 ++++----
 drivers/mtd/spi/atmel.c                    |    4 +-
 drivers/mtd/spi/eeprom_m95xxx.c            |    5 +-
 drivers/mtd/spi/spi_flash.c                |    6 +-
 drivers/net/4xx_enet.c                     |    8 +--
 drivers/net/bcm570x.c                      |    2 +-
 drivers/net/cs8900.c                       |   17 ++++----
 drivers/net/dm9000x.c                      |    6 +-
 drivers/net/ethoc.c                        |    6 +-
 drivers/net/fec_mxc.c                      |   18 ++++----
 drivers/net/ftgmac100.c                    |    6 +-
 drivers/net/ftmac100.c                     |    6 +-
 drivers/net/greth.c                        |   16 ++++----
 drivers/net/lan91c96.c                     |    5 +-
 drivers/net/ne2000_base.c                  |    6 +-
 drivers/net/netarm_eth.c                   |   14 ++++--
 drivers/net/ns7520_eth.c                   |    5 +-
 drivers/net/ns9750_eth.c                   |    4 +-
 drivers/net/rtl8139.c                      |    6 +-
 drivers/net/rtl8169.c                      |   26 ++++++-------
 drivers/net/smc91111.c                     |    4 +-
 drivers/serial/serial_clps7111.c           |    6 +-
 drivers/serial/serial_netarm.c             |    4 +-
 drivers/spi/atmel_dataflash_spi.c          |    8 +--
 drivers/usb/gadget/ether.c                 |   25 ++++++------
 drivers/usb/host/ehci-hcd.c                |    8 ++--
 drivers/usb/host/sl811-hcd.c               |    5 +-
 include/common.h                           |   37 ++++++++++--------
 lib/time.c                                 |   26 +++++++++++++
 net/bootp.c                                |    6 +-
 net/net.c                                  |   18 +++-----
 net/sntp.c                                 |    2 +-
 net/tftp.c                                 |    4 +-
 258 files changed, 1238 insertions(+), 1866 deletions(-)

--
1.7.5.2.317.g391b14



More information about the U-Boot mailing list