67 lines · 1.5 KB · C
RawDownload
/* SPDX-License-Identifier: GPL-2.0 */#ifndef __ASM_GENERIC_IRQFLAGS_H#define __ASM_GENERIC_IRQFLAGS_H /* * All architectures should implement at least the first two functions, * usually inline assembly will be the best way. */#ifndef ARCH_IRQ_DISABLED#define ARCH_IRQ_DISABLED 0#define ARCH_IRQ_ENABLED 1#endif /* read interrupt enabled status */#ifndef arch_local_save_flagsunsigned long arch_local_save_flags(void);#endif /* set interrupt enabled status */#ifndef arch_local_irq_restorevoid arch_local_irq_restore(unsigned long flags);#endif /* get status and disable interrupts */#ifndef arch_local_irq_savestatic inline unsigned long arch_local_irq_save(void){	unsigned long flags;	flags = arch_local_save_flags();	arch_local_irq_restore(ARCH_IRQ_DISABLED);	return flags;}#endif /* test flags */#ifndef arch_irqs_disabled_flagsstatic inline int arch_irqs_disabled_flags(unsigned long flags){	return flags == ARCH_IRQ_DISABLED;}#endif /* unconditionally enable interrupts */#ifndef arch_local_irq_enablestatic inline void arch_local_irq_enable(void){	arch_local_irq_restore(ARCH_IRQ_ENABLED);}#endif /* unconditionally disable interrupts */#ifndef arch_local_irq_disablestatic inline void arch_local_irq_disable(void){	arch_local_irq_restore(ARCH_IRQ_DISABLED);}#endif /* test hardware interrupt enable bit */#ifndef arch_irqs_disabledstatic inline int arch_irqs_disabled(void){	return arch_irqs_disabled_flags(arch_local_save_flags());}#endif #endif /* __ASM_GENERIC_IRQFLAGS_H */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t