~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/sh/kernel/localtimer.c

Version: ~ [ linux-5.9.1 ] ~ [ linux-5.8.16 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.72 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.152 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.202 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.240 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.240 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.85 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * Dummy local timer
  3  *
  4  * Copyright (C) 2008  Paul Mundt
  5  *
  6  * cloned from:
  7  *
  8  *  linux/arch/arm/mach-realview/localtimer.c
  9  *
 10  *  Copyright (C) 2002 ARM Ltd.
 11  *  All Rights Reserved
 12  *
 13  * This program is free software; you can redistribute it and/or modify
 14  * it under the terms of the GNU General Public License version 2 as
 15  * published by the Free Software Foundation.
 16  */
 17 #include <linux/init.h>
 18 #include <linux/kernel.h>
 19 #include <linux/delay.h>
 20 #include <linux/device.h>
 21 #include <linux/smp.h>
 22 #include <linux/jiffies.h>
 23 #include <linux/percpu.h>
 24 #include <linux/clockchips.h>
 25 #include <linux/hardirq.h>
 26 #include <linux/irq.h>
 27 
 28 static DEFINE_PER_CPU(struct clock_event_device, local_clockevent);
 29 
 30 /*
 31  * Used on SMP for either the local timer or SMP_MSG_TIMER
 32  */
 33 void local_timer_interrupt(void)
 34 {
 35         struct clock_event_device *clk = &__get_cpu_var(local_clockevent);
 36 
 37         irq_enter();
 38         clk->event_handler(clk);
 39         irq_exit();
 40 }
 41 
 42 static void dummy_timer_set_mode(enum clock_event_mode mode,
 43                                  struct clock_event_device *clk)
 44 {
 45 }
 46 
 47 void local_timer_setup(unsigned int cpu)
 48 {
 49         struct clock_event_device *clk = &per_cpu(local_clockevent, cpu);
 50 
 51         clk->name               = "dummy_timer";
 52         clk->features           = CLOCK_EVT_FEAT_ONESHOT |
 53                                   CLOCK_EVT_FEAT_PERIODIC |
 54                                   CLOCK_EVT_FEAT_DUMMY;
 55         clk->rating             = 400;
 56         clk->mult               = 1;
 57         clk->set_mode           = dummy_timer_set_mode;
 58         clk->broadcast          = smp_timer_broadcast;
 59         clk->cpumask            = cpumask_of(cpu);
 60 
 61         clockevents_register_device(clk);
 62 }
 63 
 64 void local_timer_stop(unsigned int cpu)
 65 {
 66 }
 67 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp