mirror of
				https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
				synced 2025-10-31 16:18:51 +01:00 
			
		
		
		
	Fixed MTP to work with TWRP
This commit is contained in:
		
						commit
						f6dfaef42e
					
				
					 50820 changed files with 20846062 additions and 0 deletions
				
			
		
							
								
								
									
										61
									
								
								arch/avr32/include/asm/irqflags.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										61
									
								
								arch/avr32/include/asm/irqflags.h
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,61 @@ | |||
| /*
 | ||||
|  * Copyright (C) 2004-2006 Atmel Corporation | ||||
|  * | ||||
|  * This program is free software; you can redistribute it and/or modify | ||||
|  * it under the terms of the GNU General Public License version 2 as | ||||
|  * published by the Free Software Foundation. | ||||
|  */ | ||||
| #ifndef __ASM_AVR32_IRQFLAGS_H | ||||
| #define __ASM_AVR32_IRQFLAGS_H | ||||
| 
 | ||||
| #include <linux/types.h> | ||||
| #include <asm/sysreg.h> | ||||
| 
 | ||||
| static inline unsigned long arch_local_save_flags(void) | ||||
| { | ||||
| 	return sysreg_read(SR); | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * This will restore ALL status register flags, not only the interrupt | ||||
|  * mask flag. | ||||
|  * | ||||
|  * The empty asm statement informs the compiler of this fact while | ||||
|  * also serving as a barrier. | ||||
|  */ | ||||
| static inline void arch_local_irq_restore(unsigned long flags) | ||||
| { | ||||
| 	sysreg_write(SR, flags); | ||||
| 	asm volatile("" : : : "memory", "cc"); | ||||
| } | ||||
| 
 | ||||
| static inline void arch_local_irq_disable(void) | ||||
| { | ||||
| 	asm volatile("ssrf %0" : : "n"(SYSREG_GM_OFFSET) : "memory"); | ||||
| } | ||||
| 
 | ||||
| static inline void arch_local_irq_enable(void) | ||||
| { | ||||
| 	asm volatile("csrf %0" : : "n"(SYSREG_GM_OFFSET) : "memory"); | ||||
| } | ||||
| 
 | ||||
| static inline bool arch_irqs_disabled_flags(unsigned long flags) | ||||
| { | ||||
| 	return (flags & SYSREG_BIT(GM)) != 0; | ||||
| } | ||||
| 
 | ||||
| static inline bool arch_irqs_disabled(void) | ||||
| { | ||||
| 	return arch_irqs_disabled_flags(arch_local_save_flags()); | ||||
| } | ||||
| 
 | ||||
| static inline unsigned long arch_local_irq_save(void) | ||||
| { | ||||
| 	unsigned long flags = arch_local_save_flags(); | ||||
| 
 | ||||
| 	arch_local_irq_disable(); | ||||
| 
 | ||||
| 	return flags; | ||||
| } | ||||
| 
 | ||||
| #endif /* __ASM_AVR32_IRQFLAGS_H */ | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 awab228
						awab228