Move the definition of the igt_atomic_section[] into a C file, leaving the declaration in the header so as not to upset headertest! Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Matthew Auld <matthew.auld@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200103104516.1757103-1-chris@chris-wilson.co.uk
		
			
				
	
	
		
			48 lines
		
	
	
		
			750 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			750 B
		
	
	
	
		
			C
		
	
	
	
	
	
| // SPDX-License-Identifier: MIT
 | |
| /*
 | |
|  * Copyright © 2018 Intel Corporation
 | |
|  */
 | |
| 
 | |
| #include <linux/preempt.h>
 | |
| #include <linux/bottom_half.h>
 | |
| #include <linux/irqflags.h>
 | |
| 
 | |
| #include "igt_atomic.h"
 | |
| 
 | |
| static void __preempt_begin(void)
 | |
| {
 | |
| 	preempt_disable();
 | |
| }
 | |
| 
 | |
| static void __preempt_end(void)
 | |
| {
 | |
| 	preempt_enable();
 | |
| }
 | |
| 
 | |
| static void __softirq_begin(void)
 | |
| {
 | |
| 	local_bh_disable();
 | |
| }
 | |
| 
 | |
| static void __softirq_end(void)
 | |
| {
 | |
| 	local_bh_enable();
 | |
| }
 | |
| 
 | |
| static void __hardirq_begin(void)
 | |
| {
 | |
| 	local_irq_disable();
 | |
| }
 | |
| 
 | |
| static void __hardirq_end(void)
 | |
| {
 | |
| 	local_irq_enable();
 | |
| }
 | |
| 
 | |
| const struct igt_atomic_section igt_atomic_phases[] = {
 | |
| 	{ "preempt", __preempt_begin, __preempt_end },
 | |
| 	{ "softirq", __softirq_begin, __softirq_end },
 | |
| 	{ "hardirq", __hardirq_begin, __hardirq_end },
 | |
| 	{ }
 | |
| };
 |