summaryrefslogtreecommitdiff
path: root/tmk_core/common/wait.h
diff options
context:
space:
mode:
authorNick Brassel <nick@tzarc.org>2021-01-18 05:12:15 +1100
committerZach White <skullydazed@drpepper.org>2021-01-17 10:19:56 -0800
commit31c57aab35e6fd49c4c8336f449419afe7630e93 (patch)
tree60b3508af9b3a953826d027a2dc6f2e2d028d1cc /tmk_core/common/wait.h
parente702c7f1b4cfa8fe1579498ef2877994baa64056 (diff)
`qmk cformat`
Diffstat (limited to 'tmk_core/common/wait.h')
-rw-r--r--tmk_core/common/wait.h89
1 files changed, 58 insertions, 31 deletions
diff --git a/tmk_core/common/wait.h b/tmk_core/common/wait.h
index 0b3fd755a9..28224fe3aa 100644
--- a/tmk_core/common/wait.h
+++ b/tmk_core/common/wait.h
@@ -15,44 +15,71 @@ extern "C" {
# define CLOCK_DELAY_NOP8 "nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t nop\n\t"
-__attribute__((always_inline))
-static inline void wait_cpuclock_allnop(unsigned int n) { /* n: 1..135 */
+__attribute__((always_inline)) static inline void wait_cpuclock_allnop(unsigned int n) { /* n: 1..135 */
/* The argument n must be a constant expression.
* That way, compiler optimization will remove unnecessary code. */
- if (n < 1) { return; }
+ if (n < 1) {
+ return;
+ }
if (n > 8) {
- unsigned int n8 = n/8;
- n = n - n8*8;
+ unsigned int n8 = n / 8;
+ n = n - n8 * 8;
switch (n8) {
- case 16: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 15: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 14: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 13: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 12: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 11: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 10: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 9: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 8: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 7: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 6: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 5: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 4: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 3: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 2: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 1: asm volatile (CLOCK_DELAY_NOP8::: "memory");
- case 0: break;
+ case 16:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 15:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 14:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 13:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 12:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 11:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 10:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 9:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 8:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 7:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 6:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 5:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 4:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 3:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 2:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 1:
+ asm volatile(CLOCK_DELAY_NOP8::: "memory");
+ case 0:
+ break;
}
}
switch (n) {
- case 8: asm volatile ("nop"::: "memory");
- case 7: asm volatile ("nop"::: "memory");
- case 6: asm volatile ("nop"::: "memory");
- case 5: asm volatile ("nop"::: "memory");
- case 4: asm volatile ("nop"::: "memory");
- case 3: asm volatile ("nop"::: "memory");
- case 2: asm volatile ("nop"::: "memory");
- case 1: asm volatile ("nop"::: "memory");
- case 0: break;
+ case 8:
+ asm volatile("nop" ::: "memory");
+ case 7:
+ asm volatile("nop" ::: "memory");
+ case 6:
+ asm volatile("nop" ::: "memory");
+ case 5:
+ asm volatile("nop" ::: "memory");
+ case 4:
+ asm volatile("nop" ::: "memory");
+ case 3:
+ asm volatile("nop" ::: "memory");
+ case 2:
+ asm volatile("nop" ::: "memory");
+ case 1:
+ asm volatile("nop" ::: "memory");
+ case 0:
+ break;
}
}
#endif