diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-01 12:10:20 -0700 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-09-01 12:10:20 -0700 | 
| commit | c5fc249862af862df027030188cc083e072ecd19 (patch) | |
| tree | 1205eaa47b07fc06b79e8c742a15dca5bcb1066c /arch/arm/mach-omap2/timer.c | |
| parent | 00e3fcc221f6fe6a890bf3e0e71c6b9944e58233 (diff) | |
| parent | 97a2482d9891f0ad6a3710e0b6ae9949c140c7f1 (diff) | |
Merge tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
Pull ARM SoC cleanups from Olof Johansson:
 "A large cleanup branch this release, with a healthy 10k negative line
  delta.
  Most of this is removal of legacy (non-DT) support of shmobile
  platforms.  There is also removal of two non-DT platforms on OMAP, and
  the plat-samsung directory is cleaned out by moving most of the
  previously shared-location-but-not-actually-shared files from there to
  the appropriate mach directories instead.
  There are other sets of changes in here as well:
   - Rob Herring removed use of set_irq_flags under all platforms and
     moved to genirq alternatives
   - a series of timer API conversions to set-state interface
   - ep93xx, nomadik and ux500 cleanups from Linus Walleij
   - __init annotation fixes from Nicolas Pitre
   + a bunch of other changes that all add up to a nice set of cleanups"
* tag 'armsoc-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (108 commits)
  ARM/fb: ep93xx: switch framebuffer to use modedb only
  ARM: gemini: Setup timer3 as free running timer
  ARM: gemini: Use timer1 for clockevent
  ARM: gemini: Add missing register definitions for gemini timer
  ARM: ep93xx/timer: Migrate to new 'set-state' interface
  ARM: nomadik: push accelerometer down to boards
  ARM: nomadik: move l2x0 setup to device tree
  ARM: nomadik: selectively enable UART0 on boards
  ARM: nomadik: move hog code to use DT hogs
  ARM: shmobile: Fix mismerges
  ARM: ux500: simplify secondary CPU boot
  ARM: SAMSUNG: remove keypad-core header in plat-samsung
  ARM: SAMSUNG: local watchdog-reset header in mach-s3c64xx
  ARM: SAMSUNG: local onenand-core header in mach-s3c64xx
  ARM: SAMSUNG: local irq-uart header in mach-s3c64xx
  ARM: SAMSUNG: local backlight header in mach-s3c64xx
  ARM: SAMSUNG: local ata-core header in mach-s3c64xx
  ARM: SAMSUNG: local regs-usb-hsotg-phy header in mach-s3c64xx
  ARM: SAMSUNG: local spi-core header in mach-s3c24xx
  ARM: SAMSUNG: local nand-core header in mach-s3c24xx
  ...
Diffstat (limited to 'arch/arm/mach-omap2/timer.c')
| -rw-r--r-- | arch/arm/mach-omap2/timer.c | 48 | 
1 files changed, 24 insertions, 24 deletions
| diff --git a/arch/arm/mach-omap2/timer.c b/arch/arm/mach-omap2/timer.c index cac46d852da1..16b37e7196f5 100644 --- a/arch/arm/mach-omap2/timer.c +++ b/arch/arm/mach-omap2/timer.c @@ -102,38 +102,38 @@ static int omap2_gp_timer_set_next_event(unsigned long cycles,  	return 0;  } -static void omap2_gp_timer_set_mode(enum clock_event_mode mode, -				    struct clock_event_device *evt) +static int omap2_gp_timer_shutdown(struct clock_event_device *evt) +{ +	__omap_dm_timer_stop(&clkev, OMAP_TIMER_POSTED, clkev.rate); +	return 0; +} + +static int omap2_gp_timer_set_periodic(struct clock_event_device *evt)  {  	u32 period;  	__omap_dm_timer_stop(&clkev, OMAP_TIMER_POSTED, clkev.rate); -	switch (mode) { -	case CLOCK_EVT_MODE_PERIODIC: -		period = clkev.rate / HZ; -		period -= 1; -		/* Looks like we need to first set the load value separately */ -		__omap_dm_timer_write(&clkev, OMAP_TIMER_LOAD_REG, -				      0xffffffff - period, OMAP_TIMER_POSTED); -		__omap_dm_timer_load_start(&clkev, -					OMAP_TIMER_CTRL_AR | OMAP_TIMER_CTRL_ST, -					0xffffffff - period, OMAP_TIMER_POSTED); -		break; -	case CLOCK_EVT_MODE_ONESHOT: -		break; -	case CLOCK_EVT_MODE_UNUSED: -	case CLOCK_EVT_MODE_SHUTDOWN: -	case CLOCK_EVT_MODE_RESUME: -		break; -	} +	period = clkev.rate / HZ; +	period -= 1; +	/* Looks like we need to first set the load value separately */ +	__omap_dm_timer_write(&clkev, OMAP_TIMER_LOAD_REG, 0xffffffff - period, +			      OMAP_TIMER_POSTED); +	__omap_dm_timer_load_start(&clkev, +				   OMAP_TIMER_CTRL_AR | OMAP_TIMER_CTRL_ST, +				   0xffffffff - period, OMAP_TIMER_POSTED); +	return 0;  }  static struct clock_event_device clockevent_gpt = { -	.features       = CLOCK_EVT_FEAT_PERIODIC | CLOCK_EVT_FEAT_ONESHOT, -	.rating		= 300, -	.set_next_event	= omap2_gp_timer_set_next_event, -	.set_mode	= omap2_gp_timer_set_mode, +	.features		= CLOCK_EVT_FEAT_PERIODIC | +				  CLOCK_EVT_FEAT_ONESHOT, +	.rating			= 300, +	.set_next_event		= omap2_gp_timer_set_next_event, +	.set_state_shutdown	= omap2_gp_timer_shutdown, +	.set_state_periodic	= omap2_gp_timer_set_periodic, +	.set_state_oneshot	= omap2_gp_timer_shutdown, +	.tick_resume		= omap2_gp_timer_shutdown,  };  static struct property device_disabled = { | 
