#ifndef _ASM_X86_SWITCH_TO_H #define _ASM_X86_SWITCH_TO_H struct task_struct; /* one of the stranger aspects of C forward declarations */ struct task_struct *__switch_to_asm(struct task_struct *prev, struct task_struct *next); __visible struct task_struct *__switch_to(struct task_struct *prev, struct task_struct *next); struct tss_struct; void __switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p, struct tss_struct *tss); /* This runs runs on the previous thread's stack. */ static inline void prepare_switch_to(struct task_struct *prev, struct task_struct *next) { #ifdef CONFIG_VMAP_STACK /* * If we switch to a stack that has a top-level paging entry * that is not present in the current mm, the resulting #PF will * will be promoted to a double-fault and we'll panic. Probe * the new stack now so that vmalloc_fault can fix up the page * tables if needed. This can only happen if we use a stack * in vmap space. * * We assume that the stack is aligned so that it never spans * more than one top-level paging entry. * * To minimize cache pollution, just follow the stack pointer. */ READ_ONCE(*(unsigned char *)next->thread.sp); #endif } asmlinkage void ret_from_fork(void); /* data that is pointed to by thread.sp */ struct inactive_task_frame { #ifdef CONFIG_X86_64 unsigned long r15; unsigned long r14; unsigned long r13; unsigned long r12; #else unsigned long si; unsigned long di; #endif unsigned long bx; unsigned long bp; unsigned long ret_addr; }; struct fork_frame { struct inactive_task_frame frame; struct pt_regs regs; }; #define switch_to(prev, next, last) \ do { \ prepare_switch_to(prev, next); \ \ ((last) = __switch_to_asm((prev), (next))); \ } while (0) #endif /* _ASM_X86_SWITCH_TO_H */ d=238d1d0f79f619d75c2cc741d6770fb0986aef24'>treecommitdiff
path: root/sound/soc/codecs/rt5514.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-12-30 09:32:26 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2016-12-30 09:32:26 -0800
commit238d1d0f79f619d75c2cc741d6770fb0986aef24 (patch)
treeed11bb89c3c61cba7aff3ebc90647f83758a982d /sound/soc/codecs/rt5514.c
parentf3de082c12e5e9ff43c58a7561f6ec3272d03a48 (diff)
parent36f671be1db1b17d3d4ab0c8b47f81ccb1efcb75 (diff)
Merge tag 'docs-4.10-rc1-fix' of git://git.lwn.net/linux
Pull documentation fixes from Jonathan Corbet: "Two small fixes: - A merge error on my part broke the DocBook build. I've requisitioned one of tglx's frozen sharks for appropriate disciplinary action and resolved to be more careful about testing the DocBook stuff as long as it's still around. - Fix an error in unaligned-memory-access.txt" * tag 'docs-4.10-rc1-fix' of git://git.lwn.net/linux: Documentation/unaligned-memory-access.txt: fix incorrect comparison operator docs: Fix build failure
Diffstat (limited to 'sound/soc/codecs/rt5514.c')