]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge commit '6bb27d7349db51b50c40534710fe164ca0d58902' into omap-timer-for-v3.10
authorJon Hunter <jon-hunter@ti.com>
Mon, 1 Apr 2013 18:47:29 +0000 (13:47 -0500)
committerJon Hunter <jon-hunter@ti.com>
Mon, 1 Apr 2013 18:47:29 +0000 (13:47 -0500)
524 files changed:
arch/arm/include/asm/mach/arch.h
arch/arm/include/asm/mach/time.h
arch/arm/kernel/time.c
arch/arm/mach-at91/at91rm9200_time.c
arch/arm/mach-at91/at91sam926x_time.c
arch/arm/mach-at91/at91x40_time.c
arch/arm/mach-at91/board-1arm.c
arch/arm/mach-at91/board-afeb-9260v1.c
arch/arm/mach-at91/board-cam60.c
arch/arm/mach-at91/board-carmeva.c
arch/arm/mach-at91/board-cpu9krea.c
arch/arm/mach-at91/board-cpuat91.c
arch/arm/mach-at91/board-csb337.c
arch/arm/mach-at91/board-csb637.c
arch/arm/mach-at91/board-dt.c
arch/arm/mach-at91/board-eb01.c
arch/arm/mach-at91/board-eb9200.c
arch/arm/mach-at91/board-ecbat91.c
arch/arm/mach-at91/board-eco920.c
arch/arm/mach-at91/board-flexibity.c
arch/arm/mach-at91/board-foxg20.c
arch/arm/mach-at91/board-gsia18s.c
arch/arm/mach-at91/board-kafa.c
arch/arm/mach-at91/board-kb9202.c
arch/arm/mach-at91/board-neocore926.c
arch/arm/mach-at91/board-pcontrol-g20.c
arch/arm/mach-at91/board-picotux200.c
arch/arm/mach-at91/board-qil-a9260.c
arch/arm/mach-at91/board-rm9200dk.c
arch/arm/mach-at91/board-rm9200ek.c
arch/arm/mach-at91/board-rsi-ews.c
arch/arm/mach-at91/board-sam9-l9260.c
arch/arm/mach-at91/board-sam9260ek.c
arch/arm/mach-at91/board-sam9261ek.c
arch/arm/mach-at91/board-sam9263ek.c
arch/arm/mach-at91/board-sam9g20ek.c
arch/arm/mach-at91/board-sam9m10g45ek.c
arch/arm/mach-at91/board-sam9rlek.c
arch/arm/mach-at91/board-snapper9260.c
arch/arm/mach-at91/board-stamp9g20.c
arch/arm/mach-at91/board-usb-a926x.c
arch/arm/mach-at91/board-yl-9200.c
arch/arm/mach-at91/generic.h
arch/arm/mach-bcm/board_bcm.c
arch/arm/mach-bcm2835/bcm2835.c
arch/arm/mach-clps711x/board-autcpu12.c
arch/arm/mach-clps711x/board-cdb89712.c
arch/arm/mach-clps711x/board-clep7312.c
arch/arm/mach-clps711x/board-edb7211.c
arch/arm/mach-clps711x/board-fortunet.c
arch/arm/mach-clps711x/board-p720t.c
arch/arm/mach-clps711x/common.c
arch/arm/mach-clps711x/common.h
arch/arm/mach-cns3xxx/cns3420vb.c
arch/arm/mach-cns3xxx/core.c
arch/arm/mach-cns3xxx/core.h
arch/arm/mach-davinci/board-da830-evm.c
arch/arm/mach-davinci/board-da850-evm.c
arch/arm/mach-davinci/board-dm355-evm.c
arch/arm/mach-davinci/board-dm355-leopard.c
arch/arm/mach-davinci/board-dm365-evm.c
arch/arm/mach-davinci/board-dm644x-evm.c
arch/arm/mach-davinci/board-dm646x-evm.c
arch/arm/mach-davinci/board-mityomapl138.c
arch/arm/mach-davinci/board-neuros-osd2.c
arch/arm/mach-davinci/board-omapl138-hawk.c
arch/arm/mach-davinci/board-sffsdr.c
arch/arm/mach-davinci/board-tnetv107x-evm.c
arch/arm/mach-davinci/da8xx-dt.c
arch/arm/mach-davinci/include/mach/common.h
arch/arm/mach-davinci/time.c
arch/arm/mach-dove/cm-a510.c
arch/arm/mach-dove/common.c
arch/arm/mach-dove/common.h
arch/arm/mach-dove/dove-db-setup.c
arch/arm/mach-ebsa110/core.c
arch/arm/mach-ep93xx/adssphere.c
arch/arm/mach-ep93xx/core.c
arch/arm/mach-ep93xx/edb93xx.c
arch/arm/mach-ep93xx/gesbc9312.c
arch/arm/mach-ep93xx/include/mach/platform.h
arch/arm/mach-ep93xx/micro9.c
arch/arm/mach-ep93xx/simone.c
arch/arm/mach-ep93xx/snappercl15.c
arch/arm/mach-ep93xx/ts72xx.c
arch/arm/mach-ep93xx/vision_ep9307.c
arch/arm/mach-exynos/common.h
arch/arm/mach-exynos/mach-armlex4210.c
arch/arm/mach-exynos/mach-exynos4-dt.c
arch/arm/mach-exynos/mach-exynos5-dt.c
arch/arm/mach-exynos/mach-nuri.c
arch/arm/mach-exynos/mach-origen.c
arch/arm/mach-exynos/mach-smdk4x12.c
arch/arm/mach-exynos/mach-smdkv310.c
arch/arm/mach-exynos/mach-universal_c210.c
arch/arm/mach-exynos/mct.c
arch/arm/mach-footbridge/cats-hw.c
arch/arm/mach-footbridge/common.h
arch/arm/mach-footbridge/dc21285-timer.c
arch/arm/mach-footbridge/ebsa285.c
arch/arm/mach-footbridge/isa-timer.c
arch/arm/mach-footbridge/netwinder-hw.c
arch/arm/mach-footbridge/personal.c
arch/arm/mach-gemini/board-nas4220b.c
arch/arm/mach-gemini/board-rut1xx.c
arch/arm/mach-gemini/board-wbd111.c
arch/arm/mach-gemini/board-wbd222.c
arch/arm/mach-h720x/common.c
arch/arm/mach-h720x/common.h
arch/arm/mach-h720x/cpu-h7201.c
arch/arm/mach-h720x/cpu-h7202.c
arch/arm/mach-h720x/h7201-eval.c
arch/arm/mach-h720x/h7202-eval.c
arch/arm/mach-highbank/highbank.c
arch/arm/mach-imx/imx25-dt.c
arch/arm/mach-imx/imx27-dt.c
arch/arm/mach-imx/imx31-dt.c
arch/arm/mach-imx/imx51-dt.c
arch/arm/mach-imx/mach-apf9328.c
arch/arm/mach-imx/mach-armadillo5x0.c
arch/arm/mach-imx/mach-bug.c
arch/arm/mach-imx/mach-cpuimx27.c
arch/arm/mach-imx/mach-cpuimx35.c
arch/arm/mach-imx/mach-cpuimx51sd.c
arch/arm/mach-imx/mach-eukrea_cpuimx25.c
arch/arm/mach-imx/mach-imx27_visstrim_m10.c
arch/arm/mach-imx/mach-imx27ipcam.c
arch/arm/mach-imx/mach-imx27lite.c
arch/arm/mach-imx/mach-imx53.c
arch/arm/mach-imx/mach-imx6q.c
arch/arm/mach-imx/mach-kzm_arm11_01.c
arch/arm/mach-imx/mach-mx1ads.c
arch/arm/mach-imx/mach-mx21ads.c
arch/arm/mach-imx/mach-mx25_3ds.c
arch/arm/mach-imx/mach-mx27_3ds.c
arch/arm/mach-imx/mach-mx27ads.c
arch/arm/mach-imx/mach-mx31_3ds.c
arch/arm/mach-imx/mach-mx31ads.c
arch/arm/mach-imx/mach-mx31lilly.c
arch/arm/mach-imx/mach-mx31lite.c
arch/arm/mach-imx/mach-mx31moboard.c
arch/arm/mach-imx/mach-mx35_3ds.c
arch/arm/mach-imx/mach-mx50_rdp.c
arch/arm/mach-imx/mach-mx51_3ds.c
arch/arm/mach-imx/mach-mx51_babbage.c
arch/arm/mach-imx/mach-mxt_td60.c
arch/arm/mach-imx/mach-pca100.c
arch/arm/mach-imx/mach-pcm037.c
arch/arm/mach-imx/mach-pcm038.c
arch/arm/mach-imx/mach-pcm043.c
arch/arm/mach-imx/mach-qong.c
arch/arm/mach-imx/mach-scb9328.c
arch/arm/mach-imx/mach-vpr200.c
arch/arm/mach-integrator/integrator_ap.c
arch/arm/mach-integrator/integrator_cp.c
arch/arm/mach-iop13xx/iq81340mc.c
arch/arm/mach-iop13xx/iq81340sc.c
arch/arm/mach-iop32x/em7210.c
arch/arm/mach-iop32x/glantank.c
arch/arm/mach-iop32x/iq31244.c
arch/arm/mach-iop32x/iq80321.c
arch/arm/mach-iop32x/n2100.c
arch/arm/mach-iop33x/iq80331.c
arch/arm/mach-iop33x/iq80332.c
arch/arm/mach-ixp4xx/avila-setup.c
arch/arm/mach-ixp4xx/common.c
arch/arm/mach-ixp4xx/coyote-setup.c
arch/arm/mach-ixp4xx/dsmg600-setup.c
arch/arm/mach-ixp4xx/fsg-setup.c
arch/arm/mach-ixp4xx/gateway7001-setup.c
arch/arm/mach-ixp4xx/goramo_mlr.c
arch/arm/mach-ixp4xx/gtwx5715-setup.c
arch/arm/mach-ixp4xx/include/mach/platform.h
arch/arm/mach-ixp4xx/ixdp425-setup.c
arch/arm/mach-ixp4xx/nas100d-setup.c
arch/arm/mach-ixp4xx/nslu2-setup.c
arch/arm/mach-ixp4xx/omixp-setup.c
arch/arm/mach-ixp4xx/vulcan-setup.c
arch/arm/mach-ixp4xx/wg302v2-setup.c
arch/arm/mach-kirkwood/board-dt.c
arch/arm/mach-kirkwood/common.c
arch/arm/mach-kirkwood/common.h
arch/arm/mach-kirkwood/d2net_v2-setup.c
arch/arm/mach-kirkwood/db88f6281-bp-setup.c
arch/arm/mach-kirkwood/dockstar-setup.c
arch/arm/mach-kirkwood/guruplug-setup.c
arch/arm/mach-kirkwood/mv88f6281gtw_ge-setup.c
arch/arm/mach-kirkwood/netspace_v2-setup.c
arch/arm/mach-kirkwood/netxbig_v2-setup.c
arch/arm/mach-kirkwood/openrd-setup.c
arch/arm/mach-kirkwood/rd88f6192-nas-setup.c
arch/arm/mach-kirkwood/rd88f6281-setup.c
arch/arm/mach-kirkwood/sheevaplug-setup.c
arch/arm/mach-kirkwood/t5325-setup.c
arch/arm/mach-kirkwood/ts219-setup.c
arch/arm/mach-kirkwood/ts41x-setup.c
arch/arm/mach-ks8695/board-acs5k.c
arch/arm/mach-ks8695/board-dsm320.c
arch/arm/mach-ks8695/board-micrel.c
arch/arm/mach-ks8695/board-og.c
arch/arm/mach-ks8695/board-sg.c
arch/arm/mach-ks8695/generic.h
arch/arm/mach-ks8695/time.c
arch/arm/mach-lpc32xx/common.h
arch/arm/mach-lpc32xx/phy3250.c
arch/arm/mach-lpc32xx/timer.c
arch/arm/mach-mmp/aspenite.c
arch/arm/mach-mmp/avengers_lite.c
arch/arm/mach-mmp/brownstone.c
arch/arm/mach-mmp/common.h
arch/arm/mach-mmp/flint.c
arch/arm/mach-mmp/gplugd.c
arch/arm/mach-mmp/include/mach/mmp2.h
arch/arm/mach-mmp/include/mach/pxa168.h
arch/arm/mach-mmp/include/mach/pxa910.h
arch/arm/mach-mmp/jasper.c
arch/arm/mach-mmp/mmp-dt.c
arch/arm/mach-mmp/mmp2-dt.c
arch/arm/mach-mmp/mmp2.c
arch/arm/mach-mmp/pxa168.c
arch/arm/mach-mmp/pxa910.c
arch/arm/mach-mmp/tavorevb.c
arch/arm/mach-mmp/teton_bga.c
arch/arm/mach-mmp/ttc_dkb.c
arch/arm/mach-msm/board-dt-8660.c
arch/arm/mach-msm/board-dt-8960.c
arch/arm/mach-msm/board-halibut.c
arch/arm/mach-msm/board-mahimahi.c
arch/arm/mach-msm/board-msm7x30.c
arch/arm/mach-msm/board-qsd8x50.c
arch/arm/mach-msm/board-sapphire.c
arch/arm/mach-msm/board-trout.c
arch/arm/mach-msm/common.h
arch/arm/mach-msm/timer.c
arch/arm/mach-mv78xx0/buffalo-wxl-setup.c
arch/arm/mach-mv78xx0/common.c
arch/arm/mach-mv78xx0/common.h
arch/arm/mach-mv78xx0/db78x00-bp-setup.c
arch/arm/mach-mv78xx0/rd78x00-masa-setup.c
arch/arm/mach-mvebu/armada-370-xp.c
arch/arm/mach-mxs/mach-mxs.c
arch/arm/mach-netx/generic.h
arch/arm/mach-netx/nxdb500.c
arch/arm/mach-netx/nxdkn.c
arch/arm/mach-netx/nxeb500hmi.c
arch/arm/mach-netx/time.c
arch/arm/mach-nomadik/board-nhk8815.c
arch/arm/mach-omap1/board-ams-delta.c
arch/arm/mach-omap1/board-fsample.c
arch/arm/mach-omap1/board-generic.c
arch/arm/mach-omap1/board-h2.c
arch/arm/mach-omap1/board-h3.c
arch/arm/mach-omap1/board-htcherald.c
arch/arm/mach-omap1/board-innovator.c
arch/arm/mach-omap1/board-nokia770.c
arch/arm/mach-omap1/board-osk.c
arch/arm/mach-omap1/board-palmte.c
arch/arm/mach-omap1/board-palmtt.c
arch/arm/mach-omap1/board-palmz71.c
arch/arm/mach-omap1/board-perseus2.c
arch/arm/mach-omap1/board-sx1.c
arch/arm/mach-omap1/board-voiceblue.c
arch/arm/mach-omap1/common.h
arch/arm/mach-omap1/time.c
arch/arm/mach-omap2/board-2430sdp.c
arch/arm/mach-omap2/board-3430sdp.c
arch/arm/mach-omap2/board-3630sdp.c
arch/arm/mach-omap2/board-4430sdp.c
arch/arm/mach-omap2/board-am3517crane.c
arch/arm/mach-omap2/board-am3517evm.c
arch/arm/mach-omap2/board-apollon.c
arch/arm/mach-omap2/board-cm-t35.c
arch/arm/mach-omap2/board-cm-t3517.c
arch/arm/mach-omap2/board-devkit8000.c
arch/arm/mach-omap2/board-generic.c
arch/arm/mach-omap2/board-h4.c
arch/arm/mach-omap2/board-igep0020.c
arch/arm/mach-omap2/board-ldp.c
arch/arm/mach-omap2/board-n8x0.c
arch/arm/mach-omap2/board-omap3beagle.c
arch/arm/mach-omap2/board-omap3evm.c
arch/arm/mach-omap2/board-omap3logic.c
arch/arm/mach-omap2/board-omap3pandora.c
arch/arm/mach-omap2/board-omap3stalker.c
arch/arm/mach-omap2/board-omap3touchbook.c
arch/arm/mach-omap2/board-omap4panda.c
arch/arm/mach-omap2/board-overo.c
arch/arm/mach-omap2/board-rm680.c
arch/arm/mach-omap2/board-rx51.c
arch/arm/mach-omap2/board-ti8168evm.c
arch/arm/mach-omap2/board-zoom.c
arch/arm/mach-omap2/common.h
arch/arm/mach-omap2/timer.c
arch/arm/mach-orion5x/board-dt.c
arch/arm/mach-orion5x/common.c
arch/arm/mach-orion5x/common.h
arch/arm/mach-orion5x/d2net-setup.c
arch/arm/mach-orion5x/db88f5281-setup.c
arch/arm/mach-orion5x/dns323-setup.c
arch/arm/mach-orion5x/kurobox_pro-setup.c
arch/arm/mach-orion5x/ls-chl-setup.c
arch/arm/mach-orion5x/ls_hgl-setup.c
arch/arm/mach-orion5x/lsmini-setup.c
arch/arm/mach-orion5x/mss2-setup.c
arch/arm/mach-orion5x/mv2120-setup.c
arch/arm/mach-orion5x/net2big-setup.c
arch/arm/mach-orion5x/rd88f5181l-fxo-setup.c
arch/arm/mach-orion5x/rd88f5181l-ge-setup.c
arch/arm/mach-orion5x/rd88f5182-setup.c
arch/arm/mach-orion5x/rd88f6183ap-ge-setup.c
arch/arm/mach-orion5x/terastation_pro2-setup.c
arch/arm/mach-orion5x/ts209-setup.c
arch/arm/mach-orion5x/ts409-setup.c
arch/arm/mach-orion5x/ts78xx-setup.c
arch/arm/mach-orion5x/wnr854t-setup.c
arch/arm/mach-orion5x/wrt350n-v2-setup.c
arch/arm/mach-picoxcell/common.c
arch/arm/mach-picoxcell/common.h
arch/arm/mach-prima2/common.c
arch/arm/mach-prima2/common.h
arch/arm/mach-prima2/timer.c
arch/arm/mach-pxa/balloon3.c
arch/arm/mach-pxa/capc7117.c
arch/arm/mach-pxa/cm-x2xx.c
arch/arm/mach-pxa/cm-x300.c
arch/arm/mach-pxa/colibri-pxa270.c
arch/arm/mach-pxa/colibri-pxa300.c
arch/arm/mach-pxa/colibri-pxa320.c
arch/arm/mach-pxa/corgi.c
arch/arm/mach-pxa/csb726.c
arch/arm/mach-pxa/em-x270.c
arch/arm/mach-pxa/eseries.c
arch/arm/mach-pxa/ezx.c
arch/arm/mach-pxa/generic.h
arch/arm/mach-pxa/gumstix.c
arch/arm/mach-pxa/h5000.c
arch/arm/mach-pxa/himalaya.c
arch/arm/mach-pxa/hx4700.c
arch/arm/mach-pxa/icontrol.c
arch/arm/mach-pxa/idp.c
arch/arm/mach-pxa/littleton.c
arch/arm/mach-pxa/lpd270.c
arch/arm/mach-pxa/lubbock.c
arch/arm/mach-pxa/magician.c
arch/arm/mach-pxa/mainstone.c
arch/arm/mach-pxa/mioa701.c
arch/arm/mach-pxa/mp900.c
arch/arm/mach-pxa/palmld.c
arch/arm/mach-pxa/palmt5.c
arch/arm/mach-pxa/palmtc.c
arch/arm/mach-pxa/palmte2.c
arch/arm/mach-pxa/palmtreo.c
arch/arm/mach-pxa/palmtx.c
arch/arm/mach-pxa/palmz72.c
arch/arm/mach-pxa/pcm027.c
arch/arm/mach-pxa/poodle.c
arch/arm/mach-pxa/pxa-dt.c
arch/arm/mach-pxa/raumfeld.c
arch/arm/mach-pxa/saar.c
arch/arm/mach-pxa/spitz.c
arch/arm/mach-pxa/stargate2.c
arch/arm/mach-pxa/tavorevb.c
arch/arm/mach-pxa/time.c
arch/arm/mach-pxa/tosa.c
arch/arm/mach-pxa/trizeps4.c
arch/arm/mach-pxa/viper.c
arch/arm/mach-pxa/vpac270.c
arch/arm/mach-pxa/xcep.c
arch/arm/mach-pxa/z2.c
arch/arm/mach-pxa/zeus.c
arch/arm/mach-pxa/zylonite.c
arch/arm/mach-realview/realview_eb.c
arch/arm/mach-realview/realview_pb1176.c
arch/arm/mach-realview/realview_pb11mp.c
arch/arm/mach-realview/realview_pba8.c
arch/arm/mach-realview/realview_pbx.c
arch/arm/mach-rpc/riscpc.c
arch/arm/mach-rpc/time.c
arch/arm/mach-s3c24xx/mach-amlm5900.c
arch/arm/mach-s3c24xx/mach-anubis.c
arch/arm/mach-s3c24xx/mach-at2440evb.c
arch/arm/mach-s3c24xx/mach-bast.c
arch/arm/mach-s3c24xx/mach-gta02.c
arch/arm/mach-s3c24xx/mach-h1940.c
arch/arm/mach-s3c24xx/mach-jive.c
arch/arm/mach-s3c24xx/mach-mini2440.c
arch/arm/mach-s3c24xx/mach-n30.c
arch/arm/mach-s3c24xx/mach-nexcoder.c
arch/arm/mach-s3c24xx/mach-osiris.c
arch/arm/mach-s3c24xx/mach-otom.c
arch/arm/mach-s3c24xx/mach-qt2410.c
arch/arm/mach-s3c24xx/mach-rx1950.c
arch/arm/mach-s3c24xx/mach-rx3715.c
arch/arm/mach-s3c24xx/mach-smdk2410.c
arch/arm/mach-s3c24xx/mach-smdk2413.c
arch/arm/mach-s3c24xx/mach-smdk2416.c
arch/arm/mach-s3c24xx/mach-smdk2440.c
arch/arm/mach-s3c24xx/mach-smdk2443.c
arch/arm/mach-s3c24xx/mach-tct_hammer.c
arch/arm/mach-s3c24xx/mach-vr1000.c
arch/arm/mach-s3c24xx/mach-vstms.c
arch/arm/mach-s3c64xx/mach-anw6410.c
arch/arm/mach-s3c64xx/mach-crag6410.c
arch/arm/mach-s3c64xx/mach-hmt.c
arch/arm/mach-s3c64xx/mach-mini6410.c
arch/arm/mach-s3c64xx/mach-ncp.c
arch/arm/mach-s3c64xx/mach-real6410.c
arch/arm/mach-s3c64xx/mach-smartq5.c
arch/arm/mach-s3c64xx/mach-smartq7.c
arch/arm/mach-s3c64xx/mach-smdk6400.c
arch/arm/mach-s3c64xx/mach-smdk6410.c
arch/arm/mach-s5p64x0/mach-smdk6440.c
arch/arm/mach-s5p64x0/mach-smdk6450.c
arch/arm/mach-s5pc100/mach-smdkc100.c
arch/arm/mach-s5pv210/mach-aquila.c
arch/arm/mach-s5pv210/mach-goni.c
arch/arm/mach-s5pv210/mach-smdkc110.c
arch/arm/mach-s5pv210/mach-smdkv210.c
arch/arm/mach-s5pv210/mach-torbreck.c
arch/arm/mach-sa1100/assabet.c
arch/arm/mach-sa1100/badge4.c
arch/arm/mach-sa1100/cerf.c
arch/arm/mach-sa1100/collie.c
arch/arm/mach-sa1100/generic.h
arch/arm/mach-sa1100/h3100.c
arch/arm/mach-sa1100/h3600.c
arch/arm/mach-sa1100/hackkit.c
arch/arm/mach-sa1100/jornada720.c
arch/arm/mach-sa1100/lart.c
arch/arm/mach-sa1100/nanoengine.c
arch/arm/mach-sa1100/pleb.c
arch/arm/mach-sa1100/shannon.c
arch/arm/mach-sa1100/simpad.c
arch/arm/mach-sa1100/time.c
arch/arm/mach-shark/core.c
arch/arm/mach-shmobile/board-ag5evm.c
arch/arm/mach-shmobile/board-ap4evb.c
arch/arm/mach-shmobile/board-armadillo800eva.c
arch/arm/mach-shmobile/board-bonito.c
arch/arm/mach-shmobile/board-kota2.c
arch/arm/mach-shmobile/board-kzm9d.c
arch/arm/mach-shmobile/board-kzm9g.c
arch/arm/mach-shmobile/board-mackerel.c
arch/arm/mach-shmobile/board-marzen.c
arch/arm/mach-shmobile/include/mach/common.h
arch/arm/mach-shmobile/setup-emev2.c
arch/arm/mach-shmobile/setup-r8a7740.c
arch/arm/mach-shmobile/setup-r8a7779.c
arch/arm/mach-shmobile/setup-sh7372.c
arch/arm/mach-shmobile/setup-sh73a0.c
arch/arm/mach-shmobile/timer.c
arch/arm/mach-socfpga/socfpga.c
arch/arm/mach-spear13xx/include/mach/generic.h
arch/arm/mach-spear13xx/spear1310.c
arch/arm/mach-spear13xx/spear1340.c
arch/arm/mach-spear13xx/spear13xx.c
arch/arm/mach-spear3xx/include/mach/generic.h
arch/arm/mach-spear3xx/spear300.c
arch/arm/mach-spear3xx/spear310.c
arch/arm/mach-spear3xx/spear320.c
arch/arm/mach-spear3xx/spear3xx.c
arch/arm/mach-spear6xx/spear6xx.c
arch/arm/mach-tegra/board-dt-tegra20.c
arch/arm/mach-tegra/board-dt-tegra30.c
arch/arm/mach-tegra/board.h
arch/arm/mach-tegra/timer.c
arch/arm/mach-u300/core.c
arch/arm/mach-u300/timer.c
arch/arm/mach-u300/timer.h
arch/arm/mach-ux500/board-mop500.c
arch/arm/mach-ux500/cpu-db8500.c
arch/arm/mach-ux500/include/mach/setup.h
arch/arm/mach-ux500/timer.c
arch/arm/mach-versatile/core.c
arch/arm/mach-versatile/core.h
arch/arm/mach-versatile/versatile_ab.c
arch/arm/mach-versatile/versatile_dt.c
arch/arm/mach-versatile/versatile_pb.c
arch/arm/mach-vexpress/v2m.c
arch/arm/mach-vt8500/vt8500.c
arch/arm/mach-w90x900/mach-nuc910evb.c
arch/arm/mach-w90x900/mach-nuc950evb.c
arch/arm/mach-w90x900/mach-nuc960evb.c
arch/arm/mach-w90x900/nuc9xx.h
arch/arm/mach-w90x900/time.c
arch/arm/mach-zynq/common.c
arch/arm/plat-samsung/include/plat/cpu.h
arch/arm/plat-samsung/include/plat/s5p-time.h
arch/arm/plat-samsung/s5p-time.c
arch/arm/plat-samsung/time.c
arch/blackfin/kernel/time.c
arch/cris/arch-v10/kernel/time.c
arch/cris/kernel/time.c
arch/m32r/kernel/time.c
arch/m68k/amiga/config.c
arch/m68k/apollo/config.c
arch/m68k/atari/config.c
arch/m68k/atari/time.c
arch/m68k/bvme6000/config.c
arch/m68k/hp300/config.c
arch/m68k/hp300/time.c
arch/m68k/hp300/time.h
arch/m68k/include/asm/machdep.h
arch/m68k/kernel/setup_mm.c
arch/m68k/kernel/time.c
arch/m68k/mac/config.c
arch/m68k/mac/via.c
arch/m68k/mvme147/config.c
arch/m68k/mvme16x/config.c
arch/m68k/q40/config.c
arch/m68k/sun3/config.c
arch/m68k/sun3/intersil.c
arch/m68k/sun3x/config.c
arch/m68k/sun3x/time.c
arch/m68k/sun3x/time.h
drivers/clocksource/bcm2835_timer.c
drivers/clocksource/dw_apb_timer_of.c
drivers/clocksource/nomadik-mtu.c
drivers/clocksource/sunxi_timer.c
include/linux/bcm2835_timer.h
include/linux/dw_apb_timer.h
include/linux/sunxi_timer.h
include/linux/time.h
kernel/time/timekeeping.c

index 917d4fcfd9b4a9512bc26ba9539e5994154e6728..308ad7d6f98b77098dd3c831b8831f9731f49211 100644 (file)
@@ -12,7 +12,6 @@
 
 struct tag;
 struct meminfo;
-struct sys_timer;
 struct pt_regs;
 struct smp_operations;
 #ifdef CONFIG_SMP
@@ -48,7 +47,7 @@ struct machine_desc {
        void                    (*map_io)(void);/* IO mapping function  */
        void                    (*init_early)(void);
        void                    (*init_irq)(void);
-       struct sys_timer        *timer;         /* system tick timer    */
+       void                    (*init_time)(void);
        void                    (*init_machine)(void);
        void                    (*init_late)(void);
 #ifdef CONFIG_MULTI_IRQ_HANDLER
index 6ca945f534ab16ac9159fec794b9b2bcd5e3b87f..90c12e1e695c97682c229174a975bb6fdb97403e 100644 (file)
 #ifndef __ASM_ARM_MACH_TIME_H
 #define __ASM_ARM_MACH_TIME_H
 
-/*
- * This is our kernel timer structure.
- *
- * - init
- *   Initialise the kernels jiffy timer source, claim interrupt
- *   using setup_irq.  This is called early on during initialisation
- *   while interrupts are still disabled on the local CPU.
- * - suspend
- *   Suspend the kernel jiffy timer source, if necessary.  This
- *   is called with interrupts disabled, after all normal devices
- *   have been suspended.  If no action is required, set this to
- *   NULL.
- * - resume
- *   Resume the kernel jiffy timer source, if necessary.  This
- *   is called with interrupts disabled before any normal devices
- *   are resumed.  If no action is required, set this to NULL.
- * - offset
- *   Return the timer offset in microseconds since the last timer
- *   interrupt.  Note: this must take account of any unprocessed
- *   timer interrupt which may be pending.
- */
-struct sys_timer {
-       void                    (*init)(void);
-       void                    (*suspend)(void);
-       void                    (*resume)(void);
-#ifdef CONFIG_ARCH_USES_GETTIMEOFFSET
-       unsigned long           (*offset)(void);
-#endif
-};
-
 extern void timer_tick(void);
 
 struct timespec;
index 09be0c3c906965822d206b4268a97fbe275bc5f8..955d92d265e5d9496289ed7613bdd6ceffba04d7 100644 (file)
@@ -21,7 +21,6 @@
 #include <linux/timex.h>
 #include <linux/errno.h>
 #include <linux/profile.h>
-#include <linux/syscore_ops.h>
 #include <linux/timer.h>
 #include <linux/irq.h>
 
 #include <asm/mach/arch.h>
 #include <asm/mach/time.h>
 
-/*
- * Our system timer.
- */
-static struct sys_timer *system_timer;
-
 #if defined(CONFIG_RTC_DRV_CMOS) || defined(CONFIG_RTC_DRV_CMOS_MODULE) || \
     defined(CONFIG_NVRAM) || defined(CONFIG_NVRAM_MODULE)
 /* this needs a better home */
@@ -69,16 +63,6 @@ unsigned long profile_pc(struct pt_regs *regs)
 EXPORT_SYMBOL(profile_pc);
 #endif
 
-#ifdef CONFIG_ARCH_USES_GETTIMEOFFSET
-u32 arch_gettimeoffset(void)
-{
-       if (system_timer->offset != NULL)
-               return system_timer->offset() * 1000;
-
-       return 0;
-}
-#endif /* CONFIG_ARCH_USES_GETTIMEOFFSET */
-
 #ifndef CONFIG_GENERIC_CLOCKEVENTS
 /*
  * Kernel system timer support.
@@ -129,43 +113,8 @@ int __init register_persistent_clock(clock_access_fn read_boot,
        return -EINVAL;
 }
 
-#if defined(CONFIG_PM) && !defined(CONFIG_GENERIC_CLOCKEVENTS)
-static int timer_suspend(void)
-{
-       if (system_timer->suspend)
-               system_timer->suspend();
-
-       return 0;
-}
-
-static void timer_resume(void)
-{
-       if (system_timer->resume)
-               system_timer->resume();
-}
-#else
-#define timer_suspend NULL
-#define timer_resume NULL
-#endif
-
-static struct syscore_ops timer_syscore_ops = {
-       .suspend        = timer_suspend,
-       .resume         = timer_resume,
-};
-
-static int __init timer_init_syscore_ops(void)
-{
-       register_syscore_ops(&timer_syscore_ops);
-
-       return 0;
-}
-
-device_initcall(timer_init_syscore_ops);
-
 void __init time_init(void)
 {
-       system_timer = machine_desc->timer;
-       system_timer->init();
+       machine_desc->init_time();
        sched_clock_postinit();
 }
-
index cafe98836c8a7979703874a729ce22d6ae3eec86..180b3024bec3ab36cc2d7cdb62e92d7b2298d297 100644 (file)
@@ -274,8 +274,3 @@ void __init at91rm9200_timer_init(void)
        /* register clocksource */
        clocksource_register_hz(&clk32k, AT91_SLOW_CLOCK);
 }
-
-struct sys_timer at91rm9200_timer = {
-       .init           = at91rm9200_timer_init,
-};
-
index 358412f1f5f80992c967c9af3333f5f0f9bed7e6..3a4bc2e1a65e73d3b2187f90f6b84a43e7ec6468 100644 (file)
@@ -104,12 +104,38 @@ pit_clkevt_mode(enum clock_event_mode mode, struct clock_event_device *dev)
        }
 }
 
+static void at91sam926x_pit_suspend(struct clock_event_device *cedev)
+{
+       /* Disable timer */
+       pit_write(AT91_PIT_MR, 0);
+}
+
+static void at91sam926x_pit_reset(void)
+{
+       /* Disable timer and irqs */
+       pit_write(AT91_PIT_MR, 0);
+
+       /* Clear any pending interrupts, wait for PIT to stop counting */
+       while (PIT_CPIV(pit_read(AT91_PIT_PIVR)) != 0)
+               cpu_relax();
+
+       /* Start PIT but don't enable IRQ */
+       pit_write(AT91_PIT_MR, (pit_cycle - 1) | AT91_PIT_PITEN);
+}
+
+static void at91sam926x_pit_resume(struct clock_event_device *cedev)
+{
+       at91sam926x_pit_reset();
+}
+
 static struct clock_event_device pit_clkevt = {
        .name           = "pit",
        .features       = CLOCK_EVT_FEAT_PERIODIC,
        .shift          = 32,
        .rating         = 100,
        .set_mode       = pit_clkevt_mode,
+       .suspend        = at91sam926x_pit_suspend,
+       .resume         = at91sam926x_pit_resume,
 };
 
 
@@ -150,19 +176,6 @@ static struct irqaction at91sam926x_pit_irq = {
        .irq            = NR_IRQS_LEGACY + AT91_ID_SYS,
 };
 
-static void at91sam926x_pit_reset(void)
-{
-       /* Disable timer and irqs */
-       pit_write(AT91_PIT_MR, 0);
-
-       /* Clear any pending interrupts, wait for PIT to stop counting */
-       while (PIT_CPIV(pit_read(AT91_PIT_PIVR)) != 0)
-               cpu_relax();
-
-       /* Start PIT but don't enable IRQ */
-       pit_write(AT91_PIT_MR, (pit_cycle - 1) | AT91_PIT_PITEN);
-}
-
 #ifdef CONFIG_OF
 static struct of_device_id pit_timer_ids[] = {
        { .compatible = "atmel,at91sam9260-pit" },
@@ -211,7 +224,7 @@ static int __init of_at91sam926x_pit_init(void)
 /*
  * Set up both clocksource and clockevent support.
  */
-static void __init at91sam926x_pit_init(void)
+void __init at91sam926x_pit_init(void)
 {
        unsigned long   pit_rate;
        unsigned        bits;
@@ -250,12 +263,6 @@ static void __init at91sam926x_pit_init(void)
        clockevents_register_device(&pit_clkevt);
 }
 
-static void at91sam926x_pit_suspend(void)
-{
-       /* Disable timer */
-       pit_write(AT91_PIT_MR, 0);
-}
-
 void __init at91sam926x_ioremap_pit(u32 addr)
 {
 #if defined(CONFIG_OF)
@@ -272,9 +279,3 @@ void __init at91sam926x_ioremap_pit(u32 addr)
        if (!pit_base_addr)
                panic("Impossible to ioremap PIT\n");
 }
-
-struct sys_timer at91sam926x_timer = {
-       .init           = at91sam926x_pit_init,
-       .suspend        = at91sam926x_pit_suspend,
-       .resume         = at91sam926x_pit_reset,
-};
index 0e57e440c061b586c496f6ac72b644313e7a5107..0c07a4459cb2e13d70d313c4722862beb444bedd 100644 (file)
 #define        AT91_TC_CLK1BASE        0x40
 #define        AT91_TC_CLK2BASE        0x80
 
-static unsigned long at91x40_gettimeoffset(void)
+static u32 at91x40_gettimeoffset(void)
 {
-       return (at91_tc_read(AT91_TC_CLK1BASE + AT91_TC_CV) * 1000000 / (AT91X40_MASTER_CLOCK / 128));
+       return (at91_tc_read(AT91_TC_CLK1BASE + AT91_TC_CV) * 1000000 /
+               (AT91X40_MASTER_CLOCK / 128)) * 1000;
 }
 
 static irqreturn_t at91x40_timer_interrupt(int irq, void *dev_id)
@@ -64,6 +65,8 @@ void __init at91x40_timer_init(void)
 {
        unsigned int v;
 
+       arch_gettimeoffset = at91x40_gettimeoffset;
+
        at91_tc_write(AT91_TC_BCR, 0);
        v = at91_tc_read(AT91_TC_BMR);
        v = (v & ~AT91_TC_TC1XC1S) | AT91_TC_TC1XC1S_NONE;
@@ -79,9 +82,3 @@ void __init at91x40_timer_init(void)
 
        at91_tc_write(AT91_TC_CLK1BASE + AT91_TC_CCR, (AT91_TC_SWTRG | AT91_TC_CLKEN));
 }
-
-struct sys_timer at91x40_timer = {
-       .init   = at91x40_timer_init,
-       .offset = at91x40_gettimeoffset,
-};
-
index b99b5752cc10a3e4f7e1b029b2f98f6066aeb656..35ab632bbf68a169f5e2b1671d7ba79506ccffae 100644 (file)
@@ -90,7 +90,7 @@ static void __init onearm_board_init(void)
 
 MACHINE_START(ONEARM, "Ajeco 1ARM single board computer")
        /* Maintainer: Lennert Buytenhek <buytenh@wantstofly.org> */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = onearm_init_early,
index 854b9797428754908ae0cd4d8af6b42f64320d59..f95e31cda4b33ac1de9101991ea8556167697619 100644 (file)
@@ -210,7 +210,7 @@ static void __init afeb9260_board_init(void)
 
 MACHINE_START(AFEB9260, "Custom afeb9260 board")
        /* Maintainer: Sergey Lapin <slapin@ossfans.org> */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = afeb9260_init_early,
index 28a18ce6d9143d5df3f20eb11e83e55a6a6bf60e..ade948b8266272d9ee1cadf85e713a4e5d1632c1 100644 (file)
@@ -187,7 +187,7 @@ static void __init cam60_board_init(void)
 
 MACHINE_START(CAM60, "KwikByte CAM60")
        /* Maintainer: KwikByte */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = cam60_init_early,
index c17bb533a94995f89f2eada76244f8040228000d..92983050a9bd2bc78e7ec12f5f69045d18777d7a 100644 (file)
@@ -157,7 +157,7 @@ static void __init carmeva_board_init(void)
 
 MACHINE_START(CARMEVA, "Carmeva")
        /* Maintainer: Conitec Datasystems */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = carmeva_init_early,
index 847432441ecc56d628d722a1be28b970766603b0..008527efdbcf6af4d05b56311e3a9678f486c819 100644 (file)
@@ -374,7 +374,7 @@ MACHINE_START(CPUAT9260, "Eukrea CPU9260")
 MACHINE_START(CPUAT9G20, "Eukrea CPU9G20")
 #endif
        /* Maintainer: Eric Benard - EUKREA Electromatique */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = cpu9krea_init_early,
index 2a7af7868747c1ad72722e93e42bef1b940be889..42f1353a4bafe5566a9c705640b6e210d18e43ac 100644 (file)
@@ -178,7 +178,7 @@ static void __init cpuat91_board_init(void)
 
 MACHINE_START(CPUAT91, "Eukrea")
        /* Maintainer: Eric Benard - EUKREA Electromatique */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = cpuat91_init_early,
index 48a531e05be3995cd6fce2a31535e8d1d473ed46..e5fde215225b2d245dbe419cab59cf8cfdd8210b 100644 (file)
@@ -251,7 +251,7 @@ static void __init csb337_board_init(void)
 
 MACHINE_START(CSB337, "Cogent CSB337")
        /* Maintainer: Bill Gatliff */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = csb337_init_early,
index ec0f3abd504b796fe752e7db210ef456eb4e99d7..fdf11061c577585d15297ff12595ba65888e9e10 100644 (file)
@@ -132,7 +132,7 @@ static void __init csb637_board_init(void)
 
 MACHINE_START(CSB637, "Cogent CSB637")
        /* Maintainer: Bill Gatliff */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = csb637_init_early,
index 881170ce61dd2dd47d2ce7f04d7e9a61d88a7638..8db30132abed165dc0c52737895789e532ee24a1 100644 (file)
@@ -49,7 +49,7 @@ static const char *at91_dt_board_compat[] __initdata = {
 
 DT_MACHINE_START(at91sam_dt, "Atmel AT91SAM (Device Tree)")
        /* Maintainer: Atmel */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = at91_dt_initialize,
index b489388a6f84e24483eacd63038aa448316968be..becf0a6a289e8a60d573ef01b684431ec6661946 100644 (file)
@@ -44,7 +44,7 @@ static void __init at91eb01_init_early(void)
 
 MACHINE_START(AT91EB01, "Atmel AT91 EB01")
        /* Maintainer: Greg Ungerer <gerg@snapgear.com> */
-       .timer          = &at91x40_timer,
+       .init_time      = at91x40_timer_init,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = at91eb01_init_early,
        .init_irq       = at91eb01_init_irq,
index 9f5e71c95f054b8977cb6e47a61bd9165661e871..f9be8161bbfafab9ace4dcfc5e74978c06f8a2c8 100644 (file)
@@ -116,7 +116,7 @@ static void __init eb9200_board_init(void)
 }
 
 MACHINE_START(ATEB9200, "Embest ATEB9200")
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = eb9200_init_early,
index ef69e0ebe949e77c98b6b573645c808a4d7c0c42..b2fcd71262ba2c8c7e4ed72e8913b66e35b09a16 100644 (file)
@@ -181,7 +181,7 @@ static void __init ecb_at91board_init(void)
 
 MACHINE_START(ECBAT91, "emQbit's ECB_AT91")
        /* Maintainer: emQbit.com */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ecb_at91init_early,
index 50f3d3795c057205f8b9068954fd7b9bac88766d..77de410efc90a94a5f2ba20eb68f28d9b88699ce 100644 (file)
@@ -149,7 +149,7 @@ static void __init eco920_board_init(void)
 
 MACHINE_START(ECO920, "eco920")
        /* Maintainer: Sascha Hauer */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = eco920_init_early,
index 5d44eba0f20fd980329d18cee8b97f98643d9c24..737c08563628ef40ce68020b8f2f9d56ba8e918a 100644 (file)
@@ -159,7 +159,7 @@ static void __init flexibity_board_init(void)
 
 MACHINE_START(FLEXIBITY, "Flexibity Connect")
        /* Maintainer: Maxim Osipov */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = flexibity_init_early,
index 191d37c16babd2ffc231afd50038a82ac0b73153..2ea7059b840bfedc5a156d009c943ee4246340ac 100644 (file)
@@ -261,7 +261,7 @@ static void __init foxg20_board_init(void)
 
 MACHINE_START(ACMENETUSFOXG20, "Acme Systems srl FOX Board G20")
        /* Maintainer: Sergio Tanzilli */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = foxg20_init_early,
index 23a2fa17ab296842937877a2614042442ef94416..c1d61d247790b72fc009547d61bd49a6cc3797a5 100644 (file)
@@ -574,7 +574,7 @@ static void __init gsia18s_board_init(void)
 }
 
 MACHINE_START(GSIA18S, "GS_IA18_S")
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = gsia18s_init_early,
index 9a43d1e1a0377d4ef80fad9f445b46168dd81647..88e2f5d2d16dfca5e301c6ef826019a3786e8c6c 100644 (file)
@@ -103,7 +103,7 @@ static void __init kafa_board_init(void)
 
 MACHINE_START(KAFA, "Sperry-Sun KAFA")
        /* Maintainer: Sergei Sharonov */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = kafa_init_early,
index f168bec2369f94cbba90884716e8592c00a844e2..0c519d9ebffc578c7c740ce7b8d440699648a5a0 100644 (file)
@@ -149,7 +149,7 @@ static void __init kb9202_board_init(void)
 
 MACHINE_START(KB9200, "KB920x")
        /* Maintainer: KwikByte, Inc. */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = kb9202_init_early,
index bc7a1c4a1f6ac401faccd74953cf2d65291235cb..5b4760fe53de4967237d507a8d3417c75009bb87 100644 (file)
@@ -378,7 +378,7 @@ static void __init neocore926_board_init(void)
 
 MACHINE_START(NEOCORE926, "ADENEO NEOCORE 926")
        /* Maintainer: ADENEO */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = neocore926_init_early,
index 0299554495ddb4b2a8cce40aead3827adc0d32d2..65c0d6b5ecba751bc19435083fd7c44162032ff9 100644 (file)
@@ -217,7 +217,7 @@ static void __init pcontrol_g20_board_init(void)
 
 MACHINE_START(PCONTROL_G20, "PControl G20")
        /* Maintainer: pgsellmann@portner-elektronik.at */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = pcontrol_g20_init_early,
index 4938f1cd5e13da8b35a6188d8bf854db71fe789a..ab2b2ec36c14a965bbb67aa31717c9adbe92882f 100644 (file)
@@ -119,7 +119,7 @@ static void __init picotux200_board_init(void)
 
 MACHINE_START(PICOTUX2XX, "picotux 200")
        /* Maintainer: Kleinhenz Elektronik GmbH */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = picotux200_init_early,
index 33b1628467ea4e7a8993c5eed0ecdba28b1101f5..aa3bc9b0f1504b04a84c055490bb9f4ef2b24d84 100644 (file)
@@ -257,7 +257,7 @@ static void __init ek_board_init(void)
 
 MACHINE_START(QIL_A9260, "CALAO QIL_A9260")
        /* Maintainer: calao-systems */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ek_init_early,
index 9e5061bef0d0630a2ecd1028e2f7d9ae641c9e1b..690541b18cbce211b9e9db4ab22efeec590d46ca 100644 (file)
@@ -219,7 +219,7 @@ static void __init dk_board_init(void)
 
 MACHINE_START(AT91RM9200DK, "Atmel AT91RM9200-DK")
        /* Maintainer: SAN People/Atmel */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = dk_init_early,
index 58277dbc718f6cce06f624e3823de7858c814e93..8b17dadc1aba23766c954614fadf894c1dc8ec9d 100644 (file)
@@ -186,7 +186,7 @@ static void __init ek_board_init(void)
 
 MACHINE_START(AT91RM9200EK, "Atmel AT91RM9200-EK")
        /* Maintainer: SAN People/Atmel */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ek_init_early,
index 2e8b8339a206473476c7553da218adf2be408374..f6d7f1958c7e5822661ac6517f48aa4de21a7247 100644 (file)
@@ -222,7 +222,7 @@ static void __init rsi_ews_board_init(void)
 
 MACHINE_START(RSI_EWS, "RSI EWS")
        /* Maintainer: Josef Holzmayr <holzmayr@rsi-elektrotechnik.de> */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = rsi_ews_init_early,
index b75fbf6003a174fbe297a776b14e1645915f5b5c..43ee4dc43b50f8851a423721315a3a7f22b8091d 100644 (file)
@@ -218,7 +218,7 @@ static void __init ek_board_init(void)
 
 MACHINE_START(SAM9_L9260, "Olimex SAM9-L9260")
        /* Maintainer: Olimex */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ek_init_early,
index f0135cd1d8587b9690bd4e6ebba3977961da2368..0b153c87521d8e73feaf6b9bc53291431bc6b7a8 100644 (file)
@@ -343,7 +343,7 @@ static void __init ek_board_init(void)
 
 MACHINE_START(AT91SAM9260EK, "Atmel AT91SAM9260-EK")
        /* Maintainer: Atmel */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ek_init_early,
index 13ebaa8e4100e6c292ae61320cf05eae01f119c0..b446645c772761d28dcf2c7af2a87756142f0285 100644 (file)
@@ -612,7 +612,7 @@ MACHINE_START(AT91SAM9261EK, "Atmel AT91SAM9261-EK")
 MACHINE_START(AT91SAM9G10EK, "Atmel AT91SAM9G10-EK")
 #endif
        /* Maintainer: Atmel */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ek_init_early,
index 89b9608742a725cfc6e5de798cdd3bb9b7811955..3284df05df14be82b8bf7acce98ef090ccf09b56 100644 (file)
@@ -443,7 +443,7 @@ static void __init ek_board_init(void)
 
 MACHINE_START(AT91SAM9263EK, "Atmel AT91SAM9263-EK")
        /* Maintainer: Atmel */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ek_init_early,
index 1b7dd9f688d36b14f772725dbc7c6c079c4d64f9..f9cd1f2c71469f6ee3809981c643aaebdd439d7b 100644 (file)
@@ -409,7 +409,7 @@ static void __init ek_board_init(void)
 
 MACHINE_START(AT91SAM9G20EK, "Atmel AT91SAM9G20-EK")
        /* Maintainer: Atmel */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ek_init_early,
@@ -419,7 +419,7 @@ MACHINE_END
 
 MACHINE_START(AT91SAM9G20EK_2MMC, "Atmel AT91SAM9G20-EK 2 MMC Slot Mod")
        /* Maintainer: Atmel */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ek_init_early,
index e4cc375e3a328669ae12facc3c9c3761eb3a84cc..2a94896a1375029b8eb34e030981480ad35acd10 100644 (file)
@@ -502,7 +502,7 @@ static void __init ek_board_init(void)
 
 MACHINE_START(AT91SAM9M10G45EK, "Atmel AT91SAM9M10G45-EK")
        /* Maintainer: Atmel */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ek_init_early,
index 377a1097afa71dd29b03092294b1797501615873..aa265dcf212875651da778e9213177b7e41803de 100644 (file)
@@ -320,7 +320,7 @@ static void __init ek_board_init(void)
 
 MACHINE_START(AT91SAM9RLEK, "Atmel AT91SAM9RL-EK")
        /* Maintainer: Atmel */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ek_init_early,
index 98771500ddb9737c2caed94d0d595b9d1db94f05..3aaa9784cf0ec1850a1f82e474ab7471c1011650 100644 (file)
@@ -177,7 +177,7 @@ static void __init snapper9260_board_init(void)
 }
 
 MACHINE_START(SNAPPER_9260, "Bluewater Systems Snapper 9260/9G20 module")
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = snapper9260_init_early,
index 48a962b61fa39798ed325b3e8587491c20d56d14..a033b8df9fb2b147965c95a7393958c832180983 100644 (file)
@@ -272,7 +272,7 @@ static void __init stamp9g20evb_board_init(void)
 
 MACHINE_START(PORTUXG20, "taskit PortuxG20")
        /* Maintainer: taskit GmbH */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = stamp9g20_init_early,
@@ -282,7 +282,7 @@ MACHINE_END
 
 MACHINE_START(STAMP9G20, "taskit Stamp9G20")
        /* Maintainer: taskit GmbH */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = stamp9g20_init_early,
index c1060f96e5898a7ae97e5b75ee857031fbaae3e1..2487d944a1bcdbb0ca88c7ef2e240ea65fdce22f 100644 (file)
@@ -355,7 +355,7 @@ static void __init ek_board_init(void)
 
 MACHINE_START(USB_A9263, "CALAO USB_A9263")
        /* Maintainer: calao-systems */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ek_init_early,
@@ -365,7 +365,7 @@ MACHINE_END
 
 MACHINE_START(USB_A9260, "CALAO USB_A9260")
        /* Maintainer: calao-systems */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ek_init_early,
@@ -375,7 +375,7 @@ MACHINE_END
 
 MACHINE_START(USB_A9G20, "CALAO USB_A92G0")
        /* Maintainer: Jean-Christophe PLAGNIOL-VILLARD */
-       .timer          = &at91sam926x_timer,
+       .init_time      = at91sam926x_pit_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = ek_init_early,
index 8673aebcb85d71c17e8dade0222c3866bed0228e..be083771df2e813ba055aa05237bb56aa99d4d86 100644 (file)
@@ -587,7 +587,7 @@ static void __init yl9200_board_init(void)
 
 MACHINE_START(YL9200, "uCdragon YL-9200")
        /* Maintainer: S.Birtles */
-       .timer          = &at91rm9200_timer,
+       .init_time      = at91rm9200_timer_init,
        .map_io         = at91_map_io,
        .handle_irq     = at91_aic_handle_irq,
        .init_early     = yl9200_init_early,
index fc593d615e7d3dee678a1a2f67f6fc446c9aa853..78ab06548658d7eb0c705022053a86f0ccee539f 100644 (file)
@@ -36,12 +36,11 @@ extern int  __init at91_aic5_of_init(struct device_node *node,
 
 
  /* Timer */
-struct sys_timer;
 extern void at91rm9200_ioremap_st(u32 addr);
-extern struct sys_timer at91rm9200_timer;
+extern void at91rm9200_timer_init(void);
 extern void at91sam926x_ioremap_pit(u32 addr);
-extern struct sys_timer at91sam926x_timer;
-extern struct sys_timer at91x40_timer;
+extern void at91sam926x_pit_init(void);
+extern void at91x40_timer_init(void);
 
  /* Clocks */
 #ifdef CONFIG_AT91_PMC_UNIT
index 3a62f1b1cabcbf16cb4886b997bb7eb2e9a2ad21..3df68030cf684360b81e9874b3a97a58b0df86f5 100644 (file)
@@ -31,10 +31,6 @@ static void timer_init(void)
 {
 }
 
-static struct sys_timer timer = {
-       .init = timer_init,
-};
-
 static void __init init_irq(void)
 {
        of_irq_init(irq_match);
@@ -50,7 +46,7 @@ static const char * const bcm11351_dt_compat[] = { "bcm,bcm11351", NULL, };
 
 DT_MACHINE_START(BCM11351_DT, "Broadcom Application Processor")
        .init_irq = init_irq,
-       .timer = &timer,
+       .init_time = timer_init,
        .init_machine = board_init,
        .dt_compat = bcm11351_dt_compat,
        .handle_irq = gic_handle_irq,
index f0d739f4b7a36a3d2e0f9e4781c86568af8a6c09..176d2d24782d7d83b4e3f89719f386f8b51aeefc 100644 (file)
@@ -104,7 +104,7 @@ DT_MACHINE_START(BCM2835, "BCM2835")
        .init_irq = bcm2835_init_irq,
        .handle_irq = bcm2835_handle_irq,
        .init_machine = bcm2835_init,
-       .timer = &bcm2835_timer,
+       .init_time = bcm2835_timer_init,
        .restart = bcm2835_restart,
        .dt_compat = bcm2835_compat
 MACHINE_END
index 3fbf43f725895868a98750294e87eddca33fdd25..f38584709df7738ce629de8b3e063317909f6363 100644 (file)
@@ -170,7 +170,7 @@ MACHINE_START(AUTCPU12, "autronix autcpu12")
        .nr_irqs        = CLPS711X_NR_IRQS,
        .map_io         = clps711x_map_io,
        .init_irq       = clps711x_init_irq,
-       .timer          = &clps711x_timer,
+       .init_time      = clps711x_timer_init,
        .init_machine   = autcpu12_init,
        .init_late      = autcpu12_init_late,
        .handle_irq     = clps711x_handle_irq,
index 60900ddf97c93fa09bc53649298a38cf32743e04..baab7da33c9b62b1351d43ae9be6e953c8fb7446 100644 (file)
@@ -140,7 +140,7 @@ MACHINE_START(CDB89712, "Cirrus-CDB89712")
        .nr_irqs        = CLPS711X_NR_IRQS,
        .map_io         = clps711x_map_io,
        .init_irq       = clps711x_init_irq,
-       .timer          = &clps711x_timer,
+       .init_time      = clps711x_timer_init,
        .init_machine   = cdb89712_init,
        .handle_irq     = clps711x_handle_irq,
        .restart        = clps711x_restart,
index 0b32a487183bb308702b4677686f66ddb3080fdc..014aa3c19a033856aeb4ffa867cc0ed35512169b 100644 (file)
@@ -40,7 +40,7 @@ MACHINE_START(CLEP7212, "Cirrus Logic 7212/7312")
        .fixup          = fixup_clep7312,
        .map_io         = clps711x_map_io,
        .init_irq       = clps711x_init_irq,
-       .timer          = &clps711x_timer,
+       .init_time      = clps711x_timer_init,
        .handle_irq     = clps711x_handle_irq,
        .restart        = clps711x_restart,
 MACHINE_END
index 71aa5cf2c0d37a641f9599b371a5dd993c0d0202..5f928e9ed2efdfd5e665eac6f8e0224dc1c3e3a1 100644 (file)
@@ -173,7 +173,7 @@ MACHINE_START(EDB7211, "CL-EDB7211 (EP7211 eval board)")
        .reserve        = edb7211_reserve,
        .map_io         = edb7211_map_io,
        .init_irq       = clps711x_init_irq,
-       .timer          = &clps711x_timer,
+       .init_time      = clps711x_timer_init,
        .init_machine   = edb7211_init,
        .handle_irq     = clps711x_handle_irq,
        .restart        = clps711x_restart,
index 7d01255803660f84141503b39321aaf551a9b655..c5675efc8c6a0d98cc9834cc20059ec57709c326 100644 (file)
@@ -78,7 +78,7 @@ MACHINE_START(FORTUNET, "ARM-FortuNet")
        .fixup          = fortunet_fixup,
        .map_io         = clps711x_map_io,
        .init_irq       = clps711x_init_irq,
-       .timer          = &clps711x_timer,
+       .init_time      = clps711x_timer_init,
        .handle_irq     = clps711x_handle_irq,
        .restart        = clps711x_restart,
 MACHINE_END
index 1518fc83babd9af2b7efefd1c6ff8fe1170843a8..8d3ee67711356c6da73c701c0e52c47540f370a2 100644 (file)
@@ -224,7 +224,7 @@ MACHINE_START(P720T, "ARM-Prospector720T")
        .map_io         = p720t_map_io,
        .init_early     = p720t_init_early,
        .init_irq       = clps711x_init_irq,
-       .timer          = &clps711x_timer,
+       .init_time      = clps711x_timer_init,
        .init_machine   = p720t_init,
        .init_late      = p720t_init_late,
        .handle_irq     = clps711x_handle_irq,
index e046439573ee366a8fa1df23e4f615388cf96bc1..20ff50f3ccf04afb34361e4e84edbbbfed371601 100644 (file)
@@ -282,7 +282,7 @@ static void add_fixed_clk(struct clk *clk, const char *name, int rate)
        clk_register_clkdev(clk, name, NULL);
 }
 
-static void __init clps711x_timer_init(void)
+void __init clps711x_timer_init(void)
 {
        int osc, ext, pll, cpu, bus, timl, timh, uart, spi;
        u32 tmp;
@@ -345,10 +345,6 @@ static void __init clps711x_timer_init(void)
        setup_irq(IRQ_TC2OI, &clps711x_timer_irq);
 }
 
-struct sys_timer clps711x_timer = {
-       .init           = clps711x_timer_init,
-};
-
 void clps711x_restart(char mode, const char *cmd)
 {
        soft_restart(0);
index b7c0c75c90c01a9a638769d4e434fbe5d27f4e4c..f84a7292c70e4a77dc64eeda432266c1a6b7ac4b 100644 (file)
@@ -8,10 +8,8 @@
 #define CLPS711X_NR_GPIO       (4 * 8 + 3)
 #define CLPS711X_GPIO(prt, bit)        ((prt) * 8 + (bit))
 
-struct sys_timer;
-
 extern void clps711x_map_io(void);
 extern void clps711x_init_irq(void);
+extern void clps711x_timer_init(void);
 extern void clps711x_handle_irq(struct pt_regs *regs);
 extern void clps711x_restart(char mode, const char *cmd);
-extern struct sys_timer clps711x_timer;
index ae305397003c767422c5237dd5d255e8f75ab9fd..3c86f910b647846110e2f922f7df6c3d4497426f 100644 (file)
@@ -250,7 +250,7 @@ MACHINE_START(CNS3420VB, "Cavium Networks CNS3420 Validation Board")
        .atag_offset    = 0x100,
        .map_io         = cns3420_map_io,
        .init_irq       = cns3xxx_init_irq,
-       .timer          = &cns3xxx_timer,
+       .init_time      = cns3xxx_timer_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = cns3420_init,
        .restart        = cns3xxx_restart,
index 031805b1428dc1d6196d7201637ad05e865c9553..1754f8f4f34cbd557a0379804a92a072a8101293 100644 (file)
@@ -235,17 +235,13 @@ static void __init __cns3xxx_timer_init(unsigned int timer_irq)
        cns3xxx_clockevents_init(timer_irq);
 }
 
-static void __init cns3xxx_timer_init(void)
+void __init cns3xxx_timer_init(void)
 {
        cns3xxx_tmr1 = IOMEM(CNS3XXX_TIMER1_2_3_BASE_VIRT);
 
        __cns3xxx_timer_init(IRQ_CNS3XXX_TIMER0);
 }
 
-struct sys_timer cns3xxx_timer = {
-       .init = cns3xxx_timer_init,
-};
-
 #ifdef CONFIG_CACHE_L2X0
 
 void __init cns3xxx_l2x0_init(void)
index 4894b8c17151330ff956ae490608728b629b4e12..b23b17b4da104fd5e27ca334218ef35b65c305a3 100644 (file)
@@ -11,7 +11,7 @@
 #ifndef __CNS3XXX_CORE_H
 #define __CNS3XXX_CORE_H
 
-extern struct sys_timer cns3xxx_timer;
+extern void cns3xxx_timer_init(void);
 
 #ifdef CONFIG_CACHE_L2X0
 void __init cns3xxx_l2x0_init(void);
index 95b5e102ceb1c34aaceb2031c59eea3e1e52e985..e3742716cbaa9945348eaf73c243fc74e0d21491 100644 (file)
@@ -679,7 +679,7 @@ MACHINE_START(DAVINCI_DA830_EVM, "DaVinci DA830/OMAP-L137/AM17x EVM")
        .atag_offset    = 0x100,
        .map_io         = da830_evm_map_io,
        .init_irq       = cp_intc_init,
-       .timer          = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine   = da830_evm_init,
        .init_late      = davinci_init_late,
        .dma_zone_size  = SZ_128M,
index 0299915575a873b26b3a1499b1c5f91011d9eacf..3b3356097bb00f59686914402436cc830fc1f9f2 100644 (file)
@@ -1599,7 +1599,7 @@ MACHINE_START(DAVINCI_DA850_EVM, "DaVinci DA850/OMAP-L138/AM18x EVM")
        .atag_offset    = 0x100,
        .map_io         = da850_evm_map_io,
        .init_irq       = cp_intc_init,
-       .timer          = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine   = da850_evm_init,
        .init_late      = davinci_init_late,
        .dma_zone_size  = SZ_128M,
index cdf8d0746e799df1e31aab36d96ac8f3a116cbb2..147b8e1a4407f794052de4579ba6630f195f982b 100644 (file)
@@ -355,7 +355,7 @@ MACHINE_START(DAVINCI_DM355_EVM, "DaVinci DM355 EVM")
        .atag_offset  = 0x100,
        .map_io       = dm355_evm_map_io,
        .init_irq     = davinci_irq_init,
-       .timer        = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine = dm355_evm_init,
        .init_late      = davinci_init_late,
        .dma_zone_size  = SZ_128M,
index d41954507fc26794433d2fa248e14254b1b2f73c..dff4ddc5ef81312590cd3a2cdb1ad4b40e3741ab 100644 (file)
@@ -274,7 +274,7 @@ MACHINE_START(DM355_LEOPARD, "DaVinci DM355 leopard")
        .atag_offset  = 0x100,
        .map_io       = dm355_leopard_map_io,
        .init_irq     = davinci_irq_init,
-       .timer        = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine = dm355_leopard_init,
        .init_late      = davinci_init_late,
        .dma_zone_size  = SZ_128M,
index 5d49c75388ca9782f6a8192469d6c6a0b93c6cdc..c2d4958a0cb6a632a4d1b7b5f5bc8c56dafbc424 100644 (file)
@@ -616,7 +616,7 @@ MACHINE_START(DAVINCI_DM365_EVM, "DaVinci DM365 EVM")
        .atag_offset    = 0x100,
        .map_io         = dm365_evm_map_io,
        .init_irq       = davinci_irq_init,
-       .timer          = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine   = dm365_evm_init,
        .init_late      = davinci_init_late,
        .dma_zone_size  = SZ_128M,
index f5e018de7fa512403fbd62bcf0a82277b9727830..e4a16f98e6a2b637a327e0d1d7d9abaa02c58493 100644 (file)
@@ -825,7 +825,7 @@ MACHINE_START(DAVINCI_EVM, "DaVinci DM644x EVM")
        .atag_offset  = 0x100,
        .map_io       = davinci_evm_map_io,
        .init_irq     = davinci_irq_init,
-       .timer        = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine = davinci_evm_init,
        .init_late      = davinci_init_late,
        .dma_zone_size  = SZ_128M,
index 6e2f1631df5b0e1321c9d80d11beea76c8c29607..de7adff324dc4f1c9751160213ccc202070419f0 100644 (file)
@@ -818,7 +818,7 @@ MACHINE_START(DAVINCI_DM6467_EVM, "DaVinci DM646x EVM")
        .atag_offset  = 0x100,
        .map_io       = davinci_map_io,
        .init_irq     = davinci_irq_init,
-       .timer        = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine = evm_init,
        .init_late      = davinci_init_late,
        .dma_zone_size  = SZ_128M,
@@ -829,7 +829,7 @@ MACHINE_START(DAVINCI_DM6467TEVM, "DaVinci DM6467T EVM")
        .atag_offset  = 0x100,
        .map_io       = davinci_map_io,
        .init_irq     = davinci_irq_init,
-       .timer        = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine = evm_init,
        .init_late      = davinci_init_late,
        .dma_zone_size  = SZ_128M,
index 43e4a0d663fa8f15b002a50c0f7ac6a903b337b3..b0df578bf744c8c88ffc4a1e687270fc9a91f5c7 100644 (file)
@@ -570,7 +570,7 @@ MACHINE_START(MITYOMAPL138, "MityDSP-L138/MityARM-1808")
        .atag_offset    = 0x100,
        .map_io         = mityomapl138_map_io,
        .init_irq       = cp_intc_init,
-       .timer          = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine   = mityomapl138_init,
        .init_late      = davinci_init_late,
        .dma_zone_size  = SZ_128M,
index 3e3e3afebf886d179f2e9fef5cf00013af54f5ba..1c98107527fa5a0d83353f058660a1a48fc228c2 100644 (file)
@@ -237,7 +237,7 @@ MACHINE_START(NEUROS_OSD2, "Neuros OSD2")
        .atag_offset    = 0x100,
        .map_io          = davinci_ntosd2_map_io,
        .init_irq       = davinci_irq_init,
-       .timer          = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine = davinci_ntosd2_init,
        .init_late      = davinci_init_late,
        .dma_zone_size  = SZ_128M,
index dc1208e9e664649718f2e2f4935cd5e9cc5dc86e..deb3922612b95856ba6c7155de97497b4873bd9a 100644 (file)
@@ -341,7 +341,7 @@ MACHINE_START(OMAPL138_HAWKBOARD, "AM18x/OMAP-L138 Hawkboard")
        .atag_offset    = 0x100,
        .map_io         = omapl138_hawk_map_io,
        .init_irq       = cp_intc_init,
-       .timer          = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine   = omapl138_hawk_init,
        .init_late      = davinci_init_late,
        .dma_zone_size  = SZ_128M,
index 6957787fa7f397a5670872c6b6562af60838aa32..739be7e738fe8b830c591580575a41e85e241c9e 100644 (file)
@@ -155,7 +155,7 @@ MACHINE_START(SFFSDR, "Lyrtech SFFSDR")
        .atag_offset  = 0x100,
        .map_io       = davinci_sffsdr_map_io,
        .init_irq     = davinci_irq_init,
-       .timer        = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine = davinci_sffsdr_init,
        .init_late      = davinci_init_late,
        .dma_zone_size  = SZ_128M,
index be3099733b1fb2ab6eb857998cb4a2838a49ff70..4f416023d4e2d1d09f8ab1bf18d6e4663066ad8f 100644 (file)
@@ -280,7 +280,7 @@ MACHINE_START(TNETV107X, "TNETV107X EVM")
        .atag_offset    = 0x100,
        .map_io         = tnetv107x_init,
        .init_irq       = cp_intc_init,
-       .timer          = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine   = tnetv107x_evm_board_init,
        .init_late      = davinci_init_late,
        .dma_zone_size  = SZ_128M,
index 37c27af18fa0c575823bc6d62ab646ca035931f8..9a7c76efc8f8217a6332f4c5b9a9bf6bbd46671f 100644 (file)
@@ -56,7 +56,7 @@ static const char *da850_boards_compat[] __initdata = {
 DT_MACHINE_START(DA850_DT, "Generic DA850/OMAP-L138/AM18x")
        .map_io         = da850_init,
        .init_irq       = da8xx_init_irq,
-       .timer          = &davinci_timer,
+       .init_time      = davinci_timer_init,
        .init_machine   = da850_init_machine,
        .dt_compat      = da850_boards_compat,
        .init_late      = davinci_init_late,
index 046c7238a3d6e504807a56f59a498a4507d861d8..b124b77c90c5c929d3b536ff57f9f0b4178afe93 100644 (file)
@@ -15,9 +15,7 @@
 #include <linux/compiler.h>
 #include <linux/types.h>
 
-struct sys_timer;
-
-extern struct sys_timer davinci_timer;
+extern void davinci_timer_init(void);
 
 extern void davinci_irq_init(void);
 extern void __iomem *davinci_intc_base;
index 9847938785caa5c5fdcfa134ad454ec8696bef53..bad361ec1666defa463d0c60205818bb3c875f81 100644 (file)
@@ -337,7 +337,7 @@ static struct clock_event_device clockevent_davinci = {
 };
 
 
-static void __init davinci_timer_init(void)
+void __init davinci_timer_init(void)
 {
        struct clk *timer_clk;
        struct davinci_soc_info *soc_info = &davinci_soc_info;
@@ -410,11 +410,6 @@ static void __init davinci_timer_init(void)
                timer32_config(&timers[i]);
 }
 
-struct sys_timer davinci_timer = {
-       .init   = davinci_timer_init,
-};
-
-
 /* reset board using watchdog timer */
 void davinci_watchdog_reset(struct platform_device *pdev)
 {
index 792b4e2e24f1e6d719f43376f9590a3fae813359..0dc39cf30fdd6bdb95395e6e25417a3930d46639 100644 (file)
@@ -92,6 +92,6 @@ MACHINE_START(CM_A510, "Compulab CM-A510 Board")
        .map_io         = dove_map_io,
        .init_early     = dove_init_early,
        .init_irq       = dove_init_irq,
-       .timer          = &dove_timer,
+       .init_time      = dove_timer_init,
        .restart        = dove_restart,
 MACHINE_END
index 89f4f993cd03fb4c0d4ed6eac000d1131aa351ac..0c7911b3e155bf8b9227b9b41408019c202ddaf7 100644 (file)
@@ -242,17 +242,13 @@ static int __init dove_find_tclk(void)
        return 166666667;
 }
 
-static void __init dove_timer_init(void)
+void __init dove_timer_init(void)
 {
        dove_tclk = dove_find_tclk();
        orion_time_init(BRIDGE_VIRT_BASE, BRIDGE_INT_TIMER1_CLR,
                        IRQ_DOVE_BRIDGE, dove_tclk);
 }
 
-struct sys_timer dove_timer = {
-       .init = dove_timer_init,
-};
-
 /*****************************************************************************
  * Cryptographic Engines and Security Accelerator (CESA)
  ****************************************************************************/
@@ -454,7 +450,7 @@ DT_MACHINE_START(DOVE_DT, "Marvell Dove (Flattened Device Tree)")
        .map_io         = dove_map_io,
        .init_early     = dove_init_early,
        .init_irq       = orion_dt_init_irq,
-       .timer          = &dove_timer,
+       .init_time      = dove_timer_init,
        .init_machine   = dove_dt_init,
        .restart        = dove_restart,
        .dt_compat      = dove_dt_board_compat,
index 1a233404b7355990fd1158da7e598e8f3125c541..ee59fba4c6d1b2950cfec98879528b034710b726 100644 (file)
@@ -14,7 +14,7 @@
 struct mv643xx_eth_platform_data;
 struct mv_sata_platform_data;
 
-extern struct sys_timer dove_timer;
+extern void dove_timer_init(void);
 
 /*
  * Basic Dove init functions used early by machine-setup.
index bc2867f113460ab810be4d70b6343134abc95c0d..76e26f949c27b20d8625ac625ad12a0fb11931e0 100644 (file)
@@ -98,6 +98,6 @@ MACHINE_START(DOVE_DB, "Marvell DB-MV88AP510-BP Development Board")
        .map_io         = dove_map_io,
        .init_early     = dove_init_early,
        .init_irq       = dove_init_irq,
-       .timer          = &dove_timer,
+       .init_time      = dove_timer_init,
        .restart        = dove_restart,
 MACHINE_END
index f0fe6b5350e2abe1ca646a84c7b5997eaa0612ba..b13cc74114db5543ab59dfcd77fb11f64c7c8fd7 100644 (file)
@@ -158,7 +158,7 @@ static void __init ebsa110_init_early(void)
  * interrupt, then the PIT counter will roll over (ie, be negative).
  * This actually works out to be convenient.
  */
-static unsigned long ebsa110_gettimeoffset(void)
+static u32 ebsa110_gettimeoffset(void)
 {
        unsigned long offset, count;
 
@@ -181,7 +181,7 @@ static unsigned long ebsa110_gettimeoffset(void)
         */
        offset = offset * (1000000 / HZ) / COUNT;
 
-       return offset;
+       return offset * 1000;
 }
 
 static irqreturn_t
@@ -213,8 +213,10 @@ static struct irqaction ebsa110_timer_irq = {
 /*
  * Set up timer interrupt.
  */
-static void __init ebsa110_timer_init(void)
+void __init ebsa110_timer_init(void)
 {
+       arch_gettimeoffset = ebsa110_gettimeoffset;
+
        /*
         * Timer 1, mode 2, LSB/MSB
         */
@@ -225,11 +227,6 @@ static void __init ebsa110_timer_init(void)
        setup_irq(IRQ_EBSA110_TIMER0, &ebsa110_timer_irq);
 }
 
-static struct sys_timer ebsa110_timer = {
-       .init           = ebsa110_timer_init,
-       .offset         = ebsa110_gettimeoffset,
-};
-
 static struct plat_serial8250_port serial_platform_data[] = {
        {
                .iobase         = 0x3f8,
@@ -328,6 +325,6 @@ MACHINE_START(EBSA110, "EBSA110")
        .map_io         = ebsa110_map_io,
        .init_early     = ebsa110_init_early,
        .init_irq       = ebsa110_init_irq,
-       .timer          = &ebsa110_timer,
+       .init_time      = ebsa110_timer_init,
        .restart        = ebsa110_restart,
 MACHINE_END
index 41383bf03d4bcc1161aa8fc617786b5d5ead783a..82d9c788535a160f31ebae61f04e9fbb4e3469df 100644 (file)
@@ -40,7 +40,7 @@ MACHINE_START(ADSSPHERE, "ADS Sphere board")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = adssphere_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index e85bf17f2d2aee7b512aefd097dc9ed7fe63fdaf..ee27b4b0ab078f9687f9201371da25307ddee0bd 100644 (file)
@@ -140,11 +140,29 @@ static struct irqaction ep93xx_timer_irq = {
        .handler        = ep93xx_timer_interrupt,
 };
 
-static void __init ep93xx_timer_init(void)
+static u32 ep93xx_gettimeoffset(void)
+{
+       int offset;
+
+       offset = __raw_readl(EP93XX_TIMER4_VALUE_LOW) - last_jiffy_time;
+
+       /*
+        * Timer 4 is based on a 983.04 kHz reference clock,
+        * so dividing by 983040 gives the fraction of a second,
+        * so dividing by 0.983040 converts to uS.
+        * Refactor the calculation to avoid overflow.
+        * Finally, multiply by 1000 to give nS.
+        */
+       return (offset + (53 * offset / 3072)) * 1000;
+}
+
+void __init ep93xx_timer_init(void)
 {
        u32 tmode = EP93XX_TIMER123_CONTROL_MODE |
                    EP93XX_TIMER123_CONTROL_CLKSEL;
 
+       arch_gettimeoffset = ep93xx_gettimeoffset;
+
        /* Enable periodic HZ timer.  */
        __raw_writel(tmode, EP93XX_TIMER1_CONTROL);
        __raw_writel(TIMER1_RELOAD, EP93XX_TIMER1_LOAD);
@@ -158,21 +176,6 @@ static void __init ep93xx_timer_init(void)
        setup_irq(IRQ_EP93XX_TIMER1, &ep93xx_timer_irq);
 }
 
-static unsigned long ep93xx_gettimeoffset(void)
-{
-       int offset;
-
-       offset = __raw_readl(EP93XX_TIMER4_VALUE_LOW) - last_jiffy_time;
-
-       /* Calculate (1000000 / 983040) * offset.  */
-       return offset + (53 * offset / 3072);
-}
-
-struct sys_timer ep93xx_timer = {
-       .init           = ep93xx_timer_init,
-       .offset         = ep93xx_gettimeoffset,
-};
-
 
 /*************************************************************************
  * EP93xx IRQ handling
index b8f53d57a2994c0972a07f80fdbf923f6b736ca1..ac260519c9e93180ac3e5ff3940d19fc5a49e264 100644 (file)
@@ -277,7 +277,7 @@ MACHINE_START(EDB9301, "Cirrus Logic EDB9301 Evaluation Board")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@ -291,7 +291,7 @@ MACHINE_START(EDB9302, "Cirrus Logic EDB9302 Evaluation Board")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@ -305,7 +305,7 @@ MACHINE_START(EDB9302A, "Cirrus Logic EDB9302A Evaluation Board")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@ -319,7 +319,7 @@ MACHINE_START(EDB9307, "Cirrus Logic EDB9307 Evaluation Board")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@ -333,7 +333,7 @@ MACHINE_START(EDB9307A, "Cirrus Logic EDB9307A Evaluation Board")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@ -347,7 +347,7 @@ MACHINE_START(EDB9312, "Cirrus Logic EDB9312 Evaluation Board")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@ -361,7 +361,7 @@ MACHINE_START(EDB9315, "Cirrus Logic EDB9315 Evaluation Board")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@ -375,7 +375,7 @@ MACHINE_START(EDB9315A, "Cirrus Logic EDB9315A Evaluation Board")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = edb93xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index 7fd705b5efe4890895800c97bf1cd9f6703b6b7a..76c50f42bd717da0f1f34e46ff78343fb406abf4 100644 (file)
@@ -40,7 +40,7 @@ MACHINE_START(GESBC9312, "Glomation GESBC-9312-sx")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = gesbc9312_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index 33a5122c6dc8bac0954655a5d5795b12a0d0df85..a14e1b37beffb64033c83a4afcf0c46168dbeb8c 100644 (file)
@@ -53,7 +53,7 @@ int ep93xx_ide_acquire_gpio(struct platform_device *pdev);
 void ep93xx_ide_release_gpio(struct platform_device *pdev);
 
 void ep93xx_init_devices(void);
-extern struct sys_timer ep93xx_timer;
+extern void ep93xx_timer_init(void);
 
 void ep93xx_restart(char, const char *);
 void ep93xx_init_late(void);
index 3d7cdab725b20ec278635ac41c96c4724b65db54..777cd2170f8a3fb60e74500cfee998bd760a9885 100644 (file)
@@ -83,7 +83,7 @@ MACHINE_START(MICRO9, "Contec Micro9-High")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = micro9_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@ -97,7 +97,7 @@ MACHINE_START(MICRO9M, "Contec Micro9-Mid")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = micro9_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@ -111,7 +111,7 @@ MACHINE_START(MICRO9L, "Contec Micro9-Lite")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = micro9_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
@@ -125,7 +125,7 @@ MACHINE_START(MICRO9S, "Contec Micro9-Slim")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = micro9_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index 0eb3f17a6fa2ec3424c94740713305e8e433190b..6ff39ee2ad5da0cd876a06f3a47f1c7e94138174 100644 (file)
@@ -84,7 +84,7 @@ MACHINE_START(SIM_ONE, "Simplemachines Sim.One Board")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = simone_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index 50043eef1cf24001cc41323a9dd55355aeee3f68..6434c07dbf96728c7182a3163d2e358cb1dbd5c6 100644 (file)
@@ -177,7 +177,7 @@ MACHINE_START(SNAPPER_CL15, "Bluewater Systems Snapper CL15")
        .map_io         = ep93xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = snappercl15_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index 3c4c233391dc43b0d730c80d60e5bdd3319418db..e4fa0d3760a53b040bce2461afc96bbb7a1106ef 100644 (file)
@@ -247,7 +247,7 @@ MACHINE_START(TS72XX, "Technologic Systems TS-72xx SBC")
        .map_io         = ts72xx_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = ts72xx_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index ba92e25e3016163abbc8b83ef11f4753e0ffc940..8610ba29399133187e49f0a68292d74c27413bb5 100644 (file)
@@ -365,7 +365,7 @@ MACHINE_START(VISION_EP9307, "Vision Engraving Systems EP9307")
        .map_io         = vision_map_io,
        .init_irq       = ep93xx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &ep93xx_timer,
+       .init_time      = ep93xx_timer_init,
        .init_machine   = vision_init_machine,
        .init_late      = ep93xx_init_late,
        .restart        = ep93xx_restart,
index 04744f9c120fe2d4d5c5a251c5f4acb8d6eea61c..12f2f1117e998a2e52449db5a2af9fc2017ec084 100644 (file)
@@ -12,7 +12,7 @@
 #ifndef __ARCH_ARM_MACH_EXYNOS_COMMON_H
 #define __ARCH_ARM_MACH_EXYNOS_COMMON_H
 
-extern struct sys_timer exynos4_timer;
+extern void exynos4_timer_init(void);
 
 struct map_desc;
 void exynos_init_io(struct map_desc *mach_desc, int size);
index b938f9fc1dd1288d781241366daaa90d65582907..2f18130d0d1044281cfcbad985607c937c86420d 100644 (file)
@@ -204,6 +204,6 @@ MACHINE_START(ARMLEX4210, "ARMLEX4210")
        .handle_irq     = gic_handle_irq,
        .init_machine   = armlex4210_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .restart        = exynos4_restart,
 MACHINE_END
index 92757ff817ae1de50c9405b70b339739265ef14e..160030168b1995f88a5661c09f4d9452f5792a45 100644 (file)
@@ -110,7 +110,7 @@ DT_MACHINE_START(EXYNOS4210_DT, "Samsung Exynos4 (Flattened Device Tree)")
        .handle_irq     = gic_handle_irq,
        .init_machine   = exynos4_dt_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .dt_compat      = exynos4_dt_compat,
        .restart        = exynos4_restart,
 MACHINE_END
index e99d3d8f2bcf436ab52a07f5c8d1d7ad519d8467..4e074c67cc8beaa510ee4f24f1b8edfd91995fa3 100644 (file)
@@ -182,7 +182,7 @@ DT_MACHINE_START(EXYNOS5_DT, "SAMSUNG EXYNOS5 (Flattened Device Tree)")
        .handle_irq     = gic_handle_irq,
        .init_machine   = exynos5_dt_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .dt_compat      = exynos5_dt_compat,
        .restart        = exynos5_restart,
        .reserve        = exynos5_reserve,
index 27d4ed8b116e7972ca7c2539ddf1ef8a3896afe2..dccd1d16b836b33e5a7d79c2afa2f2cafce8e1a2 100644 (file)
@@ -1382,7 +1382,7 @@ MACHINE_START(NURI, "NURI")
        .handle_irq     = gic_handle_irq,
        .init_machine   = nuri_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .reserve        = &nuri_reserve,
        .restart        = exynos4_restart,
 MACHINE_END
index 5e34b9c16196c4d7009d90e5bb55a596c918ee20..4e1156324562712761a0ebab4ea81f4eaee99b6c 100644 (file)
@@ -817,7 +817,7 @@ MACHINE_START(ORIGEN, "ORIGEN")
        .handle_irq     = gic_handle_irq,
        .init_machine   = origen_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .reserve        = &origen_reserve,
        .restart        = exynos4_restart,
 MACHINE_END
index ae6da40c2aa9e168e9bb338b91556985089e5e4f..e9c9c2995f09c7989b75521ab3386160ad331b5a 100644 (file)
@@ -378,7 +378,7 @@ MACHINE_START(SMDK4212, "SMDK4212")
        .map_io         = smdk4x12_map_io,
        .handle_irq     = gic_handle_irq,
        .init_machine   = smdk4x12_machine_init,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .restart        = exynos4_restart,
        .reserve        = &smdk4x12_reserve,
 MACHINE_END
@@ -393,7 +393,7 @@ MACHINE_START(SMDK4412, "SMDK4412")
        .handle_irq     = gic_handle_irq,
        .init_machine   = smdk4x12_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .restart        = exynos4_restart,
        .reserve        = &smdk4x12_reserve,
 MACHINE_END
index 35548e3c097d8e34916d027457ec6baa2d02b903..b228ab9bda0bf34a8226fb9c61ffc3e4da73e643 100644 (file)
@@ -425,7 +425,7 @@ MACHINE_START(SMDKV310, "SMDKV310")
        .map_io         = smdkv310_map_io,
        .handle_irq     = gic_handle_irq,
        .init_machine   = smdkv310_machine_init,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .reserve        = &smdkv310_reserve,
        .restart        = exynos4_restart,
 MACHINE_END
@@ -439,7 +439,7 @@ MACHINE_START(SMDKC210, "SMDKC210")
        .handle_irq     = gic_handle_irq,
        .init_machine   = smdkv310_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &exynos4_timer,
+       .init_time      = exynos4_timer_init,
        .reserve        = &smdkv310_reserve,
        .restart        = exynos4_restart,
 MACHINE_END
index 9e3340f1895069803f86ab383a23307b6ab97dac..866f29a9beee0c4e3fb9467a376dae3bfedef75c 100644 (file)
@@ -1154,7 +1154,7 @@ MACHINE_START(UNIVERSAL_C210, "UNIVERSAL_C210")
        .handle_irq     = gic_handle_irq,
        .init_machine   = universal_machine_init,
        .init_late      = exynos_init_late,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .reserve        = &universal_reserve,
        .restart        = exynos4_restart,
 MACHINE_END
index 57668eb68e751b6b1a3961d989072bd1fbcda323..4a89b54fcadbf43e06fe09e26f539fc305d95fbd 100644 (file)
@@ -478,7 +478,7 @@ static void __init exynos4_timer_resources(void)
 #endif /* CONFIG_LOCAL_TIMERS */
 }
 
-static void __init exynos_timer_init(void)
+void __init exynos4_timer_init(void)
 {
        if (soc_is_exynos5440()) {
                arch_timer_of_register();
@@ -494,7 +494,3 @@ static void __init exynos_timer_init(void)
        exynos4_clocksource_init();
        exynos4_clockevent_init();
 }
-
-struct sys_timer exynos4_timer = {
-       .init           = exynos_timer_init,
-};
index 25b453601accc98e403f061b66762df8be65389f..6987a09ec219d3bfd77c97c46a327b7602cd0c68 100644 (file)
@@ -90,6 +90,6 @@ MACHINE_START(CATS, "Chalice-CATS")
        .fixup          = fixup_cats,
        .map_io         = footbridge_map_io,
        .init_irq       = footbridge_init_irq,
-       .timer          = &isa_timer,
+       .init_time      = isa_timer_init,
        .restart        = footbridge_restart,
 MACHINE_END
index c9767b892cb2135676e9dd1a82f3af2610c77965..a846e50a07b897859db3c3e7ebfe33dd5b11ef84 100644 (file)
@@ -1,6 +1,6 @@
 
-extern struct sys_timer footbridge_timer;
-extern struct sys_timer isa_timer;
+extern void footbridge_timer_init(void);
+extern void isa_timer_init(void);
 
 extern void isa_rtc_init(void);
 
index 3b54196447c71341b31112ac378abae4ebd8f53f..9f14b1d9a0e78f400705af77d51765f1d546f160 100644 (file)
@@ -93,7 +93,7 @@ static struct irqaction footbridge_timer_irq = {
 /*
  * Set up timer interrupt.
  */
-static void __init footbridge_timer_init(void)
+void __init footbridge_timer_init(void)
 {
        struct clock_event_device *ce = &ckevt_dc21285;
 
@@ -108,7 +108,3 @@ static void __init footbridge_timer_init(void)
 
        clockevents_register_device(ce);
 }
-
-struct sys_timer footbridge_timer = {
-       .init           = footbridge_timer_init,
-};
index b09551ef89ca39163c7fa4823af36be57ca4f92c..b08243500e2e9bc8f7196d6e6c5484b3ba7dadb4 100644 (file)
@@ -101,7 +101,7 @@ MACHINE_START(EBSA285, "EBSA285")
        .video_end      = 0x000bffff,
        .map_io         = footbridge_map_io,
        .init_irq       = footbridge_init_irq,
-       .timer          = &footbridge_timer,
+       .init_time      = footbridge_timer_init,
        .restart        = footbridge_restart,
 MACHINE_END
 
index c40bb415f4b59bc1992a08a6a2b8547c8a835399..d9301dd563547b4a838275ff57e349b14b224e13 100644 (file)
@@ -31,14 +31,10 @@ static struct irqaction pit_timer_irq = {
        .dev_id         = &i8253_clockevent,
 };
 
-static void __init isa_timer_init(void)
+void __init isa_timer_init(void)
 {
        clocksource_i8253_init();
 
        setup_irq(i8253_clockevent.irq, &pit_timer_irq);
        clockevent_i8253_init(false);
 }
-
-struct sys_timer isa_timer = {
-       .init           = isa_timer_init,
-};
index d2d14339c6c4b9cda4382a9c946ca847a0ce69b1..90ea23fdce4c919ef6560fc3a87b1beaebde78f0 100644 (file)
@@ -766,6 +766,6 @@ MACHINE_START(NETWINDER, "Rebel-NetWinder")
        .fixup          = fixup_netwinder,
        .map_io         = footbridge_map_io,
        .init_irq       = footbridge_init_irq,
-       .timer          = &isa_timer,
+       .init_time      = isa_timer_init,
        .restart        = netwinder_restart,
 MACHINE_END
index e1e9990fa95724388877fa5b1f317b45251c9246..7bdeabdcd4d8876f602a1548baa2cf29b3a3cdee 100644 (file)
@@ -18,7 +18,7 @@ MACHINE_START(PERSONAL_SERVER, "Compaq-PersonalServer")
        .atag_offset    = 0x100,
        .map_io         = footbridge_map_io,
        .init_irq       = footbridge_init_irq,
-       .timer          = &footbridge_timer,
+       .init_time      = footbridge_timer_init,
        .restart        = footbridge_restart,
 MACHINE_END
 
index 5927d3c253aaf3c5fe3d6be2bfa5f69452ea1119..08bd650c42f3e9cca2c66eb04c3dce163ebbe715 100644 (file)
 
 #include "common.h"
 
-static struct sys_timer ib4220b_timer = {
-       .init   = gemini_timer_init,
-};
-
 static struct gpio_led ib4220b_leds[] = {
        {
                .name                   = "nas4220b:orange:hdd",
@@ -105,6 +101,6 @@ MACHINE_START(NAS4220B, "Raidsonic NAS IB-4220-B")
        .atag_offset    = 0x100,
        .map_io         = gemini_map_io,
        .init_irq       = gemini_init_irq,
-       .timer          = &ib4220b_timer,
+       .init_time      = gemini_timer_init,
        .init_machine   = ib4220b_init,
 MACHINE_END
index cd7437a1cea08122eae0533d6a0975cbb1332edf..fa0a36337f4d83dc0d78520e2a1e35775d4b29d2 100644 (file)
@@ -71,10 +71,6 @@ static struct platform_device rut1xx_leds = {
        },
 };
 
-static struct sys_timer rut1xx_timer = {
-       .init   = gemini_timer_init,
-};
-
 static void __init rut1xx_init(void)
 {
        gemini_gpio_init();
@@ -89,6 +85,6 @@ MACHINE_START(RUT100, "Teltonika RUT100")
        .atag_offset    = 0x100,
        .map_io         = gemini_map_io,
        .init_irq       = gemini_init_irq,
-       .timer          = &rut1xx_timer,
+       .init_time      = gemini_timer_init,
        .init_machine   = rut1xx_init,
 MACHINE_END
index a367880368f1c6c45982596fcab4f1f97c6c0e6b..3321cd6cc1f3c60d1c358b316c3562b41b605b70 100644 (file)
@@ -80,10 +80,6 @@ static struct platform_device wbd111_leds_device = {
        },
 };
 
-static struct sys_timer wbd111_timer = {
-       .init   = gemini_timer_init,
-};
-
 static struct mtd_partition wbd111_partitions[] = {
        {
                .name           = "RedBoot",
@@ -132,6 +128,6 @@ MACHINE_START(WBD111, "Wiliboard WBD-111")
        .atag_offset    = 0x100,
        .map_io         = gemini_map_io,
        .init_irq       = gemini_init_irq,
-       .timer          = &wbd111_timer,
+       .init_time      = gemini_timer_init,
        .init_machine   = wbd111_init,
 MACHINE_END
index f382811c1319a39ef3c6f12f9eda9c4b07539357..fe33c825fdaf57412e11b498721349958a3be8f4 100644 (file)
@@ -80,10 +80,6 @@ static struct platform_device wbd222_leds_device = {
        },
 };
 
-static struct sys_timer wbd222_timer = {
-       .init   = gemini_timer_init,
-};
-
 static struct mtd_partition wbd222_partitions[] = {
        {
                .name           = "RedBoot",
@@ -132,6 +128,6 @@ MACHINE_START(WBD222, "Wiliboard WBD-222")
        .atag_offset    = 0x100,
        .map_io         = gemini_map_io,
        .init_irq       = gemini_init_irq,
-       .timer          = &wbd222_timer,
+       .init_time      = gemini_timer_init,
        .init_machine   = wbd222_init,
 MACHINE_END
index aa1331e86bcf4fb52f255b45164c5783f01cc634..17ef91fa3d56d819c64a943a08ae55f5bf60613e 100644 (file)
@@ -42,12 +42,12 @@ void __init arch_dma_init(dma_t *dma)
 }
 
 /*
- * Return usecs since last timer reload
+ * Return nsecs since last timer reload
  * (timercount * (usecs perjiffie)) / (ticks per jiffie)
  */
-unsigned long h720x_gettimeoffset(void)
+u32 h720x_gettimeoffset(void)
 {
-       return (CPU_REG (TIMER_VIRT, TM0_COUNT) * tick_usec) / LATCH;
+       return ((CPU_REG(TIMER_VIRT, TM0_COUNT) * tick_usec) / LATCH) * 1000;
 }
 
 /*
index 2489537d33ddb5722e1772283e670da0cb0ff9ab..7e738410ca93d22be10bbc16c0476dfe3697fb72 100644 (file)
  *
  */
 
-extern unsigned long h720x_gettimeoffset(void);
+extern u32 h720x_gettimeoffset(void);
 extern void __init h720x_init_irq(void);
 extern void __init h720x_map_io(void);
 extern void h720x_restart(char, const char *);
 
 #ifdef CONFIG_ARCH_H7202
-extern struct sys_timer h7202_timer;
+extern void h7202_timer_init(void);
 extern void __init init_hw_h7202(void);
 extern void __init h7202_init_irq(void);
 extern void __init h7202_init_time(void);
 #endif
 
 #ifdef CONFIG_ARCH_H7201
-extern struct sys_timer h7201_timer;
+extern void h7201_timer_init(void);
 #endif
index 24df2a349a986a5afd4ec18a3dc4dabe0f23f37a..13c74121538762572963ea797300eea3b41013f1 100644 (file)
@@ -44,8 +44,10 @@ static struct irqaction h7201_timer_irq = {
 /*
  * Setup TIMER0 as system timer
  */
-void __init h7201_init_time(void)
+void __init h7201_timer_init(void)
 {
+       arch_gettimeoffset = h720x_gettimeoffset;
+
        CPU_REG (TIMER_VIRT, TM0_PERIOD) = LATCH;
        CPU_REG (TIMER_VIRT, TM0_CTRL) = TM_RESET;
        CPU_REG (TIMER_VIRT, TM0_CTRL) = TM_REPEAT | TM_START;
@@ -53,8 +55,3 @@ void __init h7201_init_time(void)
 
        setup_irq(IRQ_TIMER0, &h7201_timer_irq);
 }
-
-struct sys_timer h7201_timer = {
-       .init           = h7201_init_time,
-       .offset         = h720x_gettimeoffset,
-};
index c37d570b852dcb24410d382cc7322affea8dddef..e2ae7e898f9d10985ac0474f5531fd0883534955 100644 (file)
@@ -178,8 +178,10 @@ static struct irqaction h7202_timer_irq = {
 /*
  * Setup TIMER0 as system timer
  */
-void __init h7202_init_time(void)
+void __init h7202_timer_init(void)
 {
+       arch_gettimeoffset = h720x_gettimeoffset;
+
        CPU_REG (TIMER_VIRT, TM0_PERIOD) = LATCH;
        CPU_REG (TIMER_VIRT, TM0_CTRL) = TM_RESET;
        CPU_REG (TIMER_VIRT, TM0_CTRL) = TM_REPEAT | TM_START;
@@ -188,11 +190,6 @@ void __init h7202_init_time(void)
        setup_irq(IRQ_TIMER0, &h7202_timer_irq);
 }
 
-struct sys_timer h7202_timer = {
-       .init           = h7202_init_time,
-       .offset         = h720x_gettimeoffset,
-};
-
 void __init h7202_init_irq (void)
 {
        int     irq;
index 5fdb20c855e234cb824e1473f9be4a2ce35cff2e..4fdeb686c0a99827bb55f0528c340bd6a5ca56ec 100644 (file)
@@ -32,7 +32,7 @@ MACHINE_START(H7201, "Hynix GMS30C7201")
        .atag_offset    = 0x1000,
        .map_io         = h720x_map_io,
        .init_irq       = h720x_init_irq,
-       .timer          = &h7201_timer,
+       .init_time      = h7201_timer_init,
        .dma_zone_size  = SZ_256M,
        .restart        = h720x_restart,
 MACHINE_END
index 169673036c593220df36a0e7ac4b895516654522..f68e967a20628edac3d5caaed0a298c69bc5e28a 100644 (file)
@@ -74,7 +74,7 @@ MACHINE_START(H7202, "Hynix HMS30C7202")
        .atag_offset    = 0x100,
        .map_io         = h720x_map_io,
        .init_irq       = h7202_init_irq,
-       .timer          = &h7202_timer,
+       .init_time      = h7202_timer_init,
        .init_machine   = init_eval_h7202,
        .dma_zone_size  = SZ_256M,
        .restart        = h720x_restart,
index e6c06128293962b24adbe84892e19d4a876ff373..ff7a4fa488dc2c85513aa8a4f3b45fa3154fd2cf 100644 (file)
@@ -130,10 +130,6 @@ static void __init highbank_timer_init(void)
        arch_timer_sched_clock_init();
 }
 
-static struct sys_timer highbank_timer = {
-       .init = highbank_timer_init,
-};
-
 static void highbank_power_off(void)
 {
        highbank_set_pwr_shutdown();
@@ -210,7 +206,7 @@ DT_MACHINE_START(HIGHBANK, "Highbank")
        .smp            = smp_ops(highbank_smp_ops),
        .map_io         = debug_ll_io_init,
        .init_irq       = highbank_init_irq,
-       .timer          = &highbank_timer,
+       .init_time      = highbank_timer_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = highbank_init,
        .dt_compat      = highbank_match,
index e17dfbc42192e3e1cceb664583a7fb2f42d57e71..03b65e5ea541613a062ea5719b32ab045b9e723f 100644 (file)
@@ -22,15 +22,6 @@ static void __init imx25_dt_init(void)
        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
-static void __init imx25_timer_init(void)
-{
-       mx25_clocks_init_dt();
-}
-
-static struct sys_timer imx25_timer = {
-       .init = imx25_timer_init,
-};
-
 static const char * const imx25_dt_board_compat[] __initconst = {
        "fsl,imx25",
        NULL
@@ -41,7 +32,7 @@ DT_MACHINE_START(IMX25_DT, "Freescale i.MX25 (Device Tree Support)")
        .init_early     = imx25_init_early,
        .init_irq       = mx25_init_irq,
        .handle_irq     = imx25_handle_irq,
-       .timer          = &imx25_timer,
+       .init_time      = imx25_timer_init,
        .init_machine   = imx25_dt_init,
        .dt_compat      = imx25_dt_board_compat,
        .restart        = mxc_restart,
index ebfae96543c47d2ef50c1e4653d9ec6f0dd3fee4..c915a490a11c7e23eeb229054b7ed034af03f5a4 100644 (file)
@@ -39,26 +39,22 @@ static void __init imx27_dt_init(void)
                             imx27_auxdata_lookup, NULL);
 }
 
-static void __init imx27_timer_init(void)
-{
-       mx27_clocks_init_dt();
-}
-
-static struct sys_timer imx27_timer = {
-       .init = imx27_timer_init,
-};
-
 static const char * const imx27_dt_board_compat[] __initconst = {
        "fsl,imx27",
        NULL
 };
 
+static void __init imx27_timer_init(void)
+{
+       mx27_clocks_init_dt();
+}
+
 DT_MACHINE_START(IMX27_DT, "Freescale i.MX27 (Device Tree Support)")
        .map_io         = mx27_map_io,
        .init_early     = imx27_init_early,
        .init_irq       = mx27_init_irq,
        .handle_irq     = imx27_handle_irq,
-       .timer          = &imx27_timer,
+       .init_time      = imx27_timer_init,
        .init_machine   = imx27_dt_init,
        .dt_compat      = imx27_dt_board_compat,
        .restart        = mxc_restart,
index af476de2570e8727c1c4e9fe0ac0a77397da7985..f9a6909600972a0e0b474f0b068d9fdd3d0cd9fb 100644 (file)
@@ -38,15 +38,6 @@ static void __init imx31_dt_init(void)
                             imx31_auxdata_lookup, NULL);
 }
 
-static void __init imx31_timer_init(void)
-{
-       mx31_clocks_init_dt();
-}
-
-static struct sys_timer imx31_timer = {
-       .init = imx31_timer_init,
-};
-
 static const char *imx31_dt_board_compat[] __initdata = {
        "fsl,imx31",
        NULL
@@ -57,7 +48,7 @@ DT_MACHINE_START(IMX31_DT, "Freescale i.MX31 (Device Tree Support)")
        .init_early     = imx31_init_early,
        .init_irq       = mx31_init_irq,
        .handle_irq     = imx31_handle_irq,
-       .timer          = &imx31_timer,
+       .init_time      = mx31_clocks_init_dt,
        .init_machine   = imx31_dt_init,
        .dt_compat      = imx31_dt_board_compat,
        .restart        = mxc_restart,
index 5ffa40c673f8715c83eadaf964a51a5a5115b208..e2926a8863f852d02f6689367c9c7b782b064555 100644 (file)
@@ -24,26 +24,22 @@ static void __init imx51_dt_init(void)
        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
-static void __init imx51_timer_init(void)
-{
-       mx51_clocks_init_dt();
-}
-
-static struct sys_timer imx51_timer = {
-       .init = imx51_timer_init,
-};
-
 static const char *imx51_dt_board_compat[] __initdata = {
        "fsl,imx51",
        NULL
 };
 
+static void __init imx51_timer_init(void)
+{
+       mx51_clocks_init_dt();
+}
+
 DT_MACHINE_START(IMX51_DT, "Freescale i.MX51 (Device Tree Support)")
        .map_io         = mx51_map_io,
        .init_early     = imx51_init_early,
        .init_irq       = mx51_init_irq,
        .handle_irq     = imx51_handle_irq,
-       .timer          = &imx51_timer,
+       .init_time      = imx51_timer_init,
        .init_machine   = imx51_dt_init,
        .init_late      = imx51_init_late,
        .dt_compat      = imx51_dt_board_compat,
index 5c9bd2c66e6d595c51677259cd2ecf411bee7946..067580b2969bc405a8f346a00545a41a2cd2c998 100644 (file)
@@ -137,17 +137,13 @@ static void __init apf9328_timer_init(void)
        mx1_clocks_init(32768);
 }
 
-static struct sys_timer apf9328_timer = {
-       .init   = apf9328_timer_init,
-};
-
 MACHINE_START(APF9328, "Armadeus APF9328")
        /* Maintainer: Gwenhael Goavec-Merou, ARMadeus Systems */
        .map_io       = mx1_map_io,
        .init_early   = imx1_init_early,
        .init_irq     = mx1_init_irq,
        .handle_irq   = imx1_handle_irq,
-       .timer        = &apf9328_timer,
+       .init_time      = apf9328_timer_init,
        .init_machine = apf9328_init,
        .restart        = mxc_restart,
 MACHINE_END
index 59bd6b06a6b5f1d549b87d4fb8a71e6ded3fe074..368a6e3f5926b2d62c12e17fc6ecf8216e4be06c 100644 (file)
@@ -557,10 +557,6 @@ static void __init armadillo5x0_timer_init(void)
        mx31_clocks_init(26000000);
 }
 
-static struct sys_timer armadillo5x0_timer = {
-       .init   = armadillo5x0_timer_init,
-};
-
 MACHINE_START(ARMADILLO5X0, "Armadillo-500")
        /* Maintainer: Alberto Panizzo  */
        .atag_offset = 0x100,
@@ -568,7 +564,7 @@ MACHINE_START(ARMADILLO5X0, "Armadillo-500")
        .init_early = imx31_init_early,
        .init_irq = mx31_init_irq,
        .handle_irq = imx31_handle_irq,
-       .timer = &armadillo5x0_timer,
+       .init_time      = armadillo5x0_timer_init,
        .init_machine = armadillo5x0_init,
        .restart        = mxc_restart,
 MACHINE_END
index 3a39d5aec07a7cffbec8adf8a940ee20ccb9e7d4..2d00476f7d2c3d79061bc9f5c39bb9a561f9d5c3 100644 (file)
@@ -53,16 +53,12 @@ static void __init bug_timer_init(void)
        mx31_clocks_init(26000000);
 }
 
-static struct sys_timer bug_timer = {
-       .init = bug_timer_init,
-};
-
 MACHINE_START(BUG, "BugLabs BUGBase")
        .map_io = mx31_map_io,
        .init_early = imx31_init_early,
        .init_irq = mx31_init_irq,
        .handle_irq = imx31_handle_irq,
-       .timer = &bug_timer,
+       .init_time      = bug_timer_init,
        .init_machine = bug_board_init,
        .restart        = mxc_restart,
 MACHINE_END
index 12a370646b450e5b313ad73b70d79d4b3fcf1c0b..146559311bd28688dee200d08a74a48e2d8fb47e 100644 (file)
@@ -309,17 +309,13 @@ static void __init eukrea_cpuimx27_timer_init(void)
        mx27_clocks_init(26000000);
 }
 
-static struct sys_timer eukrea_cpuimx27_timer = {
-       .init = eukrea_cpuimx27_timer_init,
-};
-
 MACHINE_START(EUKREA_CPUIMX27, "EUKREA CPUIMX27")
        .atag_offset = 0x100,
        .map_io = mx27_map_io,
        .init_early = imx27_init_early,
        .init_irq = mx27_init_irq,
        .handle_irq = imx27_handle_irq,
-       .timer = &eukrea_cpuimx27_timer,
+       .init_time      = eukrea_cpuimx27_timer_init,
        .init_machine = eukrea_cpuimx27_init,
        .restart        = mxc_restart,
 MACHINE_END
index 5a31bf8c8f4c528b1275d99b727be937917b8491..771362d1fbee712247242c3d7c5d9956b7f58e70 100644 (file)
@@ -193,10 +193,6 @@ static void __init eukrea_cpuimx35_timer_init(void)
        mx35_clocks_init();
 }
 
-static struct sys_timer eukrea_cpuimx35_timer = {
-       .init   = eukrea_cpuimx35_timer_init,
-};
-
 MACHINE_START(EUKREA_CPUIMX35SD, "Eukrea CPUIMX35")
        /* Maintainer: Eukrea Electromatique */
        .atag_offset = 0x100,
@@ -204,7 +200,7 @@ MACHINE_START(EUKREA_CPUIMX35SD, "Eukrea CPUIMX35")
        .init_early = imx35_init_early,
        .init_irq = mx35_init_irq,
        .handle_irq = imx35_handle_irq,
-       .timer = &eukrea_cpuimx35_timer,
+       .init_time      = eukrea_cpuimx35_timer_init,
        .init_machine = eukrea_cpuimx35_init,
        .restart        = mxc_restart,
 MACHINE_END
index b727de029c8f3dfc4a99fd1e68333086c06c9737..9b7393234f6f2fd4014afb3f09812600e915f91e 100644 (file)
@@ -355,10 +355,6 @@ static void __init eukrea_cpuimx51sd_timer_init(void)
        mx51_clocks_init(32768, 24000000, 22579200, 0);
 }
 
-static struct sys_timer mxc_timer = {
-       .init   = eukrea_cpuimx51sd_timer_init,
-};
-
 MACHINE_START(EUKREA_CPUIMX51SD, "Eukrea CPUIMX51SD")
        /* Maintainer: Eric Bénard <eric@eukrea.com> */
        .atag_offset = 0x100,
@@ -366,7 +362,7 @@ MACHINE_START(EUKREA_CPUIMX51SD, "Eukrea CPUIMX51SD")
        .init_early = imx51_init_early,
        .init_irq = mx51_init_irq,
        .handle_irq = imx51_handle_irq,
-       .timer = &mxc_timer,
+       .init_time      = eukrea_cpuimx51sd_timer_init,
        .init_machine = eukrea_cpuimx51sd_init,
        .init_late      = imx51_init_late,
        .restart        = mxc_restart,
index 75027a5ad8b75c2dbc8afd98a413dd855a59cca4..4bf45442424910b4f5806c1fc0cc6cb9c01fd48f 100644 (file)
@@ -159,10 +159,6 @@ static void __init eukrea_cpuimx25_timer_init(void)
        mx25_clocks_init();
 }
 
-static struct sys_timer eukrea_cpuimx25_timer = {
-       .init   = eukrea_cpuimx25_timer_init,
-};
-
 MACHINE_START(EUKREA_CPUIMX25SD, "Eukrea CPUIMX25")
        /* Maintainer: Eukrea Electromatique */
        .atag_offset = 0x100,
@@ -170,7 +166,7 @@ MACHINE_START(EUKREA_CPUIMX25SD, "Eukrea CPUIMX25")
        .init_early = imx25_init_early,
        .init_irq = mx25_init_irq,
        .handle_irq = imx25_handle_irq,
-       .timer = &eukrea_cpuimx25_timer,
+       .init_time = eukrea_cpuimx25_timer_init,
        .init_machine = eukrea_cpuimx25_init,
        .restart        = mxc_restart,
 MACHINE_END
index 318bd8df7fcc2f160d16f0aa027e89f6fddf2da4..29ac8ee651d210c86b6245c7a7235f385a56ab0e 100644 (file)
@@ -598,10 +598,6 @@ static void __init visstrim_m10_timer_init(void)
        mx27_clocks_init((unsigned long)25000000);
 }
 
-static struct sys_timer visstrim_m10_timer = {
-       .init   = visstrim_m10_timer_init,
-};
-
 MACHINE_START(IMX27_VISSTRIM_M10, "Vista Silicon Visstrim_M10")
        .atag_offset = 0x100,
        .reserve = visstrim_reserve,
@@ -609,7 +605,7 @@ MACHINE_START(IMX27_VISSTRIM_M10, "Vista Silicon Visstrim_M10")
        .init_early = imx27_init_early,
        .init_irq = mx27_init_irq,
        .handle_irq = imx27_handle_irq,
-       .timer = &visstrim_m10_timer,
+       .init_time      = visstrim_m10_timer_init,
        .init_machine = visstrim_m10_board_init,
        .restart        = mxc_restart,
 MACHINE_END
index 53a8601129385d85c9314169ffa913e37ef69ba8..1a851aea683231824e1df335a85adfa93ecd1cfe 100644 (file)
@@ -65,10 +65,6 @@ static void __init mx27ipcam_timer_init(void)
        mx27_clocks_init(25000000);
 }
 
-static struct sys_timer mx27ipcam_timer = {
-       .init   = mx27ipcam_timer_init,
-};
-
 MACHINE_START(IMX27IPCAM, "Freescale IMX27IPCAM")
        /* maintainer: Freescale Semiconductor, Inc. */
        .atag_offset = 0x100,
@@ -76,7 +72,7 @@ MACHINE_START(IMX27IPCAM, "Freescale IMX27IPCAM")
        .init_early = imx27_init_early,
        .init_irq = mx27_init_irq,
        .handle_irq = imx27_handle_irq,
-       .timer = &mx27ipcam_timer,
+       .init_time      = mx27ipcam_timer_init,
        .init_machine = mx27ipcam_init,
        .restart        = mxc_restart,
 MACHINE_END
index fc8dce93137888bbd22d508833cad4ea78888b87..3da2e3e44ce91b4fdfdd4e92641b4993fa41eced 100644 (file)
@@ -72,17 +72,13 @@ static void __init mx27lite_timer_init(void)
        mx27_clocks_init(26000000);
 }
 
-static struct sys_timer mx27lite_timer = {
-       .init   = mx27lite_timer_init,
-};
-
 MACHINE_START(IMX27LITE, "LogicPD i.MX27LITE")
        .atag_offset = 0x100,
        .map_io = mx27_map_io,
        .init_early = imx27_init_early,
        .init_irq = mx27_init_irq,
        .handle_irq = imx27_handle_irq,
-       .timer = &mx27lite_timer,
+       .init_time      = mx27lite_timer_init,
        .init_machine = mx27lite_init,
        .restart        = mxc_restart,
 MACHINE_END
index 860284dea0e79f3248f30fe27839f919566a7098..f579c616feed3b2008965fa9ef8b63dc84e6ab01 100644 (file)
@@ -44,26 +44,22 @@ static void __init imx53_dt_init(void)
        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
 }
 
-static void __init imx53_timer_init(void)
-{
-       mx53_clocks_init_dt();
-}
-
-static struct sys_timer imx53_timer = {
-       .init = imx53_timer_init,
-};
-
 static const char *imx53_dt_board_compat[] __initdata = {
        "fsl,imx53",
        NULL
 };
 
+static void __init imx53_timer_init(void)
+{
+       mx53_clocks_init_dt();
+}
+
 DT_MACHINE_START(IMX53_DT, "Freescale i.MX53 (Device Tree Support)")
        .map_io         = mx53_map_io,
        .init_early     = imx53_init_early,
        .init_irq       = mx53_init_irq,
        .handle_irq     = imx53_handle_irq,
-       .timer          = &imx53_timer,
+       .init_time      = imx53_timer_init,
        .init_machine   = imx53_dt_init,
        .init_late      = imx53_init_late,
        .dt_compat      = imx53_dt_board_compat,
index 4eb1b3ac794ceb38ee928a3a67654a0192cd8492..cd277a0f5b16d6c1fd36199c4e2095a3ef244c12 100644 (file)
@@ -241,10 +241,6 @@ static void __init imx6q_timer_init(void)
        imx_print_silicon_rev("i.MX6Q", imx6q_revision());
 }
 
-static struct sys_timer imx6q_timer = {
-       .init = imx6q_timer_init,
-};
-
 static const char *imx6q_dt_compat[] __initdata = {
        "fsl,imx6q",
        NULL,
@@ -255,7 +251,7 @@ DT_MACHINE_START(IMX6Q, "Freescale i.MX6 Quad (Device Tree)")
        .map_io         = imx6q_map_io,
        .init_irq       = imx6q_init_irq,
        .handle_irq     = imx6q_handle_irq,
-       .timer          = &imx6q_timer,
+       .init_time      = imx6q_timer_init,
        .init_machine   = imx6q_init_machine,
        .init_late      = imx6q_init_late,
        .dt_compat      = imx6q_dt_compat,
index 2e536ea53444f8007cecd23308fb15155b2bb0b4..c7bc41d6b468d82d4e145f289818fbd202a63bd3 100644 (file)
@@ -284,17 +284,13 @@ static void __init kzm_timer_init(void)
        mx31_clocks_init(26000000);
 }
 
-static struct sys_timer kzm_timer = {
-       .init = kzm_timer_init,
-};
-
 MACHINE_START(KZM_ARM11_01, "Kyoto Microcomputer Co., Ltd. KZM-ARM11-01")
        .atag_offset = 0x100,
        .map_io = kzm_map_io,
        .init_early = imx31_init_early,
        .init_irq = mx31_init_irq,
        .handle_irq = imx31_handle_irq,
-       .timer = &kzm_timer,
+       .init_time      = kzm_timer_init,
        .init_machine = kzm_board_init,
        .restart        = mxc_restart,
 MACHINE_END
index 06b483783e68d7abcff369b306dbda29c8a80574..9f883e4d6fc9c1b05e596d701d9521722b8bfec2 100644 (file)
@@ -132,10 +132,6 @@ static void __init mx1ads_timer_init(void)
        mx1_clocks_init(32000);
 }
 
-static struct sys_timer mx1ads_timer = {
-       .init   = mx1ads_timer_init,
-};
-
 MACHINE_START(MX1ADS, "Freescale MX1ADS")
        /* Maintainer: Sascha Hauer, Pengutronix */
        .atag_offset = 0x100,
@@ -143,7 +139,7 @@ MACHINE_START(MX1ADS, "Freescale MX1ADS")
        .init_early = imx1_init_early,
        .init_irq = mx1_init_irq,
        .handle_irq = imx1_handle_irq,
-       .timer = &mx1ads_timer,
+       .init_time      = mx1ads_timer_init,
        .init_machine = mx1ads_init,
        .restart        = mxc_restart,
 MACHINE_END
@@ -154,7 +150,7 @@ MACHINE_START(MXLADS, "Freescale MXLADS")
        .init_early = imx1_init_early,
        .init_irq = mx1_init_irq,
        .handle_irq = imx1_handle_irq,
-       .timer = &mx1ads_timer,
+       .init_time      = mx1ads_timer_init,
        .init_machine = mx1ads_init,
        .restart        = mxc_restart,
 MACHINE_END
index 6adb3136bb08be1380b7d79e767e3153c3432536..a06aa4dc37fc4f99ca4e24d31e069aa40daf9242 100644 (file)
@@ -318,10 +318,6 @@ static void __init mx21ads_timer_init(void)
        mx21_clocks_init(32768, 26000000);
 }
 
-static struct sys_timer mx21ads_timer = {
-       .init   = mx21ads_timer_init,
-};
-
 MACHINE_START(MX21ADS, "Freescale i.MX21ADS")
        /* maintainer: Freescale Semiconductor, Inc. */
        .atag_offset = 0x100,
@@ -329,7 +325,7 @@ MACHINE_START(MX21ADS, "Freescale i.MX21ADS")
        .init_early = imx21_init_early,
        .init_irq = mx21_init_irq,
        .handle_irq = imx21_handle_irq,
-       .timer = &mx21ads_timer,
+       .init_time      = mx21ads_timer_init,
        .init_machine = mx21ads_board_init,
        .restart        = mxc_restart,
 MACHINE_END
index b1b03aa55bb8eec8352a7ccc69a2b5066c0bb546..8bcda688a006807f16427383314ac827560396e9 100644 (file)
@@ -257,10 +257,6 @@ static void __init mx25pdk_timer_init(void)
        mx25_clocks_init();
 }
 
-static struct sys_timer mx25pdk_timer = {
-       .init   = mx25pdk_timer_init,
-};
-
 MACHINE_START(MX25_3DS, "Freescale MX25PDK (3DS)")
        /* Maintainer: Freescale Semiconductor, Inc. */
        .atag_offset = 0x100,
@@ -268,7 +264,7 @@ MACHINE_START(MX25_3DS, "Freescale MX25PDK (3DS)")
        .init_early = imx25_init_early,
        .init_irq = mx25_init_irq,
        .handle_irq = imx25_handle_irq,
-       .timer = &mx25pdk_timer,
+       .init_time      = mx25pdk_timer_init,
        .init_machine = mx25pdk_init,
        .restart        = mxc_restart,
 MACHINE_END
index d0e547fa925fe40556d86b04d54ad3ef1c353be0..25b3e4c9bc0a72367bf92725e28989beb70ff420 100644 (file)
@@ -538,10 +538,6 @@ static void __init mx27pdk_timer_init(void)
        mx27_clocks_init(26000000);
 }
 
-static struct sys_timer mx27pdk_timer = {
-       .init   = mx27pdk_timer_init,
-};
-
 MACHINE_START(MX27_3DS, "Freescale MX27PDK")
        /* maintainer: Freescale Semiconductor, Inc. */
        .atag_offset = 0x100,
@@ -549,7 +545,7 @@ MACHINE_START(MX27_3DS, "Freescale MX27PDK")
        .init_early = imx27_init_early,
        .init_irq = mx27_init_irq,
        .handle_irq = imx27_handle_irq,
-       .timer = &mx27pdk_timer,
+       .init_time      = mx27pdk_timer_init,
        .init_machine = mx27pdk_init,
        .restart        = mxc_restart,
 MACHINE_END
index 3d036f57f0e6c7558b890ec3fb26c337ffaac5fe..9821b824dcafc43d3380a5e4e5527f825b0ebdcd 100644 (file)
@@ -323,10 +323,6 @@ static void __init mx27ads_timer_init(void)
        mx27_clocks_init(fref);
 }
 
-static struct sys_timer mx27ads_timer = {
-       .init   = mx27ads_timer_init,
-};
-
 static struct map_desc mx27ads_io_desc[] __initdata = {
        {
                .virtual = PBC_BASE_ADDRESS,
@@ -349,7 +345,7 @@ MACHINE_START(MX27ADS, "Freescale i.MX27ADS")
        .init_early = imx27_init_early,
        .init_irq = mx27_init_irq,
        .handle_irq = imx27_handle_irq,
-       .timer = &mx27ads_timer,
+       .init_time      = mx27ads_timer_init,
        .init_machine = mx27ads_board_init,
        .restart        = mxc_restart,
 MACHINE_END
index bc301befdd06a2d9356bcb258710fd475113ac19..1ed916175d41bf4f5ccfc10e5fc981b151234874 100644 (file)
@@ -762,10 +762,6 @@ static void __init mx31_3ds_timer_init(void)
        mx31_clocks_init(26000000);
 }
 
-static struct sys_timer mx31_3ds_timer = {
-       .init   = mx31_3ds_timer_init,
-};
-
 static void __init mx31_3ds_reserve(void)
 {
        /* reserve MX31_3DS_CAMERA_BUF_SIZE bytes for mx3-camera */
@@ -780,7 +776,7 @@ MACHINE_START(MX31_3DS, "Freescale MX31PDK (3DS)")
        .init_early = imx31_init_early,
        .init_irq = mx31_init_irq,
        .handle_irq = imx31_handle_irq,
-       .timer = &mx31_3ds_timer,
+       .init_time      = mx31_3ds_timer_init,
        .init_machine = mx31_3ds_init,
        .reserve = mx31_3ds_reserve,
        .restart        = mxc_restart,
index 8b56f8883f3278d58bc5668ff49dd2377bbe9e02..daf8889125ccb8f5ecbb82e7125dcdf5d382b584 100644 (file)
@@ -576,10 +576,6 @@ static void __init mx31ads_timer_init(void)
        mx31_clocks_init(26000000);
 }
 
-static struct sys_timer mx31ads_timer = {
-       .init   = mx31ads_timer_init,
-};
-
 MACHINE_START(MX31ADS, "Freescale MX31ADS")
        /* Maintainer: Freescale Semiconductor, Inc. */
        .atag_offset = 0x100,
@@ -587,7 +583,7 @@ MACHINE_START(MX31ADS, "Freescale MX31ADS")
        .init_early = imx31_init_early,
        .init_irq = mx31ads_init_irq,
        .handle_irq = imx31_handle_irq,
-       .timer = &mx31ads_timer,
+       .init_time      = mx31ads_timer_init,
        .init_machine = mx31ads_init,
        .restart        = mxc_restart,
 MACHINE_END
index 08b9965c8b36658d75b5e93b5c05616864628088..832b1e2f964ec4372635555b0c27baa612a56d9b 100644 (file)
@@ -303,17 +303,13 @@ static void __init mx31lilly_timer_init(void)
        mx31_clocks_init(26000000);
 }
 
-static struct sys_timer mx31lilly_timer = {
-       .init   = mx31lilly_timer_init,
-};
-
 MACHINE_START(LILLY1131, "INCO startec LILLY-1131")
        .atag_offset = 0x100,
        .map_io = mx31_map_io,
        .init_early = imx31_init_early,
        .init_irq = mx31_init_irq,
        .handle_irq = imx31_handle_irq,
-       .timer = &mx31lilly_timer,
+       .init_time      = mx31lilly_timer_init,
        .init_machine = mx31lilly_board_init,
        .restart        = mxc_restart,
 MACHINE_END
index bdcd92e59518f054d15ca78c5b8c35032deedc98..bea07299b61ac46d2639d6bab314e5317f02a5fc 100644 (file)
@@ -285,10 +285,6 @@ static void __init mx31lite_timer_init(void)
        mx31_clocks_init(26000000);
 }
 
-static struct sys_timer mx31lite_timer = {
-       .init   = mx31lite_timer_init,
-};
-
 MACHINE_START(MX31LITE, "LogicPD i.MX31 SOM")
        /* Maintainer: Freescale Semiconductor, Inc. */
        .atag_offset = 0x100,
@@ -296,7 +292,7 @@ MACHINE_START(MX31LITE, "LogicPD i.MX31 SOM")
        .init_early = imx31_init_early,
        .init_irq = mx31_init_irq,
        .handle_irq = imx31_handle_irq,
-       .timer = &mx31lite_timer,
+       .init_time      = mx31lite_timer_init,
        .init_machine = mx31lite_init,
        .restart        = mxc_restart,
 MACHINE_END
index 2517cfa9f26bbb4519045f2653236dad709c9cb0..dae4cd7be0400eda33f01d62574951d5d90989c4 100644 (file)
@@ -596,10 +596,6 @@ static void __init mx31moboard_timer_init(void)
        mx31_clocks_init(26000000);
 }
 
-static struct sys_timer mx31moboard_timer = {
-       .init   = mx31moboard_timer_init,
-};
-
 static void __init mx31moboard_reserve(void)
 {
        /* reserve 4 MiB for mx3-camera */
@@ -615,7 +611,7 @@ MACHINE_START(MX31MOBOARD, "EPFL Mobots mx31moboard")
        .init_early = imx31_init_early,
        .init_irq = mx31_init_irq,
        .handle_irq = imx31_handle_irq,
-       .timer = &mx31moboard_timer,
+       .init_time      = mx31moboard_timer_init,
        .init_machine = mx31moboard_init,
        .restart        = mxc_restart,
 MACHINE_END
index 5277da45d60c75a5ce7d7041745d7b9420485517..a42f4f07051fda65843da8ae579aa4326ccfaa5e 100644 (file)
@@ -602,10 +602,6 @@ static void __init mx35pdk_timer_init(void)
        mx35_clocks_init();
 }
 
-static struct sys_timer mx35pdk_timer = {
-       .init   = mx35pdk_timer_init,
-};
-
 static void __init mx35_3ds_reserve(void)
 {
        /* reserve MX35_3DS_CAMERA_BUF_SIZE bytes for mx3-camera */
@@ -620,7 +616,7 @@ MACHINE_START(MX35_3DS, "Freescale MX35PDK")
        .init_early = imx35_init_early,
        .init_irq = mx35_init_irq,
        .handle_irq = imx35_handle_irq,
-       .timer = &mx35pdk_timer,
+       .init_time      = mx35pdk_timer_init,
        .init_machine = mx35_3ds_init,
        .reserve = mx35_3ds_reserve,
        .restart        = mxc_restart,
index 0c1f88a80bdc79080b0a2157db3fa39d73dabb61..8937902bda5fde5d68fb822a43b4225896bcc610 100644 (file)
@@ -210,16 +210,12 @@ static void __init mx50_rdp_timer_init(void)
        mx50_clocks_init(32768, 24000000, 22579200);
 }
 
-static struct sys_timer mx50_rdp_timer = {
-       .init   = mx50_rdp_timer_init,
-};
-
 MACHINE_START(MX50_RDP, "Freescale MX50 Reference Design Platform")
        .map_io = mx50_map_io,
        .init_early = imx50_init_early,
        .init_irq = mx50_init_irq,
        .handle_irq = imx50_handle_irq,
-       .timer = &mx50_rdp_timer,
+       .init_time      = mx50_rdp_timer_init,
        .init_machine = mx50_rdp_board_init,
        .restart        = mxc_restart,
 MACHINE_END
index abc25bd1107be1e58cb0d889dd9aef27bd997320..2d23651115328e606dc353a9379b6ce010ba2070 100644 (file)
@@ -160,10 +160,6 @@ static void __init mx51_3ds_timer_init(void)
        mx51_clocks_init(32768, 24000000, 22579200, 0);
 }
 
-static struct sys_timer mx51_3ds_timer = {
-       .init = mx51_3ds_timer_init,
-};
-
 MACHINE_START(MX51_3DS, "Freescale MX51 3-Stack Board")
        /* Maintainer: Freescale Semiconductor, Inc. */
        .atag_offset = 0x100,
@@ -171,7 +167,7 @@ MACHINE_START(MX51_3DS, "Freescale MX51 3-Stack Board")
        .init_early = imx51_init_early,
        .init_irq = mx51_init_irq,
        .handle_irq = imx51_handle_irq,
-       .timer = &mx51_3ds_timer,
+       .init_time      = mx51_3ds_timer_init,
        .init_machine = mx51_3ds_init,
        .init_late      = imx51_init_late,
        .restart        = mxc_restart,
index d9a84ca2199ac2391463787b66e6661542e6e064..6c4d7feb452099fca871b5b11d344dddf2408d4f 100644 (file)
@@ -418,10 +418,6 @@ static void __init mx51_babbage_timer_init(void)
        mx51_clocks_init(32768, 24000000, 22579200, 0);
 }
 
-static struct sys_timer mx51_babbage_timer = {
-       .init = mx51_babbage_timer_init,
-};
-
 MACHINE_START(MX51_BABBAGE, "Freescale MX51 Babbage Board")
        /* Maintainer: Amit Kucheria <amit.kucheria@canonical.com> */
        .atag_offset = 0x100,
@@ -429,7 +425,7 @@ MACHINE_START(MX51_BABBAGE, "Freescale MX51 Babbage Board")
        .init_early = imx51_init_early,
        .init_irq = mx51_init_irq,
        .handle_irq = imx51_handle_irq,
-       .timer = &mx51_babbage_timer,
+       .init_time      = mx51_babbage_timer_init,
        .init_machine = mx51_babbage_init,
        .init_late      = imx51_init_late,
        .restart        = mxc_restart,
index f4a8c7e108e19d05410388b7000c72b57a1ad97a..a27faaba98ec093cd030ea14c0ac80aaa00de75d 100644 (file)
@@ -261,10 +261,6 @@ static void __init mxt_td60_timer_init(void)
        mx27_clocks_init(26000000);
 }
 
-static struct sys_timer mxt_td60_timer = {
-       .init   = mxt_td60_timer_init,
-};
-
 MACHINE_START(MXT_TD60, "Maxtrack i-MXT TD60")
        /* maintainer: Maxtrack Industrial */
        .atag_offset = 0x100,
@@ -272,7 +268,7 @@ MACHINE_START(MXT_TD60, "Maxtrack i-MXT TD60")
        .init_early = imx27_init_early,
        .init_irq = mx27_init_irq,
        .handle_irq = imx27_handle_irq,
-       .timer = &mxt_td60_timer,
+       .init_time      = mxt_td60_timer_init,
        .init_machine = mxt_td60_board_init,
        .restart        = mxc_restart,
 MACHINE_END
index eee369fa94a29ad5893e728e2240faaabcc1ae75..b8b15bb1ffdfb2d8e0e0f2e52c71a21d4b4c81de 100644 (file)
@@ -416,10 +416,6 @@ static void __init pca100_timer_init(void)
        mx27_clocks_init(26000000);
 }
 
-static struct sys_timer pca100_timer = {
-       .init = pca100_timer_init,
-};
-
 MACHINE_START(PCA100, "phyCARD-i.MX27")
        .atag_offset = 0x100,
        .map_io = mx27_map_io,
@@ -427,6 +423,6 @@ MACHINE_START(PCA100, "phyCARD-i.MX27")
        .init_irq = mx27_init_irq,
        .handle_irq = imx27_handle_irq,
        .init_machine = pca100_init,
-       .timer = &pca100_timer,
+       .init_time      = pca100_timer_init,
        .restart        = mxc_restart,
 MACHINE_END
index 547fef133f658f46d6627277a18cd9a3225c2907..bc0261e99d398f1632986cccf9785a58519c809c 100644 (file)
@@ -685,10 +685,6 @@ static void __init pcm037_timer_init(void)
        mx31_clocks_init(26000000);
 }
 
-static struct sys_timer pcm037_timer = {
-       .init   = pcm037_timer_init,
-};
-
 static void __init pcm037_reserve(void)
 {
        /* reserve 4 MiB for mx3-camera */
@@ -709,7 +705,7 @@ MACHINE_START(PCM037, "Phytec Phycore pcm037")
        .init_early = imx31_init_early,
        .init_irq = mx31_init_irq,
        .handle_irq = imx31_handle_irq,
-       .timer = &pcm037_timer,
+       .init_time      = pcm037_timer_init,
        .init_machine = pcm037_init,
        .init_late = pcm037_init_late,
        .restart        = mxc_restart,
index 4aa0d0798605d5cf2fc20ee64b26d2c1e0f7ed6d..e805ac273e9c6cc952e400a4f542f9727881650c 100644 (file)
@@ -346,17 +346,13 @@ static void __init pcm038_timer_init(void)
        mx27_clocks_init(26000000);
 }
 
-static struct sys_timer pcm038_timer = {
-       .init = pcm038_timer_init,
-};
-
 MACHINE_START(PCM038, "phyCORE-i.MX27")
        .atag_offset = 0x100,
        .map_io = mx27_map_io,
        .init_early = imx27_init_early,
        .init_irq = mx27_init_irq,
        .handle_irq = imx27_handle_irq,
-       .timer = &pcm038_timer,
+       .init_time      = pcm038_timer_init,
        .init_machine = pcm038_init,
        .restart        = mxc_restart,
 MACHINE_END
index 92445440221eba9f2aace35fc1c3e6cd205a2e4b..8ed533f0f8ca7dd207e36f7030402a48718616ae 100644 (file)
@@ -394,10 +394,6 @@ static void __init pcm043_timer_init(void)
        mx35_clocks_init();
 }
 
-static struct sys_timer pcm043_timer = {
-       .init   = pcm043_timer_init,
-};
-
 MACHINE_START(PCM043, "Phytec Phycore pcm043")
        /* Maintainer: Pengutronix */
        .atag_offset = 0x100,
@@ -405,7 +401,7 @@ MACHINE_START(PCM043, "Phytec Phycore pcm043")
        .init_early = imx35_init_early,
        .init_irq = mx35_init_irq,
        .handle_irq = imx35_handle_irq,
-       .timer = &pcm043_timer,
+       .init_time = pcm043_timer_init,
        .init_machine = pcm043_init,
        .restart        = mxc_restart,
 MACHINE_END
index 96d9a91f8a3bb15efda2f4cb2be9a80b16db2a69..22af27ed457ec4d64f3ed70c82915896a4503bd7 100644 (file)
@@ -260,10 +260,6 @@ static void __init qong_timer_init(void)
        mx31_clocks_init(26000000);
 }
 
-static struct sys_timer qong_timer = {
-       .init   = qong_timer_init,
-};
-
 MACHINE_START(QONG, "Dave/DENX QongEVB-LITE")
        /* Maintainer: DENX Software Engineering GmbH */
        .atag_offset = 0x100,
@@ -271,7 +267,7 @@ MACHINE_START(QONG, "Dave/DENX QongEVB-LITE")
        .init_early = imx31_init_early,
        .init_irq = mx31_init_irq,
        .handle_irq = imx31_handle_irq,
-       .timer = &qong_timer,
+       .init_time      = qong_timer_init,
        .init_machine = qong_init,
        .restart        = mxc_restart,
 MACHINE_END
index fc970409dbaf1cd782d6f7e86350469508a7ffca..b0fa10dd79fe1baa3d6b8551dbb4903b9aa43d29 100644 (file)
@@ -131,10 +131,6 @@ static void __init scb9328_timer_init(void)
        mx1_clocks_init(32000);
 }
 
-static struct sys_timer scb9328_timer = {
-       .init   = scb9328_timer_init,
-};
-
 MACHINE_START(SCB9328, "Synertronixx scb9328")
        /* Sascha Hauer */
        .atag_offset = 100,
@@ -142,7 +138,7 @@ MACHINE_START(SCB9328, "Synertronixx scb9328")
        .init_early = imx1_init_early,
        .init_irq = mx1_init_irq,
        .handle_irq = imx1_handle_irq,
-       .timer = &scb9328_timer,
+       .init_time      = scb9328_timer_init,
        .init_machine = scb9328_init,
        .restart        = mxc_restart,
 MACHINE_END
index 3aecf91e428988bb364c3b0e46558aa6337ede8a..0910761e8280894918927554598c1f4d1d1f4b79 100644 (file)
@@ -305,17 +305,13 @@ static void __init vpr200_timer_init(void)
        mx35_clocks_init();
 }
 
-static struct sys_timer vpr200_timer = {
-       .init   = vpr200_timer_init,
-};
-
 MACHINE_START(VPR200, "VPR200")
        /* Maintainer: Creative Product Design */
        .map_io = mx35_map_io,
        .init_early = imx35_init_early,
        .init_irq = mx35_init_irq,
        .handle_irq = imx35_handle_irq,
-       .timer = &vpr200_timer,
+       .init_time = vpr200_timer_init,
        .init_machine = vpr200_board_init,
        .restart        = mxc_restart,
 MACHINE_END
index 61225e12a74925d8a5d670d38370e9889e8cb0ce..327be3138e04618259104e60357aa7560af60a5c 100644 (file)
@@ -425,7 +425,7 @@ void __init ap_init_early(void)
 
 #ifdef CONFIG_OF
 
-static void __init ap_init_timer_of(void)
+static void __init ap_of_timer_init(void)
 {
        struct device_node *node;
        const char *path;
@@ -464,10 +464,6 @@ static void __init ap_init_timer_of(void)
        integrator_clockevent_init(rate, base, irq);
 }
 
-static struct sys_timer ap_of_timer = {
-       .init           = ap_init_timer_of,
-};
-
 static const struct of_device_id fpga_irq_of_match[] __initconst = {
        { .compatible = "arm,versatile-fpga-irq", .data = fpga_irq_of_init, },
        { /* Sentinel */ }
@@ -584,7 +580,7 @@ DT_MACHINE_START(INTEGRATOR_AP_DT, "ARM Integrator/AP (Device Tree)")
        .init_early     = ap_init_early,
        .init_irq       = ap_init_irq_of,
        .handle_irq     = fpga_handle_irq,
-       .timer          = &ap_of_timer,
+       .init_time      = ap_of_timer_init,
        .init_machine   = ap_init_of,
        .restart        = integrator_restart,
        .dt_compat      = ap_dt_board_compat,
@@ -636,7 +632,7 @@ static struct platform_device cfi_flash_device = {
        .resource       = &cfi_flash_resource,
 };
 
-static void __init ap_init_timer(void)
+static void __init ap_timer_init(void)
 {
        struct clk *clk;
        unsigned long rate;
@@ -655,10 +651,6 @@ static void __init ap_init_timer(void)
                                IRQ_TIMERINT1);
 }
 
-static struct sys_timer ap_timer = {
-       .init           = ap_init_timer,
-};
-
 #define INTEGRATOR_SC_VALID_INT        0x003fffff
 
 static void __init ap_init_irq(void)
@@ -714,7 +706,7 @@ MACHINE_START(INTEGRATOR, "ARM-Integrator")
        .init_early     = ap_init_early,
        .init_irq       = ap_init_irq,
        .handle_irq     = fpga_handle_irq,
-       .timer          = &ap_timer,
+       .init_time      = ap_timer_init,
        .init_machine   = ap_init,
        .restart        = integrator_restart,
 MACHINE_END
index 601618903dfb05c7e0d778ec8b4bc241a4aa3692..57cde9133b5ebb6d85219be8d75f20ded3173d27 100644 (file)
@@ -251,7 +251,7 @@ static void __init intcp_init_early(void)
 
 #ifdef CONFIG_OF
 
-static void __init intcp_timer_init_of(void)
+static void __init cp_of_timer_init(void)
 {
        struct device_node *node;
        const char *path;
@@ -283,10 +283,6 @@ static void __init intcp_timer_init_of(void)
        sp804_clockevents_init(base, irq, node->name);
 }
 
-static struct sys_timer cp_of_timer = {
-       .init           = intcp_timer_init_of,
-};
-
 static const struct of_device_id fpga_irq_of_match[] __initconst = {
        { .compatible = "arm,versatile-fpga-irq", .data = fpga_irq_of_init, },
        { /* Sentinel */ }
@@ -387,7 +383,7 @@ DT_MACHINE_START(INTEGRATOR_CP_DT, "ARM Integrator/CP (Device Tree)")
        .init_early     = intcp_init_early,
        .init_irq       = intcp_init_irq_of,
        .handle_irq     = fpga_handle_irq,
-       .timer          = &cp_of_timer,
+       .init_time      = cp_of_timer_init,
        .init_machine   = intcp_init_of,
        .restart        = integrator_restart,
        .dt_compat      = intcp_dt_board_compat,
@@ -509,7 +505,7 @@ static void __init intcp_init_irq(void)
 #define TIMER1_VA_BASE __io_address(INTEGRATOR_TIMER1_BASE)
 #define TIMER2_VA_BASE __io_address(INTEGRATOR_TIMER2_BASE)
 
-static void __init intcp_timer_init(void)
+static void __init cp_timer_init(void)
 {
        writel(0, TIMER0_VA_BASE + TIMER_CTRL);
        writel(0, TIMER1_VA_BASE + TIMER_CTRL);
@@ -519,10 +515,6 @@ static void __init intcp_timer_init(void)
        sp804_clockevents_init(TIMER1_VA_BASE, IRQ_TIMERINT1, "timer1");
 }
 
-static struct sys_timer cp_timer = {
-       .init           = intcp_timer_init,
-};
-
 #define INTEGRATOR_CP_MMC_IRQS { IRQ_CP_MMCIINT0, IRQ_CP_MMCIINT1 }
 #define INTEGRATOR_CP_AACI_IRQS        { IRQ_CP_AACIINT }
 
@@ -562,7 +554,7 @@ MACHINE_START(CINTEGRATOR, "ARM-IntegratorCP")
        .init_early     = intcp_init_early,
        .init_irq       = intcp_init_irq,
        .handle_irq     = fpga_handle_irq,
-       .timer          = &cp_timer,
+       .init_time      = cp_timer_init,
        .init_machine   = intcp_init,
        .restart        = integrator_restart,
 MACHINE_END
index e3f3e7daa79edc2257580bcabb2a1c4e8b5a6cb7..02a8228ac2d3d4d3b6217fb8652120f16d1e018c 100644 (file)
@@ -84,17 +84,13 @@ static void __init iq81340mc_timer_init(void)
        iop_init_time(bus_freq);
 }
 
-static struct sys_timer iq81340mc_timer = {
-       .init       = iq81340mc_timer_init,
-};
-
 MACHINE_START(IQ81340MC, "Intel IQ81340MC")
        /* Maintainer: Dan Williams <dan.j.williams@intel.com> */
        .atag_offset    = 0x100,
        .init_early     = iop13xx_init_early,
        .map_io         = iop13xx_map_io,
        .init_irq       = iop13xx_init_irq,
-       .timer          = &iq81340mc_timer,
+       .init_time      = iq81340mc_timer_init,
        .init_machine   = iq81340mc_init,
        .restart        = iop13xx_restart,
 MACHINE_END
index e947441116340fe6f80ddb44a4ed696b17a8cb9a..1b80f10722b3fdb01f5e8aea44eac8b60113cb4e 100644 (file)
@@ -86,17 +86,13 @@ static void __init iq81340sc_timer_init(void)
        iop_init_time(bus_freq);
 }
 
-static struct sys_timer iq81340sc_timer = {
-       .init       = iq81340sc_timer_init,
-};
-
 MACHINE_START(IQ81340SC, "Intel IQ81340SC")
        /* Maintainer: Dan Williams <dan.j.williams@intel.com> */
        .atag_offset    = 0x100,
        .init_early     = iop13xx_init_early,
        .map_io         = iop13xx_map_io,
        .init_irq       = iop13xx_init_irq,
-       .timer          = &iq81340sc_timer,
+       .init_time      = iq81340sc_timer_init,
        .init_machine   = iq81340sc_init,
        .restart        = iop13xx_restart,
 MACHINE_END
index 9f369f09c29d7858fba73db3f3747a864e066136..31fbb6c61b25c304adc2f0ee940ac1df38ac33f1 100644 (file)
@@ -40,10 +40,6 @@ static void __init em7210_timer_init(void)
        iop_init_time(200000000);
 }
 
-static struct sys_timer em7210_timer = {
-       .init           = em7210_timer_init,
-};
-
 /*
  * EM7210 RTC
  */
@@ -205,7 +201,7 @@ MACHINE_START(EM7210, "Lanner EM7210")
        .atag_offset    = 0x100,
        .map_io         = em7210_map_io,
        .init_irq       = iop32x_init_irq,
-       .timer          = &em7210_timer,
+       .init_time      = em7210_timer_init,
        .init_machine   = em7210_init_machine,
        .restart        = iop3xx_restart,
 MACHINE_END
index 02e20c3912ba18e70c95f8e06c0f49d4e663dd2a..ac304705fe68956ebae0f85bf2d5c53b2cbf9e37 100644 (file)
@@ -44,10 +44,6 @@ static void __init glantank_timer_init(void)
        iop_init_time(200000000);
 }
 
-static struct sys_timer glantank_timer = {
-       .init           = glantank_timer_init,
-};
-
 
 /*
  * GLAN Tank I/O.
@@ -209,7 +205,7 @@ MACHINE_START(GLANTANK, "GLAN Tank")
        .atag_offset    = 0x100,
        .map_io         = glantank_map_io,
        .init_irq       = iop32x_init_irq,
-       .timer          = &glantank_timer,
+       .init_time      = glantank_timer_init,
        .init_machine   = glantank_init_machine,
        .restart        = iop3xx_restart,
 MACHINE_END
index ddd1c7ecfe57f239aecdc7f39ae9e7d4bc6c3871..f2cd2966212da1381d677d47abb147f4b5c88879 100644 (file)
@@ -75,10 +75,6 @@ static void __init iq31244_timer_init(void)
        }
 }
 
-static struct sys_timer iq31244_timer = {
-       .init           = iq31244_timer_init,
-};
-
 
 /*
  * IQ31244 I/O.
@@ -314,7 +310,7 @@ MACHINE_START(IQ31244, "Intel IQ31244")
        .atag_offset    = 0x100,
        .map_io         = iq31244_map_io,
        .init_irq       = iop32x_init_irq,
-       .timer          = &iq31244_timer,
+       .init_time      = iq31244_timer_init,
        .init_machine   = iq31244_init_machine,
        .restart        = iop3xx_restart,
 MACHINE_END
@@ -329,7 +325,7 @@ MACHINE_START(EP80219, "Intel EP80219")
        .atag_offset    = 0x100,
        .map_io         = iq31244_map_io,
        .init_irq       = iop32x_init_irq,
-       .timer          = &iq31244_timer,
+       .init_time      = iq31244_timer_init,
        .init_machine   = iq31244_init_machine,
        .restart        = iop3xx_restart,
 MACHINE_END
index bf155e6a3b4505d4e3ba76ce9d37732115deb11b..015435de90dd6f179b808e693b209f4da1c9f021 100644 (file)
@@ -43,10 +43,6 @@ static void __init iq80321_timer_init(void)
        iop_init_time(200000000);
 }
 
-static struct sys_timer iq80321_timer = {
-       .init           = iq80321_timer_init,
-};
-
 
 /*
  * IQ80321 I/O.
@@ -188,7 +184,7 @@ MACHINE_START(IQ80321, "Intel IQ80321")
        .atag_offset    = 0x100,
        .map_io         = iq80321_map_io,
        .init_irq       = iop32x_init_irq,
-       .timer          = &iq80321_timer,
+       .init_time      = iq80321_timer_init,
        .init_machine   = iq80321_init_machine,
        .restart        = iop3xx_restart,
 MACHINE_END
index 5a7ae91e8849a5061ee9958c0bd3adaaf2de0501..ea0984a7449e78d5c4780d349ea53759c9f75ab2 100644 (file)
@@ -50,10 +50,6 @@ static void __init n2100_timer_init(void)
        iop_init_time(198000000);
 }
 
-static struct sys_timer n2100_timer = {
-       .init           = n2100_timer_init,
-};
-
 
 /*
  * N2100 I/O.
@@ -337,7 +333,7 @@ MACHINE_START(N2100, "Thecus N2100")
        .atag_offset    = 0x100,
        .map_io         = n2100_map_io,
        .init_irq       = iop32x_init_irq,
-       .timer          = &n2100_timer,
+       .init_time      = n2100_timer_init,
        .init_machine   = n2100_init_machine,
        .restart        = n2100_restart,
 MACHINE_END
index e74a7debe793e687420408b3c0948a44d46bdcfe..c43304a10fa72cdeac813890a68ac6e3a476ff30 100644 (file)
@@ -45,10 +45,6 @@ static void __init iq80331_timer_init(void)
                iop_init_time(266000000);
 }
 
-static struct sys_timer iq80331_timer = {
-       .init           = iq80331_timer_init,
-};
-
 
 /*
  * IQ80331 PCI.
@@ -143,7 +139,7 @@ MACHINE_START(IQ80331, "Intel IQ80331")
        .atag_offset    = 0x100,
        .map_io         = iop3xx_map_io,
        .init_irq       = iop33x_init_irq,
-       .timer          = &iq80331_timer,
+       .init_time      = iq80331_timer_init,
        .init_machine   = iq80331_init_machine,
        .restart        = iop3xx_restart,
 MACHINE_END
index e2f5beece6e813f6f3d32a5b13b603d3bb3d739d..8192987e78e5b7107254ffb29a6dd8856fcc8bad 100644 (file)
@@ -45,10 +45,6 @@ static void __init iq80332_timer_init(void)
                iop_init_time(266000000);
 }
 
-static struct sys_timer iq80332_timer = {
-       .init           = iq80332_timer_init,
-};
-
 
 /*
  * IQ80332 PCI.
@@ -143,7 +139,7 @@ MACHINE_START(IQ80332, "Intel IQ80332")
        .atag_offset    = 0x100,
        .map_io         = iop3xx_map_io,
        .init_irq       = iop33x_init_irq,
-       .timer          = &iq80332_timer,
+       .init_time      = iq80332_timer_init,
        .init_machine   = iq80332_init_machine,
        .restart        = iop3xx_restart,
 MACHINE_END
index 90e42e9982cb1031d9bdc53a0c9b032a3bc6e5ec..6beec150c060a6a7453ce2a080e5947b54b93dee 100644 (file)
@@ -167,7 +167,7 @@ MACHINE_START(AVILA, "Gateworks Avila Network Platform")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = avila_init,
 #if defined(CONFIG_PCI)
@@ -187,7 +187,7 @@ MACHINE_START(LOFT, "Giant Shoulder Inc Loft board")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = avila_init,
 #if defined(CONFIG_PCI)
index 8c0c0e2d0727317078a93f2241763818acf1ac15..f6ac695ceb601b0b4dbf52adfa715d382d313786 100644 (file)
@@ -307,10 +307,6 @@ void __init ixp4xx_timer_init(void)
        ixp4xx_clockevent_init();
 }
 
-struct sys_timer ixp4xx_timer = {
-       .init           = ixp4xx_timer_init,
-};
-
 static struct pxa2xx_udc_mach_info ixp4xx_udc_info;
 
 void __init ixp4xx_set_udc_info(struct pxa2xx_udc_mach_info *info)
index 1b83110028d6d95f1c99e7a4e42e03ee0b987985..820cae8608fc2080259c9d8aefe04adb924e6157 100644 (file)
@@ -112,7 +112,7 @@ MACHINE_START(ADI_COYOTE, "ADI Engineering Coyote")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = coyote_init,
 #if defined(CONFIG_PCI)
@@ -132,7 +132,7 @@ MACHINE_START(IXDPG425, "Intel IXDPG425")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = coyote_init,
        .restart        = ixp4xx_restart,
index 97a0af8f1955da9b83f5be0fca9014ffc6315aa8..5d413f8c57002e1f623c37f9eedfaabcab2fecb2 100644 (file)
@@ -226,10 +226,6 @@ static void __init dsmg600_timer_init(void)
     ixp4xx_timer_init();
 }
 
-static struct sys_timer dsmg600_timer = {
-    .init   = dsmg600_timer_init,
-};
-
 static void __init dsmg600_init(void)
 {
        ixp4xx_sys_init();
@@ -282,7 +278,7 @@ MACHINE_START(DSMG600, "D-Link DSM-G600 RevA")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &dsmg600_timer,
+       .init_time      = dsmg600_timer_init,
        .init_machine   = dsmg600_init,
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
index 9175a25a7511723d5a4de4f2d1d4a21b21f74a86..429966b756ed3eddcfd646e7838c163052ff0714 100644 (file)
@@ -272,7 +272,7 @@ MACHINE_START(FSG, "Freecom FSG-3")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = fsg_init,
 #if defined(CONFIG_PCI)
index 033c7175895393f82524be3d04d77327858804e8..3d24b3fcee875f0c34857861c936e4c087458280 100644 (file)
@@ -99,7 +99,7 @@ MACHINE_START(GATEWAY7001, "Gateway 7001 AP")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = gateway7001_init,
 #if defined(CONFIG_PCI)
index 53b8348dfcc279c19fed814ac4f1d19afdafe5b6..e54ff491c105fd0949238a9127abff04069216f6 100644 (file)
@@ -498,7 +498,7 @@ MACHINE_START(GORAMO_MLR, "MultiLink")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = gmlr_init,
 #if defined(CONFIG_PCI)
index 18ebc6be7969cf5f42ea17e4a531bc6ac2c5d43b..16a12994fb5378c8bc77a0b4b73d3e7da453bcee 100644 (file)
@@ -167,7 +167,7 @@ MACHINE_START(GTWX5715, "Gemtek GTWX5715 (Linksys WRV54G)")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = gtwx5715_init,
 #if defined(CONFIG_PCI)
index 5bce94aacca96566a38728f3ffd8c0ecbb55cb7e..db5afb69c123df2c49d551dbd4d6ad7fedb717ea 100644 (file)
@@ -89,8 +89,6 @@ struct ixp4xx_pata_data {
        void __iomem    *cs1;
 };
 
-struct sys_timer;
-
 #define IXP4XX_ETH_NPEA                0x00
 #define IXP4XX_ETH_NPEB                0x10
 #define IXP4XX_ETH_NPEC                0x20
@@ -125,7 +123,6 @@ extern void ixp4xx_init_early(void);
 extern void ixp4xx_init_irq(void);
 extern void ixp4xx_sys_init(void);
 extern void ixp4xx_timer_init(void);
-extern struct sys_timer ixp4xx_timer;
 extern void ixp4xx_restart(char, const char *);
 extern void ixp4xx_pci_preinit(void);
 struct pci_sys_data;
index 108a9d3f382da148ff3b6cf281440ab4a302d1c4..22d688b7d51302a711ac75f67e5fc909a9abcd1f 100644 (file)
@@ -252,7 +252,7 @@ MACHINE_START(IXDP425, "Intel IXDP425 Development Platform")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = ixdp425_init,
 #if defined(CONFIG_PCI)
@@ -268,7 +268,7 @@ MACHINE_START(IXDP465, "Intel IXDP465 Development Platform")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = ixdp425_init,
 #if defined(CONFIG_PCI)
@@ -283,7 +283,7 @@ MACHINE_START(IXCDP1100, "Intel IXCDP1100 Development Platform")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = ixdp425_init,
 #if defined(CONFIG_PCI)
@@ -298,7 +298,7 @@ MACHINE_START(KIXRP435, "Intel KIXRP435 Reference Platform")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = ixdp425_init,
 #if defined(CONFIG_PCI)
index 33cb0955b6bffa840b2ae727e7ea76753803aa4b..ed667ce9f576a8548978b0faa7b5e5d5776687e4 100644 (file)
@@ -317,7 +317,7 @@ MACHINE_START(NAS100D, "Iomega NAS 100d")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .init_machine   = nas100d_init,
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
index e2903faaebb35f4ffc4ddfcb0c08f53046e05033..7e55236c26eab3dea60ddfa2ef9eaacad17bd597 100644 (file)
@@ -232,10 +232,6 @@ static void __init nslu2_timer_init(void)
     ixp4xx_timer_init();
 }
 
-static struct sys_timer nslu2_timer = {
-    .init   = nslu2_timer_init,
-};
-
 static void __init nslu2_init(void)
 {
        uint8_t __iomem *f;
@@ -303,7 +299,7 @@ MACHINE_START(NSLU2, "Linksys NSLU2")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &nslu2_timer,
+       .init_time      = nslu2_timer_init,
        .init_machine   = nslu2_init,
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
index 158ddb79821da36168bb9c00a1e711bf5c17286a..46a89f5e82693f930c318abb0ce61f976b324b9b 100644 (file)
@@ -245,7 +245,7 @@ MACHINE_START(DEVIXP, "Omicron DEVIXP")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .init_machine   = omixp_init,
        .restart        = ixp4xx_restart,
 MACHINE_END
@@ -257,7 +257,7 @@ MACHINE_START(MICCPT, "Omicron MICCPT")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .init_machine   = omixp_init,
 #if defined(CONFIG_PCI)
        .dma_zone_size  = SZ_64M,
@@ -272,7 +272,7 @@ MACHINE_START(MIC256, "Omicron MIC256")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .init_machine   = omixp_init,
        .restart        = ixp4xx_restart,
 MACHINE_END
index 2798f435aaf4fbf3f24eb56fca8851e3decfc985..d42730a1d4abf5b85ccb193c6e9c297a140485c0 100644 (file)
@@ -239,7 +239,7 @@ MACHINE_START(ARCOM_VULCAN, "Arcom/Eurotech Vulcan")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = vulcan_init,
 #if defined(CONFIG_PCI)
index a785175b115bf146f1e96ef13d41f0408897e514..8f9ea2f3a9a5c8971bf42497fc85679082db37ff 100644 (file)
@@ -100,7 +100,7 @@ MACHINE_START(WG302V2, "Netgear WG302 v2 / WAG302 v2")
        .map_io         = ixp4xx_map_io,
        .init_early     = ixp4xx_init_early,
        .init_irq       = ixp4xx_init_irq,
-       .timer          = &ixp4xx_timer,
+       .init_time      = ixp4xx_timer_init,
        .atag_offset    = 0x100,
        .init_machine   = wg302v2_init,
 #if defined(CONFIG_PCI)
index de4fd2bb1e27960a36d4301792a072bee90409f3..d4af5c191c24e49fd5f4d8bf092dc61230a898ae 100644 (file)
@@ -183,7 +183,7 @@ DT_MACHINE_START(KIRKWOOD_DT, "Marvell Kirkwood (Flattened Device Tree)")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = orion_dt_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .init_machine   = kirkwood_dt_init,
        .restart        = kirkwood_restart,
        .dt_compat      = kirkwood_dt_board_compat,
index bac21a554c91b90d9edf4dc14533f6ebc4450c52..b5ad4dff6b12d1f95094591fe4202430d9f35edb 100644 (file)
@@ -530,7 +530,7 @@ static int __init kirkwood_find_tclk(void)
        return 166666667;
 }
 
-static void __init kirkwood_timer_init(void)
+void __init kirkwood_timer_init(void)
 {
        kirkwood_tclk = kirkwood_find_tclk();
 
@@ -538,10 +538,6 @@ static void __init kirkwood_timer_init(void)
                        IRQ_KIRKWOOD_BRIDGE, kirkwood_tclk);
 }
 
-struct sys_timer kirkwood_timer = {
-       .init = kirkwood_timer_init,
-};
-
 /*****************************************************************************
  * Audio
  ****************************************************************************/
index 5ffa57f08c80a39b1b7a7118a011b264e2cf75d0..283ab611e8da1344d1372180e7ed8b2a1e8dc014 100644 (file)
@@ -156,7 +156,7 @@ void kirkwood_xor1_init(void);
 void kirkwood_crypto_init(void);
 
 extern int kirkwood_tclk;
-extern struct sys_timer kirkwood_timer;
+extern void kirkwood_timer_init(void);
 
 #define ARRAY_AND_SIZE(x)      (x), ARRAY_SIZE(x)
 
index 2c1a453df2012801661c6c0c2e9f02f198d029e7..453418063c1e14babc0feeeb91b291d6ad39d42b 100644 (file)
@@ -226,6 +226,6 @@ MACHINE_START(D2NET_V2, "LaCie d2 Network v2")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
index c49b177c15236a1e8c3bc0bf2fa7d719b5132145..5a369fe74754636590aa8b3ba7fea5a8324bd1fb 100644 (file)
@@ -103,6 +103,6 @@ MACHINE_START(DB88F6281_BP, "Marvell DB-88F6281-BP Development Board")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
index 791a98fafa29a1c2ed4508015c783f50119e0342..77f98f2b0416d9edfccfc7579f78b5b6faab2ef4 100644 (file)
@@ -107,6 +107,6 @@ MACHINE_START(DOCKSTAR, "Seagate FreeAgent DockStar")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
index 7cb55f9822432e797675452b366494435912f4ce..1c6e736cbbf8b64e580f511c4a3f0e6f3a239d0a 100644 (file)
@@ -126,6 +126,6 @@ MACHINE_START(GURUPLUG, "Marvell GuruPlug Reference Board")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
index 6d8364a97810f83e897e1515be37c4ade616d45e..ba384b992befa18916735fb295a55fa05d3e0dc0 100644 (file)
@@ -167,6 +167,6 @@ MACHINE_START(MV88F6281GTW_GE, "Marvell 88F6281 GTW GE Board")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
index 728e86d33f0cc0c4946490fbe4c1cda9d69b17ea..3b706611da8e981daf8bf5aa0ff43ab9b5569dd3 100644 (file)
@@ -263,7 +263,7 @@ MACHINE_START(NETSPACE_V2, "LaCie Network Space v2")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
 #endif
@@ -275,7 +275,7 @@ MACHINE_START(INETSPACE_V2, "LaCie Internet Space v2")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
 #endif
@@ -287,7 +287,7 @@ MACHINE_START(NETSPACE_MAX_V2, "LaCie Network Space Max v2")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
 #endif
index a3b091470b8a407375bc2451fa8629f7deb2c6b9..913d032cdb19ff5cf1a6d473647f8ed541af4cc8 100644 (file)
@@ -404,7 +404,7 @@ MACHINE_START(NET2BIG_V2, "LaCie 2Big Network v2")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
 #endif
@@ -416,7 +416,7 @@ MACHINE_START(NET5BIG_V2, "LaCie 5Big Network v2")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
 #endif
index 7e81e9b586bfda4df7dca4059fe07bb8adaa7e46..8ddd69fdc9374ebe20c8ab7b1842593164410c05 100644 (file)
@@ -221,7 +221,7 @@ MACHINE_START(OPENRD_BASE, "Marvell OpenRD Base Board")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
 #endif
@@ -234,7 +234,7 @@ MACHINE_START(OPENRD_CLIENT, "Marvell OpenRD Client Board")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
 #endif
@@ -247,7 +247,7 @@ MACHINE_START(OPENRD_ULTIMATE, "Marvell OpenRD Ultimate Board")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
 #endif
index 19072c84008fd2fa5b97f27c73cd11fc6600a0be..e4fd3129d36f90b992a15a7db5df869455b2353c 100644 (file)
@@ -84,6 +84,6 @@ MACHINE_START(RD88F6192_NAS, "Marvell RD-88F6192-NAS Development Board")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
index 9717101a7437401deaee84dbba7eaa25887c2ae3..c7d93b48926bbae7d7013190e00ae401e552549b 100644 (file)
@@ -120,6 +120,6 @@ MACHINE_START(RD88F6281, "Marvell RD-88F6281 Reference Board")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
index 8a175948b28d7f24882c8bbc379feb2f6126c03f..55b68fa39f45aa63cab6f4829e11fb6de57b308c 100644 (file)
@@ -143,7 +143,7 @@ MACHINE_START(SHEEVAPLUG, "Marvell SheevaPlug Reference Board")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
 #endif
@@ -155,7 +155,7 @@ MACHINE_START(ESATA_SHEEVAPLUG, "Marvell eSATA SheevaPlug Reference Board")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
 #endif
index f2daf711e72e382e8c41ce5d686a240b8098909c..8736f8c97518cad3de97e7b4440afbb1c85cb8a2 100644 (file)
@@ -211,6 +211,6 @@ MACHINE_START(T5325, "HP t5325 Thin Client")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
index 73e2b6ca95642e31222ff9e9628c75c952a1eceb..283abff902287357a27da54427a390432317bca2 100644 (file)
@@ -137,6 +137,6 @@ MACHINE_START(TS219, "QNAP TS-119/TS-219")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
index e4c61279ea868a8d8b5eb82350c32446acbf2fe4..81d585806b2fc15552e546d9c3eab874707e2283 100644 (file)
@@ -181,6 +181,6 @@ MACHINE_START(TS41X, "QNAP TS-41x")
        .map_io         = kirkwood_map_io,
        .init_early     = kirkwood_init_early,
        .init_irq       = kirkwood_init_irq,
-       .timer          = &kirkwood_timer,
+       .init_time      = kirkwood_timer_init,
        .restart        = kirkwood_restart,
 MACHINE_END
index b0c306ccbc6e38369167a7aef437914bd85affd7..456d6386edf8b5f34e80f3b25de4605e18269ad2 100644 (file)
@@ -227,6 +227,6 @@ MACHINE_START(ACS5K, "Brivo Systems LLC ACS-5000 Master board")
        .map_io         = ks8695_map_io,
        .init_irq       = ks8695_init_irq,
        .init_machine   = acs5k_init,
-       .timer          = &ks8695_timer,
+       .init_time      = ks8695_timer_init,
        .restart        = ks8695_restart,
 MACHINE_END
index e0d36cef2c56faea7e215ce680aeda29140742eb..d37c218c35847c6938f288233b457bf6d7effce8 100644 (file)
@@ -125,6 +125,6 @@ MACHINE_START(DSM320, "D-Link DSM-320 Wireless Media Player")
        .map_io         = ks8695_map_io,
        .init_irq       = ks8695_init_irq,
        .init_machine   = dsm320_init,
-       .timer          = &ks8695_timer,
+       .init_time      = ks8695_timer_init,
        .restart        = ks8695_restart,
 MACHINE_END
index a8270725b76d271773cffce4886886671f2964a3..3acbdfd3139197d491eec2307855e89986dd526c 100644 (file)
@@ -57,6 +57,6 @@ MACHINE_START(KS8695, "KS8695 Centaur Development Board")
        .map_io         = ks8695_map_io,
        .init_irq       = ks8695_init_irq,
        .init_machine   = micrel_init,
-       .timer          = &ks8695_timer,
+       .init_time      = ks8695_timer_init,
        .restart        = ks8695_restart,
 MACHINE_END
index 1623ba461e472acbcc6c43d429bedda059946057..002bc619bb686538eb06e0a6b9bc32abd3320c8d 100644 (file)
@@ -145,7 +145,7 @@ MACHINE_START(CM4002, "OpenGear/CM4002")
        .map_io         = ks8695_map_io,
        .init_irq       = ks8695_init_irq,
        .init_machine   = og_init,
-       .timer          = &ks8695_timer,
+       .init_time      = ks8695_timer_init,
        .restart        = ks8695_restart,
 MACHINE_END
 #endif
@@ -157,7 +157,7 @@ MACHINE_START(CM4008, "OpenGear/CM4008")
        .map_io         = ks8695_map_io,
        .init_irq       = ks8695_init_irq,
        .init_machine   = og_init,
-       .timer          = &ks8695_timer,
+       .init_time      = ks8695_timer_init,
        .restart        = ks8695_restart,
 MACHINE_END
 #endif
@@ -169,7 +169,7 @@ MACHINE_START(CM41XX, "OpenGear/CM41xx")
        .map_io         = ks8695_map_io,
        .init_irq       = ks8695_init_irq,
        .init_machine   = og_init,
-       .timer          = &ks8695_timer,
+       .init_time      = ks8695_timer_init,
        .restart        = ks8695_restart,
 MACHINE_END
 #endif
@@ -181,7 +181,7 @@ MACHINE_START(IM4004, "OpenGear/IM4004")
        .map_io         = ks8695_map_io,
        .init_irq       = ks8695_init_irq,
        .init_machine   = og_init,
-       .timer          = &ks8695_timer,
+       .init_time      = ks8695_timer_init,
        .restart        = ks8695_restart,
 MACHINE_END
 #endif
@@ -193,7 +193,7 @@ MACHINE_START(IM42XX, "OpenGear/IM42xx")
        .map_io         = ks8695_map_io,
        .init_irq       = ks8695_init_irq,
        .init_machine   = og_init,
-       .timer          = &ks8695_timer,
+       .init_time      = ks8695_timer_init,
        .restart        = ks8695_restart,
 MACHINE_END
 #endif
index f35b98b5bf3735c608f76369899a6f8ab14499fe..fdf2352d2cf8c207622119341da80f08ea14afef 100644 (file)
@@ -91,7 +91,7 @@ MACHINE_START(LITE300, "SecureComputing/SG300")
        .map_io         = ks8695_map_io,
        .init_irq       = ks8695_init_irq,
        .init_machine   = sg_init,
-       .timer          = &ks8695_timer,
+       .init_time      = ks8695_timer_init,
        .restart        = ks8695_restart,
 MACHINE_END
 #endif
@@ -103,7 +103,7 @@ MACHINE_START(SG310, "McAfee/SG310")
        .map_io         = ks8695_map_io,
        .init_irq       = ks8695_init_irq,
        .init_machine   = sg_init,
-       .timer          = &ks8695_timer,
+       .init_time      = ks8695_timer_init,
        .restart        = ks8695_restart,
 MACHINE_END
 #endif
@@ -115,7 +115,7 @@ MACHINE_START(SE4200, "SecureComputing/SE4200")
        .map_io         = ks8695_map_io,
        .init_irq       = ks8695_init_irq,
        .init_machine   = sg_init,
-       .timer          = &ks8695_timer,
+       .init_time      = ks8695_timer_init,
        .restart        = ks8695_restart,
 MACHINE_END
 #endif
index f8bdb11a9c33c342d73d0bece21382b6ec544556..6e97ce462d734cb5ab65342b592dcc5a2b7e042f 100644 (file)
@@ -13,4 +13,4 @@
 extern __init void ks8695_map_io(void);
 extern __init void ks8695_init_irq(void);
 extern void ks8695_restart(char, const char *);
-extern struct sys_timer ks8695_timer;
+extern void ks8695_timer_init(void);
index 46c84bc7792cbcd396a6e3e0f6f8d3c98df4f8cd..c272a3863d5f4884dc492bb578d2bed3afcab588 100644 (file)
@@ -146,7 +146,7 @@ static void ks8695_timer_setup(void)
                                        0xFFFFFFFFU);
 }
 
-static void __init ks8695_timer_init (void)
+void __init ks8695_timer_init(void)
 {
        ks8695_timer_setup();
 
@@ -154,10 +154,6 @@ static void __init ks8695_timer_init (void)
        setup_irq(KS8695_IRQ_TIMER1, &ks8695_timer_irq);
 }
 
-struct sys_timer ks8695_timer = {
-       .init           = ks8695_timer_init,
-};
-
 void ks8695_restart(char mode, const char *cmd)
 {
        unsigned int reg;
index afeac3b1fae69900c8a757d1fff38dec5a6dcaf7..e0b26062a2728409b83fd923db57bb7a64801034 100644 (file)
@@ -25,7 +25,7 @@
 /*
  * Other arch specific structures and functions
  */
-extern struct sys_timer lpc32xx_timer;
+extern void lpc32xx_timer_init(void);
 extern void __init lpc32xx_init_irq(void);
 extern void __init lpc32xx_map_io(void);
 extern void __init lpc32xx_serial_init(void);
index e8ff4c3f0566354d70e0c827a571b235be169431..c1cd5a943ab11bfc45eefac18ba777b3f043d714 100644 (file)
@@ -263,7 +263,7 @@ DT_MACHINE_START(LPC32XX_DT, "LPC32XX SoC (Flattened Device Tree)")
        .atag_offset    = 0x100,
        .map_io         = lpc32xx_map_io,
        .init_irq       = lpc32xx_init_irq,
-       .timer          = &lpc32xx_timer,
+       .init_time      = lpc32xx_timer_init,
        .init_machine   = lpc3250_machine_init,
        .dt_compat      = lpc32xx_dt_compat,
        .restart        = lpc23xx_restart,
index c40667c33161700450f9a93874efe5a30fc0d5a5..88bd4ce3b94ad1eff2163af03d800e0eb9338182 100644 (file)
@@ -100,7 +100,7 @@ static struct irqaction lpc32xx_timer_irq = {
  * clocks need to be enabled here manually and then tagged as used in
  * the clock driver initialization
  */
-static void __init lpc32xx_timer_init(void)
+void __init lpc32xx_timer_init(void)
 {
        u32 clkrate, pllreg;
 
@@ -161,8 +161,3 @@ static void __init lpc32xx_timer_init(void)
        clocksource_mmio_init(LPC32XX_TIMER_TC(LPC32XX_TIMER1_BASE),
                "lpc32xx_clksrc", clkrate, 300, 32, clocksource_mmio_readl_up);
 }
-
-struct sys_timer lpc32xx_timer = {
-       .init           = &lpc32xx_timer_init,
-};
-
index e5dba9c5dc548c2f35f63eada103be437c69a5b4..9f64d5632e07af34ab02e2f67ed07937c98ac77b 100644 (file)
@@ -262,7 +262,7 @@ MACHINE_START(ASPENITE, "PXA168-based Aspenite Development Platform")
        .map_io         = mmp_map_io,
        .nr_irqs        = MMP_NR_IRQS,
        .init_irq       = pxa168_init_irq,
-       .timer          = &pxa168_timer,
+       .init_time      = pxa168_timer_init,
        .init_machine   = common_init,
        .restart        = pxa168_restart,
 MACHINE_END
@@ -271,7 +271,7 @@ MACHINE_START(ZYLONITE2, "PXA168-based Zylonite2 Development Platform")
        .map_io         = mmp_map_io,
        .nr_irqs        = MMP_NR_IRQS,
        .init_irq       = pxa168_init_irq,
-       .timer          = &pxa168_timer,
+       .init_time      = pxa168_timer_init,
        .init_machine   = common_init,
        .restart        = pxa168_restart,
 MACHINE_END
index 603542ae6fbd61e6696cad9eef7424f82fb90cca..1f94957b56ae430eecd43b612bd373f39d02f0f5 100644 (file)
@@ -45,7 +45,7 @@ MACHINE_START(AVENGERS_LITE, "PXA168 Avengers lite Development Platform")
        .map_io         = mmp_map_io,
        .nr_irqs        = MMP_NR_IRQS,
        .init_irq       = pxa168_init_irq,
-       .timer          = &pxa168_timer,
+       .init_time      = pxa168_timer_init,
        .init_machine   = avengers_lite_init,
        .restart        = pxa168_restart,
 MACHINE_END
index 5cb769cd26d9a470a62fca737dc6dffe0afa80ee..2358011c7d8ec7e96f24352d9331673fb455e8a4 100644 (file)
@@ -218,7 +218,7 @@ MACHINE_START(BROWNSTONE, "Brownstone Development Platform")
        .map_io         = mmp_map_io,
        .nr_irqs        = BROWNSTONE_NR_IRQS,
        .init_irq       = mmp2_init_irq,
-       .timer          = &mmp2_timer,
+       .init_time      = mmp2_timer_init,
        .init_machine   = brownstone_init,
        .restart        = mmp_restart,
 MACHINE_END
index bd453274fca289325ec86217d3c1e3df85e4335f..0bdc50b134cee9523a4ea5b8e59d268ab89236fb 100644 (file)
@@ -1,7 +1,5 @@
 #define ARRAY_AND_SIZE(x)      (x), ARRAY_SIZE(x)
 
-struct sys_timer;
-
 extern void timer_init(int irq);
 
 extern void __init icu_init_irq(void);
index 8059cc0905c6063e5dc079f9b03545d28d90bb5d..754c352dd02b0c184c1b1adf134b79a3760b774d 100644 (file)
@@ -121,7 +121,7 @@ MACHINE_START(FLINT, "Flint Development Platform")
        .map_io         = mmp_map_io,
        .nr_irqs        = FLINT_NR_IRQS,
        .init_irq       = mmp2_init_irq,
-       .timer          = &mmp2_timer,
+       .init_time      = mmp2_timer_init,
        .init_machine   = flint_init,
        .restart        = mmp_restart,
 MACHINE_END
index 5c3d61ee729a79486a7d2f19f564a774ce64c335..d1e2d595e79cafd44b737d49904b07b65042d3fa 100644 (file)
@@ -194,7 +194,7 @@ MACHINE_START(GPLUGD, "PXA168-based GuruPlug Display (gplugD) Platform")
        .map_io         = mmp_map_io,
        .nr_irqs        = MMP_NR_IRQS,
        .init_irq       = pxa168_init_irq,
-       .timer          = &pxa168_timer,
+       .init_time      = pxa168_timer_init,
        .init_machine   = gplugd_init,
        .restart        = pxa168_restart,
 MACHINE_END
index c4ca4d17194ad586bd85710d6be781486abee512..0764f4ecec821e4050d180031896c2e2f0292b80 100644 (file)
@@ -3,9 +3,7 @@
 
 #include <linux/platform_data/pxa_sdhci.h>
 
-struct sys_timer;
-
-extern struct sys_timer mmp2_timer;
+extern void mmp2_timer_init(void);
 extern void __init mmp2_init_icu(void);
 extern void __init mmp2_init_irq(void);
 extern void mmp2_clear_pmic_int(void);
index 37632d964d50551fb1d7d692e39ec92be817d571..7ed1df21ea1cac363e3e09a3ae51df26cbf835cc 100644 (file)
@@ -1,9 +1,7 @@
 #ifndef __ASM_MACH_PXA168_H
 #define __ASM_MACH_PXA168_H
 
-struct sys_timer;
-
-extern struct sys_timer pxa168_timer;
+extern void pxa168_timer_init(void);
 extern void __init pxa168_init_irq(void);
 extern void pxa168_restart(char, const char *);
 extern void pxa168_clear_keypad_wakeup(void);
index 3b58a3b2d7df287c15918190b18f5b8649f79f77..eff31ab6dc3b7e65dd135ead376b0d1e915a746a 100644 (file)
@@ -1,9 +1,7 @@
 #ifndef __ASM_MACH_PXA910_H
 #define __ASM_MACH_PXA910_H
 
-struct sys_timer;
-
-extern struct sys_timer pxa910_timer;
+extern void pxa910_timer_init(void);
 extern void __init pxa910_init_irq(void);
 
 #include <linux/i2c.h>
index ff73249884d031bb165b89d905411ffb65cd067c..66634fd0ecb092991c8be85e155dd1f066800ad0 100644 (file)
@@ -174,7 +174,7 @@ MACHINE_START(MARVELL_JASPER, "Jasper Development Platform")
        .map_io         = mmp_map_io,
        .nr_irqs        = JASPER_NR_IRQS,
        .init_irq       = mmp2_init_irq,
-       .timer          = &mmp2_timer,
+       .init_time      = mmp2_timer_init,
        .init_machine   = jasper_init,
        .restart        = mmp_restart,
 MACHINE_END
index 033cc31b3c7256834f7a00040b452d299c6601d8..d063efa0a4f1477c004d570aef6dbb173c0c24fb 100644 (file)
 extern void __init mmp_dt_irq_init(void);
 extern void __init mmp_dt_init_timer(void);
 
-static struct sys_timer mmp_dt_timer = {
-       .init   = mmp_dt_init_timer,
-};
-
 static const struct of_dev_auxdata pxa168_auxdata_lookup[] __initconst = {
        OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.0", NULL),
        OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4018000, "pxa2xx-uart.1", NULL),
@@ -69,7 +65,7 @@ static const char *mmp_dt_board_compat[] __initdata = {
 DT_MACHINE_START(PXA168_DT, "Marvell PXA168 (Device Tree Support)")
        .map_io         = mmp_map_io,
        .init_irq       = mmp_dt_irq_init,
-       .timer          = &mmp_dt_timer,
+       .init_time      = mmp_dt_init_timer,
        .init_machine   = pxa168_dt_init,
        .dt_compat      = mmp_dt_board_compat,
 MACHINE_END
@@ -77,7 +73,7 @@ MACHINE_END
 DT_MACHINE_START(PXA910_DT, "Marvell PXA910 (Device Tree Support)")
        .map_io         = mmp_map_io,
        .init_irq       = mmp_dt_irq_init,
-       .timer          = &mmp_dt_timer,
+       .init_time      = mmp_dt_init_timer,
        .init_machine   = pxa910_dt_init,
        .dt_compat      = mmp_dt_board_compat,
 MACHINE_END
index 535a5ed5977bd6348160e1fc322dbb758c9f37f1..fad431aa6e09940346143fb3768fc7a1e0121568 100644 (file)
 extern void __init mmp_dt_irq_init(void);
 extern void __init mmp_dt_init_timer(void);
 
-static struct sys_timer mmp_dt_timer = {
-       .init   = mmp_dt_init_timer,
-};
-
 static const struct of_dev_auxdata mmp2_auxdata_lookup[] __initconst = {
        OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4030000, "pxa2xx-uart.0", NULL),
        OF_DEV_AUXDATA("mrvl,mmp-uart", 0xd4017000, "pxa2xx-uart.1", NULL),
@@ -54,7 +50,7 @@ static const char *mmp2_dt_board_compat[] __initdata = {
 DT_MACHINE_START(MMP2_DT, "Marvell MMP2 (Device Tree Support)")
        .map_io         = mmp_map_io,
        .init_irq       = mmp_dt_irq_init,
-       .timer          = &mmp_dt_timer,
+       .init_time      = mmp_dt_init_timer,
        .init_machine   = mmp2_dt_init,
        .dt_compat      = mmp2_dt_board_compat,
 MACHINE_END
index 3a3768c7a19181992c1e9bac41ec3059c82eb2d2..d94d114eef7b3e9c92361f7be7e008d9649dd9b1 100644 (file)
@@ -114,7 +114,7 @@ postcore_initcall(mmp2_init);
 
 #define APBC_TIMERS    APBC_REG(0x024)
 
-static void __init mmp2_timer_init(void)
+void __init mmp2_timer_init(void)
 {
        unsigned long clk_rst;
 
@@ -130,10 +130,6 @@ static void __init mmp2_timer_init(void)
        timer_init(IRQ_MMP2_TIMER1);
 }
 
-struct sys_timer mmp2_timer = {
-       .init   = mmp2_timer_init,
-};
-
 /* on-chip devices */
 MMP2_DEVICE(uart1, "pxa2xx-uart", 0, UART1, 0xd4030000, 0x30, 4, 5);
 MMP2_DEVICE(uart2, "pxa2xx-uart", 1, UART2, 0xd4017000, 0x30, 20, 21);
index b7f074f154982cb3d9eaf25590c876786d658e48..9bc7b86a86a7e8d1f02ff118540bb25f913d7dbf 100644 (file)
@@ -67,7 +67,7 @@ postcore_initcall(pxa168_init);
 #define TIMER_CLK_RST  (APBC_APBCLK | APBC_FNCLK | APBC_FNCLKSEL(3))
 #define APBC_TIMERS    APBC_REG(0x34)
 
-static void __init pxa168_timer_init(void)
+void __init pxa168_timer_init(void)
 {
        /* this is early, we have to initialize the CCU registers by
         * ourselves instead of using clk_* API. Clock rate is defined
@@ -81,10 +81,6 @@ static void __init pxa168_timer_init(void)
        timer_init(IRQ_PXA168_TIMER1);
 }
 
-struct sys_timer pxa168_timer = {
-       .init   = pxa168_timer_init,
-};
-
 void pxa168_clear_keypad_wakeup(void)
 {
        uint32_t val;
index 8b1e16fbb7a561769cf3a11bdc414f9ce5e41207..c6a89f1eca4e1918028e862550babd8efa8a61dd 100644 (file)
@@ -101,7 +101,7 @@ postcore_initcall(pxa910_init);
 #define TIMER_CLK_RST  (APBC_APBCLK | APBC_FNCLK | APBC_FNCLKSEL(3))
 #define APBC_TIMERS    APBC_REG(0x34)
 
-static void __init pxa910_timer_init(void)
+void __init pxa910_timer_init(void)
 {
        /* reset and configure */
        __raw_writel(APBC_APBCLK | APBC_RST, APBC_TIMERS);
@@ -110,10 +110,6 @@ static void __init pxa910_timer_init(void)
        timer_init(IRQ_PXA910_AP1_TIMER1);
 }
 
-struct sys_timer pxa910_timer = {
-       .init   = pxa910_timer_init,
-};
-
 /* on-chip devices */
 
 /* NOTE: there are totally 3 UARTs on PXA910:
index b28f9084dfff2e62bd57f6c0518c6320091d03ce..4c127d23955da3419ebb9cf7fc57d23944870a0a 100644 (file)
@@ -103,7 +103,7 @@ MACHINE_START(TAVOREVB, "PXA910 Evaluation Board (aka TavorEVB)")
        .map_io         = mmp_map_io,
        .nr_irqs        = MMP_NR_IRQS,
        .init_irq       = pxa910_init_irq,
-       .timer          = &pxa910_timer,
+       .init_time      = pxa910_timer_init,
        .init_machine   = tavorevb_init,
        .restart        = mmp_restart,
 MACHINE_END
index dd30ea74785c2071ecf44cac17e6f23fb73f8874..8609967975ed9039e56b643ddd07ee52e0e3b12a 100644 (file)
@@ -86,7 +86,7 @@ MACHINE_START(TETON_BGA, "PXA168-based Teton BGA Development Platform")
        .map_io         = mmp_map_io,
        .nr_irqs        = MMP_NR_IRQS,
        .init_irq       = pxa168_init_irq,
-       .timer          = &pxa168_timer,
+       .init_time      = pxa168_timer_init,
        .init_machine   = teton_bga_init,
        .restart        = pxa168_restart,
 MACHINE_END
index ce55fd8821c40f3bdff6bd757ef9bc47af5b32c5..6e474900b13e8e5eb9160600c86cfe47d1b022d5 100644 (file)
@@ -218,7 +218,7 @@ MACHINE_START(TTC_DKB, "PXA910-based TTC_DKB Development Platform")
        .map_io         = mmp_map_io,
        .nr_irqs        = TTCDKB_NR_IRQS,
        .init_irq       = pxa910_init_irq,
-       .timer          = &pxa910_timer,
+       .init_time      = pxa910_timer_init,
        .init_machine   = ttc_dkb_init,
        .restart        = mmp_restart,
 MACHINE_END
index b5b4de2cdf9e0a4ae9526087c04ae2c9ec01f2ff..27c41eabfd12ec1177afd79ed5046d4bddae2d23 100644 (file)
@@ -59,6 +59,6 @@ DT_MACHINE_START(MSM_DT, "Qualcomm MSM (Flattened Device Tree)")
        .handle_irq = gic_handle_irq,
        .init_machine = msm8x60_dt_init,
        .init_late = msm8x60_init_late,
-       .timer = &msm_dt_timer,
+       .init_time      = msm_dt_timer_init,
        .dt_compat = msm8x60_fluid_match,
 MACHINE_END
index 4490edb71c17d245164dba85ba6a69746003ff00..3226d5276962bbdf2b40831b05fe25dfb7ae61b5 100644 (file)
@@ -43,7 +43,7 @@ DT_MACHINE_START(MSM8960_DT, "Qualcomm MSM (Flattened Device Tree)")
        .smp = smp_ops(msm_smp_ops),
        .map_io = msm_map_msm8960_io,
        .init_irq = msm_dt_init_irq,
-       .timer = &msm_dt_timer,
+       .init_time      = msm_dt_timer_init,
        .init_machine = msm_dt_init,
        .dt_compat = msm8960_dt_match,
        .handle_irq = gic_handle_irq,
index 6ce542e2e21ca485cc803b38f12154a8bc7d835a..84d720af34ab17f4c8101aee9ad61fbd0389f3e3 100644 (file)
@@ -106,5 +106,5 @@ MACHINE_START(HALIBUT, "Halibut Board (QCT SURF7200A)")
        .init_irq       = halibut_init_irq,
        .init_machine   = halibut_init,
        .init_late      = halibut_init_late,
-       .timer          = &msm7x01_timer,
+       .init_time      = msm7x01_timer_init,
 MACHINE_END
index df00bc03ce7434e32119c14283c780880dfa2efa..30c3496db59372fd89c89d3430564db967bb4aee 100644 (file)
@@ -75,7 +75,7 @@ static void __init mahimahi_init_late(void)
        smd_debugfs_init();
 }
 
-extern struct sys_timer msm_timer;
+void msm_timer_init(void);
 
 MACHINE_START(MAHIMAHI, "mahimahi")
        .atag_offset    = 0x100,
@@ -84,5 +84,5 @@ MACHINE_START(MAHIMAHI, "mahimahi")
        .init_irq       = msm_init_irq,
        .init_machine   = mahimahi_init,
        .init_late      = mahimahi_init_late,
-       .timer          = &msm_timer,
+       .init_time      = msm_timer_init,
 MACHINE_END
index effa6f4336c74bfc0a45050f88d4f2e5c876f814..7bc3f82e3ec9cc9830bdff253157717b51885496 100644 (file)
@@ -131,7 +131,7 @@ MACHINE_START(MSM7X30_SURF, "QCT MSM7X30 SURF")
        .init_irq = msm7x30_init_irq,
        .init_machine = msm7x30_init,
        .init_late = msm7x30_init_late,
-       .timer = &msm7x30_timer,
+       .init_time      = msm7x30_timer_init,
 MACHINE_END
 
 MACHINE_START(MSM7X30_FFA, "QCT MSM7X30 FFA")
@@ -142,7 +142,7 @@ MACHINE_START(MSM7X30_FFA, "QCT MSM7X30 FFA")
        .init_irq = msm7x30_init_irq,
        .init_machine = msm7x30_init,
        .init_late = msm7x30_init_late,
-       .timer = &msm7x30_timer,
+       .init_time      = msm7x30_timer_init,
 MACHINE_END
 
 MACHINE_START(MSM7X30_FLUID, "QCT MSM7X30 FLUID")
@@ -153,5 +153,5 @@ MACHINE_START(MSM7X30_FLUID, "QCT MSM7X30 FLUID")
        .init_irq = msm7x30_init_irq,
        .init_machine = msm7x30_init,
        .init_late = msm7x30_init_late,
-       .timer = &msm7x30_timer,
+       .init_time      = msm7x30_timer_init,
 MACHINE_END
index 2448fcf09eb145dbbf19327cd7b12d56a42cad55..686e7949a73a32bba6ed77449857a9cfb6d5c7b2 100644 (file)
@@ -200,7 +200,7 @@ MACHINE_START(QSD8X50_SURF, "QCT QSD8X50 SURF")
        .init_irq = qsd8x50_init_irq,
        .init_machine = qsd8x50_init,
        .init_late = qsd8x50_init_late,
-       .timer = &qsd8x50_timer,
+       .init_time      = qsd8x50_timer_init,
 MACHINE_END
 
 MACHINE_START(QSD8X50A_ST1_5, "QCT QSD8X50A ST1.5")
@@ -209,5 +209,5 @@ MACHINE_START(QSD8X50A_ST1_5, "QCT QSD8X50A ST1.5")
        .init_irq = qsd8x50_init_irq,
        .init_machine = qsd8x50_init,
        .init_late = qsd8x50_init_late,
-       .timer = &qsd8x50_timer,
+       .init_time      = qsd8x50_timer_init,
 MACHINE_END
index b7b0fc7e3278fcc7aa3c1078b2fa3a572bd44387..70730111b37c033c999358ecb144b496fb6f19e8 100644 (file)
@@ -53,7 +53,7 @@ static struct platform_device *devices[] __initdata = {
        &msm_device_uart3,
 };
 
-extern struct sys_timer msm_timer;
+void msm_timer_init(void);
 
 static void __init sapphire_init_irq(void)
 {
@@ -113,5 +113,5 @@ MACHINE_START(SAPPHIRE, "sapphire")
        .init_irq       = sapphire_init_irq,
        .init_machine   = sapphire_init,
        .init_late      = sapphire_init_late,
-       .timer          = &msm_timer,
+       .init_time      = msm_timer_init,
 MACHINE_END
index 4ba0800e243e0fd43c494e318d0073c67ee6f42a..919bfa32871a23acb8f4feb9787d38f020878df6 100644 (file)
@@ -110,5 +110,5 @@ MACHINE_START(TROUT, "HTC Dream")
        .init_irq       = trout_init_irq,
        .init_machine   = trout_init,
        .init_late      = trout_init_late,
-       .timer          = &msm7x01_timer,
+       .init_time      = msm7x01_timer_init,
 MACHINE_END
index 633a7159d5ffd09a76d774dce2974f6b2efce848..ce8215a269e50a10d8fb81090edc34cee16dd492 100644 (file)
 #ifndef __MACH_COMMON_H
 #define __MACH_COMMON_H
 
-extern struct sys_timer msm7x01_timer;
-extern struct sys_timer msm7x30_timer;
-extern struct sys_timer msm_dt_timer;
-extern struct sys_timer qsd8x50_timer;
+extern void msm7x01_timer_init(void);
+extern void msm7x30_timer_init(void);
+extern void msm_dt_timer_init(void);
+extern void qsd8x50_timer_init(void);
 
 extern void msm_map_common_io(void);
 extern void msm_map_msm7x30_io(void);
index 476549a8a709c65a6ed6378b7997ad6955efec7a..2fb5f3eec50f3edd08580935a575b226ebf9a2cf 100644 (file)
@@ -229,7 +229,7 @@ static const struct of_device_id msm_gpt_match[] __initconst = {
        { },
 };
 
-static void __init msm_dt_timer_init(void)
+void __init msm_dt_timer_init(void)
 {
        struct device_node *np;
        u32 freq;
@@ -296,10 +296,6 @@ static void __init msm_dt_timer_init(void)
 
        msm_timer_init(freq, 32, irq, !!percpu_offset);
 }
-
-struct sys_timer msm_dt_timer = {
-       .init = msm_dt_timer_init
-};
 #endif
 
 static int __init msm_timer_map(phys_addr_t event, phys_addr_t source)
@@ -317,7 +313,7 @@ static int __init msm_timer_map(phys_addr_t event, phys_addr_t source)
        return 0;
 }
 
-static void __init msm7x01_timer_init(void)
+void __init msm7x01_timer_init(void)
 {
        struct clocksource *cs = &msm_clocksource;
 
@@ -330,28 +326,16 @@ static void __init msm7x01_timer_init(void)
                        false);
 }
 
-struct sys_timer msm7x01_timer = {
-       .init = msm7x01_timer_init
-};
-
-static void __init msm7x30_timer_init(void)
+void __init msm7x30_timer_init(void)
 {
        if (msm_timer_map(0xc0100004, 0xc0100024))
                return;
        msm_timer_init(24576000 / 4, 32, 1, false);
 }
 
-struct sys_timer msm7x30_timer = {
-       .init = msm7x30_timer_init
-};
-
-static void __init qsd8x50_timer_init(void)
+void __init qsd8x50_timer_init(void)
 {
        if (msm_timer_map(0xAC100000, 0xAC100010))
                return;
        msm_timer_init(19200000 / 4, 32, 7, false);
 }
-
-struct sys_timer qsd8x50_timer = {
-       .init = qsd8x50_timer_init
-};
index ee74ec97c141b8fd45e05936832cea12689e65e8..1f2ef98b37c6f4909a530c89784b473b821a62db 100644 (file)
@@ -150,6 +150,6 @@ MACHINE_START(TERASTATION_WXL, "Buffalo Nas WXL")
        .map_io         = mv78xx0_map_io,
        .init_early     = mv78xx0_init_early,
        .init_irq       = mv78xx0_init_irq,
-       .timer          = &mv78xx0_timer,
+       .init_time      = mv78xx0_timer_init,
        .restart        = mv78xx0_restart,
 MACHINE_END
index d0cb4857b4b3fdac50b9fcfcee1422416ffe2ddf..0efa14498ebccf99f6733674db3de7d83f37b334 100644 (file)
@@ -336,16 +336,12 @@ void __init mv78xx0_init_early(void)
        orion_time_set_base(TIMER_VIRT_BASE);
 }
 
-static void __init_refok mv78xx0_timer_init(void)
+void __init_refok mv78xx0_timer_init(void)
 {
        orion_time_init(BRIDGE_VIRT_BASE, BRIDGE_INT_TIMER1_CLR,
                        IRQ_MV78XX0_TIMER_1, get_tclk());
 }
 
-struct sys_timer mv78xx0_timer = {
-       .init = mv78xx0_timer_init,
-};
-
 
 /*****************************************************************************
  * General
index 507c767d49e03349eee0a8f384632c8ab16b893b..5e9485bad0ac30449f9c7105dd223eda1334cc5d 100644 (file)
@@ -47,7 +47,7 @@ void mv78xx0_uart3_init(void);
 void mv78xx0_i2c_init(void);
 void mv78xx0_restart(char, const char *);
 
-extern struct sys_timer mv78xx0_timer;
+extern void mv78xx0_timer_init(void);
 
 
 #endif
index 4d6d48bf51ef4e4b71a324db873a30e60b5d2009..4e0f22b30bc8aefdfee061592985898171608b5e 100644 (file)
@@ -98,6 +98,6 @@ MACHINE_START(DB78X00_BP, "Marvell DB-78x00-BP Development Board")
        .map_io         = mv78xx0_map_io,
        .init_early     = mv78xx0_init_early,
        .init_irq       = mv78xx0_init_irq,
-       .timer          = &mv78xx0_timer,
+       .init_time      = mv78xx0_timer_init,
        .restart        = mv78xx0_restart,
 MACHINE_END
index 9a882706e1387fbe998fec18c09bd9210892af1c..d2d06f3957f33b8fe151241e339ca4be81101d98 100644 (file)
@@ -83,6 +83,6 @@ MACHINE_START(RD78X00_MASA, "Marvell RD-78x00-MASA Development Board")
        .map_io         = mv78xx0_map_io,
        .init_early     = mv78xx0_init_early,
        .init_irq       = mv78xx0_init_irq,
-       .timer          = &mv78xx0_timer,
+       .init_time      = mv78xx0_timer_init,
        .restart        = mv78xx0_restart,
 MACHINE_END
index 7434b5e361979a9f4170e6224fc4873a5636afd8..a5ea616d6d12b896fc49b2f13730ba5a65fd6e02 100644 (file)
@@ -56,10 +56,6 @@ void __init armada_370_xp_init_early(void)
        init_dma_coherent_pool_size(SZ_1M);
 }
 
-struct sys_timer armada_370_xp_timer = {
-       .init           = armada_370_xp_timer_and_clk_init,
-};
-
 static void __init armada_370_xp_dt_init(void)
 {
        of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
@@ -78,7 +74,7 @@ DT_MACHINE_START(ARMADA_XP_DT, "Marvell Armada 370/XP (Device Tree)")
        .init_early     = armada_370_xp_init_early,
        .init_irq       = armada_370_xp_init_irq,
        .handle_irq     = armada_370_xp_handle_irq,
-       .timer          = &armada_370_xp_timer,
+       .init_time      = armada_370_xp_timer_and_clk_init,
        .restart        = mvebu_restart,
        .dt_compat      = armada_370_xp_dt_compat,
 MACHINE_END
index c66129b5dd18574fbfc1bd4716f80536c625c341..5fad7cefe8aac3ac11e84d8d82ff3a7a910beba9 100644 (file)
@@ -163,19 +163,11 @@ static void __init imx23_timer_init(void)
        mx23_clocks_init();
 }
 
-static struct sys_timer imx23_timer = {
-       .init = imx23_timer_init,
-};
-
 static void __init imx28_timer_init(void)
 {
        mx28_clocks_init();
 }
 
-static struct sys_timer imx28_timer = {
-       .init = imx28_timer_init,
-};
-
 enum mac_oui {
        OUI_FSL,
        OUI_DENX,
@@ -446,7 +438,7 @@ DT_MACHINE_START(IMX23, "Freescale i.MX23 (Device Tree)")
        .map_io         = mx23_map_io,
        .init_irq       = icoll_init_irq,
        .handle_irq     = icoll_handle_irq,
-       .timer          = &imx23_timer,
+       .init_time      = imx23_timer_init,
        .init_machine   = mxs_machine_init,
        .dt_compat      = imx23_dt_compat,
        .restart        = mxs_restart,
@@ -456,7 +448,7 @@ DT_MACHINE_START(IMX28, "Freescale i.MX28 (Device Tree)")
        .map_io         = mx28_map_io,
        .init_irq       = icoll_init_irq,
        .handle_irq     = icoll_handle_irq,
-       .timer          = &imx28_timer,
+       .init_time      = imx28_timer_init,
        .init_machine   = mxs_machine_init,
        .dt_compat      = imx28_dt_compat,
        .restart        = mxs_restart,
index 9b915119b8d6e7bb939baf0094d09689e2b2c048..768b26bbb42b14a9746a2ba394515742ff657cd3 100644 (file)
@@ -21,5 +21,4 @@ extern void __init netx_map_io(void);
 extern void __init netx_init_irq(void);
 extern void netx_restart(char, const char *);
 
-struct sys_timer;
-extern struct sys_timer netx_timer;
+extern void netx_timer_init(void);
index 8b781ff7c9e984e0df90b236eb0ea80bb4e1ae6c..241e1b9c58cb5be730a3d432b7f288da9f9ac22e 100644 (file)
@@ -205,7 +205,7 @@ MACHINE_START(NXDB500, "Hilscher nxdb500")
        .map_io         = netx_map_io,
        .init_irq       = netx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &netx_timer,
+       .init_time      = netx_timer_init,
        .init_machine   = nxdb500_init,
        .restart        = netx_restart,
 MACHINE_END
index b26dbce334f2f295cc2fe72a77868e4409c34d7f..055aeecedde2e93a058883083f129e403526a75e 100644 (file)
@@ -98,7 +98,7 @@ MACHINE_START(NXDKN, "Hilscher nxdkn")
        .map_io         = netx_map_io,
        .init_irq       = netx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &netx_timer,
+       .init_time      = netx_timer_init,
        .init_machine   = nxdkn_init,
        .restart        = netx_restart,
 MACHINE_END
index 257382efafa0f8f8cefb1f12ed91e8338dd0f4c0..018e91c55b00527c321abe253fa58a585aacbf52 100644 (file)
@@ -182,7 +182,7 @@ MACHINE_START(NXEB500HMI, "Hilscher nxeb500hmi")
        .map_io         = netx_map_io,
        .init_irq       = netx_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &netx_timer,
+       .init_time      = netx_timer_init,
        .init_machine   = nxeb500hmi_init,
        .restart        = netx_restart,
 MACHINE_END
index e24c141ba489c7f82b1d576bafea0864f1ad1e05..0dee4524494fbd3799b8c4c050a112a68d9dc28c 100644 (file)
@@ -107,7 +107,7 @@ static struct irqaction netx_timer_irq = {
 /*
  * Set up timer interrupt
  */
-static void __init netx_timer_init(void)
+void __init netx_timer_init(void)
 {
        /* disable timer initially */
        writel(0, NETX_GPIO_COUNTER_CTRL(0));
@@ -151,7 +151,3 @@ static void __init netx_timer_init(void)
        netx_clockevent.cpumask = cpumask_of(0);
        clockevents_register_device(&netx_clockevent);
 }
-
-struct sys_timer netx_timer = {
-       .init           = netx_timer_init,
-};
index 9f19069248da2341e643f1c6161fc8576c5803c3..c9015ba647a277dc14a1d77c9d530a1156a05dc0 100644 (file)
@@ -267,10 +267,6 @@ static void __init nomadik_timer_init(void)
        nmdk_timer_init(io_p2v(NOMADIK_MTU0_BASE), IRQ_MTU0);
 }
 
-static struct sys_timer nomadik_timer = {
-       .init   = nomadik_timer_init,
-};
-
 static struct i2c_board_info __initdata nhk8815_i2c0_devices[] = {
        {
                I2C_BOARD_INFO("stw4811", 0x2d),
@@ -353,7 +349,7 @@ MACHINE_START(NOMADIK, "NHK8815")
        .map_io         = cpu8815_map_io,
        .init_irq       = cpu8815_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &nomadik_timer,
+       .init_time      = nomadik_timer_init,
        .init_machine   = nhk8815_platform_init,
        .restart        = cpu8815_restart,
 MACHINE_END
index 2e98a3ac7c5e1f5fdc56046507bda4b61aa1b3ae..2aab761ee68db7ae8fee7fd5eaf84e82f9c80572 100644 (file)
@@ -628,6 +628,6 @@ MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)")
        .init_irq       = omap1_init_irq,
        .init_machine   = ams_delta_init,
        .init_late      = ams_delta_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index 560a7dcf0a56b00bf05fee81ac89ef55f3f26fbb..702d58039cc1a90820232615224d2015bf7a6329 100644 (file)
@@ -364,6 +364,6 @@ MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample")
        .init_irq       = omap1_init_irq,
        .init_machine   = omap_fsample_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index 608e7d2a27789b63c6aee7a90259083f7679b124..e1d9171774bca91eec6f2a4802c7153208822743 100644 (file)
@@ -84,6 +84,6 @@ MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710")
        .init_irq       = omap1_init_irq,
        .init_machine   = omap_generic_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index 2274bd677efc4a688cf25025f3484a813a0bb68c..0dac3d239e326345afcc01779d5565dead760085 100644 (file)
@@ -461,6 +461,6 @@ MACHINE_START(OMAP_H2, "TI-H2")
        .init_irq       = omap1_init_irq,
        .init_machine   = h2_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index 1051935f0aac01280f3dfa55646b77ffed5911af..816ecd13f81e241c3fca64b4554b3a235b548d69 100644 (file)
@@ -454,6 +454,6 @@ MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board")
        .init_irq       = omap1_init_irq,
        .init_machine   = h3_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index 356f816c84a6603c0fab318581f31074f42de95c..35a2379b986f676618a49991dcd621cbe3e6e51b 100644 (file)
@@ -603,6 +603,6 @@ MACHINE_START(HERALD, "HTC Herald")
        .init_irq       = omap1_init_irq,
        .init_machine   = htcherald_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index f8033fab0f82f4c674bf92446a8af244df9b6d57..bd5f02e9c3545b1414dc9c3fef1694a46b693cb7 100644 (file)
@@ -458,6 +458,6 @@ MACHINE_START(OMAP_INNOVATOR, "TI-Innovator")
        .init_irq       = omap1_init_irq,
        .init_machine   = innovator_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index 24d2f2df11a067646216f9359afbca2502ccef04..4695ca71770684bb2694a507fd1358040c98d420 100644 (file)
@@ -242,6 +242,6 @@ MACHINE_START(NOKIA770, "Nokia 770")
        .init_irq       = omap1_init_irq,
        .init_machine   = omap_nokia770_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index 872ea47cd28a810c61fa31c95a1c9ef61ad364bb..a7ce69286688434e0e195e3c8a2e24728ff6dc60 100644 (file)
@@ -609,6 +609,6 @@ MACHINE_START(OMAP_OSK, "TI-OSK")
        .init_irq       = omap1_init_irq,
        .init_machine   = osk_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index c33dceb466078630108f56f29ac0e621a745b7e1..845a1a7aef95e3f18e91886244022620c3f1bfa2 100644 (file)
@@ -268,6 +268,6 @@ MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E")
        .init_irq       = omap1_init_irq,
        .init_machine   = omap_palmte_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index 2948b0ee4be872bf9f438b372f5afec322e1027e..65a4a3e357f2001d1e8281a67ac836ae109984ca 100644 (file)
@@ -314,6 +314,6 @@ MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T")
        .init_irq       = omap1_init_irq,
        .init_machine   = omap_palmtt_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index 7a05895c0be398520a1aec8d8beacb6830ada28c..01c970071fd80951b4ce25aeb512e10f77d3ba56 100644 (file)
@@ -330,6 +330,6 @@ MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71")
        .init_irq       = omap1_init_irq,
        .init_machine   = omap_palmz71_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index 27f8d12ec222034d23d3b7f8438614356e4ad7f1..8b2f7127f716ae583fb1ba05adc2976fb0905dd9 100644 (file)
@@ -326,6 +326,6 @@ MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2")
        .init_irq       = omap1_init_irq,
        .init_machine   = omap_perseus2_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index 20ed52ae171400fa1d6a3d1eb963f159c172a03a..9732a98f3e062eabc17900a15b9702e7e9a0daf1 100644 (file)
@@ -407,6 +407,6 @@ MACHINE_START(SX1, "OMAP310 based Siemens SX1")
        .init_irq       = omap1_init_irq,
        .init_machine   = omap_sx1_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = omap1_restart,
 MACHINE_END
index abf705f49b19777e21884f3795432e1cb709f84e..6c116e1a4b014d9b1b4c973e276a7f2b016c4a70 100644 (file)
@@ -289,6 +289,6 @@ MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910")
        .init_irq       = omap1_init_irq,
        .init_machine   = voiceblue_init,
        .init_late      = omap1_init_late,
-       .timer          = &omap1_timer,
+       .init_time      = omap1_timer_init,
        .restart        = voiceblue_restart,
 MACHINE_END
index b53e0854422f13a37435eb16c24c75cad7bf03bc..fb18831e88aa5009fd8d1b546bba39d9397697d3 100644 (file)
@@ -75,7 +75,7 @@ extern void __init omap_check_revision(void);
 extern void omap1_nand_cmd_ctl(struct mtd_info *mtd, int cmd,
                               unsigned int ctrl);
 
-extern struct sys_timer omap1_timer;
+extern void omap1_timer_init(void);
 #ifdef CONFIG_OMAP_32K_TIMER
 extern int omap_32k_timer_init(void);
 #else
index 4d4816fd6fc9b8d6a9931162ca66c948500c23ea..1d4512fdc9bc5b96026c018407edfe6faa5d2536 100644 (file)
@@ -236,12 +236,8 @@ static inline void omap_mpu_timer_init(void)
  * Timer initialization
  * ---------------------------------------------------------------------------
  */
-static void __init omap1_timer_init(void)
+void __init omap1_timer_init(void)
 {
        if (omap_32k_timer_init() != 0)
                omap_mpu_timer_init();
 }
-
-struct sys_timer omap1_timer = {
-       .init           = omap1_timer_init,
-};
index 4815ea6f8f5dfc11f34af1c8e848bd0ed8d866c0..5f413968d568a167e461443d9d58fb1bd8b4b9e1 100644 (file)
@@ -284,6 +284,6 @@ MACHINE_START(OMAP_2430SDP, "OMAP2430 sdp2430 board")
        .handle_irq     = omap2_intc_handle_irq,
        .init_machine   = omap_2430sdp_init,
        .init_late      = omap2430_init_late,
-       .timer          = &omap2_timer,
+       .init_time      = omap2_sync32k_timer_init,
        .restart        = omap2xxx_restart,
 MACHINE_END
index bb73afc9ac17cbc83e915145b7887b0e8203ff90..8e2513f6a282cc0cb18bbd68a49ac48e82eb2bcf 100644 (file)
@@ -597,6 +597,6 @@ MACHINE_START(OMAP_3430SDP, "OMAP3430 3430SDP board")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap_3430sdp_init,
        .init_late      = omap3430_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 050aaa7712544fc9db648dbd48ad2e8e237e484b..33846274bb8a282b592126d411a9d06adf35ad92 100644 (file)
@@ -211,6 +211,6 @@ MACHINE_START(OMAP_3630SDP, "OMAP 3630SDP board")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap_sdp_init,
        .init_late      = omap3630_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 1cc6696594fd5493258b2df98874f6eb307a3bbf..f5d5f5941d7d37e7a363d3fdd5a93beec84a016b 100644 (file)
@@ -725,6 +725,6 @@ MACHINE_START(OMAP_4430SDP, "OMAP4430 4430SDP board")
        .handle_irq     = gic_handle_irq,
        .init_machine   = omap_4430sdp_init,
        .init_late      = omap4430_init_late,
-       .timer          = &omap4_timer,
+       .init_time      = omap4_local_timer_init,
        .restart        = omap44xx_restart,
 MACHINE_END
index 51b96a1206d198dcdeef25ac5f76c0c06e9cb080..07f0be24a5d18eceacac4573aca9a8d1748b2dfb 100644 (file)
@@ -92,6 +92,6 @@ MACHINE_START(CRANEBOARD, "AM3517/05 CRANEBOARD")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = am3517_crane_init,
        .init_late      = am35xx_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index f81a303b87ff1afbba44e9ddcfdea4dcb2363ffb..6f5b2a05f4b2fdf5b33320982f7e71573c5d5e0c 100644 (file)
@@ -393,6 +393,6 @@ MACHINE_START(OMAP3517EVM, "OMAP3517/AM3517 EVM")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = am3517_evm_init,
        .init_late      = am35xx_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 5d0a61f5416551b83ea0844af6eb66cbc0955727..3a6ca74709ab93a99c40a194a5c69d19f2e0da9f 100644 (file)
@@ -337,6 +337,6 @@ MACHINE_START(OMAP_APOLLON, "OMAP24xx Apollon")
        .handle_irq     = omap2_intc_handle_irq,
        .init_machine   = omap_apollon_init,
        .init_late      = omap2420_init_late,
-       .timer          = &omap2_timer,
+       .init_time      = omap2_sync32k_timer_init,
        .restart        = omap2xxx_restart,
 MACHINE_END
index b3102c2f4a3cbbede79af9aeb10beecf808a60a5..68647c3891901022a6afa378b104bf7b2759d524 100644 (file)
@@ -751,7 +751,7 @@ MACHINE_START(CM_T35, "Compulab CM-T35")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = cm_t35_init,
        .init_late      = omap35xx_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
 
@@ -764,6 +764,6 @@ MACHINE_START(CM_T3730, "Compulab CM-T3730")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = cm_t3730_init,
        .init_late     = omap3630_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index ebbc2adb499e9300d6213f8f4968aa6306c4a87e..6a9529ab95cd1c2fbb21917a75ba96e15d37be65 100644 (file)
@@ -297,6 +297,6 @@ MACHINE_START(CM_T3517, "Compulab CM-T3517")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = cm_t3517_init,
        .init_late      = am35xx_init_late,
-       .timer          = &omap3_gp_timer,
+       .init_time      = omap3_gp_gptimer_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 12865af25d3a865b351e8dff3b8cb5fc20649ca5..0b1d8f75808812fdd9b6c60cfb8606173e997348 100644 (file)
@@ -643,6 +643,6 @@ MACHINE_START(DEVKIT8000, "OMAP3 Devkit8000")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = devkit8000_init,
        .init_late      = omap35xx_init_late,
-       .timer          = &omap3_secure_timer,
+       .init_time      = omap3_secure_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 53cb380b7877a3fb6e354d97db1586523e2f78a3..8a5f814613c678b4b67b625395b4acf6fbad52f4 100644 (file)
@@ -65,7 +65,7 @@ DT_MACHINE_START(OMAP242X_DT, "Generic OMAP2420 (Flattened Device Tree)")
        .init_irq       = omap_intc_of_init,
        .handle_irq     = omap2_intc_handle_irq,
        .init_machine   = omap_generic_init,
-       .timer          = &omap2_timer,
+       .init_time      = omap2_sync32k_timer_init,
        .dt_compat      = omap242x_boards_compat,
        .restart        = omap2xxx_restart,
 MACHINE_END
@@ -84,7 +84,7 @@ DT_MACHINE_START(OMAP243X_DT, "Generic OMAP2430 (Flattened Device Tree)")
        .init_irq       = omap_intc_of_init,
        .handle_irq     = omap2_intc_handle_irq,
        .init_machine   = omap_generic_init,
-       .timer          = &omap2_timer,
+       .init_time      = omap2_sync32k_timer_init,
        .dt_compat      = omap243x_boards_compat,
        .restart        = omap2xxx_restart,
 MACHINE_END
@@ -103,7 +103,7 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)")
        .init_irq       = omap_intc_of_init,
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap_generic_init,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .dt_compat      = omap3_boards_compat,
        .restart        = omap3xxx_restart,
 MACHINE_END
@@ -120,7 +120,7 @@ DT_MACHINE_START(OMAP3_GP_DT, "Generic OMAP3-GP (Flattened Device Tree)")
        .init_irq       = omap_intc_of_init,
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap_generic_init,
-       .timer          = &omap3_secure_timer,
+       .init_time      = omap3_secure_sync32k_timer_init,
        .dt_compat      = omap3_gp_boards_compat,
        .restart        = omap3xxx_restart,
 MACHINE_END
@@ -139,7 +139,7 @@ DT_MACHINE_START(AM33XX_DT, "Generic AM33XX (Flattened Device Tree)")
        .init_irq       = omap_intc_of_init,
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap_generic_init,
-       .timer          = &omap3_am33xx_timer,
+       .init_time      = omap3_am33xx_gptimer_timer_init,
        .dt_compat      = am33xx_boards_compat,
 MACHINE_END
 #endif
@@ -159,7 +159,7 @@ DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)")
        .handle_irq     = gic_handle_irq,
        .init_machine   = omap_generic_init,
        .init_late      = omap4430_init_late,
-       .timer          = &omap4_timer,
+       .init_time      = omap4_local_timer_init,
        .dt_compat      = omap4_boards_compat,
        .restart        = omap44xx_restart,
 MACHINE_END
@@ -179,7 +179,7 @@ DT_MACHINE_START(OMAP5_DT, "Generic OMAP5 (Flattened Device Tree)")
        .init_irq       = omap_gic_of_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = omap_generic_init,
-       .timer          = &omap5_timer,
+       .init_time      = omap5_realtime_timer_init,
        .dt_compat      = omap5_boards_compat,
        .restart        = omap44xx_restart,
 MACHINE_END
index 3be1311f9e33fe4bfec977191616cc0e2431974c..812c829fa46f60a3af0aeec99bcb45555500bb05 100644 (file)
@@ -342,6 +342,6 @@ MACHINE_START(OMAP_H4, "OMAP2420 H4 board")
        .handle_irq     = omap2_intc_handle_irq,
        .init_machine   = omap_h4_init,
        .init_late      = omap2420_init_late,
-       .timer          = &omap2_timer,
+       .init_time      = omap2_sync32k_timer_init,
        .restart        = omap2xxx_restart,
 MACHINE_END
index 0f24cb84ba5a524ff0256462d84be6cc2d6d9b0e..5b447649f5a0017d6e04cd4181c22fe4258d42db 100644 (file)
@@ -655,7 +655,7 @@ MACHINE_START(IGEP0020, "IGEP v2 board")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = igep_init,
        .init_late      = omap35xx_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
 
@@ -668,6 +668,6 @@ MACHINE_START(IGEP0030, "IGEP OMAP3 module")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = igep_init,
        .init_late      = omap35xx_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 0869f4f3d3e11264fce04e29b02c5e046f61193f..ff440c0d04dd999a533216bc2657f054706cd40d 100644 (file)
@@ -435,6 +435,6 @@ MACHINE_START(OMAP_LDP, "OMAP LDP board")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap_ldp_init,
        .init_late      = omap3430_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 0abb30fe399cfd5923785c37e7a995c29d90eb58..f6eeb87e4e955e425903475b733328656ffcaeda 100644 (file)
@@ -731,7 +731,7 @@ MACHINE_START(NOKIA_N800, "Nokia N800")
        .handle_irq     = omap2_intc_handle_irq,
        .init_machine   = n8x0_init_machine,
        .init_late      = omap2420_init_late,
-       .timer          = &omap2_timer,
+       .init_time      = omap2_sync32k_timer_init,
        .restart        = omap2xxx_restart,
 MACHINE_END
 
@@ -744,7 +744,7 @@ MACHINE_START(NOKIA_N810, "Nokia N810")
        .handle_irq     = omap2_intc_handle_irq,
        .init_machine   = n8x0_init_machine,
        .init_late      = omap2420_init_late,
-       .timer          = &omap2_timer,
+       .init_time      = omap2_sync32k_timer_init,
        .restart        = omap2xxx_restart,
 MACHINE_END
 
@@ -757,6 +757,6 @@ MACHINE_START(NOKIA_N810_WIMAX, "Nokia N810 WiMAX")
        .handle_irq     = omap2_intc_handle_irq,
        .init_machine   = n8x0_init_machine,
        .init_late      = omap2420_init_late,
-       .timer          = &omap2_timer,
+       .init_time      = omap2_sync32k_timer_init,
        .restart        = omap2xxx_restart,
 MACHINE_END
index 1957426b96fe0f87006d18d0a7f3c80a0937929e..a43dd52d38764d3731eaf1c456902d0ed13408eb 100644 (file)
@@ -544,6 +544,6 @@ MACHINE_START(OMAP3_BEAGLE, "OMAP3 Beagle Board")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap3_beagle_init,
        .init_late      = omap3_init_late,
-       .timer          = &omap3_secure_timer,
+       .init_time      = omap3_secure_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 3985f35aee06a6cffbc05d2930b56c456231ee97..f2f636b19762706e3e631adb4f56d7ed07a015fe 100644 (file)
@@ -757,6 +757,6 @@ MACHINE_START(OMAP3EVM, "OMAP3 EVM")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap3_evm_init,
        .init_late      = omap35xx_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 2a065ba6eb58b9c3da2c265d5616e19904263716..0fba43a9b07dc72025a4c75df730c3828520cfb3 100644 (file)
@@ -231,7 +231,7 @@ MACHINE_START(OMAP3_TORPEDO, "Logic OMAP3 Torpedo board")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap3logic_init,
        .init_late      = omap35xx_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
 
@@ -244,6 +244,6 @@ MACHINE_START(OMAP3530_LV_SOM, "OMAP Logic 3530 LV SOM board")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap3logic_init,
        .init_late      = omap35xx_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index a53a6683c1b8b103f88cb3e5e1019a04a6b751a4..12e181689340970acf8f0dfe4d13a627f5f2e74d 100644 (file)
@@ -618,6 +618,6 @@ MACHINE_START(OMAP3_PANDORA, "Pandora Handheld Console")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap3pandora_init,
        .init_late      = omap35xx_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 53a6cbcf9747bdd88acbbf9fdd155db05a5dc817..13ee40545604cd7c1f9f171f88de7012f21377ef 100644 (file)
@@ -427,6 +427,6 @@ MACHINE_START(SBC3530, "OMAP3 STALKER")
        .handle_irq             = omap3_intc_handle_irq,
        .init_machine           = omap3_stalker_init,
        .init_late              = omap35xx_init_late,
-       .timer                  = &omap3_secure_timer,
+       .init_time              = omap3_secure_sync32k_timer_init,
        .restart                = omap3xxx_restart,
 MACHINE_END
index 263cb9cfbf3783e1c95d540bd807d652276725f3..36c455c85ed926a30c8ad0a6db057e31ce3f527b 100644 (file)
@@ -386,6 +386,6 @@ MACHINE_START(TOUCHBOOK, "OMAP3 touchbook Board")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap3_touchbook_init,
        .init_late      = omap3430_init_late,
-       .timer          = &omap3_secure_timer,
+       .init_time      = omap3_secure_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 769c1feee1c469049290f9101745cc28ef01742f..72e2e7e68357a893f3c34837f5fed49369781e98 100644 (file)
@@ -462,6 +462,6 @@ MACHINE_START(OMAP4_PANDA, "OMAP4 Panda board")
        .handle_irq     = gic_handle_irq,
        .init_machine   = omap4_panda_init,
        .init_late      = omap4430_init_late,
-       .timer          = &omap4_timer,
+       .init_time      = omap4_local_timer_init,
        .restart        = omap44xx_restart,
 MACHINE_END
index c8fde3e5644138088721040a465b55de4094313c..233a37d541c3118749dc5a2609548712160080e6 100644 (file)
@@ -551,6 +551,6 @@ MACHINE_START(OVERO, "Gumstix Overo")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = overo_init,
        .init_late      = omap35xx_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 0c777b75e484dcc3cc291a4dd5cab058178f8941..386a2ddc1173d3d2688d5178f9459a767a1c738b 100644 (file)
@@ -147,7 +147,7 @@ MACHINE_START(NOKIA_RM680, "Nokia RM-680 board")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = rm680_init,
        .init_late      = omap3630_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
 
@@ -160,6 +160,6 @@ MACHINE_START(NOKIA_RM696, "Nokia RM-696 board")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = rm680_init,
        .init_late      = omap3630_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index d0374ea2dfb0ef21288c0a47a27dc1e9fc17ce2e..f7c4616cbb60a7e90f45e1fdc8a686e3cd47857f 100644 (file)
@@ -123,6 +123,6 @@ MACHINE_START(NOKIA_RX51, "Nokia RX-51 board")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = rx51_init,
        .init_late      = omap3430_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 1a3e056d63a76afbb9f5b621c9d3f41d08428fc7..6273c286e1d8fc877bfc6d20d7cdfa50530119c8 100644 (file)
@@ -43,7 +43,7 @@ MACHINE_START(TI8168EVM, "ti8168evm")
        .map_io         = ti81xx_map_io,
        .init_early     = ti81xx_init_early,
        .init_irq       = ti81xx_init_irq,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .init_machine   = ti81xx_evm_init,
        .init_late      = ti81xx_init_late,
        .restart        = omap44xx_restart,
@@ -55,7 +55,7 @@ MACHINE_START(TI8148EVM, "ti8148evm")
        .map_io         = ti81xx_map_io,
        .init_early     = ti81xx_init_early,
        .init_irq       = ti81xx_init_irq,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .init_machine   = ti81xx_evm_init,
        .init_late      = ti81xx_init_late,
        .restart        = omap44xx_restart,
index d7fa31e672387043aedeaaa872e499d1219daa27..d257cf1e0abec2191d9b54898e2a96d976301702 100644 (file)
@@ -137,7 +137,7 @@ MACHINE_START(OMAP_ZOOM2, "OMAP Zoom2 board")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap_zoom_init,
        .init_late      = omap3430_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
 
@@ -150,6 +150,6 @@ MACHINE_START(OMAP_ZOOM3, "OMAP Zoom3 board")
        .handle_irq     = omap3_intc_handle_irq,
        .init_machine   = omap_zoom_init,
        .init_late      = omap3630_init_late,
-       .timer          = &omap3_timer,
+       .init_time      = omap3_sync32k_timer_init,
        .restart        = omap3xxx_restart,
 MACHINE_END
index 948bcaa82eb67e1030c3d6958c33c69f365203b1..b4350274361bb3fca31721301ada1e03dcffb036 100644 (file)
@@ -79,13 +79,13 @@ static inline int omap_mux_late_init(void)
 
 extern void omap2_init_common_infrastructure(void);
 
-extern struct sys_timer omap2_timer;
-extern struct sys_timer omap3_timer;
-extern struct sys_timer omap3_secure_timer;
-extern struct sys_timer omap3_gp_timer;
-extern struct sys_timer omap3_am33xx_timer;
-extern struct sys_timer omap4_timer;
-extern struct sys_timer omap5_timer;
+extern void omap2_sync32k_timer_init(void);
+extern void omap3_sync32k_timer_init(void);
+extern void omap3_secure_sync32k_timer_init(void);
+extern void omap3_gp_gptimer_timer_init(void);
+extern void omap3_am33xx_gptimer_timer_init(void);
+extern void omap4_local_timer_init(void);
+extern void omap5_realtime_timer_init(void);
 
 void omap2420_init_early(void);
 void omap2430_init_early(void);
index 390c1b6e15bc9acbc228d4cb5438784362c5e379..05b3a5472bfb4547fc381c593c0c2c6690f54aa7 100644 (file)
@@ -552,7 +552,7 @@ static inline void __init realtime_counter_init(void)
 
 #define OMAP_SYS_GP_TIMER_INIT(name, clkev_nr, clkev_src, clkev_prop,  \
                               clksrc_nr, clksrc_src)                   \
-static void __init omap##name##_gptimer_timer_init(void)               \
+void __init omap##name##_gptimer_timer_init(void)                      \
 {                                                                      \
        omap_dmtimer_init();                                            \
        omap2_gp_clockevent_init((clkev_nr), clkev_src, clkev_prop);    \
@@ -561,7 +561,7 @@ static void __init omap##name##_gptimer_timer_init(void)            \
 
 #define OMAP_SYS_32K_TIMER_INIT(name, clkev_nr, clkev_src, clkev_prop, \
                                clksrc_nr, clksrc_src)                  \
-static void __init omap##name##_sync32k_timer_init(void)               \
+void __init omap##name##_sync32k_timer_init(void)              \
 {                                                                      \
        omap_dmtimer_init();                                            \
        omap2_gp_clockevent_init((clkev_nr), clkev_src, clkev_prop);    \
@@ -572,33 +572,23 @@ static void __init omap##name##_sync32k_timer_init(void)          \
                omap2_sync32k_clocksource_init();                       \
 }
 
-#define OMAP_SYS_TIMER(name, clksrc)                                   \
-struct sys_timer omap##name##_timer = {                                        \
-       .init   = omap##name##_##clksrc##_timer_init,                   \
-};
-
 #ifdef CONFIG_ARCH_OMAP2
 OMAP_SYS_32K_TIMER_INIT(2, 1, OMAP2_32K_SOURCE, "ti,timer-alwon",
                        2, OMAP2_MPU_SOURCE);
-OMAP_SYS_TIMER(2, sync32k);
 #endif /* CONFIG_ARCH_OMAP2 */
 
 #ifdef CONFIG_ARCH_OMAP3
 OMAP_SYS_32K_TIMER_INIT(3, 1, OMAP3_32K_SOURCE, "ti,timer-alwon",
                        2, OMAP3_MPU_SOURCE);
-OMAP_SYS_TIMER(3, sync32k);
 OMAP_SYS_32K_TIMER_INIT(3_secure, 12, OMAP3_32K_SOURCE, "ti,timer-secure",
                        2, OMAP3_MPU_SOURCE);
-OMAP_SYS_TIMER(3_secure, sync32k);
 OMAP_SYS_GP_TIMER_INIT(3_gp, 1, OMAP3_MPU_SOURCE, "ti,timer-alwon",
                       2, OMAP3_MPU_SOURCE);
-OMAP_SYS_TIMER(3_gp, gptimer);
 #endif /* CONFIG_ARCH_OMAP3 */
 
 #ifdef CONFIG_SOC_AM33XX
 OMAP_SYS_GP_TIMER_INIT(3_am33xx, 1, OMAP4_MPU_SOURCE, "ti,timer-alwon",
                       2, OMAP4_MPU_SOURCE);
-OMAP_SYS_TIMER(3_am33xx, gptimer);
 #endif /* CONFIG_SOC_AM33XX */
 
 #ifdef CONFIG_ARCH_OMAP4
@@ -606,7 +596,7 @@ OMAP_SYS_32K_TIMER_INIT(4, 1, OMAP4_32K_SOURCE, "ti,timer-alwon",
                        2, OMAP4_MPU_SOURCE);
 #ifdef CONFIG_LOCAL_TIMERS
 static DEFINE_TWD_LOCAL_TIMER(twd_local_timer, OMAP44XX_LOCAL_TWD_BASE, 29);
-static void __init omap4_local_timer_init(void)
+void __init omap4_local_timer_init(void)
 {
        omap4_sync32k_timer_init();
        /* Local timers are not supprted on OMAP4430 ES1.0 */
@@ -624,18 +614,17 @@ static void __init omap4_local_timer_init(void)
        }
 }
 #else /* CONFIG_LOCAL_TIMERS */
-static void __init omap4_local_timer_init(void)
+void __init omap4_local_timer_init(void)
 {
        omap4_sync32k_timer_init();
 }
 #endif /* CONFIG_LOCAL_TIMERS */
-OMAP_SYS_TIMER(4, local);
 #endif /* CONFIG_ARCH_OMAP4 */
 
 #ifdef CONFIG_SOC_OMAP5
 OMAP_SYS_32K_TIMER_INIT(5, 1, OMAP4_32K_SOURCE, "ti,timer-alwon",
                        2, OMAP4_MPU_SOURCE);
-static void __init omap5_realtime_timer_init(void)
+void __init omap5_realtime_timer_init(void)
 {
        int err;
 
@@ -646,7 +635,6 @@ static void __init omap5_realtime_timer_init(void)
        if (err)
                pr_err("%s: arch_timer_register failed %d\n", __func__, err);
 }
-OMAP_SYS_TIMER(5, realtime);
 #endif /* CONFIG_SOC_OMAP5 */
 
 /**
index 32e5c211a89b8790ff3255e381b54d8615a691ba..35a8014529ca7b45b68a769a59e8a8d11d3e0782 100644 (file)
@@ -72,7 +72,7 @@ DT_MACHINE_START(ORION5X_DT, "Marvell Orion5x (Flattened Device Tree)")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion_dt_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .init_machine   = orion5x_dt_init,
        .restart        = orion5x_restart,
        .dt_compat      = orion5x_dt_compat,
index 550f92320afb1505ab15a3c59853fe7edb40461e..d068f1431c402965004105c3ddb1018ec3b6d8ec 100644 (file)
@@ -217,7 +217,7 @@ int __init orion5x_find_tclk(void)
        return 166666667;
 }
 
-static void __init orion5x_timer_init(void)
+void __init orion5x_timer_init(void)
 {
        orion5x_tclk = orion5x_find_tclk();
 
@@ -225,10 +225,6 @@ static void __init orion5x_timer_init(void)
                        IRQ_ORION5X_BRIDGE, orion5x_tclk);
 }
 
-struct sys_timer orion5x_timer = {
-       .init = orion5x_timer_init,
-};
-
 
 /*****************************************************************************
  * General
index 7db5cdd9c4b791812c0a717ef921d7678602ae20..e60345760283a9263a10be96c3fa4fd54a7c9c91 100644 (file)
@@ -15,7 +15,7 @@ void orion5x_init(void);
 void orion5x_id(u32 *dev, u32 *rev, char **dev_name);
 void clk_init(void);
 extern int orion5x_tclk;
-extern struct sys_timer orion5x_timer;
+extern void orion5x_timer_init(void);
 
 /*
  * Enumerations and functions for Orion windows mapping. Used by Orion core
index e3629c063df247defde62b2779b42f6b11dc2cf2..57d0af74874d0877a77dc0d4a44c4bebe56b7605 100644 (file)
@@ -342,7 +342,7 @@ MACHINE_START(D2NET, "LaCie d2 Network")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
@@ -355,7 +355,7 @@ MACHINE_START(BIGDISK, "LaCie Big Disk Network")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index 41fe2b1ff47c626da31d5a1ddad41740f9a56a94..76665640087b879f54ef5bbc150a95e3b7de923f 100644 (file)
@@ -362,6 +362,6 @@ MACHINE_START(DB88F5281, "Marvell Orion-2 Development Board")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .restart        = orion5x_restart,
 MACHINE_END
index e533588880ff5636fdaf2982988b33d0342a1c97..6eb1732757fd241132cbfea85e83f79272621c84 100644 (file)
@@ -714,7 +714,7 @@ MACHINE_START(DNS323, "D-Link DNS-323")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index f1ae10ae5bd4ee0833557675196b739d3fedf43d..b984035262180af2c072c7f8cca492c3baed97a0 100644 (file)
@@ -383,7 +383,7 @@ MACHINE_START(KUROBOX_PRO, "Buffalo/Revogear Kurobox Pro")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
@@ -397,7 +397,7 @@ MACHINE_START(LINKSTATION_PRO, "Buffalo Linkstation Pro/Live")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index 0c9e413b5805293756777bc1f0b8a3c04b2ec4c7..044da5b6a6ae6057efff262eed3e870716691b26 100644 (file)
@@ -322,7 +322,7 @@ MACHINE_START(LINKSTATION_LSCHL, "Buffalo Linkstation LiveV3 (LS-CHL)")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index c1b5d8a580374d9e92443982eb83bfe34bf1788a..d49f93423f52feaeb2061542982ce0db477d7fa3 100644 (file)
@@ -269,7 +269,7 @@ MACHINE_START(LINKSTATION_LS_HGL, "Buffalo Linkstation LS-HGL")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index 949eaa8f12e3cd1a165ee5f696fdb5a545a31c0a..8e3965c6c0fe15fa96b615d55cc4c6e16aded6c3 100644 (file)
@@ -271,7 +271,7 @@ MACHINE_START(LINKSTATION_MINI, "Buffalo Linkstation Mini")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index 1c16d045333ea0f5b7551907b36a2eaaed976a5d..0ec94a1f2b16e2fe9a9ac34bd7964867c42a8e20 100644 (file)
@@ -265,7 +265,7 @@ MACHINE_START(MSS2, "Maxtor Shared Storage II")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index c87fde4deecad440b12482e9789eeea11ea08915..18143f2a909398eb709066c7bba1a2d32261b575 100644 (file)
@@ -233,7 +233,7 @@ MACHINE_START(MV2120, "HP Media Vault mv2120")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index 3506f16c0bf27d91f130ef3b245af81f90271e34..282e503b003eb12c6ffd62b62ae4dd35cc09982c 100644 (file)
@@ -425,7 +425,7 @@ MACHINE_START(NET2BIG, "LaCie 2Big Network")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index 9b1c95310291e74896e9de9793006aa2ee181dcb..d6e72f672afbf221a9066100a64b3d96107d9e5f 100644 (file)
@@ -171,7 +171,7 @@ MACHINE_START(RD88F5181L_FXO, "Marvell Orion-VoIP FXO Reference Design")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index 51ba2b81a10b7fe096f8467cdb83ec56d3682634..c8b7913310e53b7f97ced2566fd0d4001512513f 100644 (file)
@@ -183,7 +183,7 @@ MACHINE_START(RD88F5181L_GE, "Marvell Orion-VoIP GE Reference Design")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index 0a56b9444f1bc6b3a33f0a316bf112250f5141d5..f9e156725d7cf52e742972d90ba58776c57c7708 100644 (file)
@@ -281,6 +281,6 @@ MACHINE_START(RD88F5182, "Marvell Orion-NAS Reference Design")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .restart        = orion5x_restart,
 MACHINE_END
index ed50910b08a42747aeeca5ca4b6b24acd7510e0b..78a1e6ab1b9da8000f046dd2dce5cd7275f3b004 100644 (file)
@@ -123,7 +123,7 @@ MACHINE_START(RD88F6183AP_GE, "Marvell Orion-1-90 AP GE Reference Design")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index 90e571dc4deb4d366ae8314d09baaf8119e5e69b..acc0877ec1c9848be42c2fceaf40a956532bb07c 100644 (file)
@@ -361,7 +361,7 @@ MACHINE_START(TERASTATION_PRO2, "Buffalo Terastation Pro II/Live")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index b184f680e0db8e6016f091e15efc21c92a5ab5af..9c17f0c2b488616404472282be1d955dba515711 100644 (file)
@@ -326,7 +326,7 @@ MACHINE_START(TS209, "QNAP TS-109/TS-209")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index a5c2e64c4ece06ef1cc6458e54d7df031fdbc1bc..8cc5ab6c503e31f17f5f4b0bf9b9e8207d90657c 100644 (file)
@@ -315,7 +315,7 @@ MACHINE_START(TS409, "QNAP TS-409")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index b0727dcd1ef997b5b576a50b70efb28a98a02ab5..e960855d32ac30b75e6a328181be3cbe8fed9535 100644 (file)
@@ -619,6 +619,6 @@ MACHINE_START(TS78XX, "Technologic Systems TS-78xx SBC")
        .map_io         = ts78xx_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .restart        = orion5x_restart,
 MACHINE_END
index 754c12b6abf09c7e0077b01c3493788b911dc43a..66552ca7e05da68de13934ddaae342cd75622404 100644 (file)
@@ -176,7 +176,7 @@ MACHINE_START(WNR854T, "Netgear WNR854T")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index 45c21251eb1efa7c5b8ccc456d74ff7411ad5f85..2c5408e2e689431fdd40de391db45890f9821caa 100644 (file)
@@ -264,7 +264,7 @@ MACHINE_START(WRT350N_V2, "Linksys WRT350N v2")
        .map_io         = orion5x_map_io,
        .init_early     = orion5x_init_early,
        .init_irq       = orion5x_init_irq,
-       .timer          = &orion5x_timer,
+       .init_time      = orion5x_timer_init,
        .fixup          = tag_fixup_mem32,
        .restart        = orion5x_restart,
 MACHINE_END
index f6c0849af5e9e374cd1639e3da0fcec952756391..518c59bdbcda584890cb9e2110d2cd63ceb4043a 100644 (file)
@@ -99,7 +99,7 @@ DT_MACHINE_START(PICOXCELL, "Picochip picoXcell")
        .nr_irqs        = NR_IRQS_LEGACY,
        .init_irq       = picoxcell_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &dw_apb_timer,
+       .init_time      = dw_apb_timer_init,
        .init_machine   = picoxcell_init_machine,
        .dt_compat      = picoxcell_dt_match,
        .restart        = picoxcell_wdt_restart,
index a65cb02f84c8d4824b319718942f3b71d7d2fae4..481b42a4ef155fdeab6a841cbcd8485594035950 100644 (file)
@@ -12,6 +12,6 @@
 
 #include <asm/mach/time.h>
 
-extern struct sys_timer dw_apb_timer;
+extern void dw_apb_timer_init(void);
 
 #endif /* __PICOXCELL_COMMON_H__ */
index f25a5419463966d3b046812d9a7155b9b686f696..ed3570e5eb8fd34e08f1daf7c17a1d772eb80a0f 100644 (file)
@@ -40,7 +40,7 @@ DT_MACHINE_START(PRIMA2_DT, "Generic PRIMA2 (Flattened Device Tree)")
        /* Maintainer: Barry Song <baohua.song@csr.com> */
        .map_io         = sirfsoc_map_lluart,
        .init_irq       = sirfsoc_of_irq_init,
-       .timer          = &sirfsoc_timer,
+       .init_time      = sirfsoc_timer_init,
        .dma_zone_size  = SZ_256M,
        .init_machine   = sirfsoc_mach_init,
        .init_late      = sirfsoc_init_late,
index 60d826fc2185143c5d0edfdef5fd08755ead758f..9c75f124e3cf466942d45da141f3bbe1cc83baa8 100644 (file)
@@ -12,7 +12,7 @@
 #include <linux/init.h>
 #include <asm/mach/time.h>
 
-extern struct sys_timer sirfsoc_timer;
+extern void sirfsoc_timer_init(void);
 
 extern void __init sirfsoc_of_irq_init(void);
 extern void __init sirfsoc_of_clk_init(void);
index d95bf252f6945698502b96b33570e85517b22e68..8c732a5beb7ff84766db5c3998c87202e4a4af39 100644 (file)
@@ -187,7 +187,7 @@ static void __init sirfsoc_clockevent_init(void)
 }
 
 /* initialize the kernel jiffy timer source */
-static void __init sirfsoc_timer_init(void)
+void __init sirfsoc_timer_init(void)
 {
        unsigned long rate;
        struct clk *clk;
@@ -226,7 +226,7 @@ static struct of_device_id timer_ids[] = {
        {},
 };
 
-static void __init sirfsoc_of_timer_map(void)
+void __init sirfsoc_of_timer_map(void)
 {
        struct device_node *np;
        const unsigned int *intspec;
@@ -245,7 +245,3 @@ static void __init sirfsoc_of_timer_map(void)
 
        of_node_put(np);
 }
-
-struct sys_timer sirfsoc_timer = {
-       .init = sirfsoc_timer_init,
-};
index 20822934251400437fe58738d1565aa795f44504..2f71b3fbd319d1bdd70749ef52963c284c498ed0 100644 (file)
@@ -822,7 +822,7 @@ MACHINE_START(BALLOON3, "Balloon3")
        .nr_irqs        = BALLOON3_NR_IRQS,
        .init_irq       = balloon3_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = balloon3_init,
        .atag_offset    = 0x100,
        .restart        = pxa_restart,
index 9a8760b729132a5055880858d1aab1b0cdc90eda..c092730749b9d13228bad861535b2fa98804ac84 100644 (file)
@@ -153,7 +153,7 @@ MACHINE_START(CAPC7117,
        .nr_irqs = PXA_NR_IRQS,
        .init_irq = pxa3xx_init_irq,
        .handle_irq = pxa3xx_handle_irq,
-       .timer = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine = capc7117_init,
        .restart        = pxa_restart,
 MACHINE_END
index a103c8ffea9f179eeb9083c2b91721ae255e8252..bb99f59a36d880f8879824af44b67c924078b283 100644 (file)
@@ -520,7 +520,7 @@ MACHINE_START(ARMCORE, "Compulab CM-X2XX")
        .init_irq       = cmx2xx_init_irq,
        /* NOTE: pxa25x_handle_irq() works on PXA27x w/o camera support */
        .handle_irq     = pxa25x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = cmx2xx_init,
 #ifdef CONFIG_PCI
        .dma_zone_size  = SZ_64M,
index cc2b23afcaaf6562c6e39586e4f0438184fdecd6..8091aac89edf030639760b6e36d0eff48bb60c4c 100644 (file)
@@ -854,7 +854,7 @@ MACHINE_START(CM_X300, "CM-X300 module")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = cm_x300_init,
        .fixup          = cm_x300_fixup,
        .restart        = pxa_restart,
index b2f227d361250e738c1f0b5a1d685b1ae9e44271..5f9d9303b346d6c381132a9f8b5664200ed6c6ed 100644 (file)
@@ -313,7 +313,7 @@ MACHINE_START(COLIBRI, "Toradex Colibri PXA270")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 
@@ -324,7 +324,7 @@ MACHINE_START(INCOME, "Income s.r.o. SH-Dmaster PXA270 SBC")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 
index a9c9c163dd953ab3f9728bf02af698961c283da4..f1a1ac1fbd85663b05fb0ffb3f4bd224277d88e4 100644 (file)
@@ -189,7 +189,7 @@ MACHINE_START(COLIBRI300, "Toradex Colibri PXA300")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 
index 25515cd7e68f30b4a28ea86259872d776d04c815..f6cc8b0ab82f5dc0e6f223b860f2c9c45a0dcd8c 100644 (file)
@@ -259,7 +259,7 @@ MACHINE_START(COLIBRI320, "Toradex Colibri PXA320")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 
index 7c83f52c549cbd232b6bc84f4a98255cc7cad8b0..a5b8fead7d61393a8ba9b55c91d074329b7f6010 100644 (file)
@@ -733,7 +733,7 @@ MACHINE_START(CORGI, "SHARP Corgi")
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
        .init_machine   = corgi_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = corgi_restart,
 MACHINE_END
 #endif
@@ -746,7 +746,7 @@ MACHINE_START(SHEPHERD, "SHARP Shepherd")
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
        .init_machine   = corgi_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = corgi_restart,
 MACHINE_END
 #endif
@@ -759,7 +759,7 @@ MACHINE_START(HUSKY, "SHARP Husky")
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
        .init_machine   = corgi_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = corgi_restart,
 MACHINE_END
 #endif
index 7039f44b364790b5b38241c0dfab2249509fb5f8..fadfff8feaef46b442b3b3cda0c5dd9be5303420 100644 (file)
@@ -278,6 +278,6 @@ MACHINE_START(CSB726, "Cogent CSB726")
        .init_irq       = pxa27x_init_irq,
        .handle_irq       = pxa27x_handle_irq,
        .init_machine   = csb726_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
index 1b6411439ec882ca57173e7e02452d9c1661d73c..446563a7d1ada5c7654bfc6761f58eacb37caca0 100644 (file)
@@ -1298,7 +1298,7 @@ MACHINE_START(EM_X270, "Compulab EM-X270")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = em_x270_init,
        .restart        = pxa_restart,
 MACHINE_END
@@ -1309,7 +1309,7 @@ MACHINE_START(EXEDA, "Compulab eXeda")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = em_x270_init,
        .restart        = pxa_restart,
 MACHINE_END
index be2ee9bf5c6ec11258969e28f72a355e6074eadd..8280ebcaab9f756edc62d6665080859283fd8653 100644 (file)
@@ -195,7 +195,7 @@ MACHINE_START(E330, "Toshiba e330")
        .handle_irq     = pxa25x_handle_irq,
        .fixup          = eseries_fixup,
        .init_machine   = e330_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 #endif
@@ -246,7 +246,7 @@ MACHINE_START(E350, "Toshiba e350")
        .handle_irq     = pxa25x_handle_irq,
        .fixup          = eseries_fixup,
        .init_machine   = e350_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 #endif
@@ -370,7 +370,7 @@ MACHINE_START(E400, "Toshiba e400")
        .handle_irq     = pxa25x_handle_irq,
        .fixup          = eseries_fixup,
        .init_machine   = e400_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 #endif
@@ -566,7 +566,7 @@ MACHINE_START(E740, "Toshiba e740")
        .handle_irq     = pxa25x_handle_irq,
        .fixup          = eseries_fixup,
        .init_machine   = e740_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 #endif
@@ -765,7 +765,7 @@ MACHINE_START(E750, "Toshiba e750")
        .handle_irq     = pxa25x_handle_irq,
        .fixup          = eseries_fixup,
        .init_machine   = e750_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 #endif
@@ -977,7 +977,7 @@ MACHINE_START(E800, "Toshiba e800")
        .handle_irq     = pxa25x_handle_irq,
        .fixup          = eseries_fixup,
        .init_machine   = e800_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 #endif
index dc58fa0edb6674b4f0f58ba7b28af06739296fcc..dca10709be8f41db70bcd173b02e94a4d91f5d42 100644 (file)
@@ -802,7 +802,7 @@ MACHINE_START(EZX_A780, "Motorola EZX A780")
        .nr_irqs        = EZX_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq       = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = a780_init,
        .restart        = pxa_restart,
 MACHINE_END
@@ -869,7 +869,7 @@ MACHINE_START(EZX_E680, "Motorola EZX E680")
        .nr_irqs        = EZX_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq       = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = e680_init,
        .restart        = pxa_restart,
 MACHINE_END
@@ -936,7 +936,7 @@ MACHINE_START(EZX_A1200, "Motorola EZX A1200")
        .nr_irqs        = EZX_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq       = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = a1200_init,
        .restart        = pxa_restart,
 MACHINE_END
@@ -1128,7 +1128,7 @@ MACHINE_START(EZX_A910, "Motorola EZX A910")
        .nr_irqs        = EZX_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq       = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = a910_init,
        .restart        = pxa_restart,
 MACHINE_END
@@ -1195,7 +1195,7 @@ MACHINE_START(EZX_E6, "Motorola EZX E6")
        .nr_irqs        = EZX_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq       = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = e6_init,
        .restart        = pxa_restart,
 MACHINE_END
@@ -1236,7 +1236,7 @@ MACHINE_START(EZX_E2, "Motorola EZX E2")
        .nr_irqs        = EZX_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq       = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = e2_init,
        .restart        = pxa_restart,
 MACHINE_END
index 42d5cca66257bd1be97cb0c0b37c8569476d0795..fd7ea39b78c03c4dd5e4124ce33294c0ef6d4bea 100644 (file)
@@ -10,9 +10,8 @@
  */
 
 struct irq_data;
-struct sys_timer;
 
-extern struct sys_timer pxa_timer;
+extern void pxa_timer_init(void);
 
 extern void __init pxa_map_io(void);
 
index 60755a6bb1c67434ad42169316ab5c2cacb3ad1f..00b92dad7b8163b4f0d11203a127ebfb97b97021 100644 (file)
@@ -238,7 +238,7 @@ MACHINE_START(GUMSTIX, "Gumstix")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = gumstix_init,
        .restart        = pxa_restart,
 MACHINE_END
index e7dec589f0141704587051c16e3cdbb65388de5b..875ec3351499567c81aa581f00f4ebc6fd899943 100644 (file)
@@ -208,7 +208,7 @@ MACHINE_START(H5400, "HP iPAQ H5000")
        .nr_irqs = PXA_NR_IRQS,
        .init_irq = pxa25x_init_irq,
        .handle_irq = pxa25x_handle_irq,
-       .timer = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine = h5000_init,
        .restart        = pxa_restart,
 MACHINE_END
index 2962de898da9eefb0c1e35649e18468642b2abe4..7a8d749a07b8519e1ca9480a53031f53aa6eecc1 100644 (file)
@@ -164,6 +164,6 @@ MACHINE_START(HIMALAYA, "HTC Himalaya")
        .init_irq = pxa25x_init_irq,
        .handle_irq = pxa25x_handle_irq,
        .init_machine = himalaya_init,
-       .timer = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
index e2c6391863fedd9b008d594c516eea1f55936e64..133109ec7332b23d1c412509f66a31f52aaaa412 100644 (file)
@@ -900,6 +900,6 @@ MACHINE_START(H4700, "HP iPAQ HX4700")
        .init_irq     = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .init_machine = hx4700_init,
-       .timer        = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
index 1d02eabc9c654bb18751a9b802c2f3cdbc8c83a5..fe31bfcbb8dfb6b8c3112c7fe7ce65442a178b26 100644 (file)
@@ -196,7 +196,7 @@ MACHINE_START(ICONTROL, "iControl/SafeTcam boards using Embedian MXM-8x10 CoM")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = icontrol_init,
        .restart        = pxa_restart,
 MACHINE_END
index 64507cdd2e8f223a0597ce7bc9f5bbc0f1cc735a..343c4e3a7c5d1aceb136a196dcae946a7c8f5a69 100644 (file)
@@ -279,7 +279,7 @@ MACHINE_START(PXA_IDP, "Vibren PXA255 IDP")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = idp_init,
        .restart        = pxa_restart,
 MACHINE_END
index 402874f9021fce45718de8d8efb4bd20a40af1e1..e848c4607bafa48c8b62ad37052f7937e4e03b08 100644 (file)
@@ -443,7 +443,7 @@ MACHINE_START(LITTLETON, "Marvell Form Factor Development Platform (aka Littleto
        .nr_irqs        = LITTLETON_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = littleton_init,
        .restart        = pxa_restart,
 MACHINE_END
index 1a63eaa89867b4403212fbe7d928a85afff7e0b1..1255ee00f3d1d7c1f80f9cd0b2a28936c47353ad 100644 (file)
@@ -503,7 +503,7 @@ MACHINE_START(LOGICPD_PXA270, "LogicPD PXA270 Card Engine")
        .nr_irqs        = LPD270_NR_IRQS,
        .init_irq       = lpd270_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = lpd270_init,
        .restart        = pxa_restart,
 MACHINE_END
index 553056d9a3c562fd48b60ff6f6f74c32ec50422f..d8a1be619f21c7578bbde5fa37d00907fa80e353 100644 (file)
@@ -650,7 +650,7 @@ MACHINE_START(LUBBOCK, "Intel DBPXA250 Development Platform (aka Lubbock)")
        .nr_irqs        = LUBBOCK_NR_IRQS,
        .init_irq       = lubbock_init_irq,
        .handle_irq     = pxa25x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = lubbock_init,
        .restart        = pxa_restart,
 MACHINE_END
index f7922404d941f6b81c17a4ce5b3bb1cceb7084db..f44532fc648b1982ded0d249a18005b84647767d 100644 (file)
@@ -774,6 +774,6 @@ MACHINE_START(MAGICIAN, "HTC Magician")
        .init_irq = pxa27x_init_irq,
        .handle_irq = pxa27x_handle_irq,
        .init_machine = magician_init,
-       .timer = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
index f27a61ee7ac719767d0b8455be1afecf7e1462de..7a12c1ba90ff76b02fde8c4474d6d2b42d76b70a 100644 (file)
@@ -714,7 +714,7 @@ MACHINE_START(MAINSTONE, "Intel HCDDBBVA0 Development Platform (aka Mainstone)")
        .nr_irqs        = MAINSTONE_NR_IRQS,
        .init_irq       = mainstone_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = mainstone_init,
        .restart        = pxa_restart,
 MACHINE_END
index 2831308dba68782bdc9eb98255bf72db44d5feb4..f8979b943cbfa628d03aa56e9bdb90a7208162fa 100644 (file)
@@ -762,6 +762,6 @@ MACHINE_START(MIOA701, "MIO A701")
        .init_irq       = &pxa27x_init_irq,
        .handle_irq     = &pxa27x_handle_irq,
        .init_machine   = mioa701_machine_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = mioa701_restart,
 MACHINE_END
index 152efbf093f6b1f08eb2f18a2e2707688bb2a475..854f1f562d6b34590aac4d587a212cf4cf06829f 100644 (file)
@@ -93,7 +93,7 @@ static void __init mp900c_init(void)
 /* Maintainer - Michael Petchkovsky <mkpetch@internode.on.net> */
 MACHINE_START(NEC_MP900, "MobilePro900/C")
        .atag_offset    = 0x220100,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .map_io         = pxa25x_map_io,
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
index 8bcc96e3b0db1fed267ded1a3bf6237a8b2a5bfd..909b713e578985444264e71d6bdd9f9e1e26a445 100644 (file)
@@ -347,7 +347,7 @@ MACHINE_START(PALMLD, "Palm LifeDrive")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = palmld_init,
        .restart        = pxa_restart,
 MACHINE_END
index 5ca7b904a30e0192ab3575149b37132b6ca49ddc..5033fd07968f5cf92d39da046727ca37a9ca1352 100644 (file)
@@ -208,7 +208,7 @@ MACHINE_START(PALMT5, "Palm Tungsten|T5")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = palmt5_init,
        .restart        = pxa_restart,
 MACHINE_END
index ca924cfedfc0071e02134723faa3abc925e677be..100b176f7e882aaa2ba5047fefc19eb44d514394 100644 (file)
@@ -542,7 +542,7 @@ MACHINE_START(PALMTC, "Palm Tungsten|C")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = palmtc_init,
        .restart        = pxa_restart,
 MACHINE_END
index 32e0d79983551858947b9e5eb7c8897dd86c154f..0742721ced2da7eebf983026f288265e039e139f 100644 (file)
@@ -363,7 +363,7 @@ MACHINE_START(PALMTE2, "Palm Tungsten|E2")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = palmte2_init,
        .restart        = pxa_restart,
 MACHINE_END
index 3f3c48f2f7ceabd5f256169b5cc56d62524c40f4..d17bda278782cb0156e1b222a7104b6763473c63 100644 (file)
@@ -451,7 +451,7 @@ MACHINE_START(TREO680, "Palm Treo 680")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq       = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = treo680_init,
        .restart        = pxa_restart,
 MACHINE_END
@@ -465,7 +465,7 @@ MACHINE_START(CENTRO, "Palm Centro 685")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq       = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = centro_init,
        .restart        = pxa_restart,
 MACHINE_END
index 8b4366628a127f44caf66e1fa81cbacc82a3224c..627c93a7364c186164ee4bdf9b872a038b1d12ba 100644 (file)
@@ -366,7 +366,7 @@ MACHINE_START(PALMTX, "Palm T|X")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = palmtx_init,
        .restart        = pxa_restart,
 MACHINE_END
index 8cdd4f58e2537e499ef4481429be281c7f6a288d..18b7fcd98592669114ce121229783d5193a4bc58 100644 (file)
@@ -404,7 +404,7 @@ MACHINE_START(PALMZ72, "Palm Zire72")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = palmz72_init,
        .restart        = pxa_restart,
 MACHINE_END
index fe9054435b6f214c63b700fe61967d0ec2d32987..69918c7e3f1fa6eaf8963e2c71d597d6e01021af 100644 (file)
@@ -263,7 +263,7 @@ MACHINE_START(PCM027, "Phytec Messtechnik GmbH phyCORE-PXA270")
        .nr_irqs        = PCM027_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = pcm027_init,
        .restart        = pxa_restart,
 MACHINE_END
index 2910bb935c754472e5907955c9df946e848fe817..50ccd5f1d560b6f93675c792631d73b77a4a9851 100644 (file)
@@ -469,7 +469,7 @@ MACHINE_START(POODLE, "SHARP Poodle")
        .nr_irqs        = POODLE_NR_IRQS,       /* 4 for LoCoMo */
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = poodle_init,
        .restart        = pxa_restart,
 MACHINE_END
index c9192cea0033aae7f3724616f321876228876e06..3835979a0dd396ab8ecea56147d2386bf5c64561 100644 (file)
@@ -55,7 +55,7 @@ DT_MACHINE_START(PXA_DT, "Marvell PXA3xx (Device Tree Support)")
        .map_io         = pxa3xx_map_io,
        .init_irq       = pxa3xx_dt_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
        .init_machine   = pxa3xx_dt_init,
        .dt_compat      = pxa3xx_dt_board_compat,
index 25b08bfa997b92d7492a71ef0302f166b4b242e4..af41888acbd674db746f194475b4ad077150b070 100644 (file)
@@ -1095,7 +1095,7 @@ MACHINE_START(RAUMFELD_RC, "Raumfeld Controller")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 #endif
@@ -1108,7 +1108,7 @@ MACHINE_START(RAUMFELD_CONNECTOR, "Raumfeld Connector")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 #endif
@@ -1121,7 +1121,7 @@ MACHINE_START(RAUMFELD_SPEAKER, "Raumfeld Speaker")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 #endif
index 08d87a5d26392772e0b1b92039fb2bbf6008ce46..710c493eac89ea452fdfb65de6eb09a910f2259a 100644 (file)
@@ -601,7 +601,7 @@ MACHINE_START(SAAR, "PXA930 Handheld Platform (aka SAAR)")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq       = pxa3xx_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = saar_init,
        .restart        = pxa_restart,
 MACHINE_END
index 2073f0e6db0d22e87659a435ea4510469a610b65..f90aa27ad599a8bce347c298ed0b2a7827a201b2 100644 (file)
@@ -986,7 +986,7 @@ MACHINE_START(SPITZ, "SHARP Spitz")
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .init_machine   = spitz_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = spitz_restart,
 MACHINE_END
 #endif
@@ -1000,7 +1000,7 @@ MACHINE_START(BORZOI, "SHARP Borzoi")
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .init_machine   = spitz_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = spitz_restart,
 MACHINE_END
 #endif
@@ -1014,7 +1014,7 @@ MACHINE_START(AKITA, "SHARP Akita")
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
        .init_machine   = spitz_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = spitz_restart,
 MACHINE_END
 #endif
index 456560b5aad48b2a738127fb163d0e01d6c805ce..88fde43c948c740a1bccd8f2520d4d3a8dc63f98 100644 (file)
@@ -1006,7 +1006,7 @@ MACHINE_START(INTELMOTE2, "IMOTE 2")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = imote2_init,
        .atag_offset    = 0x100,
        .restart        = pxa_restart,
@@ -1019,7 +1019,7 @@ MACHINE_START(STARGATE2, "Stargate 2")
        .nr_irqs = STARGATE_NR_IRQS,
        .init_irq = pxa27x_init_irq,
        .handle_irq = pxa27x_handle_irq,
-       .timer = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine = stargate2_init,
        .atag_offset = 0x100,
        .restart        = pxa_restart,
index 1a25f8a7b0ceb453358a7b43729f1bb215e63947..f55979c09a5fb506984168a39dc1ce6f53aa506d 100644 (file)
@@ -494,7 +494,7 @@ MACHINE_START(TAVOREVB, "PXA930 Evaluation Board (aka TavorEVB)")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq       = pxa3xx_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = tavorevb_init,
        .restart        = pxa_restart,
 MACHINE_END
index 4bc47d63698bc9590bba680177f823d052d0f099..bea19a06b2bf615ef88e0d23cf4df8de20db6c08 100644 (file)
@@ -89,48 +89,10 @@ pxa_osmr0_set_mode(enum clock_event_mode mode, struct clock_event_device *dev)
        }
 }
 
-static struct clock_event_device ckevt_pxa_osmr0 = {
-       .name           = "osmr0",
-       .features       = CLOCK_EVT_FEAT_ONESHOT,
-       .rating         = 200,
-       .set_next_event = pxa_osmr0_set_next_event,
-       .set_mode       = pxa_osmr0_set_mode,
-};
-
-static struct irqaction pxa_ost0_irq = {
-       .name           = "ost0",
-       .flags          = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL,
-       .handler        = pxa_ost0_interrupt,
-       .dev_id         = &ckevt_pxa_osmr0,
-};
-
-static void __init pxa_timer_init(void)
-{
-       unsigned long clock_tick_rate = get_clock_tick_rate();
-
-       writel_relaxed(0, OIER);
-       writel_relaxed(OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3, OSSR);
-
-       setup_sched_clock(pxa_read_sched_clock, 32, clock_tick_rate);
-
-       clockevents_calc_mult_shift(&ckevt_pxa_osmr0, clock_tick_rate, 4);
-       ckevt_pxa_osmr0.max_delta_ns =
-               clockevent_delta2ns(0x7fffffff, &ckevt_pxa_osmr0);
-       ckevt_pxa_osmr0.min_delta_ns =
-               clockevent_delta2ns(MIN_OSCR_DELTA * 2, &ckevt_pxa_osmr0) + 1;
-       ckevt_pxa_osmr0.cpumask = cpumask_of(0);
-
-       setup_irq(IRQ_OST0, &pxa_ost0_irq);
-
-       clocksource_mmio_init(OSCR, "oscr0", clock_tick_rate, 200, 32,
-               clocksource_mmio_readl_up);
-       clockevents_register_device(&ckevt_pxa_osmr0);
-}
-
 #ifdef CONFIG_PM
 static unsigned long osmr[4], oier, oscr;
 
-static void pxa_timer_suspend(void)
+static void pxa_timer_suspend(struct clock_event_device *cedev)
 {
        osmr[0] = readl_relaxed(OSMR0);
        osmr[1] = readl_relaxed(OSMR1);
@@ -140,7 +102,7 @@ static void pxa_timer_suspend(void)
        oscr = readl_relaxed(OSCR);
 }
 
-static void pxa_timer_resume(void)
+static void pxa_timer_resume(struct clock_event_device *cedev)
 {
        /*
         * Ensure that we have at least MIN_OSCR_DELTA between match
@@ -163,8 +125,42 @@ static void pxa_timer_resume(void)
 #define pxa_timer_resume NULL
 #endif
 
-struct sys_timer pxa_timer = {
-       .init           = pxa_timer_init,
+static struct clock_event_device ckevt_pxa_osmr0 = {
+       .name           = "osmr0",
+       .features       = CLOCK_EVT_FEAT_ONESHOT,
+       .rating         = 200,
+       .set_next_event = pxa_osmr0_set_next_event,
+       .set_mode       = pxa_osmr0_set_mode,
        .suspend        = pxa_timer_suspend,
        .resume         = pxa_timer_resume,
 };
+
+static struct irqaction pxa_ost0_irq = {
+       .name           = "ost0",
+       .flags          = IRQF_DISABLED | IRQF_TIMER | IRQF_IRQPOLL,
+       .handler        = pxa_ost0_interrupt,
+       .dev_id         = &ckevt_pxa_osmr0,
+};
+
+void __init pxa_timer_init(void)
+{
+       unsigned long clock_tick_rate = get_clock_tick_rate();
+
+       writel_relaxed(0, OIER);
+       writel_relaxed(OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3, OSSR);
+
+       setup_sched_clock(pxa_read_sched_clock, 32, clock_tick_rate);
+
+       clockevents_calc_mult_shift(&ckevt_pxa_osmr0, clock_tick_rate, 4);
+       ckevt_pxa_osmr0.max_delta_ns =
+               clockevent_delta2ns(0x7fffffff, &ckevt_pxa_osmr0);
+       ckevt_pxa_osmr0.min_delta_ns =
+               clockevent_delta2ns(MIN_OSCR_DELTA * 2, &ckevt_pxa_osmr0) + 1;
+       ckevt_pxa_osmr0.cpumask = cpumask_of(0);
+
+       setup_irq(IRQ_OST0, &pxa_ost0_irq);
+
+       clocksource_mmio_init(OSCR, "oscr0", clock_tick_rate, 200, 32,
+               clocksource_mmio_readl_up);
+       clockevents_register_device(&ckevt_pxa_osmr0);
+}
index 233629edf7ee249dda05670f19553ab26ed0184b..9e7998d3635f327b2aa034188e89020c10430262 100644 (file)
@@ -982,6 +982,6 @@ MACHINE_START(TOSA, "SHARP Tosa")
        .init_irq       = pxa25x_init_irq,
        .handle_irq       = pxa25x_handle_irq,
        .init_machine   = tosa_init,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = tosa_restart,
 MACHINE_END
index fbbcbed4d1d4bf9871b6af12dcc6027b89e93672..c58043462acddc932ce7b1728488aa1eb290f361 100644 (file)
@@ -561,7 +561,7 @@ MACHINE_START(TRIZEPS4, "Keith und Koep Trizeps IV module")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 
@@ -573,6 +573,6 @@ MACHINE_START(TRIZEPS4WL, "Keith und Koep Trizeps IV-WL module")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
index c773e4dded64d3be4803b1ac03d850e6ee07cde6..9c363c081d3facb3be9ebe8693b32c2db9702bbc 100644 (file)
@@ -997,7 +997,7 @@ MACHINE_START(VIPER, "Arcom/Eurotech VIPER SBC")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = viper_init_irq,
        .handle_irq     = pxa25x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = viper_init,
        .restart        = pxa_restart,
 MACHINE_END
index 491b6c9a2a9b40a4649d3f885d69e9043722554a..aa89488f961ecfe9a1ae2cd27083b0284102987c 100644 (file)
@@ -719,7 +719,7 @@ MACHINE_START(VPAC270, "Voipac PXA270")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = vpac270_init,
        .restart        = pxa_restart,
 MACHINE_END
index 4275713ccd1045e4410c9efb0ac10323e0ed9f79..13b1d4586d7dedc7cee9d2754550a6d6eff28baf 100644 (file)
@@ -185,7 +185,7 @@ MACHINE_START(XCEP, "Iskratel XCEP")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa25x_init_irq,
        .handle_irq     = pxa25x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .restart        = pxa_restart,
 MACHINE_END
 
index 97529face7aa14c7ba802f230365ef57d99649dd..989903a7e467c2451a2594970c87492046f723d4 100644 (file)
@@ -722,7 +722,7 @@ MACHINE_START(ZIPIT2, "Zipit Z2")
        .nr_irqs        = PXA_NR_IRQS,
        .init_irq       = pxa27x_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = z2_init,
        .restart        = pxa_restart,
 MACHINE_END
index abd3aa1450830582770a99610bc9a83e5e906725..f5d4364345661ee0fc620653a72305beb539fc44 100644 (file)
@@ -910,7 +910,7 @@ MACHINE_START(ARCOM_ZEUS, "Arcom/Eurotech ZEUS")
        .nr_irqs        = ZEUS_NR_IRQS,
        .init_irq       = zeus_init_irq,
        .handle_irq     = pxa27x_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = zeus_init,
        .restart        = pxa_restart,
 MACHINE_END
index 226279fac9d426cbf0d87f4500d0e8de4531ea21..1f00d650ac27088f836473237aaee1113b446cca 100644 (file)
@@ -428,7 +428,7 @@ MACHINE_START(ZYLONITE, "PXA3xx Platform Development Kit (aka Zylonite)")
        .nr_irqs        = ZYLONITE_NR_IRQS,
        .init_irq       = pxa3xx_init_irq,
        .handle_irq     = pxa3xx_handle_irq,
-       .timer          = &pxa_timer,
+       .init_time      = pxa_timer_init,
        .init_machine   = zylonite_init,
        .restart        = pxa_restart,
 MACHINE_END
index 28511d43637a28401e5f690b778496e27c2978f7..f892862fd6aecbe2861eaa8b3fbfba74f7a9d3b7 100644 (file)
@@ -418,10 +418,6 @@ static void __init realview_eb_timer_init(void)
        realview_eb_twd_init();
 }
 
-static struct sys_timer realview_eb_timer = {
-       .init           = realview_eb_timer_init,
-};
-
 static void realview_eb_restart(char mode, const char *cmd)
 {
        void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL);
@@ -472,7 +468,7 @@ MACHINE_START(REALVIEW_EB, "ARM-RealView EB")
        .map_io         = realview_eb_map_io,
        .init_early     = realview_init_early,
        .init_irq       = gic_init_irq,
-       .timer          = &realview_eb_timer,
+       .init_time      = realview_eb_timer_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = realview_eb_init,
 #ifdef CONFIG_ZONE_DMA
index 07d6672ddae70e77776d12d042db72f20e03569c..6a4524b93fc6a91d584b676e0da0c79579444b36 100644 (file)
@@ -329,10 +329,6 @@ static void __init realview_pb1176_timer_init(void)
        realview_timer_init(IRQ_DC1176_TIMER0);
 }
 
-static struct sys_timer realview_pb1176_timer = {
-       .init           = realview_pb1176_timer_init,
-};
-
 static void realview_pb1176_restart(char mode, const char *cmd)
 {
        void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL);
@@ -384,7 +380,7 @@ MACHINE_START(REALVIEW_PB1176, "ARM-RealView PB1176")
        .map_io         = realview_pb1176_map_io,
        .init_early     = realview_init_early,
        .init_irq       = gic_init_irq,
-       .timer          = &realview_pb1176_timer,
+       .init_time      = realview_pb1176_timer_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = realview_pb1176_init,
 #ifdef CONFIG_ZONE_DMA
index 7ed53d75350fd294968a013b992df70f020fcd89..502f6e6c6913c984191ab1796c7c541648d15865 100644 (file)
@@ -316,10 +316,6 @@ static void __init realview_pb11mp_timer_init(void)
        realview_pb11mp_twd_init();
 }
 
-static struct sys_timer realview_pb11mp_timer = {
-       .init           = realview_pb11mp_timer_init,
-};
-
 static void realview_pb11mp_restart(char mode, const char *cmd)
 {
        void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL);
@@ -367,7 +363,7 @@ MACHINE_START(REALVIEW_PB11MP, "ARM-RealView PB11MPCore")
        .map_io         = realview_pb11mp_map_io,
        .init_early     = realview_init_early,
        .init_irq       = gic_init_irq,
-       .timer          = &realview_pb11mp_timer,
+       .init_time      = realview_pb11mp_timer_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = realview_pb11mp_init,
 #ifdef CONFIG_ZONE_DMA
index 9992431b8a15121e6a5b56c5727d234f4ab6be5d..85c81aaa05e897e2af8f7b2f29e2b34830bf4720 100644 (file)
@@ -264,10 +264,6 @@ static void __init realview_pba8_timer_init(void)
        realview_timer_init(IRQ_PBA8_TIMER0_1);
 }
 
-static struct sys_timer realview_pba8_timer = {
-       .init           = realview_pba8_timer_init,
-};
-
 static void realview_pba8_restart(char mode, const char *cmd)
 {
        void __iomem *reset_ctrl = __io_address(REALVIEW_SYS_RESETCTL);
@@ -308,7 +304,7 @@ MACHINE_START(REALVIEW_PBA8, "ARM-RealView PB-A8")
        .map_io         = realview_pba8_map_io,
        .init_early     = realview_init_early,
        .init_irq       = gic_init_irq,
-       .timer          = &realview_pba8_timer,
+       .init_time      = realview_pba8_timer_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = realview_pba8_init,
 #ifdef CONFIG_ZONE_DMA
index 4f486f05108a5a55f7915c43255687eb7d566fd8..a15a7b0be29b31e97fc10aec5d33dafc2431729b 100644 (file)
@@ -324,10 +324,6 @@ static void __init realview_pbx_timer_init(void)
        realview_pbx_twd_init();
 }
 
-static struct sys_timer realview_pbx_timer = {
-       .init           = realview_pbx_timer_init,
-};
-
 static void realview_pbx_fixup(struct tag *tags, char **from,
                               struct meminfo *meminfo)
 {
@@ -404,7 +400,7 @@ MACHINE_START(REALVIEW_PBX, "ARM-RealView PBX")
        .map_io         = realview_pbx_map_io,
        .init_early     = realview_init_early,
        .init_irq       = gic_init_irq,
-       .timer          = &realview_pbx_timer,
+       .init_time      = realview_pbx_timer_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = realview_pbx_init,
 #ifdef CONFIG_ZONE_DMA
index f3fa259ce01f1546ce40be1ea382a05af6e42fb2..a302cf5e0fc7f5b13c74c61970d67c55e56a6fc9 100644 (file)
@@ -211,7 +211,7 @@ static void rpc_restart(char mode, const char *cmd)
        soft_restart(0);
 }
 
-extern struct sys_timer ioc_timer;
+void ioc_timer_init(void);
 
 MACHINE_START(RISCPC, "Acorn-RiscPC")
        /* Maintainer: Russell King */
@@ -220,6 +220,6 @@ MACHINE_START(RISCPC, "Acorn-RiscPC")
        .reserve_lp1    = 1,
        .map_io         = rpc_map_io,
        .init_irq       = rpc_init_irq,
-       .timer          = &ioc_timer,
+       .init_time      = ioc_timer_init,
        .restart        = rpc_restart,
 MACHINE_END
index 581fca934bb3e73adb055bcb2d7caff9aef978f9..9a6def14df01ce71e6ad8a34c1a2d7f1cdeadb38 100644 (file)
@@ -24,7 +24,7 @@
 
 #include <asm/mach/time.h>
 
-unsigned long ioc_timer_gettimeoffset(void)
+static u32 ioc_timer_gettimeoffset(void)
 {
        unsigned int count1, count2, status;
        long offset;
@@ -56,7 +56,7 @@ unsigned long ioc_timer_gettimeoffset(void)
        }
 
        offset = (LATCH - offset) * (tick_nsec / 1000);
-       return (offset + LATCH/2) / LATCH;
+       return ((offset + LATCH/2) / LATCH) * 1000;
 }
 
 void __init ioctime_init(void)
@@ -82,14 +82,9 @@ static struct irqaction ioc_timer_irq = {
 /*
  * Set up timer interrupt.
  */
-static void __init ioc_timer_init(void)
+void __init ioc_timer_init(void)
 {
+       arch_gettimeoffset = ioc_timer_gettimeoffset;
        ioctime_init();
        setup_irq(IRQ_TIMER0, &ioc_timer_irq);
 }
-
-struct sys_timer ioc_timer = {
-       .init           = ioc_timer_init,
-       .offset         = ioc_timer_gettimeoffset,
-};
-
index f4ad99c1e4761368660a5e19b6d2adff9c1617d8..0e0279e79150e781ae82f3c4c048921445abf5aa 100644 (file)
@@ -237,6 +237,6 @@ MACHINE_START(AML_M5900, "AML_M5900")
        .map_io         = amlm5900_map_io,
        .init_irq       = s3c24xx_init_irq,
        .init_machine   = amlm5900_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2410_restart,
 MACHINE_END
index 1ee8c46387433bfe8d693517513655346836db23..85eefab881af47dfed75b0f534a8b0ddbf7c250a 100644 (file)
@@ -448,6 +448,6 @@ MACHINE_START(ANUBIS, "Simtec-Anubis")
        .map_io         = anubis_map_io,
        .init_machine   = anubis_init,
        .init_irq       = s3c24xx_init_irq,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c244x_restart,
 MACHINE_END
index 00381fe5de32bfae95dfeaaeaff7f93345a20660..b31c4aa724f2b792bec1c9e8c8ed381d7237ab95 100644 (file)
@@ -210,6 +210,6 @@ MACHINE_START(AT2440EVB, "AT2440EVB")
        .map_io         = at2440evb_map_io,
        .init_machine   = at2440evb_init,
        .init_irq       = s3c24xx_init_irq,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c244x_restart,
 MACHINE_END
index 6a30ce7e4aa79d5c6335844ff1044f0a4531ea5a..526964c19dd8576a1d2c93eb03b0f52100a7d9eb 100644 (file)
@@ -612,6 +612,6 @@ MACHINE_START(BAST, "Simtec-BAST")
        .map_io         = bast_map_io,
        .init_irq       = s3c24xx_init_irq,
        .init_machine   = bast_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2410_restart,
 MACHINE_END
index 973b87ca87f4a065fd212090ab67eb68fbfe5b73..fb5d3b3b53db4a782ab50fadc9f431d8c5dd10ee 100644 (file)
@@ -595,6 +595,6 @@ MACHINE_START(NEO1973_GTA02, "GTA02")
        .map_io         = gta02_map_io,
        .init_irq       = s3c24xx_init_irq,
        .init_machine   = gta02_machine_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c244x_restart,
 MACHINE_END
index b23dd1b106e8a6d132578097aba863d48750a18c..2eb09e27c13c7388f57cb749e8975986193ddb55 100644 (file)
@@ -746,6 +746,6 @@ MACHINE_START(H1940, "IPAQ-H1940")
        .reserve        = h1940_reserve,
        .init_irq       = h1940_init_irq,
        .init_machine   = h1940_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2410_restart,
 MACHINE_END
index c9954e26b492a1820d1ff0045706da4ad3622550..d7a17255523873dd3f801875185a5c44eb4281cf 100644 (file)
@@ -661,6 +661,6 @@ MACHINE_START(JIVE, "JIVE")
        .init_irq       = s3c24xx_init_irq,
        .map_io         = jive_map_io,
        .init_machine   = jive_machine_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2412_restart,
 MACHINE_END
index a31d5b83e5f77f9218f19b959ea5ccb0f6d0be39..2db09ade9b50aef758f34f43d00e92be6e2f9263 100644 (file)
@@ -688,6 +688,6 @@ MACHINE_START(MINI2440, "MINI2440")
        .map_io         = mini2440_map_io,
        .init_machine   = mini2440_init,
        .init_irq       = s3c24xx_init_irq,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c244x_restart,
 MACHINE_END
index c53a9bfe1417416725e543f483f34aaa3836257b..d9d04b2402959eee8a6fd5c32c0718f15435161b 100644 (file)
@@ -589,7 +589,7 @@ MACHINE_START(N30, "Acer-N30")
                                Ben Dooks <ben-linux@fluff.org>
        */
        .atag_offset    = 0x100,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .init_machine   = n30_init,
        .init_irq       = s3c24xx_init_irq,
        .map_io         = n30_map_io,
@@ -600,7 +600,7 @@ MACHINE_START(N35, "Acer-N35")
        /* Maintainer: Christer Weinigel <christer@weinigel.se>
        */
        .atag_offset    = 0x100,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .init_machine   = n30_init,
        .init_irq       = s3c24xx_init_irq,
        .map_io         = n30_map_io,
index a2b92b0898e2e057caf1f0b257938ba0068a8934..a454e246186063694508f59f957e87f5f5142f00 100644 (file)
@@ -153,6 +153,6 @@ MACHINE_START(NEXCODER_2440, "NexVision - Nexcoder 2440")
        .map_io         = nexcoder_map_io,
        .init_machine   = nexcoder_init,
        .init_irq       = s3c24xx_init_irq,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c244x_restart,
 MACHINE_END
index bb36d832bd3d022f4bcfc7efd4d173586919ee58..ba0f5b5ec19e281b576a0646c3a9a56cdbdcff77 100644 (file)
@@ -428,6 +428,6 @@ MACHINE_START(OSIRIS, "Simtec-OSIRIS")
        .map_io         = osiris_map_io,
        .init_irq       = s3c24xx_init_irq,
        .init_machine   = osiris_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c244x_restart,
 MACHINE_END
index bca39f0232b38cd1d28d29ba49143b2a1508ba56..e0fdae93aa7b37adb4e6b80531f19218366069c1 100644 (file)
@@ -118,6 +118,6 @@ MACHINE_START(OTOM, "Nex Vision - Otom 1.1")
        .map_io         = otom11_map_io,
        .init_machine   = otom11_init,
        .init_irq       = s3c24xx_init_irq,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2410_restart,
 MACHINE_END
index 7b6ba13d7285964806c57430bbcd4d5e54ed7907..56175f0941b101def5aae288abf011698441b69e 100644 (file)
@@ -343,6 +343,6 @@ MACHINE_START(QT2410, "QT2410")
        .map_io         = qt2410_map_io,
        .init_irq       = s3c24xx_init_irq,
        .init_machine   = qt2410_machine_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2410_restart,
 MACHINE_END
index 0606f2faaa5c5261eaa916fe374aa21f7bb5da4f..e14ec7105a6d471f30fe3ec7925fb23c9bad5f4b 100644 (file)
@@ -814,6 +814,6 @@ MACHINE_START(RX1950, "HP iPAQ RX1950")
        .reserve        = rx1950_reserve,
        .init_irq = s3c24xx_init_irq,
        .init_machine = rx1950_init_machine,
-       .timer = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c244x_restart,
 MACHINE_END
index dacbb9a2122ad6c84ab9a8150c9dc8904ea5a1d0..d00caa8de92243a94a2becd88786c59adb9f578f 100644 (file)
@@ -212,6 +212,6 @@ MACHINE_START(RX3715, "IPAQ-RX3715")
        .reserve        = rx3715_reserve,
        .init_irq       = rx3715_init_irq,
        .init_machine   = rx3715_init_machine,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c244x_restart,
 MACHINE_END
index 82796b97cb04b6a5af4da18557a6fa7a421a94b7..e184bfa9613aea23dc19a83d08eb88c0175667d6 100644 (file)
@@ -117,6 +117,6 @@ MACHINE_START(SMDK2410, "SMDK2410") /* @TODO: request a new identifier and switc
        .map_io         = smdk2410_map_io,
        .init_irq       = s3c24xx_init_irq,
        .init_machine   = smdk2410_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2410_restart,
 MACHINE_END
index ce99fd8bbbc59831ce9f1825212674392408e040..69f356e83790b06da394b91f55ad913d72bdd35a 100644 (file)
@@ -133,7 +133,7 @@ MACHINE_START(S3C2413, "S3C2413")
        .init_irq       = s3c24xx_init_irq,
        .map_io         = smdk2413_map_io,
        .init_machine   = smdk2413_machine_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2412_restart,
 MACHINE_END
 
@@ -145,7 +145,7 @@ MACHINE_START(SMDK2412, "SMDK2412")
        .init_irq       = s3c24xx_init_irq,
        .map_io         = smdk2413_map_io,
        .init_machine   = smdk2413_machine_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2412_restart,
 MACHINE_END
 
@@ -157,6 +157,6 @@ MACHINE_START(SMDK2413, "SMDK2413")
        .init_irq       = s3c24xx_init_irq,
        .map_io         = smdk2413_map_io,
        .init_machine   = smdk2413_machine_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2412_restart,
 MACHINE_END
index f30d7fccbfeedd4e2a22e00703b3933231b03157..fe160c7f4b0a523238c6d31d07763512bd3edf90 100644 (file)
@@ -254,6 +254,6 @@ MACHINE_START(SMDK2416, "SMDK2416")
        .init_irq       = s3c24xx_init_irq,
        .map_io         = smdk2416_map_io,
        .init_machine   = smdk2416_machine_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2416_restart,
 MACHINE_END
index b7ff882c6ce66b85d8704b929a667305fb1c3efb..a8fdafedc4c16922777d60a8f4b38a5ba576ffa7 100644 (file)
@@ -182,6 +182,6 @@ MACHINE_START(S3C2440, "SMDK2440")
        .init_irq       = s3c24xx_init_irq,
        .map_io         = smdk2440_map_io,
        .init_machine   = smdk2440_machine_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c244x_restart,
 MACHINE_END
index 2568656f046f4d86f3c772a75b59b15f794ba329..7830d7004306d5351043a81b6d5d14fb3cf384ae 100644 (file)
@@ -144,6 +144,6 @@ MACHINE_START(SMDK2443, "SMDK2443")
        .init_irq       = s3c24xx_init_irq,
        .map_io         = smdk2443_map_io,
        .init_machine   = smdk2443_machine_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2443_restart,
 MACHINE_END
index 495bf5cf52e93699c93fba288b99f5c2afaf0ed7..24b3d79e7b2c65174dd5aa84cd5d6c6af2abfd6b 100644 (file)
@@ -149,6 +149,6 @@ MACHINE_START(TCT_HAMMER, "TCT_HAMMER")
        .map_io         = tct_hammer_map_io,
        .init_irq       = s3c24xx_init_irq,
        .init_machine   = tct_hammer_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2410_restart,
 MACHINE_END
index 14d5b12e388ccbfe5c8cf9ee168cf6ecffa74a27..dda21a01e3ccb829312638cf60e8265563ee0ab0 100644 (file)
@@ -357,6 +357,6 @@ MACHINE_START(VR1000, "Thorcom-VR1000")
        .map_io         = vr1000_map_io,
        .init_machine   = vr1000_init,
        .init_irq       = s3c24xx_init_irq,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2410_restart,
 MACHINE_END
index f1d44ae118331557755735a6def86462abbd270e..7fe7d4f6041906ea3254b50fd32da5567b43861d 100644 (file)
@@ -161,6 +161,6 @@ MACHINE_START(VSTMS, "VSTMS")
        .init_irq       = s3c24xx_init_irq,
        .init_machine   = vstms_init,
        .map_io         = vstms_map_io,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c2412_restart,
 MACHINE_END
index 99e82ac81b694ce69e27c7e5c8b3a53fc8cef473..75cbc67f628e4d7e45fe6a7731b2d7be6f908bf5 100644 (file)
@@ -234,6 +234,6 @@ MACHINE_START(ANW6410, "A&W6410")
        .map_io         = anw6410_map_io,
        .init_machine   = anw6410_machine_init,
        .init_late      = s3c64xx_init_late,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c64xx_restart,
 MACHINE_END
index bf6311a28f3db1c7a014d92ac75361ca20534f8c..053dbcbeaa7310cf06f7cd2c6a54a533ac5ef57c 100644 (file)
@@ -871,6 +871,6 @@ MACHINE_START(WLF_CRAGG_6410, "Wolfson Cragganmore 6410")
        .map_io         = crag6410_map_io,
        .init_machine   = crag6410_machine_init,
        .init_late      = s3c64xx_init_late,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c64xx_restart,
 MACHINE_END
index 2b144893ddc4ca337e98356608d82ca102ba508d..7e8605d981421a4beb9590fab73daf2e2f1aa771 100644 (file)
@@ -277,6 +277,6 @@ MACHINE_START(HMT, "Airgoo-HMT")
        .map_io         = hmt_map_io,
        .init_machine   = hmt_machine_init,
        .init_late      = s3c64xx_init_late,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c64xx_restart,
 MACHINE_END
index 07c349cca33329fad68fbb253cfa5915e8783237..4f8dc7dff92bc112b20281fe23fc1bca89f27404 100644 (file)
@@ -356,6 +356,6 @@ MACHINE_START(MINI6410, "MINI6410")
        .map_io         = mini6410_map_io,
        .init_machine   = mini6410_machine_init,
        .init_late      = s3c64xx_init_late,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c64xx_restart,
 MACHINE_END
index e5f9a79b535d81bc7678ebc5315f99e4ac655ccb..cdd7f947376c49b6c58cb84b7a71a4d72bfdb877 100644 (file)
@@ -105,6 +105,6 @@ MACHINE_START(NCP, "NCP")
        .map_io         = ncp_map_io,
        .init_machine   = ncp_machine_init,
        .init_late      = s3c64xx_init_late,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c64xx_restart,
 MACHINE_END
index 7476f7c722ab18d86d7625caa0b5c6e7d41c3b1f..b0f61982ef565ee7425bf3a9f806d546290b3307 100644 (file)
@@ -335,6 +335,6 @@ MACHINE_START(REAL6410, "REAL6410")
        .map_io         = real6410_map_io,
        .init_machine   = real6410_machine_init,
        .init_late      = s3c64xx_init_late,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c64xx_restart,
 MACHINE_END
index 96d6da2b6b5fc399d54f5d68449a423a913330b3..7a737614717eb7e5464de8b27e63482a90a6c40e 100644 (file)
@@ -157,6 +157,6 @@ MACHINE_START(SMARTQ5, "SmartQ 5")
        .map_io         = smartq_map_io,
        .init_machine   = smartq5_machine_init,
        .init_late      = s3c64xx_init_late,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c64xx_restart,
 MACHINE_END
index 7d1167bdc921b2ef5ec7d838ca5131ab6a079c07..889d525325c85a369e512034f8828955973ae336 100644 (file)
@@ -173,6 +173,6 @@ MACHINE_START(SMARTQ7, "SmartQ 7")
        .map_io         = smartq_map_io,
        .init_machine   = smartq7_machine_init,
        .init_late      = s3c64xx_init_late,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c64xx_restart,
 MACHINE_END
index a928fae5694e90b5eb230189706cc9f2ac1c60e0..e31fe5bb37b6153ecbcd931032a1d42282e5a509 100644 (file)
@@ -94,6 +94,6 @@ MACHINE_START(SMDK6400, "SMDK6400")
        .map_io         = smdk6400_map_io,
        .init_machine   = smdk6400_machine_init,
        .init_late      = s3c64xx_init_late,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c64xx_restart,
 MACHINE_END
index 574a9eef588dc4b6fd764449d3893811e27e7c3f..f1b87cd9cb0e2dbb66752db0ad5f5010d8ec1ff9 100644 (file)
@@ -704,6 +704,6 @@ MACHINE_START(SMDK6410, "SMDK6410")
        .map_io         = smdk6410_map_io,
        .init_machine   = smdk6410_machine_init,
        .init_late      = s3c64xx_init_late,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s3c64xx_restart,
 MACHINE_END
index 1af823558c60509d571ee0024b9fca2492496ba4..0a3146dc081a3b45eb48afc6515316b5836b76f4 100644 (file)
@@ -275,6 +275,6 @@ MACHINE_START(SMDK6440, "SMDK6440")
        .handle_irq     = vic_handle_irq,
        .map_io         = smdk6440_map_io,
        .init_machine   = smdk6440_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .restart        = s5p64x0_restart,
 MACHINE_END
index 62526ccf6b70243be2e6e4c2f5834b7a87f0aedb..36917f2ea25afea6d5f2c798fffedfee8c1e0ed1 100644 (file)
@@ -294,6 +294,6 @@ MACHINE_START(SMDK6450, "SMDK6450")
        .handle_irq     = vic_handle_irq,
        .map_io         = smdk6450_map_io,
        .init_machine   = smdk6450_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .restart        = s5p64x0_restart,
 MACHINE_END
index 9abe95e806abfe3bd9a85bc6eee3cd964d9d92af..39a9197d17468bd8e43fc0ab52a5964714733d61 100644 (file)
@@ -257,6 +257,6 @@ MACHINE_START(SMDKC100, "SMDKC100")
        .handle_irq     = vic_handle_irq,
        .map_io         = smdkc100_map_io,
        .init_machine   = smdkc100_machine_init,
-       .timer          = &s3c24xx_timer,
+       .init_time      = s3c24xx_timer_init,
        .restart        = s5pc100_restart,
 MACHINE_END
index ee9fa5c2ef2caea3fb43185c1bf1dcee25c4af98..1fb44a5ebb83d07ee059134de888eec68778f29c 100644 (file)
@@ -688,6 +688,6 @@ MACHINE_START(AQUILA, "Aquila")
        .handle_irq     = vic_handle_irq,
        .map_io         = aquila_map_io,
        .init_machine   = aquila_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .restart        = s5pv210_restart,
 MACHINE_END
index c72b31078c9948a9e8ac0d45814d1049ca4b4f20..ababdca2b3e416d4b446c4a2db5d43e5a8b7a562 100644 (file)
@@ -975,7 +975,7 @@ MACHINE_START(GONI, "GONI")
        .handle_irq     = vic_handle_irq,
        .map_io         = goni_map_io,
        .init_machine   = goni_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .reserve        = &goni_reserve,
        .restart        = s5pv210_restart,
 MACHINE_END
index f1f3bd37ecda7d53db021a9f69d1cc3432b3159f..acfb0ebce13b18574a96aaa0f2a29f86f11e9a60 100644 (file)
@@ -155,7 +155,7 @@ MACHINE_START(SMDKC110, "SMDKC110")
        .handle_irq     = vic_handle_irq,
        .map_io         = smdkc110_map_io,
        .init_machine   = smdkc110_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .restart        = s5pv210_restart,
        .reserve        = &smdkc110_reserve,
 MACHINE_END
index 6bc8404bf6784cfee3751eed9e6fdd0f24b18152..e1d820f3b4269f123b198a94f74163e1db2bd346 100644 (file)
@@ -331,7 +331,7 @@ MACHINE_START(SMDKV210, "SMDKV210")
        .handle_irq     = vic_handle_irq,
        .map_io         = smdkv210_map_io,
        .init_machine   = smdkv210_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .restart        = s5pv210_restart,
        .reserve        = &smdkv210_reserve,
 MACHINE_END
index 18785cb5e1ef2fdb0f979cdc69d39e16e068a478..1e6fc6eccdf32107d87a490620b5e6be87169833 100644 (file)
@@ -132,6 +132,6 @@ MACHINE_START(TORBRECK, "TORBRECK")
        .handle_irq     = vic_handle_irq,
        .map_io         = torbreck_map_io,
        .init_machine   = torbreck_machine_init,
-       .timer          = &s5p_timer,
+       .init_time      = s5p_timer_init,
        .restart        = s5pv210_restart,
 MACHINE_END
index 9a23739f702625a1b949cfa4feeca8c1447e03b7..b38d2525d5dbdd21f985126d0874e72540fd3f4f 100644 (file)
@@ -621,7 +621,7 @@ MACHINE_START(ASSABET, "Intel-Assabet")
        .map_io         = assabet_map_io,
        .nr_irqs        = SA1100_NR_IRQS,
        .init_irq       = sa1100_init_irq,
-       .timer          = &sa1100_timer,
+       .init_time      = sa1100_timer_init,
        .init_machine   = assabet_init,
        .init_late      = sa11x0_init_late,
 #ifdef CONFIG_SA1111
index b2dadf3ea3df10ca3afdc46bdf70e2862d9a3498..63361b6d04e9ac84a1184d7c7aad8c8155aa728d 100644 (file)
@@ -336,7 +336,7 @@ MACHINE_START(BADGE4, "Hewlett-Packard Laboratories BadgePAD 4")
        .nr_irqs        = SA1100_NR_IRQS,
        .init_irq       = sa1100_init_irq,
        .init_late      = sa11x0_init_late,
-       .timer          = &sa1100_timer,
+       .init_time      = sa1100_timer_init,
 #ifdef CONFIG_SA1111
        .dma_zone_size  = SZ_1M,
 #endif
index 304bca4a07c049cb14b82075dfa8a684e8b97608..2d25ececb415a2e5da0452ceca7a54ff28348c11 100644 (file)
@@ -174,7 +174,7 @@ MACHINE_START(CERF, "Intrinsyc CerfBoard/CerfCube")
        .map_io         = cerf_map_io,
        .nr_irqs        = SA1100_NR_IRQS,
        .init_irq       = cerf_init_irq,
-       .timer          = &sa1100_timer,
+       .init_time      = sa1100_timer_init,
        .init_machine   = cerf_init,
        .init_late      = sa11x0_init_late,
        .restart        = sa11x0_restart,
index 45f424f5fca6a1528f3ea64f623facfd35ae999a..612a45689770752bc9e1319d2eeb430ae36a449c 100644 (file)
@@ -399,7 +399,7 @@ MACHINE_START(COLLIE, "Sharp-Collie")
        .map_io         = collie_map_io,
        .nr_irqs        = SA1100_NR_IRQS,
        .init_irq       = sa1100_init_irq,
-       .timer          = &sa1100_timer,
+       .init_time      = sa1100_timer_init,
        .init_machine   = collie_init,
        .init_late      = sa11x0_init_late,
        .restart        = sa11x0_restart,
index a5b7c13da3e31bc7d331068f72c32420f95759b5..2abc6a1f6e86defe17714497f9e4b945c9bc18d0 100644 (file)
@@ -4,9 +4,7 @@
  * Author: Nicolas Pitre
  */
 
-struct sys_timer;
-
-extern struct sys_timer sa1100_timer;
+extern void sa1100_timer_init(void);
 extern void __init sa1100_map_io(void);
 extern void __init sa1100_init_irq(void);
 extern void __init sa1100_init_gpio(void);
index e1571eab08aeb3b5f5d48d5c62b2b7cea206c0cf..b8f2b151539bd96358824f000fe597f0d0cb894c 100644 (file)
@@ -108,7 +108,7 @@ MACHINE_START(H3100, "Compaq iPAQ H3100")
        .map_io         = h3100_map_io,
        .nr_irqs        = SA1100_NR_IRQS,
        .init_irq       = sa1100_init_irq,
-       .timer          = &sa1100_timer,
+       .init_time      = sa1100_timer_init,
        .init_machine   = h3100_mach_init,
        .init_late      = sa11x0_init_late,
        .restart        = sa11x0_restart,
index ba7a2901ab88232da9bea4df8abc38266cc4544d..b8dc5bd2262388d8dd56c20756ce5acd03e35b83 100644 (file)
@@ -158,7 +158,7 @@ MACHINE_START(H3600, "Compaq iPAQ H3600")
        .map_io         = h3600_map_io,
        .nr_irqs        = SA1100_NR_IRQS,
        .init_irq       = sa1100_init_irq,
-       .timer          = &sa1100_timer,
+       .init_time      = sa1100_timer_init,
        .init_machine   = h3600_mach_init,
        .init_late      = sa11x0_init_late,
        .restart        = sa11x0_restart,
index d005939c41fc85ad9e922bb109a5df38200a518f..643d5f2d9af925fc5b95010a72a77eec0037534b 100644 (file)
@@ -229,7 +229,7 @@ MACHINE_START(HACKKIT, "HackKit Cpu Board")
        .map_io         = hackkit_map_io,
        .nr_irqs        = SA1100_NR_IRQS,
        .init_irq       = sa1100_init_irq,
-       .timer          = &sa1100_timer,
+       .init_time      = sa1100_timer_init,
        .init_machine   = hackkit_init,
        .init_late      = sa11x0_init_late,
        .restart        = sa11x0_restart,
index 35cfc428b4d48b1ac710e9ede26209595167a37e..c0b1f5bafae4e06496186197f422ba8874f26420 100644 (file)
@@ -346,7 +346,7 @@ MACHINE_START(JORNADA720, "HP Jornada 720")
        .map_io         = jornada720_map_io,
        .nr_irqs        = SA1100_NR_IRQS,
        .init_irq       = sa1100_init_irq,
-       .timer          = &sa1100_timer,
+       .init_time      = sa1100_timer_init,
        .init_machine   = jornada720_mach_init,
        .init_late      = sa11x0_init_late,
 #ifdef CONFIG_SA1111
index f69f78fc3ddd2b15ee681c6f5670a383f9a322f8..a89917653884642f1219fb7f4c820fcbe56e19ee 100644 (file)
@@ -174,6 +174,6 @@ MACHINE_START(LART, "LART")
        .init_irq       = sa1100_init_irq,
        .init_machine   = lart_init,
        .init_late      = sa11x0_init_late,
-       .timer          = &sa1100_timer,
+       .init_time      = sa1100_timer_init,
        .restart        = sa11x0_restart,
 MACHINE_END
index 102e08f7b10962ba08c9f549b1eba478ccc744ff..f1cb3784d525d131e3d2568b1ae2f6c0d645553a 100644 (file)
@@ -110,7 +110,7 @@ MACHINE_START(NANOENGINE, "BSE nanoEngine")
        .map_io         = nanoengine_map_io,
        .nr_irqs        = SA1100_NR_IRQS,
        .init_irq       = sa1100_init_irq,
-       .timer          = &sa1100_timer,
+       .init_time      = sa1100_timer_init,
        .init_machine   = nanoengine_init,
        .init_late      = sa11x0_init_late,
        .restart        = sa11x0_restart,
index c51bb63f90fb9953bb9c8663a1e4c502c3fb0210..091261878effde2e56d1b4f81a157f7d696de765 100644 (file)
@@ -133,7 +133,7 @@ MACHINE_START(PLEB, "PLEB")
        .map_io         = pleb_map_io,
        .nr_irqs        = SA1100_NR_IRQS,
        .init_irq       = sa1100_init_irq,
-       .timer          = &sa1100_timer,
+       .init_time      = sa1100_timer_init,
        .init_machine   = pleb_init,
        .init_late      = sa11x0_init_late,
        .restart        = sa11x0_restart,
index 6460d25fbb88cd2fc47dc7c35d0f4f45e81c610b..c8866bce738644217d74affbd8eb191aa50d5bcf 100644 (file)
@@ -102,7 +102,7 @@ MACHINE_START(SHANNON, "Shannon (AKA: Tuxscreen)")
        .map_io         = shannon_map_io,
        .nr_irqs        = SA1100_NR_IRQS,
        .init_irq       = sa1100_init_irq,
-       .timer          = &sa1100_timer,
+       .init_time      = sa1100_timer_init,
        .init_machine   = shannon_init,
        .init_late      = sa11x0_init_late,
        .restart        = sa11x0_restart,
index 6d65f65fcb230c9e06e46946affe300909cdec93..bcbc94540e4574c605b99a82f4e642db9afda26b 100644 (file)
@@ -396,6 +396,6 @@ MACHINE_START(SIMPAD, "Simpad")
        .nr_irqs        = SA1100_NR_IRQS,
        .init_irq       = sa1100_init_irq,
        .init_late      = sa11x0_init_late,
-       .timer          = &sa1100_timer,
+       .init_time      = sa1100_timer_init,
        .restart        = sa11x0_restart,
 MACHINE_END
index 80702c9ecc77fe8a6115a1bbe8b0ea08daf97918..934db6385cd6236a8580ca2358b98e2e2d25ae46 100644 (file)
@@ -69,12 +69,45 @@ sa1100_osmr0_set_mode(enum clock_event_mode mode, struct clock_event_device *c)
        }
 }
 
+#ifdef CONFIG_PM
+unsigned long osmr[4], oier;
+
+static void sa1100_timer_suspend(struct clock_event_device *cedev)
+{
+       osmr[0] = readl_relaxed(OSMR0);
+       osmr[1] = readl_relaxed(OSMR1);
+       osmr[2] = readl_relaxed(OSMR2);
+       osmr[3] = readl_relaxed(OSMR3);
+       oier = readl_relaxed(OIER);
+}
+
+static void sa1100_timer_resume(struct clock_event_device *cedev)
+{
+       writel_relaxed(0x0f, OSSR);
+       writel_relaxed(osmr[0], OSMR0);
+       writel_relaxed(osmr[1], OSMR1);
+       writel_relaxed(osmr[2], OSMR2);
+       writel_relaxed(osmr[3], OSMR3);
+       writel_relaxed(oier, OIER);
+
+       /*
+        * OSMR0 is the system timer: make sure OSCR is sufficiently behind
+        */
+       writel_relaxed(OSMR0 - LATCH, OSCR);
+}
+#else
+#define sa1100_timer_suspend NULL
+#define sa1100_timer_resume NULL
+#endif
+
 static struct clock_event_device ckevt_sa1100_osmr0 = {
        .name           = "osmr0",
        .features       = CLOCK_EVT_FEAT_ONESHOT,
        .rating         = 200,
        .set_next_event = sa1100_osmr0_set_next_event,
        .set_mode       = sa1100_osmr0_set_mode,
+       .suspend        = sa1100_timer_suspend,
+       .resume         = sa1100_timer_resume,
 };
 
 static struct irqaction sa1100_timer_irq = {
@@ -84,7 +117,7 @@ static struct irqaction sa1100_timer_irq = {
        .dev_id         = &ckevt_sa1100_osmr0,
 };
 
-static void __init sa1100_timer_init(void)
+void __init sa1100_timer_init(void)
 {
        writel_relaxed(0, OIER);
        writel_relaxed(OSSR_M0 | OSSR_M1 | OSSR_M2 | OSSR_M3, OSSR);
@@ -104,40 +137,3 @@ static void __init sa1100_timer_init(void)
                clocksource_mmio_readl_up);
        clockevents_register_device(&ckevt_sa1100_osmr0);
 }
-
-#ifdef CONFIG_PM
-unsigned long osmr[4], oier;
-
-static void sa1100_timer_suspend(void)
-{
-       osmr[0] = readl_relaxed(OSMR0);
-       osmr[1] = readl_relaxed(OSMR1);
-       osmr[2] = readl_relaxed(OSMR2);
-       osmr[3] = readl_relaxed(OSMR3);
-       oier = readl_relaxed(OIER);
-}
-
-static void sa1100_timer_resume(void)
-{
-       writel_relaxed(0x0f, OSSR);
-       writel_relaxed(osmr[0], OSMR0);
-       writel_relaxed(osmr[1], OSMR1);
-       writel_relaxed(osmr[2], OSMR2);
-       writel_relaxed(osmr[3], OSMR3);
-       writel_relaxed(oier, OIER);
-
-       /*
-        * OSMR0 is the system timer: make sure OSCR is sufficiently behind
-        */
-       writel_relaxed(OSMR0 - LATCH, OSCR);
-}
-#else
-#define sa1100_timer_suspend NULL
-#define sa1100_timer_resume NULL
-#endif
-
-struct sys_timer sa1100_timer = {
-       .init           = sa1100_timer_init,
-       .suspend        = sa1100_timer_suspend,
-       .resume         = sa1100_timer_resume,
-};
index 9ad2e9737fb5cabd3a1afc2785d31e8dc61dcfdf..b63dec8481958c563b9e4a689b4bc488c7b7e175 100644 (file)
@@ -128,10 +128,6 @@ static void __init shark_timer_init(void)
        setup_irq(IRQ_TIMER, &shark_timer_irq);
 }
 
-static struct sys_timer shark_timer = {
-       .init           = shark_timer_init,
-};
-
 static void shark_init_early(void)
 {
        disable_hlt();
@@ -142,7 +138,7 @@ MACHINE_START(SHARK, "Shark")
        .atag_offset    = 0x3000,
        .init_early     = shark_init_early,
        .init_irq       = shark_init_irq,
-       .timer          = &shark_timer,
+       .init_time      = shark_timer_init,
        .dma_zone_size  = SZ_4M,
        .restart        = shark_restart,
 MACHINE_END
index 032d10817e795663c017cc85edf9660f840217e8..d81a66362b7cf97a4b629ca2ac84b8d4731ece79 100644 (file)
@@ -671,5 +671,5 @@ MACHINE_START(AG5EVM, "ag5evm")
        .handle_irq     = gic_handle_irq,
        .init_machine   = ag5evm_init,
        .init_late      = shmobile_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = sh73a0_earlytimer_init,
 MACHINE_END
index 99ef190d0909d5ee5bf633efd0b660061244e71b..c1d4ab630214088d34497a8f50c80f80a157758b 100644 (file)
@@ -1350,5 +1350,5 @@ MACHINE_START(AP4EVB, "ap4evb")
        .handle_irq     = shmobile_handle_irq_intc,
        .init_machine   = ap4evb_init,
        .init_late      = sh7372_pm_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = sh7372_earlytimer_init,
 MACHINE_END
index 5353adf6b828a55446933e070968c9b4bec20a94..e7912447ad504f86e9ae4535b60e5adbb72c6860 100644 (file)
@@ -1192,9 +1192,6 @@ static void __init eva_earlytimer_init(void)
 static void __init eva_add_early_devices(void)
 {
        r8a7740_add_early_devices();
-
-       /* override timer setup with board-specific code */
-       shmobile_timer.init = eva_earlytimer_init;
 }
 
 #define RESCNT2 IOMEM(0xe6188020)
@@ -1216,7 +1213,7 @@ DT_MACHINE_START(ARMADILLO800EVA_DT, "armadillo800eva")
        .handle_irq     = shmobile_handle_irq_intc,
        .init_machine   = eva_init,
        .init_late      = shmobile_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = eva_earlytimer_init,
        .dt_compat      = eva_boards_compat_dt,
        .restart        = eva_restart,
 MACHINE_END
index cb8c994e14301b1424589ce25962de750b0a3f8d..331b7ce4edd8bbe2a8657636e1988503e4dae65e 100644 (file)
@@ -499,9 +499,6 @@ static void __init bonito_earlytimer_init(void)
 static void __init bonito_add_early_devices(void)
 {
        r8a7740_add_early_devices();
-
-       /* override timer setup with board-specific code */
-       shmobile_timer.init = bonito_earlytimer_init;
 }
 
 MACHINE_START(BONITO, "bonito")
@@ -511,5 +508,5 @@ MACHINE_START(BONITO, "bonito")
        .handle_irq     = shmobile_handle_irq_intc,
        .init_machine   = bonito_init,
        .init_late      = shmobile_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = bonito_earlytimer_init,
 MACHINE_END
index bf88f9a8b7ac78ce381add800731e6d5ee7aef37..2f24994f2ef84eb6b67662c2664ac9c6a4e1d8b0 100644 (file)
@@ -553,5 +553,5 @@ MACHINE_START(KOTA2, "kota2")
        .handle_irq     = gic_handle_irq,
        .init_machine   = kota2_init,
        .init_late      = shmobile_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = sh73a0_earlytimer_init,
 MACHINE_END
index b52bc0d1273f5a77a3362df5d72e60bb879c9cba..59be864f599242d4c667ee6c1dc39a044441cf92 100644 (file)
@@ -92,6 +92,6 @@ DT_MACHINE_START(KZM9D_DT, "kzm9d")
        .handle_irq     = gic_handle_irq,
        .init_machine   = kzm9d_add_standard_devices,
        .init_late      = shmobile_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = shmobile_timer_init,
        .dt_compat      = kzm9d_boards_compat_dt,
 MACHINE_END
index c02448d6847f40aba1d2906e9957e376aecd0df4..adb23ef5112136c3bdae378ec94d2b0153c8704a 100644 (file)
@@ -795,7 +795,7 @@ DT_MACHINE_START(KZM9G_DT, "kzm9g")
        .handle_irq     = gic_handle_irq,
        .init_machine   = kzm_init,
        .init_late      = shmobile_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = sh73a0_earlytimer_init,
        .restart        = kzm9g_restart,
        .dt_compat      = kzm9g_boards_compat_dt,
 MACHINE_END
index 2fed62f660459ccae4b08f8548543309587eb0fc..fe4917f2c1a2887740929bbf1135bf2a5cd79eed 100644 (file)
@@ -1593,6 +1593,6 @@ DT_MACHINE_START(MACKEREL_DT, "mackerel")
        .handle_irq     = shmobile_handle_irq_intc,
        .init_machine   = mackerel_init,
        .init_late      = sh7372_pm_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = sh7372_earlytimer_init,
        .dt_compat  = mackerel_boards_compat_dt,
 MACHINE_END
index 449f9289567db20a919dcff45d68bfafe193fb68..ca45a0c50afe4de0326dcd0a259ea4dde57b792a 100644 (file)
@@ -385,5 +385,5 @@ MACHINE_START(MARZEN, "marzen")
        .handle_irq     = gic_handle_irq,
        .init_machine   = marzen_init,
        .init_late      = marzen_init_late,
-       .timer          = &shmobile_timer,
+       .init_time      = r8a7779_earlytimer_init,
 MACHINE_END
index dfeca79e9e964338cafe99ab46df97f7ce2a471b..a57439eec11a32ce22d7a85e7ec1290acbd90bd1 100644 (file)
@@ -2,7 +2,7 @@
 #define __ARCH_MACH_COMMON_H
 
 extern void shmobile_earlytimer_init(void);
-extern struct sys_timer shmobile_timer;
+extern void shmobile_timer_init(void);
 extern void shmobile_setup_delay(unsigned int max_cpu_core_mhz,
                         unsigned int mult, unsigned int div);
 struct twd_local_timer;
@@ -20,6 +20,7 @@ extern void shmobile_cpuidle_set_driver(struct cpuidle_driver *drv);
 
 extern void sh7372_init_irq(void);
 extern void sh7372_map_io(void);
+extern void sh7372_earlytimer_init(void);
 extern void sh7372_add_early_devices(void);
 extern void sh7372_add_standard_devices(void);
 extern void sh7372_clock_init(void);
@@ -32,6 +33,7 @@ extern struct clk sh7372_extal2_clk;
 
 extern void sh73a0_init_irq(void);
 extern void sh73a0_map_io(void);
+extern void sh73a0_earlytimer_init(void);
 extern void sh73a0_add_early_devices(void);
 extern void sh73a0_add_standard_devices(void);
 extern void sh73a0_clock_init(void);
@@ -50,6 +52,7 @@ extern void r8a7740_pinmux_init(void);
 
 extern void r8a7779_init_irq(void);
 extern void r8a7779_map_io(void);
+extern void r8a7779_earlytimer_init(void);
 extern void r8a7779_add_early_devices(void);
 extern void r8a7779_add_standard_devices(void);
 extern void r8a7779_clock_init(void);
index a47beeb182838f399fc9e3fb6d2963f5eecdd6fb..ea61cb657ac3aa275285d37765fabcec393052bd 100644 (file)
@@ -467,7 +467,7 @@ DT_MACHINE_START(EMEV2_DT, "Generic Emma Mobile EV2 (Flattened Device Tree)")
        .init_irq       = emev2_init_irq_dt,
        .handle_irq     = gic_handle_irq,
        .init_machine   = emev2_add_standard_devices_dt,
-       .timer          = &shmobile_timer,
+       .init_time      = shmobile_timer_init,
        .dt_compat      = emev2_boards_compat_dt,
 MACHINE_END
 
index 095222469d03ea3b4359ba0053b1a41b406bb076..03c69f9979aa124ee485489d7f37832a65953da2 100644 (file)
@@ -705,12 +705,6 @@ void __init r8a7740_add_standard_devices(void)
        rmobile_add_device_to_domain("A3SP",    &i2c1_device);
 }
 
-static void __init r8a7740_earlytimer_init(void)
-{
-       r8a7740_clock_init(0);
-       shmobile_earlytimer_init();
-}
-
 void __init r8a7740_add_early_devices(void)
 {
        early_platform_add_devices(r8a7740_early_devices,
@@ -718,9 +712,6 @@ void __init r8a7740_add_early_devices(void)
 
        /* setup early console here as well */
        shmobile_setup_console();
-
-       /* override timer setup with soc-specific code */
-       shmobile_timer.init = r8a7740_earlytimer_init;
 }
 
 #ifdef CONFIG_USE_OF
@@ -763,7 +754,7 @@ DT_MACHINE_START(R8A7740_DT, "Generic R8A7740 (Flattened Device Tree)")
        .init_irq       = r8a7740_init_irq,
        .handle_irq     = shmobile_handle_irq_intc,
        .init_machine   = r8a7740_add_standard_devices_dt,
-       .timer          = &shmobile_timer,
+       .init_time      = shmobile_timer_init,
        .dt_compat      = r8a7740_boards_compat_dt,
 MACHINE_END
 
index 7a1ad4f38539df32e176802e8c7f83086c82b69c..a181ced09e45a8766df72a259fbda313b7660382 100644 (file)
@@ -339,7 +339,7 @@ void __init r8a7779_add_standard_devices(void)
 /* do nothing for !CONFIG_SMP or !CONFIG_HAVE_TWD */
 void __init __weak r8a7779_register_twd(void) { }
 
-static void __init r8a7779_earlytimer_init(void)
+void __init r8a7779_earlytimer_init(void)
 {
        r8a7779_clock_init();
        shmobile_earlytimer_init();
@@ -366,7 +366,4 @@ void __init r8a7779_add_early_devices(void)
         * As a final step pass earlyprint=sh-sci.2,115200 on the kernel
         * command line in case of the marzen board.
         */
-
-       /* override timer setup with soc-specific code */
-       shmobile_timer.init = r8a7779_earlytimer_init;
 }
index c917882424a7cc252cb62183d4636c230bfee3b1..191ae72e21baf70e9f24d965a956a14336d62233 100644 (file)
@@ -1054,7 +1054,7 @@ void __init sh7372_add_standard_devices(void)
                                       ARRAY_SIZE(domain_devices));
 }
 
-static void __init sh7372_earlytimer_init(void)
+void __init sh7372_earlytimer_init(void)
 {
        sh7372_clock_init();
        shmobile_earlytimer_init();
@@ -1067,9 +1067,6 @@ void __init sh7372_add_early_devices(void)
 
        /* setup early console here as well */
        shmobile_setup_console();
-
-       /* override timer setup with soc-specific code */
-       shmobile_timer.init = sh7372_earlytimer_init;
 }
 
 #ifdef CONFIG_USE_OF
@@ -1113,7 +1110,7 @@ DT_MACHINE_START(SH7372_DT, "Generic SH7372 (Flattened Device Tree)")
        .init_irq       = sh7372_init_irq,
        .handle_irq     = shmobile_handle_irq_intc,
        .init_machine   = sh7372_add_standard_devices_dt,
-       .timer          = &shmobile_timer,
+       .init_time      = shmobile_timer_init,
        .dt_compat      = sh7372_boards_compat_dt,
 MACHINE_END
 
index db99a4ade80cd46650dfad30a7d068c7a291bb8c..8c2d6424f470a1bc5938163669b082455f5c4ddb 100644 (file)
@@ -796,7 +796,7 @@ void __init sh73a0_add_standard_devices(void)
 /* do nothing for !CONFIG_SMP or !CONFIG_HAVE_TWD */
 void __init __weak sh73a0_register_twd(void) { }
 
-static void __init sh73a0_earlytimer_init(void)
+void __init sh73a0_earlytimer_init(void)
 {
        sh73a0_clock_init();
        shmobile_earlytimer_init();
@@ -810,7 +810,4 @@ void __init sh73a0_add_early_devices(void)
 
        /* setup early console here as well */
        shmobile_setup_console();
-
-       /* override timer setup with soc-specific code */
-       shmobile_timer.init = sh73a0_earlytimer_init;
 }
index a68919727e24dddcd2431db2864d4f7dd6da15cb..fdbe54a1155567c8ddb08329b60f76c03020c6ab 100644 (file)
@@ -60,10 +60,6 @@ void __init shmobile_earlytimer_init(void)
        late_time_init = shmobile_late_time_init;
 }
 
-static void __init shmobile_timer_init(void)
+void __init shmobile_timer_init(void)
 {
 }
-
-struct sys_timer shmobile_timer = {
-       .init           = shmobile_timer_init,
-};
index 6732924a5fee2900fb8b9bc97c39921cd966b136..b54baea5f809ebe69b32cdd95f73c8aa38bd48d9 100644 (file)
@@ -107,7 +107,7 @@ DT_MACHINE_START(SOCFPGA, "Altera SOCFPGA")
        .map_io         = socfpga_map_io,
        .init_irq       = gic_init_irq,
        .handle_irq     = gic_handle_irq,
-       .timer          = &dw_apb_timer,
+       .init_time      = dw_apb_timer_init,
        .init_machine   = socfpga_cyclone5_init,
        .restart        = socfpga_cyclone5_restart,
        .dt_compat      = altera_dt_match,
index c33f4d9361bd6baa9eec4a1bff3d0b930bfa0a55..35e8a00746397a665ba9c7f755f3f0483ad4449a 100644 (file)
@@ -18,7 +18,7 @@
 #include <asm/mach/time.h>
 
 /* Add spear13xx structure declarations here */
-extern struct sys_timer spear13xx_timer;
+extern void spear13xx_timer_init(void);
 extern struct pl022_ssp_controller pl022_plat_data;
 extern struct dw_dma_platform_data dmac_plat_data;
 extern struct dw_dma_slave cf_dma_priv;
index 02f4724bb0d487d4d6440e302ccd4cb0d0993301..e77d05d480827be039ce6e1b83957725d1e73783 100644 (file)
@@ -92,7 +92,7 @@ DT_MACHINE_START(SPEAR1310_DT, "ST SPEAr1310 SoC with Flattened Device Tree")
        .map_io         =       spear1310_map_io,
        .init_irq       =       spear13xx_dt_init_irq,
        .handle_irq     =       gic_handle_irq,
-       .timer          =       &spear13xx_timer,
+       .init_time      =       spear13xx_timer_init,
        .init_machine   =       spear1310_dt_init,
        .restart        =       spear_restart,
        .dt_compat      =       spear1310_dt_board_compat,
index 081014fb314a9e4b979a249c3271fdcd828bf9db..ebc254779069040f646449d3d770c99f175c4400 100644 (file)
@@ -186,7 +186,7 @@ DT_MACHINE_START(SPEAR1340_DT, "ST SPEAr1340 SoC with Flattened Device Tree")
        .map_io         =       spear13xx_map_io,
        .init_irq       =       spear13xx_dt_init_irq,
        .handle_irq     =       gic_handle_irq,
-       .timer          =       &spear13xx_timer,
+       .init_time      =       spear13xx_timer_init,
        .init_machine   =       spear1340_dt_init,
        .restart        =       spear_restart,
        .dt_compat      =       spear1340_dt_board_compat,
index c4af775a8451a6067f5c4c8ecb30ef1da2d902f8..7f7acf775f07f5521cb44cb90419bd6fa25274e2 100644 (file)
@@ -153,7 +153,7 @@ static void __init spear13xx_clk_init(void)
                pr_err("%s: Unknown machine\n", __func__);
 }
 
-static void __init spear13xx_timer_init(void)
+void __init spear13xx_timer_init(void)
 {
        char pclk_name[] = "osc_24m_clk";
        struct clk *gpt_clk, *pclk;
@@ -183,10 +183,6 @@ static void __init spear13xx_timer_init(void)
        twd_local_timer_of_register();
 }
 
-struct sys_timer spear13xx_timer = {
-       .init = spear13xx_timer_init,
-};
-
 static const struct of_device_id gic_of_match[] __initconst = {
        { .compatible = "arm,cortex-a9-gic", .data = gic_of_init },
        { /* Sentinel */ }
index ce19113ca791ae1478cc0b846bdc7bf511cf7533..46b8f7e4d380012a61e26e0414f4f601e3059df8 100644 (file)
@@ -22,7 +22,7 @@
 #include <asm/mach/map.h>
 
 /* Add spear3xx family device structure declarations here */
-extern struct sys_timer spear3xx_timer;
+extern void spear3xx_timer_init(void);
 extern struct pl022_ssp_controller pl022_plat_data;
 extern struct pl08x_platform_data pl080_plat_data;
 
index a69cbfdb07ee42c17451bf9cfa52952b5ca1382b..2630efa93f5ed56babfe7715275b8497868f5d70 100644 (file)
@@ -214,7 +214,7 @@ DT_MACHINE_START(SPEAR300_DT, "ST SPEAr300 SoC with Flattened Device Tree")
        .map_io         =       spear300_map_io,
        .init_irq       =       spear3xx_dt_init_irq,
        .handle_irq     =       vic_handle_irq,
-       .timer          =       &spear3xx_timer,
+       .init_time      =       spear3xx_timer_init,
        .init_machine   =       spear300_dt_init,
        .restart        =       spear_restart,
        .dt_compat      =       spear300_dt_board_compat,
index b963ebb10b564edaaa37ba5028887fb557dcd920..b6147eaebcde8a46cf803a79b69d48792bb862f7 100644 (file)
@@ -256,7 +256,7 @@ DT_MACHINE_START(SPEAR310_DT, "ST SPEAr310 SoC with Flattened Device Tree")
        .map_io         =       spear310_map_io,
        .init_irq       =       spear3xx_dt_init_irq,
        .handle_irq     =       vic_handle_irq,
-       .timer          =       &spear3xx_timer,
+       .init_time      =       spear3xx_timer_init,
        .init_machine   =       spear310_dt_init,
        .restart        =       spear_restart,
        .dt_compat      =       spear310_dt_board_compat,
index 66e3a0c33e757c84d25ec218a2815f456cda3c47..53160f713afe72f7d4a7f3f1765eb793931817f1 100644 (file)
@@ -270,7 +270,7 @@ DT_MACHINE_START(SPEAR320_DT, "ST SPEAr320 SoC with Flattened Device Tree")
        .map_io         =       spear320_map_io,
        .init_irq       =       spear3xx_dt_init_irq,
        .handle_irq     =       vic_handle_irq,
-       .timer          =       &spear3xx_timer,
+       .init_time      =       spear3xx_timer_init,
        .init_machine   =       spear320_dt_init,
        .restart        =       spear_restart,
        .dt_compat      =       spear320_dt_board_compat,
index 38fe95db31a70a69c241699edf2b5022be8d698a..89f4c58908e318381c5d67f41117f0c54da0fd1a 100644 (file)
@@ -87,7 +87,7 @@ void __init spear3xx_map_io(void)
        iotable_init(spear3xx_io_desc, ARRAY_SIZE(spear3xx_io_desc));
 }
 
-static void __init spear3xx_timer_init(void)
+void __init spear3xx_timer_init(void)
 {
        char pclk_name[] = "pll3_clk";
        struct clk *gpt_clk, *pclk;
@@ -116,10 +116,6 @@ static void __init spear3xx_timer_init(void)
        spear_setup_of_timer();
 }
 
-struct sys_timer spear3xx_timer = {
-       .init = spear3xx_timer_init,
-};
-
 static const struct of_device_id vic_of_match[] __initconst = {
        { .compatible = "arm,pl190-vic", .data = vic_of_init, },
        { .compatible = "st,spear300-shirq", .data = spear300_shirq_of_init, },
index 5a5a52db252bf79d6d776c4a2cbdbbf330ba9e43..1f85bc07c6cb3c75e2a75beaff00bf3e819bf5d5 100644 (file)
@@ -374,7 +374,7 @@ void __init spear6xx_map_io(void)
        iotable_init(spear6xx_io_desc, ARRAY_SIZE(spear6xx_io_desc));
 }
 
-static void __init spear6xx_timer_init(void)
+void __init spear6xx_timer_init(void)
 {
        char pclk_name[] = "pll3_clk";
        struct clk *gpt_clk, *pclk;
@@ -403,10 +403,6 @@ static void __init spear6xx_timer_init(void)
        spear_setup_of_timer();
 }
 
-struct sys_timer spear6xx_timer = {
-       .init = spear6xx_timer_init,
-};
-
 /* Add auxdata to pass platform data */
 struct of_dev_auxdata spear6xx_auxdata_lookup[] __initdata = {
        OF_DEV_AUXDATA("arm,pl080", SPEAR6XX_ICM3_DMA_BASE, NULL,
@@ -439,7 +435,7 @@ DT_MACHINE_START(SPEAR600_DT, "ST SPEAr600 (Flattened Device Tree)")
        .map_io         =       spear6xx_map_io,
        .init_irq       =       spear6xx_dt_init_irq,
        .handle_irq     =       vic_handle_irq,
-       .timer          =       &spear6xx_timer,
+       .init_time      =       spear6xx_timer_init,
        .init_machine   =       spear600_dt_init,
        .restart        =       spear_restart,
        .dt_compat      =       spear600_dt_board_compat,
index 734d9cc87f2e4ef0daf7b66be2ce5995585bd585..3b9956aabf5ab5b7cb678a1e29b970263846a8b5 100644 (file)
@@ -203,7 +203,7 @@ DT_MACHINE_START(TEGRA_DT, "nVidia Tegra20 (Flattened Device Tree)")
        .init_early     = tegra20_init_early,
        .init_irq       = tegra_dt_init_irq,
        .handle_irq     = gic_handle_irq,
-       .timer          = &tegra_sys_timer,
+       .init_time      = tegra_init_timer,
        .init_machine   = tegra_dt_init,
        .init_late      = tegra_dt_init_late,
        .restart        = tegra_assert_system_reset,
index 6497d1236b081c63fe0bd9e3a7b14137b89e6701..381b2f25f0b4f89ca191491121909e152e6278c9 100644 (file)
@@ -113,7 +113,7 @@ DT_MACHINE_START(TEGRA30_DT, "NVIDIA Tegra30 (Flattened Device Tree)")
        .init_early     = tegra30_init_early,
        .init_irq       = tegra_dt_init_irq,
        .handle_irq     = gic_handle_irq,
-       .timer          = &tegra_sys_timer,
+       .init_time      = tegra_init_timer,
        .init_machine   = tegra30_dt_init,
        .init_late      = tegra_init_late,
        .restart        = tegra_assert_system_reset,
index 91fbe733a21eae9be6a5e24df8740ab3d3474efd..744cdd246f6a26ccb00b52f7c16811548f3f585a 100644 (file)
@@ -55,5 +55,5 @@ static inline int harmony_pcie_init(void) { return 0; }
 
 void __init tegra_paz00_wifikill_init(void);
 
-extern struct sys_timer tegra_sys_timer;
+extern void tegra_init_timer(void);
 #endif
index e4863f3e9ee7a05367d6f8fa7c34b03fe72a7f0d..b0036e519a1527c534d0208abbd9e6f524ca2008 100644 (file)
@@ -168,7 +168,7 @@ static const struct of_device_id rtc_match[] __initconst = {
        {}
 };
 
-static void __init tegra_init_timer(void)
+void __init tegra_init_timer(void)
 {
        struct device_node *np;
        struct clk *clk;
@@ -273,10 +273,6 @@ static void __init tegra_init_timer(void)
        register_persistent_clock(NULL, tegra_read_persistent_clock);
 }
 
-struct sys_timer tegra_sys_timer = {
-       .init = tegra_init_timer,
-};
-
 #ifdef CONFIG_PM
 static u32 usec_config;
 
index 4ce77cdc31ccc944765640fe269bd656ca8f619b..100a8b764dad684427a2bedfefe2c7b0890c8732 100644 (file)
@@ -1780,7 +1780,7 @@ MACHINE_START(U300, "Ericsson AB U335 S335/B335 Prototype Board")
        .nr_irqs        = 0,
        .init_irq       = u300_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &u300_timer,
+       .init_time      = u300_timer_init,
        .init_machine   = u300_init_machine,
        .restart        = u300_restart,
 MACHINE_END
index 1da10e20e996556f9b527f3bd19d40e831a6a857..d9e73209c9b8d7aa0d26b9957ed7401f9b53b61d 100644 (file)
@@ -349,7 +349,7 @@ static u32 notrace u300_read_sched_clock(void)
 /*
  * This sets up the system timers, clock source and clock event.
  */
-static void __init u300_timer_init(void)
+void __init u300_timer_init(void)
 {
        struct clk *clk;
        unsigned long rate;
@@ -413,11 +413,3 @@ static void __init u300_timer_init(void)
         * used by hrtimers!
         */
 }
-
-/*
- * Very simple system timer that only register the clock event and
- * clock source.
- */
-struct sys_timer u300_timer = {
-       .init           = u300_timer_init,
-};
index b5e9791762e063c90aa1880441337f908210ff65..d34287bc34f54364366b8dfdf03362719bff607a 100644 (file)
@@ -1 +1 @@
-extern struct sys_timer u300_timer;
+extern void u300_timer_init(void);
index d453522edb0d66b0488e46247fa4446876e69f6f..e1dfa24b4fb92ac4630ae2d0df463290bdcbbec4 100644 (file)
@@ -751,7 +751,7 @@ MACHINE_START(U8500, "ST-Ericsson MOP500 platform")
        .map_io         = u8500_map_io,
        .init_irq       = ux500_init_irq,
        /* we re-use nomadik timer here */
-       .timer          = &ux500_timer,
+       .init_time      = ux500_timer_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = mop500_init_machine,
        .init_late      = ux500_init_late,
@@ -761,7 +761,7 @@ MACHINE_START(U8520, "ST-Ericsson U8520 Platform HREFP520")
        .atag_offset    = 0x100,
        .map_io         = u8500_map_io,
        .init_irq       = ux500_init_irq,
-       .timer          = &ux500_timer,
+       .init_time      = ux500_timer_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = mop500_init_machine,
        .init_late      = ux500_init_late,
@@ -772,7 +772,7 @@ MACHINE_START(HREFV60, "ST-Ericsson U8500 Platform HREFv60+")
        .smp            = smp_ops(ux500_smp_ops),
        .map_io         = u8500_map_io,
        .init_irq       = ux500_init_irq,
-       .timer          = &ux500_timer,
+       .init_time      = ux500_timer_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = hrefv60_init_machine,
        .init_late      = ux500_init_late,
@@ -784,7 +784,7 @@ MACHINE_START(SNOWBALL, "Calao Systems Snowball platform")
        .map_io         = u8500_map_io,
        .init_irq       = ux500_init_irq,
        /* we re-use nomadik timer here */
-       .timer          = &ux500_timer,
+       .init_time      = ux500_timer_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = snowball_init_machine,
        .init_late      = NULL,
index 5b286e06474ce481ff019f302bf1a66aec635687..c1fb38b5ed97b18e3d1a04fc1de19bfa029f8f02 100644 (file)
@@ -341,7 +341,7 @@ DT_MACHINE_START(U8500_DT, "ST-Ericsson Ux5x0 platform (Device Tree Support)")
        .map_io         = u8500_map_io,
        .init_irq       = ux500_init_irq,
        /* we re-use nomadik timer here */
-       .timer          = &ux500_timer,
+       .init_time      = ux500_timer_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = u8500_init_machine,
        .init_late      = NULL,
index 6be4c4d2ab8858b0b714dc95c4a8fad519a770f3..bddce2b493722f84c5821103a38eea4a85d8833d 100644 (file)
@@ -28,8 +28,7 @@ extern struct device *ux500_soc_device_init(const char *soc_id);
 struct amba_device;
 extern void __init amba_add_devices(struct amba_device *devs[], int num);
 
-struct sys_timer;
-extern struct sys_timer ux500_timer;
+extern void ux500_timer_init(void);
 
 #define __IO_DEV_DESC(x, sz)   {               \
        .virtual        = IO_ADDRESS(x),        \
index 875309acb02272cf76c405a72a319cf29dc16b6f..aa2a78acb59e9e6c35428ef0936e4a4e78b0b27e 100644 (file)
@@ -46,7 +46,7 @@ const static struct of_device_id prcmu_timer_of_match[] __initconst = {
        { },
 };
 
-static void __init ux500_timer_init(void)
+void __init ux500_timer_init(void)
 {
        void __iomem *mtu_timer_base;
        void __iomem *prcmu_timer_base;
@@ -99,14 +99,3 @@ dt_fail:
        clksrc_dbx500_prcmu_init(prcmu_timer_base);
        ux500_twd_init();
 }
-
-static void ux500_timer_reset(void)
-{
-       nmdk_clkevt_reset();
-       nmdk_clksrc_reset();
-}
-
-struct sys_timer ux500_timer = {
-       .init           = ux500_timer_init,
-       .resume         = ux500_timer_reset,
-};
index 5d5929450366a894aa2abea0ecee82113c75ac67..d5ddc0c77f5b0acecf277681d5f0666927010a75 100644 (file)
@@ -770,7 +770,7 @@ void __init versatile_init(void)
 /*
  * Set up timer interrupt, and return the current time in seconds.
  */
-static void __init versatile_timer_init(void)
+void __init versatile_timer_init(void)
 {
        u32 val;
 
@@ -797,8 +797,3 @@ static void __init versatile_timer_init(void)
        sp804_clocksource_init(TIMER3_VA_BASE, "timer3");
        sp804_clockevents_init(TIMER0_VA_BASE, IRQ_TIMERINT0_1, "timer0");
 }
-
-struct sys_timer versatile_timer = {
-       .init           = versatile_timer_init,
-};
-
index 683e60776a85b7a29d5022bec2c87c4c0be7f933..5c1b87d1da6b5806807cad0cdf99e00cc982a2c0 100644 (file)
@@ -29,7 +29,7 @@ extern void __init versatile_init(void);
 extern void __init versatile_init_early(void);
 extern void __init versatile_init_irq(void);
 extern void __init versatile_map_io(void);
-extern struct sys_timer versatile_timer;
+extern void versatile_timer_init(void);
 extern void versatile_restart(char, const char *);
 extern unsigned int mmc_status(struct device *dev);
 #ifdef CONFIG_OF
index 98f65493177ae8c0b883a91d4e3c9a2a8258242a..187c1da2c4bbbcaeb0c4c7afc9ffe3a9d2f6ae61 100644 (file)
@@ -40,7 +40,7 @@ MACHINE_START(VERSATILE_AB, "ARM-Versatile AB")
        .init_early     = versatile_init_early,
        .init_irq       = versatile_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &versatile_timer,
+       .init_time      = versatile_timer_init,
        .init_machine   = versatile_init,
        .restart        = versatile_restart,
 MACHINE_END
index ae5ad3c8f3dd0184f0a4259986a9ee8131558703..ccf9f8a9206712a3f684bad505fc3250cfe6f14b 100644 (file)
@@ -47,7 +47,7 @@ DT_MACHINE_START(VERSATILE_PB, "ARM-Versatile (Device Tree Support)")
        .init_early     = versatile_init_early,
        .init_irq       = versatile_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &versatile_timer,
+       .init_time      = versatile_timer_init,
        .init_machine   = versatile_dt_init,
        .dt_compat      = versatile_dt_match,
        .restart        = versatile_restart,
index 19738331bd3d1f4951c2f173dfac6659f800ea80..1cabc0aa569d5bb1fc035171beb438bc6eb48ae7 100644 (file)
@@ -108,7 +108,7 @@ MACHINE_START(VERSATILE_PB, "ARM-Versatile PB")
        .init_early     = versatile_init_early,
        .init_irq       = versatile_init_irq,
        .handle_irq     = vic_handle_irq,
-       .timer          = &versatile_timer,
+       .init_time      = versatile_timer_init,
        .init_machine   = versatile_pb_init,
        .restart        = versatile_restart,
 MACHINE_END
index 011661a6c5cb6dd769c46e3efc50f409ee9e587c..08bd548ef144baca12da82a531ff99a1d027d97f 100644 (file)
@@ -291,10 +291,6 @@ static void __init v2m_timer_init(void)
        v2m_sp804_init(ioremap(V2M_TIMER01, SZ_4K), IRQ_V2M_TIMER0);
 }
 
-static struct sys_timer v2m_timer = {
-       .init   = v2m_timer_init,
-};
-
 static void __init v2m_init_early(void)
 {
        if (ct_desc->init_early)
@@ -376,7 +372,7 @@ MACHINE_START(VEXPRESS, "ARM-Versatile Express")
        .map_io         = v2m_map_io,
        .init_early     = v2m_init_early,
        .init_irq       = v2m_init_irq,
-       .timer          = &v2m_timer,
+       .init_time      = v2m_timer_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = v2m_init,
        .restart        = vexpress_restart,
@@ -468,10 +464,6 @@ static void __init v2m_dt_timer_init(void)
                                24000000);
 }
 
-static struct sys_timer v2m_dt_timer = {
-       .init = v2m_dt_timer_init,
-};
-
 static const struct of_device_id v2m_dt_bus_match[] __initconst = {
        { .compatible = "simple-bus", },
        { .compatible = "arm,amba-bus", },
@@ -498,7 +490,7 @@ DT_MACHINE_START(VEXPRESS_DT, "ARM-Versatile Express")
        .map_io         = v2m_dt_map_io,
        .init_early     = v2m_dt_init_early,
        .init_irq       = v2m_dt_init_irq,
-       .timer          = &v2m_dt_timer,
+       .init_time      = v2m_dt_timer_init,
        .init_machine   = v2m_dt_init,
        .handle_irq     = gic_handle_irq,
        .restart        = vexpress_restart,
index 3c66d48ea082dbdcc24c8162711e6f52eca64a47..d5b9c6689c9dafa12823c98412b5ad5f6b99bec7 100644 (file)
@@ -175,10 +175,6 @@ static void __init vt8500_init_irq(void)
        of_irq_init(vt8500_irq_match);
 };
 
-static struct sys_timer vt8500_timer = {
-       .init = vt8500_timer_init,
-};
-
 static const char * const vt8500_dt_compat[] = {
        "via,vt8500",
        "wm,wm8650",
@@ -189,7 +185,7 @@ DT_MACHINE_START(WMT_DT, "VIA/Wondermedia SoC (Device Tree Support)")
        .dt_compat      = vt8500_dt_compat,
        .map_io         = vt8500_map_io,
        .init_irq       = vt8500_init_irq,
-       .timer          = &vt8500_timer,
+       .init_time      = vt8500_timer_init,
        .init_machine   = vt8500_init,
        .restart        = vt8500_restart,
        .handle_irq     = vt8500_handle_irq,
index b4243e4f1565b4614db0a1ba64f21a92bdb0bb22..92f1c978f35e42b9bc73c6260674236414677cd7 100644 (file)
@@ -37,6 +37,6 @@ MACHINE_START(W90P910EVB, "W90P910EVB")
        .map_io         = nuc910evb_map_io,
        .init_irq       = nuc900_init_irq,
        .init_machine   = nuc910evb_init,
-       .timer          = &nuc900_timer,
+       .init_time      = nuc900_timer_init,
        .restart        = nuc9xx_restart,
 MACHINE_END
index 500fe5932ce98af8113872becbc6799a734f5f62..26f7189056e355909d79f6a401b298eff84a5657 100644 (file)
@@ -40,6 +40,6 @@ MACHINE_START(W90P950EVB, "W90P950EVB")
        .map_io         = nuc950evb_map_io,
        .init_irq       = nuc900_init_irq,
        .init_machine   = nuc950evb_init,
-       .timer          = &nuc900_timer,
+       .init_time      = nuc900_timer_init,
        .restart        = nuc9xx_restart,
 MACHINE_END
index cbb3adc3db1074471d96a112d8c7940fa51e2080..9b4e73fe10e526feca8cfe967c469f979509b314 100644 (file)
@@ -37,6 +37,6 @@ MACHINE_START(W90N960EVB, "W90N960EVB")
        .map_io         = nuc960evb_map_io,
        .init_irq       = nuc900_init_irq,
        .init_machine   = nuc960evb_init,
-       .timer          = &nuc900_timer,
+       .init_time      = nuc900_timer_init,
        .restart        = nuc9xx_restart,
 MACHINE_END
index 91acb404779326789f1ca0944422bc044715f667..88ef4b26708938aa89334266952b64ba057c7b11 100644 (file)
  *
  */
 struct map_desc;
-struct sys_timer;
 
 /* core initialisation functions */
 
 extern void nuc900_init_irq(void);
-extern struct sys_timer nuc900_timer;
+extern void nuc900_timer_init(void);
 extern void nuc9xx_restart(char, const char *);
index fa27c498ac0910fc3d6b7e936f1fb3ce09b81008..d9c3d6b801c728b5d156042232e2e413cd58cb48 100644 (file)
@@ -167,12 +167,8 @@ static void __init nuc900_clocksource_init(void)
                TDR_SHIFT, clocksource_mmio_readl_down);
 }
 
-static void __init nuc900_timer_init(void)
+void __init nuc900_timer_init(void)
 {
        nuc900_clocksource_init();
        nuc900_clockevents_init();
 }
-
-struct sys_timer nuc900_timer = {
-       .init           = nuc900_timer_init,
-};
index e16d4bed0f7aaf1e1d4f7f3423cf2c0a35fd41dd..2ae4bce652b6f78a1ca5fe2e39cf5baf3255e2a6 100644 (file)
@@ -93,13 +93,6 @@ static void __init xilinx_zynq_timer_init(void)
        xttcpss_timer_init();
 }
 
-/*
- * Instantiate and initialize the system timer structure
- */
-static struct sys_timer xttcpss_sys_timer = {
-       .init           = xilinx_zynq_timer_init,
-};
-
 /**
  * xilinx_map_io() - Create memory mappings needed for early I/O.
  */
@@ -120,6 +113,6 @@ MACHINE_START(XILINX_EP107, "Xilinx Zynq Platform")
        .init_irq       = xilinx_irq_init,
        .handle_irq     = gic_handle_irq,
        .init_machine   = xilinx_init_machine,
-       .timer          = &xttcpss_sys_timer,
+       .init_time      = xilinx_zynq_timer_init,
        .dt_compat      = xilinx_dt_match,
 MACHINE_END
index b69e11dc679da60d8c800c0658a30c84b47437e8..37703ef6dfc76ff28b70543b55311f7abc52269b 100644 (file)
@@ -194,8 +194,7 @@ extern void s3c24xx_init_uartdevs(char *name,
 
 /* timer for 2410/2440 */
 
-struct sys_timer;
-extern struct sys_timer s3c24xx_timer;
+extern void s3c24xx_timer_init(void);
 
 extern struct syscore_ops s3c2410_pm_syscore_ops;
 extern struct syscore_ops s3c2412_pm_syscore_ops;
index 3a70aebc9205d34d781d56f3c4a19fcfc6fdfdf0..9c96f3586ce06ad58416a938e772bc409c10f1df 100644 (file)
@@ -36,5 +36,5 @@ struct s5p_timer_source {
 
 extern void __init s5p_set_timer_source(enum s5p_timer_mode event,
                                        enum s5p_timer_mode source);
-extern struct sys_timer s5p_timer;
+extern void s5p_timer_init(void);
 #endif /* __ASM_PLAT_S5P_TIME_H */
index 028b6e877eb9d4afbbe64f90bc82e43d28e1eb38..dabede46c0ec03710029c40febac9cef04adfa08 100644 (file)
@@ -393,13 +393,9 @@ static void __init s5p_timer_resources(void)
        clk_enable(tin_source);
 }
 
-static void __init s5p_timer_init(void)
+void __init s5p_timer_init(void)
 {
        s5p_timer_resources();
        s5p_clockevent_init();
        s5p_clocksource_init();
 }
-
-struct sys_timer s5p_timer = {
-       .init           = s5p_timer_init,
-};
index 60552e22f22e11ccd74fb63b02779f1481e22abb..73defd00c3e46cdf5d227c8c8f8bfd1810e00027 100644 (file)
@@ -27,6 +27,7 @@
 #include <linux/clk.h>
 #include <linux/io.h>
 #include <linux/platform_device.h>
+#include <linux/syscore_ops.h>
 
 #include <asm/mach-types.h>
 
@@ -95,7 +96,7 @@ static inline unsigned long timer_ticks_to_usec(unsigned long ticks)
  * IRQs are disabled before entering here from do_gettimeofday()
  */
 
-static unsigned long s3c2410_gettimeoffset (void)
+static u32 s3c2410_gettimeoffset(void)
 {
        unsigned long tdone;
        unsigned long tval;
@@ -120,7 +121,7 @@ static unsigned long s3c2410_gettimeoffset (void)
                        tdone += timer_startval;
        }
 
-       return timer_ticks_to_usec(tdone);
+       return timer_ticks_to_usec(tdone) * 1000;
 }
 
 
@@ -271,15 +272,16 @@ static void __init s3c2410_timer_resources(void)
        clk_enable(tin);
 }
 
-static void __init s3c2410_timer_init(void)
+static struct syscore_ops s3c24xx_syscore_ops = {
+       .resume         = s3c2410_timer_setup,
+};
+
+void __init s3c24xx_timer_init(void)
 {
+       arch_gettimeoffset = s3c2410_gettimeoffset;
+
        s3c2410_timer_resources();
        s3c2410_timer_setup();
        setup_irq(IRQ_TIMER4, &s3c2410_timer_irq);
+       register_syscore_ops(&s3c24xx_syscore_ops);
 }
-
-struct sys_timer s3c24xx_timer = {
-       .init           = s3c2410_timer_init,
-       .offset         = s3c2410_gettimeoffset,
-       .resume         = s3c2410_timer_setup
-};
index 2310b249675f6567d66cf433094794d2895c661e..3126b920a4a5da705162800e34ff901183479909 100644 (file)
@@ -85,7 +85,7 @@ time_sched_init(irqreturn_t(*timer_routine) (int, void *))
 /*
  * Should return useconds since last timer tick
  */
-u32 arch_gettimeoffset(void)
+static u32 blackfin_gettimeoffset(void)
 {
        unsigned long offset;
        unsigned long clocks_per_jiffy;
@@ -141,6 +141,10 @@ void read_persistent_clock(struct timespec *ts)
 
 void __init time_init(void)
 {
+#ifdef CONFIG_ARCH_USES_GETTIMEOFFSET
+       arch_gettimeoffset = blackfin_gettimeoffset;
+#endif
+
 #ifdef CONFIG_RTC_DRV_BFIN
        /* [#2663] hack to filter junk RTC values that would cause
         * userspace to have to deal with time values greater than
index bcffcb6a9415dc7cc991330e949465891a99c1d9..fce7c541d70de8331b47ccab308a6798b9491bb5 100644 (file)
@@ -55,9 +55,9 @@ unsigned long get_ns_in_jiffie(void)
        return ns;
 }
 
-unsigned long do_slow_gettimeoffset(void)
+static u32 cris_v10_gettimeoffset(void)
 {
-       unsigned long count;
+       u32 count;
 
        /* The timer interrupt comes from Etrax timer 0. In order to get
         * better precision, we check the current value. It might have
@@ -65,8 +65,8 @@ unsigned long do_slow_gettimeoffset(void)
         */
        count = *R_TIMER0_DATA;
 
-       /* Convert timer value to usec */
-       return (TIMER0_DIV - count) * ((NSEC_PER_SEC/1000)/HZ)/TIMER0_DIV;
+       /* Convert timer value to nsec */
+       return (TIMER0_DIV - count) * (NSEC_PER_SEC/HZ)/TIMER0_DIV;
 }
 
 /* Excerpt from the Etrax100 HSDD about the built-in watchdog:
@@ -191,6 +191,8 @@ static struct irqaction irq2  = {
 void __init
 time_init(void)
 {      
+       arch_gettimeoffset = cris_v10_gettimeoffset;
+
        /* probe for the RTC and read it if it exists 
         * Before the RTC can be probed the loops_per_usec variable needs 
         * to be initialized to make usleep work. A better value for 
index 277ffc459e4b821e8360e1042df6bff469f12057..fe6acdabbc8d755b1d8de64a2ab7a917317896f8 100644 (file)
 extern unsigned long loops_per_jiffy; /* init/main.c */
 unsigned long loops_per_usec;
 
-
-#ifdef CONFIG_ARCH_USES_GETTIMEOFFSET
-extern unsigned long do_slow_gettimeoffset(void);
-static unsigned long (*do_gettimeoffset)(void) = do_slow_gettimeoffset;
-
-u32 arch_gettimeoffset(void)
-{
-       return do_gettimeoffset() * 1000;
-}
-#endif
-
 int set_rtc_mmss(unsigned long nowtime)
 {
        D(printk(KERN_DEBUG "set_rtc_mmss(%lu)\n", nowtime));
index 84dd04048db9dc182e8b7ebab31eb44894c3726d..1a15f81ea1bd9d6e5390f4fdb40560785c9830bd 100644 (file)
@@ -57,7 +57,7 @@ extern void smp_local_timer_interrupt(void);
 
 static unsigned long latch;
 
-u32 arch_gettimeoffset(void)
+static u32 m32r_gettimeoffset(void)
 {
        unsigned long  elapsed_time = 0;  /* [us] */
 
@@ -165,6 +165,8 @@ void read_persistent_clock(struct timespec *ts)
 
 void __init time_init(void)
 {
+       arch_gettimeoffset = m32r_gettimeoffset;
+
 #if defined(CONFIG_CHIP_M32102) || defined(CONFIG_CHIP_XNUX2) \
        || defined(CONFIG_CHIP_VDEC2) || defined(CONFIG_CHIP_M32700) \
        || defined(CONFIG_CHIP_OPSP) || defined(CONFIG_CHIP_M32104)
index ee01b7a38e58882143a0baab95b986a58f222bae..b819390e29cdb7e901e926a9190b30ebadb8916c 100644 (file)
@@ -95,7 +95,7 @@ static void amiga_sched_init(irq_handler_t handler);
 static void amiga_get_model(char *model);
 static void amiga_get_hardware_list(struct seq_file *m);
 /* amiga specific timer functions */
-static unsigned long amiga_gettimeoffset(void);
+static u32 amiga_gettimeoffset(void);
 extern void amiga_mksound(unsigned int count, unsigned int ticks);
 static void amiga_reset(void);
 extern void amiga_init_sound(void);
@@ -377,7 +377,7 @@ void __init config_amiga(void)
        mach_init_IRQ        = amiga_init_IRQ;
        mach_get_model       = amiga_get_model;
        mach_get_hardware_list = amiga_get_hardware_list;
-       mach_gettimeoffset   = amiga_gettimeoffset;
+       arch_gettimeoffset   = amiga_gettimeoffset;
 
        /*
         * default MAX_DMA=0xffffffff on all machines. If we don't do so, the SCSI
@@ -482,10 +482,10 @@ static void __init amiga_sched_init(irq_handler_t timer_routine)
 #define TICK_SIZE 10000
 
 /* This is always executed with interrupts disabled.  */
-static unsigned long amiga_gettimeoffset(void)
+static u32 amiga_gettimeoffset(void)
 {
        unsigned short hi, lo, hi2;
-       unsigned long ticks, offset = 0;
+       u32 ticks, offset = 0;
 
        /* read CIA B timer A current value */
        hi  = ciab.tahi;
@@ -507,7 +507,7 @@ static unsigned long amiga_gettimeoffset(void)
        ticks = jiffy_ticks - ticks;
        ticks = (10000 * ticks) / jiffy_ticks;
 
-       return ticks + offset;
+       return (ticks + offset) * 1000;
 }
 
 static void amiga_reset(void)  __noreturn;
index f5565d6eeb8e9bbe24b9ef1df22dea0310f9c4ee..3ea56b90e7188df2c758bce798fc46c2d96df461 100644 (file)
@@ -26,7 +26,7 @@ u_long apollo_model;
 
 extern void dn_sched_init(irq_handler_t handler);
 extern void dn_init_IRQ(void);
-extern unsigned long dn_gettimeoffset(void);
+extern u32 dn_gettimeoffset(void);
 extern int dn_dummy_hwclk(int, struct rtc_time *);
 extern int dn_dummy_set_clock_mmss(unsigned long);
 extern void dn_dummy_reset(void);
@@ -151,7 +151,7 @@ void __init config_apollo(void)
 
        mach_sched_init=dn_sched_init; /* */
        mach_init_IRQ=dn_init_IRQ;
-       mach_gettimeoffset   = dn_gettimeoffset;
+       arch_gettimeoffset   = dn_gettimeoffset;
        mach_max_dma_address = 0xffffffff;
        mach_hwclk           = dn_dummy_hwclk; /* */
        mach_set_clock_mmss  = dn_dummy_set_clock_mmss; /* */
@@ -203,10 +203,9 @@ void dn_sched_init(irq_handler_t timer_routine)
                pr_err("Couldn't register timer interrupt\n");
 }
 
-unsigned long dn_gettimeoffset(void) {
-
+u32 dn_gettimeoffset(void)
+{
        return 0xdeadbeef;
-
 }
 
 int dn_dummy_hwclk(int op, struct rtc_time *t) {
index d8eb32747ac52b777fda6694c27c9ca69ba6542d..037c11c993315a5dc730c9dc19f10be89072b4ab 100644 (file)
@@ -74,7 +74,7 @@ static void atari_heartbeat(int on);
 
 /* atari specific timer functions (in time.c) */
 extern void atari_sched_init(irq_handler_t);
-extern unsigned long atari_gettimeoffset (void);
+extern u32 atari_gettimeoffset(void);
 extern int atari_mste_hwclk (int, struct rtc_time *);
 extern int atari_tt_hwclk (int, struct rtc_time *);
 extern int atari_mste_set_clock_mmss (unsigned long);
@@ -204,7 +204,7 @@ void __init config_atari(void)
        mach_init_IRQ        = atari_init_IRQ;
        mach_get_model   = atari_get_model;
        mach_get_hardware_list = atari_get_hardware_list;
-       mach_gettimeoffset   = atari_gettimeoffset;
+       arch_gettimeoffset   = atari_gettimeoffset;
        mach_reset           = atari_reset;
        mach_max_dma_address = 0xffffff;
 #if defined(CONFIG_INPUT_M68K_BEEP) || defined(CONFIG_INPUT_M68K_BEEP_MODULE)
index c0cc68a2c82984d619eb7ac4c91b8eb704837e0d..da8f981c36d647eac10c557af8f2f699b73fdb52 100644 (file)
@@ -42,9 +42,9 @@ atari_sched_init(irq_handler_t timer_routine)
 #define TICK_SIZE 10000
 
 /* This is always executed with interrupts disabled.  */
-unsigned long atari_gettimeoffset (void)
+u32 atari_gettimeoffset(void)
 {
-  unsigned long ticks, offset = 0;
+  u32 ticks, offset = 0;
 
   /* read MFP timer C current value */
   ticks = st_mfp.tim_dt_c;
@@ -57,7 +57,7 @@ unsigned long atari_gettimeoffset (void)
   ticks = INT_TICKS - ticks;
   ticks = ticks * 10000L / INT_TICKS;
 
-  return ticks + offset;
+  return (ticks + offset) * 1000;
 }
 
 
index 0bf850a20ea28394742e364a018bd69895684d83..8943aa4c18e63cd3b0719b3a8d9f50e6bec40671 100644 (file)
@@ -38,7 +38,7 @@
 
 static void bvme6000_get_model(char *model);
 extern void bvme6000_sched_init(irq_handler_t handler);
-extern unsigned long bvme6000_gettimeoffset (void);
+extern u32 bvme6000_gettimeoffset(void);
 extern int bvme6000_hwclk (int, struct rtc_time *);
 extern int bvme6000_set_clock_mmss (unsigned long);
 extern void bvme6000_reset (void);
@@ -110,7 +110,7 @@ void __init config_bvme6000(void)
     mach_max_dma_address = 0xffffffff;
     mach_sched_init      = bvme6000_sched_init;
     mach_init_IRQ        = bvme6000_init_IRQ;
-    mach_gettimeoffset   = bvme6000_gettimeoffset;
+    arch_gettimeoffset   = bvme6000_gettimeoffset;
     mach_hwclk           = bvme6000_hwclk;
     mach_set_clock_mmss         = bvme6000_set_clock_mmss;
     mach_reset          = bvme6000_reset;
@@ -216,13 +216,13 @@ void bvme6000_sched_init (irq_handler_t timer_routine)
  * results...
  */
 
-unsigned long bvme6000_gettimeoffset (void)
+u32 bvme6000_gettimeoffset(void)
 {
     volatile RtcPtr_t rtc = (RtcPtr_t)BVME_RTC_BASE;
     volatile PitRegsPtr pit = (PitRegsPtr)BVME_PIT_BASE;
     unsigned char msr = rtc->msr & 0xc0;
     unsigned char t1int, t1op;
-    unsigned long v = 800000, ov;
+    u32 v = 800000, ov;
 
     rtc->msr = 0;      /* Ensure timer registers accessible */
 
@@ -246,7 +246,7 @@ unsigned long bvme6000_gettimeoffset (void)
        v += 10000;                     /* Int pending, + 10ms */
     rtc->msr = msr;
 
-    return v;
+    return v * 1000;
 }
 
 /*
index bf16af1edacfe8fb9c91a5f19673042cf0664dd6..b7609f791522a45f12170799cdae4f89bc8ab80f 100644 (file)
@@ -251,7 +251,7 @@ void __init config_hp300(void)
        mach_sched_init      = hp300_sched_init;
        mach_init_IRQ        = hp300_init_IRQ;
        mach_get_model       = hp300_get_model;
-       mach_gettimeoffset   = hp300_gettimeoffset;
+       arch_gettimeoffset   = hp300_gettimeoffset;
        mach_hwclk           = hp300_hwclk;
        mach_get_ss          = hp300_get_ss;
        mach_reset           = hp300_reset;
index 29a71be9fa5b11d2675861ecee0bfb1822c87c05..749543b425a4b2c6b547485af5fe55c02583f933 100644 (file)
@@ -46,7 +46,7 @@ static irqreturn_t hp300_tick(int irq, void *dev_id)
        return vector(irq, NULL);
 }
 
-unsigned long hp300_gettimeoffset(void)
+u32 hp300_gettimeoffset(void)
 {
   /* Read current timer 1 value */
   unsigned char lsb, msb1, msb2;
@@ -59,7 +59,7 @@ unsigned long hp300_gettimeoffset(void)
     /* A carry happened while we were reading.  Read it again */
     lsb = in_8(CLOCKBASE + 7);
   ticks = INTVAL - ((msb2 << 8) | lsb);
-  return (USECS_PER_JIFFY * ticks) / INTVAL;
+  return ((USECS_PER_JIFFY * ticks) / INTVAL) * 1000;
 }
 
 void __init hp300_sched_init(irq_handler_t vector)
index 7b98242960de76b58da5cd7fb1e72d0985091c0b..f5583ec4033d46c076d91e8e017fbb996ad0fcab 100644 (file)
@@ -1,2 +1,2 @@
 extern void hp300_sched_init(irq_handler_t vector);
-extern unsigned long hp300_gettimeoffset(void);
+extern u32 hp300_gettimeoffset(void);
index 825c1c813196a7b08de0936a8101ee2b7d5820be..953ca21da8eec1e09d1c8a8d9077e0bfce543d57 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <linux/seq_file.h>
 #include <linux/interrupt.h>
+#include <linux/time.h>
 
 struct pt_regs;
 struct mktime;
@@ -16,7 +17,6 @@ extern void (*mach_init_IRQ) (void);
 extern void (*mach_get_model) (char *model);
 extern void (*mach_get_hardware_list) (struct seq_file *m);
 /* machine dependent timer functions */
-extern unsigned long (*mach_gettimeoffset)(void);
 extern int (*mach_hwclk)(int, struct rtc_time*);
 extern unsigned int (*mach_get_ss)(void);
 extern int (*mach_get_rtc_pll)(struct rtc_pll_info *);
index d872ce4807c96f36f81de1f60adc67c99de9627b..80cfbe56ea32150e634574de9f24b8451069e968 100644 (file)
@@ -84,7 +84,6 @@ void (*mach_init_IRQ) (void) __initdata = NULL;
 void (*mach_get_model) (char *model);
 void (*mach_get_hardware_list) (struct seq_file *m);
 /* machine dependent timer functions */
-unsigned long (*mach_gettimeoffset) (void);
 int (*mach_hwclk) (int, struct rtc_time*);
 EXPORT_SYMBOL(mach_hwclk);
 int (*mach_set_clock_mmss) (unsigned long);
index 5d0bcaad2e552f5d9587911b241bfe2369eb855e..bea6bcf8f9b8ec53958a34dd5f224e2057f6b723 100644 (file)
@@ -80,18 +80,8 @@ void read_persistent_clock(struct timespec *ts)
        }
 }
 
-void __init time_init(void)
-{
-       mach_sched_init(timer_interrupt);
-}
-
 #ifdef CONFIG_ARCH_USES_GETTIMEOFFSET
 
-u32 arch_gettimeoffset(void)
-{
-       return mach_gettimeoffset() * 1000;
-}
-
 static int __init rtc_init(void)
 {
        struct platform_device *pdev;
@@ -106,3 +96,8 @@ static int __init rtc_init(void)
 module_init(rtc_init);
 
 #endif /* CONFIG_ARCH_USES_GETTIMEOFFSET */
+
+void __init time_init(void)
+{
+       mach_sched_init(timer_interrupt);
+}
index d9f62e0f46c0b8861aff1509549be510c0b2a514..afb95d5fb26b3b29b172d730d8b5bacc4c3c664a 100644 (file)
@@ -52,7 +52,7 @@ struct mac_booter_data mac_bi_data;
 static unsigned long mac_orig_videoaddr;
 
 /* Mac specific timer functions */
-extern unsigned long mac_gettimeoffset(void);
+extern u32 mac_gettimeoffset(void);
 extern int mac_hwclk(int, struct rtc_time *);
 extern int mac_set_clock_mmss(unsigned long);
 extern void iop_preinit(void);
@@ -177,7 +177,7 @@ void __init config_mac(void)
        mach_sched_init = mac_sched_init;
        mach_init_IRQ = mac_init_IRQ;
        mach_get_model = mac_get_model;
-       mach_gettimeoffset = mac_gettimeoffset;
+       arch_gettimeoffset = mac_gettimeoffset;
        mach_hwclk = mac_hwclk;
        mach_set_clock_mmss = mac_set_clock_mmss;
        mach_reset = mac_reset;
index 2d85662715fba3a9d6332c19a45eecd4c428e141..5d1458bb871b8bd5e55eb25c5501067adef4810b 100644 (file)
@@ -327,7 +327,7 @@ void via_debug_dump(void)
  * TBI: get time offset between scheduling timer ticks
  */
 
-unsigned long mac_gettimeoffset (void)
+u32 mac_gettimeoffset(void)
 {
        unsigned long ticks, offset = 0;
 
@@ -341,7 +341,7 @@ unsigned long mac_gettimeoffset (void)
        ticks = MAC_CLOCK_TICK - ticks;
        ticks = ticks * 10000L / MAC_CLOCK_TICK;
 
-       return ticks + offset;
+       return (ticks + offset) * 1000;
 }
 
 /*
index a41c09149e2353158ec8ba18530a4bfc09a301e5..1c6262803b9455d46fbde9b05587fc910b1687f5 100644 (file)
@@ -37,7 +37,7 @@
 
 static void mvme147_get_model(char *model);
 extern void mvme147_sched_init(irq_handler_t handler);
-extern unsigned long mvme147_gettimeoffset (void);
+extern u32 mvme147_gettimeoffset(void);
 extern int mvme147_hwclk (int, struct rtc_time *);
 extern int mvme147_set_clock_mmss (unsigned long);
 extern void mvme147_reset (void);
@@ -88,7 +88,7 @@ void __init config_mvme147(void)
        mach_max_dma_address    = 0x01000000;
        mach_sched_init         = mvme147_sched_init;
        mach_init_IRQ           = mvme147_init_IRQ;
-       mach_gettimeoffset      = mvme147_gettimeoffset;
+       arch_gettimeoffset      = mvme147_gettimeoffset;
        mach_hwclk              = mvme147_hwclk;
        mach_set_clock_mmss     = mvme147_set_clock_mmss;
        mach_reset              = mvme147_reset;
@@ -127,7 +127,7 @@ void mvme147_sched_init (irq_handler_t timer_routine)
 
 /* This is always executed with interrupts disabled.  */
 /* XXX There are race hazards in this code XXX */
-unsigned long mvme147_gettimeoffset (void)
+u32 mvme147_gettimeoffset(void)
 {
        volatile unsigned short *cp = (volatile unsigned short *)0xfffe1012;
        unsigned short n;
@@ -137,7 +137,7 @@ unsigned long mvme147_gettimeoffset (void)
                n = *cp;
 
        n -= PCC_TIMER_PRELOAD;
-       return (unsigned long)n * 25 / 4;
+       return ((unsigned long)n * 25 / 4) * 1000;
 }
 
 static int bcd2int (unsigned char b)
index b6d7d8a7a3dd52ba1188067a51393e21d129df42..080a342458a1934162aa61f44d72d59dfc1afbd9 100644 (file)
@@ -43,7 +43,7 @@ static MK48T08ptr_t volatile rtc = (MK48T08ptr_t)MVME_RTC_BASE;
 
 static void mvme16x_get_model(char *model);
 extern void mvme16x_sched_init(irq_handler_t handler);
-extern unsigned long mvme16x_gettimeoffset (void);
+extern u32 mvme16x_gettimeoffset(void);
 extern int mvme16x_hwclk (int, struct rtc_time *);
 extern int mvme16x_set_clock_mmss (unsigned long);
 extern void mvme16x_reset (void);
@@ -289,7 +289,7 @@ void __init config_mvme16x(void)
     mach_max_dma_address = 0xffffffff;
     mach_sched_init      = mvme16x_sched_init;
     mach_init_IRQ        = mvme16x_init_IRQ;
-    mach_gettimeoffset   = mvme16x_gettimeoffset;
+    arch_gettimeoffset   = mvme16x_gettimeoffset;
     mach_hwclk           = mvme16x_hwclk;
     mach_set_clock_mmss         = mvme16x_set_clock_mmss;
     mach_reset          = mvme16x_reset;
@@ -405,9 +405,9 @@ void mvme16x_sched_init (irq_handler_t timer_routine)
 
 
 /* This is always executed with interrupts disabled.  */
-unsigned long mvme16x_gettimeoffset (void)
+u32 mvme16x_gettimeoffset(void)
 {
-    return (*(volatile unsigned long *)0xfff42008);
+    return (*(volatile u32 *)0xfff42008) * 1000;
 }
 
 int bcd2int (unsigned char b)
index 1adb5b7b0d1a141e19463a2b61fa571885af0f7d..658542b914fc0fb37476ca3df10461e1438e3049 100644 (file)
@@ -40,7 +40,7 @@ extern void q40_init_IRQ(void);
 static void q40_get_model(char *model);
 extern void q40_sched_init(irq_handler_t handler);
 
-static unsigned long q40_gettimeoffset(void);
+static u32 q40_gettimeoffset(void);
 static int q40_hwclk(int, struct rtc_time *);
 static unsigned int q40_get_ss(void);
 static int q40_set_clock_mmss(unsigned long);
@@ -170,7 +170,7 @@ void __init config_q40(void)
        mach_sched_init = q40_sched_init;
 
        mach_init_IRQ = q40_init_IRQ;
-       mach_gettimeoffset = q40_gettimeoffset;
+       arch_gettimeoffset = q40_gettimeoffset;
        mach_hwclk = q40_hwclk;
        mach_get_ss = q40_get_ss;
        mach_get_rtc_pll = q40_get_rtc_pll;
@@ -204,9 +204,9 @@ int q40_parse_bootinfo(const struct bi_record *rec)
 }
 
 
-static unsigned long q40_gettimeoffset(void)
+static u32 q40_gettimeoffset(void)
 {
-       return 5000 * (ql_ticks != 0);
+       return 5000 * (ql_ticks != 0) * 1000;
 }
 
 
index 2ca25bd01a961c37bbdd8a6b12efbf330e252f79..f59ec58083f8b41545665a0dfab1492bfd1d3007 100644 (file)
@@ -36,7 +36,7 @@
 
 char sun3_reserved_pmeg[SUN3_PMEGS_NUM];
 
-extern unsigned long sun3_gettimeoffset(void);
+extern u32 sun3_gettimeoffset(void);
 static void sun3_sched_init(irq_handler_t handler);
 extern void sun3_get_model (char* model);
 extern int sun3_hwclk(int set, struct rtc_time *t);
@@ -141,7 +141,7 @@ void __init config_sun3(void)
         mach_sched_init      =  sun3_sched_init;
         mach_init_IRQ        =  sun3_init_IRQ;
         mach_reset           =  sun3_reboot;
-       mach_gettimeoffset   =  sun3_gettimeoffset;
+       arch_gettimeoffset   =  sun3_gettimeoffset;
        mach_get_model       =  sun3_get_model;
        mach_hwclk           =  sun3_hwclk;
        mach_halt            =  sun3_halt;
index 94fe8016f1f08a492e774c4e9bc014cf5b7ad68a..889829e11f1dbeba727a2ecff18580e416ee94ba 100644 (file)
@@ -23,9 +23,9 @@
 #define START_VAL (INTERSIL_RUN | INTERSIL_INT_ENABLE | INTERSIL_24H_MODE)
 
 /* does this need to be implemented? */
-unsigned long sun3_gettimeoffset(void)
+u32 sun3_gettimeoffset(void)
 {
-  return 1;
+  return 1000;
 }
 
 
index dd306c84d36d6fb8fc57b17e431b55b1160df388..0532d64d191e75646be2e725e245e0689978512f 100644 (file)
@@ -48,7 +48,7 @@ void __init config_sun3x(void)
        mach_sched_init      = sun3x_sched_init;
        mach_init_IRQ        = sun3_init_IRQ;
 
-       mach_gettimeoffset   = sun3x_gettimeoffset;
+       arch_gettimeoffset   = sun3x_gettimeoffset;
        mach_reset           = sun3x_reboot;
 
        mach_hwclk           = sun3x_hwclk;
index 1d0a724804090fd52bb025755c4c5b7b40ff0292..c8eb08add6b0801cb03718d012657f21cdeded6f 100644 (file)
@@ -71,7 +71,7 @@ int sun3x_hwclk(int set, struct rtc_time *t)
        return 0;
 }
 /* Not much we can do here */
-unsigned long sun3x_gettimeoffset (void)
+u32 sun3x_gettimeoffset(void)
 {
     return 0L;
 }
index 6909e1297534a17e810dd216cdbd2f4a31465601..a4f9126be7e28495cc0dca6fb439fc43a3332272 100644 (file)
@@ -2,7 +2,7 @@
 #define SUN3X_TIME_H
 
 extern int sun3x_hwclk(int set, struct rtc_time *t);
-unsigned long sun3x_gettimeoffset (void);
+u32 sun3x_gettimeoffset(void);
 void sun3x_sched_init(irq_handler_t vector);
 
 struct mostek_dt {
index bc19f12c20ced747eb2afa33f5e918ab97f8a42c..7f796d8f7505cfe4784c8ec5559b7e9a196d011c 100644 (file)
@@ -101,7 +101,7 @@ static struct of_device_id bcm2835_time_match[] __initconst = {
        {}
 };
 
-static void __init bcm2835_time_init(void)
+void __init bcm2835_timer_init(void)
 {
        struct device_node *node;
        void __iomem *base;
@@ -155,7 +155,3 @@ static void __init bcm2835_time_init(void)
 
        pr_info("bcm2835: system timer (irq = %d)\n", irq);
 }
-
-struct sys_timer bcm2835_timer = {
-       .init = bcm2835_time_init,
-};
index f7dba5b79b44425f72e1cc887edc248634683982..ab09ed3742ee6c585ed6a607ce2adfbd7d0a5929 100644 (file)
@@ -107,7 +107,7 @@ static const struct of_device_id osctimer_ids[] __initconst = {
        {},
 };
 
-static void __init timer_init(void)
+void __init dw_apb_timer_init(void)
 {
        struct device_node *event_timer, *source_timer;
 
@@ -125,7 +125,3 @@ static void __init timer_init(void)
 
        init_sched_clock();
 }
-
-struct sys_timer dw_apb_timer = {
-       .init = timer_init,
-};
index 8914c3c1c88b08d8c183a23b17f1e2bd1ffb1e06..025afc6dd324949897968f0fac83e1e90eee3d7a 100644 (file)
@@ -134,12 +134,32 @@ static void nmdk_clkevt_mode(enum clock_event_mode mode,
        }
 }
 
+void nmdk_clksrc_reset(void)
+{
+       /* Disable */
+       writel(0, mtu_base + MTU_CR(0));
+
+       /* ClockSource: configure load and background-load, and fire it up */
+       writel(nmdk_cycle, mtu_base + MTU_LR(0));
+       writel(nmdk_cycle, mtu_base + MTU_BGLR(0));
+
+       writel(clk_prescale | MTU_CRn_32BITS | MTU_CRn_ENA,
+              mtu_base + MTU_CR(0));
+}
+
+static void nmdk_clkevt_resume(struct clock_event_device *cedev)
+{
+       nmdk_clkevt_reset();
+       nmdk_clksrc_reset();
+}
+
 static struct clock_event_device nmdk_clkevt = {
        .name           = "mtu_1",
        .features       = CLOCK_EVT_FEAT_ONESHOT | CLOCK_EVT_FEAT_PERIODIC,
        .rating         = 200,
        .set_mode       = nmdk_clkevt_mode,
        .set_next_event = nmdk_clkevt_next,
+       .resume         = nmdk_clkevt_resume,
 };
 
 /*
@@ -161,19 +181,6 @@ static struct irqaction nmdk_timer_irq = {
        .dev_id         = &nmdk_clkevt,
 };
 
-void nmdk_clksrc_reset(void)
-{
-       /* Disable */
-       writel(0, mtu_base + MTU_CR(0));
-
-       /* ClockSource: configure load and background-load, and fire it up */
-       writel(nmdk_cycle, mtu_base + MTU_LR(0));
-       writel(nmdk_cycle, mtu_base + MTU_BGLR(0));
-
-       writel(clk_prescale | MTU_CRn_32BITS | MTU_CRn_ENA,
-              mtu_base + MTU_CR(0));
-}
-
 void __init nmdk_timer_init(void __iomem *base, int irq)
 {
        unsigned long rate;
index 3cd1bd3d7aee7fd0f6c77143bfb11b8d1100e59e..6c2ed56e8b1414492a5727347884f9252157e21d 100644 (file)
@@ -104,7 +104,7 @@ static struct of_device_id sunxi_timer_dt_ids[] = {
        { }
 };
 
-static void __init sunxi_timer_init(void)
+void __init sunxi_timer_init(void)
 {
        struct device_node *node;
        unsigned long rate = 0;
@@ -165,7 +165,3 @@ static void __init sunxi_timer_init(void)
 
        clockevents_register_device(&sunxi_clockevent);
 }
-
-struct sys_timer sunxi_timer = {
-       .init = sunxi_timer_init,
-};
index 25680fe0903c3ab73de1b16bba9a421fd4f56c8b..ca17aa81700643f1b00c9654460df1cb40a0f316 100644 (file)
@@ -17,6 +17,6 @@
 
 #include <asm/mach/time.h>
 
-extern struct sys_timer bcm2835_timer;
+extern void bcm2835_timer_init(void);
 
 #endif
index 1148575fd134e1b02e02acaa2d8892f4e6e91237..dd755ce2a5ebdb867b959f6efc21b696500c5732 100644 (file)
@@ -53,5 +53,5 @@ void dw_apb_clocksource_start(struct dw_apb_clocksource *dw_cs);
 cycle_t dw_apb_clocksource_read(struct dw_apb_clocksource *dw_cs);
 void dw_apb_clocksource_unregister(struct dw_apb_clocksource *dw_cs);
 
-extern struct sys_timer dw_apb_timer;
+extern void dw_apb_timer_init(void);
 #endif /* __DW_APB_TIMER_H__ */
index b9165bba6e61b7781850b08c0e7008a1c4fa47e4..18081787e5f31254314b3468d1be31c0bcc14c4c 100644 (file)
@@ -19,6 +19,6 @@
 
 #include <asm/mach/time.h>
 
-extern struct sys_timer sunxi_timer;
+void sunxi_timer_init(void);
 
 #endif
index 4d358e9d10f100757176df607b502a451aafc6bb..05e32a72103c68a059602101e82c05ad3c80027e 100644 (file)
@@ -142,9 +142,7 @@ void timekeeping_inject_sleeptime(struct timespec *delta);
  * finer then tick granular time.
  */
 #ifdef CONFIG_ARCH_USES_GETTIMEOFFSET
-extern u32 arch_gettimeoffset(void);
-#else
-static inline u32 arch_gettimeoffset(void) { return 0; }
+extern u32 (*arch_gettimeoffset)(void);
 #endif
 
 extern void do_gettimeofday(struct timeval *tv);
index cbc6acb0db3fafbaa4830da34cdb22e538892764..8ed9346015879ddb3851bbed8a908151b6f887a9 100644 (file)
@@ -135,6 +135,20 @@ static void tk_setup_internals(struct timekeeper *tk, struct clocksource *clock)
 }
 
 /* Timekeeper helper functions. */
+
+#ifdef CONFIG_ARCH_USES_GETTIMEOFFSET
+u32 (*arch_gettimeoffset)(void);
+
+u32 get_arch_timeoffset(void)
+{
+       if (likely(arch_gettimeoffset))
+               return arch_gettimeoffset();
+       return 0;
+}
+#else
+static inline u32 get_arch_timeoffset(void) { return 0; }
+#endif
+
 static inline s64 timekeeping_get_ns(struct timekeeper *tk)
 {
        cycle_t cycle_now, cycle_delta;
@@ -151,8 +165,8 @@ static inline s64 timekeeping_get_ns(struct timekeeper *tk)
        nsec = cycle_delta * tk->mult + tk->xtime_nsec;
        nsec >>= tk->shift;
 
-       /* If arch requires, add in gettimeoffset() */
-       return nsec + arch_gettimeoffset();
+       /* If arch requires, add in get_arch_timeoffset() */
+       return nsec + get_arch_timeoffset();
 }
 
 static inline s64 timekeeping_get_ns_raw(struct timekeeper *tk)
@@ -171,8 +185,8 @@ static inline s64 timekeeping_get_ns_raw(struct timekeeper *tk)
        /* convert delta to nanoseconds. */
        nsec = clocksource_cyc2ns(cycle_delta, clock->mult, clock->shift);
 
-       /* If arch requires, add in gettimeoffset() */
-       return nsec + arch_gettimeoffset();
+       /* If arch requires, add in get_arch_timeoffset() */
+       return nsec + get_arch_timeoffset();
 }
 
 static RAW_NOTIFIER_HEAD(pvclock_gtod_chain);
@@ -254,8 +268,8 @@ static void timekeeping_forward_now(struct timekeeper *tk)
 
        tk->xtime_nsec += cycle_delta * tk->mult;
 
-       /* If arch requires, add in gettimeoffset() */
-       tk->xtime_nsec += (u64)arch_gettimeoffset() << tk->shift;
+       /* If arch requires, add in get_arch_timeoffset() */
+       tk->xtime_nsec += (u64)get_arch_timeoffset() << tk->shift;
 
        tk_normalize_xtime(tk);