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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot