diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2011-01-27 13:55:14 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2011-01-27 13:55:14 -0500 |
commit | 178914fda62f345d45c0873f000f4760293b24ab (patch) | |
tree | 7244c6d9c95c95f719468fba194df7e09f86de54 /litmus/trace.c | |
parent | b71d5bb985706bfb1e96a2527559a1753165db96 (diff) | |
parent | d11808b5c6b032de4284281ed2ff77ae697a4ebd (diff) |
Merge branch 'master' into wip-edzl-critique
Diffstat (limited to 'litmus/trace.c')
-rw-r--r-- | litmus/trace.c | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/litmus/trace.c b/litmus/trace.c index b3a6b47aad6e..e7ea1c2ab3e4 100644 --- a/litmus/trace.c +++ b/litmus/trace.c | |||
@@ -71,9 +71,6 @@ feather_callback void save_timestamp_cpu(unsigned long event, | |||
71 | */ | 71 | */ |
72 | #define NO_TIMESTAMPS (2 << 11) | 72 | #define NO_TIMESTAMPS (2 << 11) |
73 | 73 | ||
74 | /* set MAJOR to 0 to have it dynamically assigned */ | ||
75 | #define FT_TRACE_MAJOR 252 | ||
76 | |||
77 | static int alloc_timestamp_buffer(struct ftdev* ftdev, unsigned int idx) | 74 | static int alloc_timestamp_buffer(struct ftdev* ftdev, unsigned int idx) |
78 | { | 75 | { |
79 | unsigned int count = NO_TIMESTAMPS; | 76 | unsigned int count = NO_TIMESTAMPS; |
@@ -93,12 +90,33 @@ static void free_timestamp_buffer(struct ftdev* ftdev, unsigned int idx) | |||
93 | 90 | ||
94 | static int __init init_ft_overhead_trace(void) | 91 | static int __init init_ft_overhead_trace(void) |
95 | { | 92 | { |
93 | int err; | ||
94 | |||
96 | printk("Initializing Feather-Trace overhead tracing device.\n"); | 95 | printk("Initializing Feather-Trace overhead tracing device.\n"); |
97 | ftdev_init(&overhead_dev, THIS_MODULE); | 96 | err = ftdev_init(&overhead_dev, THIS_MODULE, 1, "ft_trace"); |
98 | overhead_dev.minor_cnt = 1; /* only one buffer */ | 97 | if (err) |
98 | goto err_out; | ||
99 | |||
99 | overhead_dev.alloc = alloc_timestamp_buffer; | 100 | overhead_dev.alloc = alloc_timestamp_buffer; |
100 | overhead_dev.free = free_timestamp_buffer; | 101 | overhead_dev.free = free_timestamp_buffer; |
101 | return register_ftdev(&overhead_dev, "ft_trace", FT_TRACE_MAJOR); | 102 | |
103 | err = register_ftdev(&overhead_dev); | ||
104 | if (err) | ||
105 | goto err_dealloc; | ||
106 | |||
107 | return 0; | ||
108 | |||
109 | err_dealloc: | ||
110 | ftdev_exit(&overhead_dev); | ||
111 | err_out: | ||
112 | printk(KERN_WARNING "Could not register ft_trace module.\n"); | ||
113 | return err; | ||
114 | } | ||
115 | |||
116 | static void __exit exit_ft_overhead_trace(void) | ||
117 | { | ||
118 | ftdev_exit(&overhead_dev); | ||
102 | } | 119 | } |
103 | 120 | ||
104 | module_init(init_ft_overhead_trace); | 121 | module_init(init_ft_overhead_trace); |
122 | module_exit(exit_ft_overhead_trace); | ||